12005-05-28	Andre' Schulz	<chickenman@exhale.de>
2* plugins/libd3.c
3	added 3 variables to private data
4	fixed port byte-order in "servers" packet
5	minor change
6	bumped version number to 0.1.1
7
8* masterserver.h
9	bumped version number to 0.4.1
10
11* README
12	added a note on how to resolve port collision of Q3 and EF plugins
13
14* NEWS
15	added info on 0.4.1 release
16
17
182005-05-26	Andre' Schulz	<chickenman@exhale.de>
19* docs/PROTOCOLS
20	added Enemy Territory section
21	minor changes and fixes
22
23* plugins/Makefile
24	added libet and librw targets
25
26* plugins/libet.c
27	new
28
29* plugins/librw.c
30	new
31
32* plugins/libexample.c
33	bumped version number to 0.4
34	added some comments
35
36
372005-05-21	Andre' Schulz	<chickenman@exhale.de>
38* README
39	give credit to <XL*g0b>
40	bumped version number to 0.4
41	added Doom 3 specific information
42	miscellaneous changes
43	added STVEF1 specific information
44	added warning on STVEF1 and Q3 port collision
45
46* masterserver.c
47	update copyright notice
48	minor changes
49
50* docs/PROTOCOLS
51	added Half-Life section
52
53* plugins/libd3.c
54	minor changes
55	fixed a memory leak
56
57* plugins/libef.c
58	works now
59	rewrote the packet assembler
60	other bug fixes and changes
61	fixed a memory leak
62
63* plugins/libq3.c
64	rewrote packet assembler
65	miscellaneous fixes and changes
66	bumped version number to 0.8
67
68* tests/Makefile
69	added test-ef-heartbeat-getservers target
70	added test-ef-getmotd target
71
72* tests/test-q3-heartbeat-query.c
73	removed a debug message
74
75* tests/test-q3-heartbeat-getservers.c
76	zero packet buffer before using it
77
78* NEWS
79	updated for 0.4 release
80
81* masterserver.h
82	bumped version number to 0.4
83
84* tests/test-ef-getmotd.c
85	new
86
87* tests/test-q3-getmotd.c
88	zero buffer before using it
89	make challenge error message more verbose
90
91* tests/test-ef-heartbeat-getservers.c
92	new
93
94* plugins/libh2.c
95	bumped version number to 0.4
96
97* plugins/libq2.c
98	bumped version number to 0.4
99
100* plugins/libqw.c
101	bumped version number to 0.2
102
103
1042005-05-17	Andre' Schulz	<chickenman@exhale.de>
105* plugins/libef.c
106	new
107
108
1092005-05-15	Andre' Schulz	<chickenman@exhale.de>
110* docs/PROTOCOLS
111	added "statusResponse" packet of a populated server to STVEF1 section
112	added "getInfo" packet with challenge to Doom3 section
113	minor changes
114
115* plugins/Makefile
116	add libef target
117
118* plugins/libd3.c
119	minor changes and fixes
120
121
1222005-05-14	Andre' Schulz	<chickenman@exhale.de>
123* docs/PROTOCOLS
124	added "getservers" packet size information to STVEF1
125
126* plugins/libd3.c
127	fixed a glitch in the infoResponse parser
128	minor changes
129
130* plugins/libq3.c
131	use strdup() instead of calloc() and strncpy()
132
133* tests/test-d3-heartbeat-getServers.c
134	new
135
136
1372005-05-09	Andre' Schulz	<chickenman@exhale.de>
138* plugins/libd3.c
139	changed getinfo string
140	added challenge and fs_game variables to private data
141	hopefully fixed the infoResponse variables parser
142
143* plugins/libq2.c
144	minor change
145
146* plugins/libq3.c
147	fixed some off-by-one errors
148
149* plugins/libqw.c
150	minor change
151
152
1532005-04-29	Andre' Schulz	<chickenman@exhale.de>
154* logging.c
155	added vim modeline
156
157* masterserver.c
158	added vim modeline
159
160* plugins/libd3.c
161	added vim modeline
162	minor changes
163
164* plugins/libexample.c
165	added vim modeline
166	minor changes
167
168* plugins/libh2.c
169	added vim modeline
170	minor changes
171
172* plugins/libq2.c
173	added vim modeline
174	minor changes
175
176* plugins/libq3.c
177	added vim modeline
178	minor changes
179	new statusResponse parser
180	new getmotd parser
181
182* plugins/libqw.c
183	added vim modeline
184	minor changes
185
186
1872005-04-22	Andre' Schulz	<chickenman@exhale.de>
188* masterserver.c
189	zero the incoming packet buffer before using it
190	fixed an off-by-one error in recvfrom() call
191
192* plugins/libd3.c
193	remove dead code
194
195* plugins/libh2.c
196	remove dead code
197
198* plugins/libq2.c
199	remove dead code
200
201* plugins/libq3.c
202	remove dead code
203	simplified protocol number parsing in process_getservers()
204	minor changes
205
206* plugins/libqw.c
207	remove dead code
208
209
2102005-04-21	Andre' Schulz	<chickenman@exhale.de>
211* docs/PROTOCOLS
212	updates all over the place
213
214* Makefile
215	use $(libdir) instead of hardcoded paths
216
217* common.mk
218	use $(prefix) instead of hardcoded paths
219
220* masterserver.c
221	added -u and -g cmdline options to change user and group
222	give_up_root_privileges() renamed to change_user_and_group_to()
223	made help text more verbose
224	use the new API
225	minor changes and fixes
226
227* masterserver.h
228	removed plugin_name data type
229	introducing port_t
230
231* plugins/Makefile
232	use $(libdir) instead of hardcoded paths
233
234* plugins/libd3.c
235	use the new port_t data type
236
237* plugins/libexample.c
238	use the new port_t data type
239
240* plugins/libh2.c
241	use the new port_t data type
242
243* plugins/libq2.c
244	use the new port_t data type
245
246* plugins/libq3.c
247	use the new port_t data type
248
249* plugins/libqw.c
250	use the new port_t data type
251	add packetlen to process()
252
253* tests/Makefile
254	added test-d3-heartbeat-getServers
255	minor changes and fixes
256
257* tests/test-q2-heartbeat-query.c
258	removed hardcoded number of servers; now taken from command line
259	more verbose error message on test failure
260
261* tests/test-q2-shutdown.c
262	lots of fixes and changes
263	should work now =)
264
265
2662005-04-19	Andre' Schulz	<chickenman@exhale.de>
267* docs/PROTOCOLS
268	updated UT section
269
270
2712004-12-20	Andre' Schulz	<chickenman@exhale.de>
272* masterserver.h
273	added packet length to process()
274
275* masterserver.c
276	minor changes
277	added packet length parameter to process()
278
279* plugins/Makefile
280	added libd3
281
282* plugins/libh2.c
283	added packet length to process()
284
285* plugins/libq2.c
286	added packet length to process()
287
288* plugins/libq3.c
289	added packet length to process()
290
291* plugins/libd3.c
292	new
293
294* tests/test-q2-ping.c
295	clear reply buffer before using it
296	more verbose error message on test failure
297
298
2992004-11-30	Andre' Schulz	<chickenman@exhale.de>
300* common.mk
301	add -rdynamic to FreeBSD CFLAGS
302
303* masterserver.c
304	fixed wrong FreeBSD header <sys/limits.h>, should be <limits.h>
305
306* plugins/libq3.c
307	minor fix
308
309* docs/PROTOCOLS
310	added Doom 3 packets
311		(newVersion, heartbeat, srvAuth, auth, challenge, challengeResponse)
312
313
3142004-11-29	Andre' Schulz	<chickenman@exhale.de>
315* Makefile
316	put commonly needed options in common.mk
317
318* common.mk
319	new
320	added Solaris support
321
322* masterserver.c
323	added ifdef for Solaris and FreeBSD support
324
325* plugins/Makefile
326	use common.mk
327
328* tests/Makefile
329	use common.mk
330
331* tests/test-q2-heartbeat-query.c
332	increase timeout to 15 seconds
333	use memcpy() instead of casting and shifting (fixes endianess issue)
334	minor changes
335
336* tests/q2-test-ping.c
337	minor change
338
339* tests/test-q3-heartbeat-getservers.c
340	use memcpy() instead of casting and shifting (fixes endianess issue)
341	minor changes
342
343
3442004-11-20	Andre' Schulz	<chickenman@exhale.de>
345* README
346	give credit to <shr1k3@gmx.at> for FreeBSD patch
347
348* plugins/libq3.c
349	minor fixes and cleanups
350	sanity check packets to prevent bad stuff from happening
351
352* tests/test-q2-shutdown.c
353	minor fix
354
355* Makefile
356	fix FreeBSD CFLAGS
357
358
3592004-11-19	Andre' Schulz	<chickenman@exhale.de>
360* masterserver.c
361	minor fixes and cleanups
362	no longer trying to load files without .so suffix
363	fixed load_plugins()
364	changed ifdef option to __linux__
365
366* plugins/libh2.c
367	changed email address
368
369* plugins/libq2.c
370	changed email address
371
372* plugins/libq3.c
373	changed email address
374	include math.h
375	simplified process_getservers()
376
377* plugins/libqw.c
378	changed email address
379
380* tests/Makefile
381	add -lm to CFLAGS
382
383* tests/test-q3-heartbeat-getservers.c
384	include math.h
385	read number of servers from command line
386	increased timeout to 15 seconds
387
388
3892004-11-17	Andre' Schulz	<chickenman@exhale.de>
390* masterserver.c
391	fixed FreeBSD ifdef section
392	really install the SIGINT handler
393
3942004-11-16	Andre' Schulz	<chickenman@exhale.de>
395* logging.c
396	! undo last commit !
397
398* logging.h
399	! undo last commit !
400
401* masterserver.c
402	! undo last commit !
403	added SIGINT handler function sigint_handler()
404	using EXIT_* as return values when exiting the program
405	changed email address to <chickenman@exhale.de>
406	minor changes and fixes
407	Thanks to <shr1k3@gmx.at> for the following:
408		FreeBSD friendliness fixes; mostly header dependencies
409		ifdef'd SO_BINDTODEVICE section out for FreeBSD
410
411* masterserver.h
412	! undo last commit !
413	added global variable master_shutdown (is set on SIGINT reception)
414
415* Makefile
416	remove -pedantic from DEBUG_CFLAGS
417	add FreeBSD support; Thanks <shr1k3@gmx.at>!
418
419* plugins/libh2.c
420	FreeBSD friendliness fixes (header dependencies)
421		Thanks <shr1k3@gmx.at>!
422
423* plugins/libq2.c
424	FreeBSD friendliness fixes (header dependencies)
425		Thanks <shr1k3@gmx.at>!
426
427* plugins/libq3.c
428	FreeBSD friendliness fixes (header dependencies)
429		Thanks <shr1k3@gmx.at>!
430
431* plugins/libqw.c
432	FreeBSD friendliness fixes (header dependencies)
433		Thanks <shr1k3@gmx.at>!
434
435
4362004-11-10	Andre' Schulz	<chickenman@exhale.de>
437* Makefile
438	added -pedantic to DEBUG_CFLAGS
439
440* logging.c
441	converted comments to ISO C style
442
443* logging.h
444	converted comments to ISO C style
445
446* masterserver.c
447	converted comments to ISO C style
448	added SIGINT handler function sigint_handler()
449	using EXIT_* as return values when exiting the program
450	changed email address to <chickenman@exhale.de>
451	minor changes and fixes
452
453* masterserver.h
454	converted comments to ISO C style
455	added global variable master_shutdown (is set on SIGINT reception)
456
457* docs/PROTOCOLS
458	added description of player information block to QW section
459
460
4612004-10-24	Andre' Schulz	<andre@malchen.de>
462* README
463	fixed/added some stuff
464
465* logging.h
466	removed variable names in function prototypes
467
468* masterserver.c
469	moved header files from masterserver.h to masterserver.c
470	call plugin specific free_privdata() function to fix a memory leak
471	loading an unlimited number of plugins is now possible
472
473* masterserver.h
474	removed all header files
475	added free_privdata() to plugin API
476	removed variable names in function prototypes
477
478* docs/PROTOCOLS
479	added QuakeWorld packets
480	added RtCW packets
481	minor changes in Doom3 section
482
483* plugins/libexample.c
484	removed variable names in function prototypes
485	added free_privdata()
486
487* plugins/libh2.c
488	added header files
489	removed variable names in function prototypes
490	minor changes
491
492* plugins/libq2.c
493	added header files
494	removed variable names in function prototypes
495	minor changes
496
497* plugins/libq3.c
498	added header files
499	removed variable names in function prototypes
500	minor changes
501	added free_privdata() function to fix a memory leak
502
503* plugins/libqw.c
504	added header files
505	removed variable names in function prototypes
506	minor changes
507
508* tests/test-q2-heartbeat-query.c
509	increased timeout to 10 seconds
510
511* tests/test-q3-heartbeat-getservers.c
512	increased timeout to 10 seconds
513
514
5152004-07-29	Andre' Schulz	<andre@malchen.de>
516* docs/PROTOCOLS
517	added getIpAuthorize packet to RtCW section
518
519
5202004-07-24	Andre' Schulz	<andre@malchen.de>
521* docs/PROTOCOLS
522	added RtCW section
523
524
5252004-07-23	Andre' Schulz	<andre@malchen.de>
526* docs/PROTOCOLS
527	added ports for QW and HW
528	added QuakeForge link
529
530
5312004-06-10	Andre' Schulz	<andre@malchen.de>
532* docs/PROTOCOLS
533	added "getIpAuthorize", "ipAuthorize", "ping" and "disconnect" packets
534
535
5362004-05-01	Andre' Schulz	<andre@malchen.de>
537* masterserver.h
538	removed <math.h> inclusion
539
540* tests/Makefile
541	added test-q3-getmotd target
542
543* tests/test-q2-heartbeat-query.c
544	replaced all error messages with perror() calls
545	disable stream buffering for cosmetic reasons
546
547* tests/test-q2-ping.c
548	replaced all error messages with perror() calls
549	disable stream buffering for cosmetic reasons
550
551* tests/test-q2-shutdown.c
552	replaced all error messages with perror() calls
553	disable stream buffering for cosmetic reasons
554
555* tests/test-q3-heartbeat-getservers.c
556	fixes/changes all around
557
558* tests/test-q3-getmotd.c
559	added
560
561
5622004-04-30	Andre' Schulz	<andre@malchen.de>
563* plugins/libq3.c
564	minor clean up
565	realloc() failure for q3m.list shouldn't be fatal anymore
566
567* tests/Makefile
568	added test-q3-heartbeat-getservers target
569
570* tests/test-q3-heartbeat-getservers.c
571	added
572
573
5742004-04-29	Andre' Schulz	<andre@malchen.de>
575* docs/PROTOCOLS
576	updated STEF1 and UT section
577
578
5792004-04-27	Andre' Schulz	<andre@malchen.de>
580* tests/Makefile
581	fixed ... kinda
582
583* tests/test-q2.c
584	split up into three separate tests and deleted
585
586* tests/test-q2-ping.c
587	added; was part of test-q2.c
588
589* tests/test-q2-heartbeat-query.c
590	added; was part of test-q2.c
591
592* tests/test-q2-shutdown.c
593	added; was part of test-q2.c
594
595* docs/PROTOCOLS
596	minor fix
597
598
5992004-04-26	Andre' Schulz	<andre@malchen.de>
600* docs/PROTOCOLS
601	merge and translation done
602
603* docs/PROTOKOLLE
604	deleted
605
606* docs/PROTOKOLLE.uk_us
607	deleted
608
609* README
610	added more information on LAN usage
611
612* masterserver.h
613	version number bumped to 0.3.3
614
615* plugins/libh2.c
616	version number bumped up to 0.3.3
617
618* plugins/libq2.c
619	version number bumped up to 0.3.3
620
621* NEWS
622	added 0.3.3 release information
623
624
6252004-04-19	Andre' Schulz	<andre@malchen.de>
626* plugins/libq2.c
627	fixed "query" string again by deleting \n and setting size to 5
628
629* plugins/libh2.c
630	fixed "query" string again by deleting \n and setting size to 5
631
632
6332004-04-06	Andre' Schulz	<andre@malchen.de>
634* docs/PROTOCOLS
635	merged more of PROTOKOLLE and PROTOKOLLE.uk_us
636
637
6382004-03-01	Andre' Schulz	<andre@malchen.de>
639* README
640	added info on LAN party/DNS name stuff
641
642* docs/PROTOCOLS
643	created
644	merged some of PROTOKOLLE and PROTOKOLLE.uk_us
645
646
6472004-02-09	Andre' Schulz	<andre@malchen.de>
648* plugins/libqw.c
649	renamed _init() function to init_plugin()
650	added __attribute__ ((constructor)) to init_plugin() declaration
651
652* plugins/libq2.c
653	renamed _init() function to init_plugin()
654	added __attribute__ ((constructor)) to init_plugin() declaration
655
656* plugins/libh2.c
657	renamed _init() function to init_plugin()
658	added __attribute__ ((constructor)) to init_plugin() declaration
659
660* plugins/libq3.c
661	renamed _init() function to init_plugin()
662	added __attribute__ ((constructor)) to init_plugin() declaration
663
664* plugins/Makefile
665	removed -rdynamic from CFLAGS
666	replaced $(LD) with $(CC) in %.so target
667
668* plugins/libexample.c
669	renamed _init() function to init_plugin()
670	added __attribute__ ((constructor)) to init_plugin() declaration
671	minor fixes and changes
672
673
6742004-02-01	Andre' Schulz	<andre@malchen.de>
675* plugins/libh2.c
676	removed H2M_PORT definition
677	minor stuff fixed/changed/cleaned up
678	version number bumped up to 0.3.2
679
680* plugins/libq3.c
681	minor stuff fixed/changed/cleaned up
682	version number bumped up to 0.7.2
683
684* plugins/libq2.c
685	minor stuff fixed/changed/cleaned up
686	version number bumped up to 0.3.2
687
688* plugins/libqw.c
689	minor stuff fixed/changed/cleaned up
690	version number bumped up to 0.1.1
691
692* masterserver.h
693	version number bumped up to 0.3.2
694
695* tests/test-q2.c
696	minor fixes
697
698* NEWS
699	added info about 0.3.2 release
700
701
7022004-01-28	Andre' Schulz	<andre@malchen.de>
703* masterserver.c
704	forgot to comment out some log level related code
705
706* tests/test-q2.c
707	timeouts implemented
708	fixed and improved test_query()
709	created test_shutdown()
710	test summary
711
712
7132004-01-20	Andre' Schulz	<andre@malchen.de>
714* plugins/libh2.c
715	fixed "query" string by deleting \0 and setting size to 6
716
717
7182004-01-15	Andre' Schulz	<andre@malchen.de>
719* tests/test-q2.c
720	fixed some stuff
721
722* tests/Makefile
723	changed some stuff
724
725
7262004-01-14	Andre' Schulz	<andre@malchen.de>
727* README
728	give credit to fatty <fatty@gmx.ch>
729
730
7312004-01-13	Andre' Schulz	<andre@malchen.de>
732* plugins/libq2.c
733	fixed "query" string by deleting \0 and setting size to 6
734		this broke Gamespy queries
735		thanks to fatty <fatty@gmx.ch>
736
737
7382004-01-12	Andre' Schulz	<andre@malchen.de>
739* Makefile
740	added "check" target
741
742* tests/Makefile
743	added
744
745
7462004-01-11	Andre' Schulz	<andre@malchen.de>
747* tests/test-q2.c
748	merged q2 header into packets
749	test_query() created
750
751
7522004-01-07	Andre' Schulz	<andre@malchen.de>
753* tests/test-q2.c
754	updated
755
756
7572004-01-06	Andre' Schulz	<andre@malchen.de>
758* masterserver.h
759	FBSD friendliness
760		include netinet/in.h before arpa/inet.h
761		include sys/types.h before everything else
762
763* masterserver.c
764	not including sys/types.h anymore
765
766
7672003-12-26	Andre' Schulz	<andre@malchen.de>
768* docs/PROTOKOLLE
769	added more heretic2 packet dumps
770	added another heretic2 info packet
771
772* plugins/libh2.c
773	fixed process() function (broken for quite some time doh!)
774	removed version defines
775	bumped version number up to 0.3.1
776	more verbose error messages
777	minor fixes all over the place
778
779* logging.c
780	added variable _log_level
781
782* logging.h
783	disabled all log level code
784
785* masterserver.c
786	disabled all log level code
787
788* plugins/libq2.c
789	removed version defines
790	bumped version number up to 0.3.1
791	minor fixes all over the place
792
793* plugins/libqw.c
794	disabled some unused code
795	minor fixes
796
797* tests/test-q2.c
798	new
799
800
8012003-12-23	Andre' Schulz	<andre@malchen.de>
802* docs/PROTOKOLLE
803	added heartbeat, shutdown and info packet dumps for heretic2
804
805
8062003-12-20	Andre' Schulz	<andre@malchen.de>
807* logging.h
808	add log level checking to macros
809
810* masterserver.c
811	added -L option to select log level
812	reformatted some lines to 80 chars width
813
814* plugins/libh2.c
815	unified heartbeat message
816
817* plugins/libq2.c
818	unified heartbeat message
819
820* plugins/libq3.c
821	unified heartbeat message
822	minor stuff
823
824* plugins/libqw.c
825	removed some dead code
826	real vars in qwm_private_data_t
827	unified heartbeat message
828
829
8302003-11-18	Andre' Schulz	<andre@malchen.de>
831* plugins/libqw.c
832	added packet definitions
833
834
8352003-11-17	Andre' Schulz	<andre@malchen.de>
836* plugins/libh2.c
837	removed superfluous if statement
838	corrected description at line 1
839
840* plugins/libq2.c
841	removed superfluous if statement
842
843* plugins/libq3.c
844	removed superfluous if statement
845
846* plugins/libexample.c
847	removed version #defines
848
849
8502003-11-16	Andre' Schulz	<andre@malchen.de>
851* docs/PROTOKOLLE
852	added STEF1 section
853	updated Quake3, Quake2, Heretic2 section
854
855* plugins/libqw.c
856	removed superfluous stuff
857	updates all around
858
859
8602003-11-15	Andre' Schulz	<andre@malchen.de>
861* plugins/Makefile
862	small changes
863	added libqw
864
865* plugins/libqw.c
866	removed process_{statusResponse,getmotd}()
867	added process_ping()
868	added process_shutdown()
869	changes in process()
870
871
8722003-11-14	Andre' Schulz	<andre@malchen.de>
873* plugins/libqw.c
874	new
875
876
8772003-10-30	Andre' Schulz	<andre@malchen.de>
878* masterserver.c
879	removed useless stuff from error messages
880	made memory related error messages more verbose
881
882
8832003-10-26	Andre' Schulz	<andre@malchen.de>
884* masterserver.c
885	print help text if unknown option was given on cmdline
886
887
8882003-10-25	Andre' Schulz	<andre@malchen.de>
889* plugins/libq3.c
890	deleted all code which had something to do with options in getservers packets
891	rewrote most of process_getservers()
892	version number bumped to 0.7.1
893	made error messages more verbose
894	other minor changes
895
896* masteserver.c
897	version number bumped to 0.3.1
898
899* README
900	updates all around
901
902
9032003-10-24	Andre' Schulz	<andre@malchen.de>
904* masterserver.c
905	fixed: skipped one server during removal in plugin_heartbeat_thread()
906	fixed: num_msgs got set to -1 in plugin_thread()
907	minor changes
908
909* logging.h
910	minor changes
911
912* plugins/libq3.c
913	fixed off-by-one and other bugs in process_statusResponse()
914	fixed bad abort condition in process_getservers() for-loop
915
916
9172003-10-22	Andre' Schulz	<andre@malchen.de>
918* docs/PROTOKOLLE
919	small update to q3 section
920	date format changed to ISO 8601
921
922* README
923	date format changed to ISO 8601
924
925
9262003-10-20	Andre' Schulz	<andre@malchen.de>
927* logging.c
928	log_init() now returns an int
929
930* logging.h
931	changed log_init() return type to int
932
933* masterserver.c
934	got rid of most fprintf() calls in favor of our own logging code
935	version number bumped to 0.3
936	fixed a bug when binding to more than one interface
937	minor changes
938	much faster replacement code in delete_server()
939
940* plugins/libh2.c
941	removed an unused variable
942
943* plugins/libq2.c
944	removed an unused variable
945
946* plugins/libq3.c
947	fixed not sending server list if no options given in getservers packet
948	deleted some superfluous DEBUG() messages
949	added getmotd INFO() message
950
951* plugins/libexample.c
952	minor changes
953
954* NEWS
955	added info on 0.3 release
956
957* Makefile
958	added RMDIR
959
960
9612003-10-19	Andre' Schulz	<andre@malchen.de>
962* masterserver.c
963	fixed a bug with sockets in plugin_thread()
964	fewer messages when not in debug mode
965	fixed a memory problem in socket creation routines
966
967* plugins/libh2.c
968	fixed
969	split up the process() function
970
971* plugins/libq2.c
972	fixed
973	split up the process() function
974
975* plugins/libq3.c
976	minor changes
977
978* plugins/libexample.c
979	changed code to work with the API changes
980
981
9822003-10-18	Andre' Schulz	<andre@malchen.de>
983* masterserver.c
984	rewrote cmdline parser with getopt()
985	standard behavior is now to _not_ fork into background
986	binding to 1 interface works now
987	split ERROR() macro up in ERROR() and ERRORV()
988		this fixes a compile problem with gcc 2.95.3 (and maybe others)
989	minor changes and fixes
990	multi port support is in!
991
992
9932003-10-13	Andre' Schulz	<andre@malchen.de>
994* plugins/libq3.c
995	fixed a bug in process_getservers() parser
996	added missing \n to some log messages
997
998
9992003-10-12	Andre' Schulz	<andre@malchen.de>
1000* plugins/libq3.c
1001	eliminated strtok() in process_getservers()
1002	added missing error handling to [mc]alloc() calls
1003	some minor changes/fixes
1004
1005
10062003-09-17	Andre' Schulz	<andre@malchen.de>
1007* plugins/libq3.c
1008	calculate getstatus msg_out_length dynamically
1009
1010
10112003-09-11	Andre' Schulz	<andre@malchen.de>
1012* plugins/libq3.c
1013	q3_pkt_heartbeat_len++
1014
1015
10162003-09-07	Andre' Schulz	<andre@malchen.de>
1017* plugins/libq3.c
1018	new statusResponse parser
1019	preliminary motd support
1020	now sending getstatus with challenge
1021	added cleanup()
1022
1023* docs/PROTOKOLLE
1024	tiny correction in "motd"
1025
1026* masterserver.h
1027	added cleanup() to masterserver_plugin struct
1028
1029* masterserver.c
1030	small change due to cleanup() in plugin
1031
1032
10332003-08-27	Andre' Schulz	<andre@malchen.de>
1034* plugins/libq3.c
1035	revert s/strncmp/strcmp/ changes in process()
1036	added "\n" to q3_pkt_heartbeat
1037	player info parser almost completed
1038	create challenge in send_getstatus()
1039
1040* masterserver.c
1041	clear the incoming packet buffer
1042
1043
10442003-08-26	Andre' Schulz	<andre@malchen.de>
1045* plugins/libq3.c
1046	s/strncmp/strcmp/
1047	q3m_player_data_t struct added
1048	began work on player data parser
1049	rewrote and renamed process_infoResponse() to process_statusResponse()
1050	rewrote and renamed send_getinfo() to send_getstatus()
1051
1052* plugins/libq2.c
1053	s/strncmp/strcmp/
1054
1055* plugins/libh2.c
1056	s/strncmp/strcmp/
1057
1058
10592003-08-25	Andre' Schulz	<andre@malchen.de>
1060* plugins/libq2.c
1061	fix s/nr_servers/num_servers/ breakage
1062
1063* plugins/libh2.c
1064	fix s/nr_servers/num_servers/ breakage
1065
1066* plugins/libq3.c
1067	error handling of [m|re|c]alloc()
1068	rewrote q3m_private_data_t to reflect s/getinfo/getstatus/ change
1069
1070* masterserver.c
1071	error handling of calloc() at start of plugin_thread()
1072	small optimization of cleanup loop at end of plugin_thread()
1073
1074
10752003-08-24	Andre' Schulz	<andre@malchen.de>
1076* plugins/libq3.c
1077	getserversResponse packet assembler mostly done
1078	version number bumped to 0.7
1079
1080* docs/PROTOKOLLE
1081	tiny change
1082
1083* docs/PROTOKOLLE.uk_us
1084	tiny change
1085
1086
10872003-08-23	Andre' Schulz	<andre@malchen.de>
1088* plugins/libq3.c
1089	s/nr_servers/num_servers/
1090	parser for infoResponse packets rewritten using strtok()
1091	parser for getservers packets done
1092	began getserversResponse packet assembler overhaul
1093	process() split up into several functions
1094	new function process_heartbeat()
1095	new function send_getinfo()
1096	new function process_getservers()
1097	new function process_infoResponse()
1098	added _options bit field to q3m_private_data_t
1099
1100* masterserver.c
1101	s/nr_servers/num_servers/
1102	free() private_data of plugins during cleanup
1103
1104* masterserver.h
1105	s/nr_servers/num_servers/ in struct masterserver_plugin for consistency
1106
1107
11082003-08-22	Andre' Schulz	<andre@malchen.de>
1109* plugins/libq3.c
1110	replaced snprintf() with memcpy()
1111	killed unsigned char ip, port
1112
1113
11142003-06-09	Andre' Schulz	<andre@malchen.de>
1115* docs/PROTOKOLLE
1116	Q3: "heartbeat" and "getservers" updated
1117
1118* plugins/libq3.c
1119	private_data added
1120	send "getinfo" on every "heartbeat" (this is not right; will fix later)
1121	"infoResponse" packet parser
1122
1123
11242003-04-26	Andre' Schulz	<andre@malchen.de>
1125* plugins/libq3.c
1126	version number bumped to 0.6
1127
1128* plugins/libq2.c
1129	works now with the new masterserver_plugin struct
1130	less "chatty"
1131	version number bumped to 0.3
1132
1133* plugins/libh2.c
1134	overwritten with libq2.c; works now, too
1135
1136
11372003-04-20	Andre' Schulz	<andre@malchen.de>
1138* masterserver.c
1139	INFO() message typo fixed in plugin_heartbeat_thread()
1140
1141* plugins/libq3.c
1142	new code works
1143
1144
11452003-04-17	Andre' Schulz	<andre@malchen.de>
1146* masterserver.c
1147	msg_out and msg_out_length changes
1148
1149* masterserver.h
1150	char *msg_out -> char **msg_out
1151	int msg_out_length -> int *msg_out_length
1152	int num_msgs added
1153	math.h include
1154
1155* plugins/libq3.c
1156	now only sending 112 servers per packet
1157
1158
11592003-03-14	Andre' Schulz	<andre@malchen.de>
1160* masterserver.c
1161	transferred some code from main() into functions:
1162		int load_plugins(char *, void* [])
1163		void give_up_root_privileges(void)
1164	removed unused commented out code
1165
1166* docs/PROTOKOLLE
1167	"ping" and "ack" packets added to Quake2
1168
1169* plugins/libq2.c
1170	answer "ping" packets
1171	msg_out_length+1 in calloc() for query/ping packet msg_out
1172		thx to valgrind
1173	version number bumped up to 0.2
1174
1175* plugins/libq3.c
1176	fixed snprintf() off-by-one bugs
1177	msg_out_length+1 in calloc() for getservers packet msg_out
1178		thx to valgrind
1179
1180
11812003-03-08	Andre' Schulz	<andre@malchen.de>
1182* plugins/libq2.c
1183	preliminary q2 plugin
1184
1185* plugins/libq3.c
1186	substituted the "4" on lines 82 and 137 with q3_pkt_header_len
1187	failing to reallocate the serverlist is now fatal
1188	added Q3M_PROTOCOL for future use
1189
1190* masterserver.c
1191	commented out INFO() messages in plugin_thread()
1192	removed unused commented out code in plugin_thread(),
1193		plugin_heartbeat_thread(), delete_server()
1194	check realloc return value in delete_server()
1195	check calloc return value in register_plugin()
1196
1197* masterserver.h
1198	added protocol variable in masterserver_plugin struct for future use
1199
1200
12012003-03-03	Andre' Schulz	<andre@malchen.de>
1202* masterserver.c
1203	when removing a dead server show its ip adress and port
1204
1205
12062003-03-02	Andre' Schulz	<andre@malchen.de>
1207* docs/PROTOKOLLE
1208	more packet dumps
1209
1210
12112003-03-01	Andre' Schulz	<andre@malchen.de>
1212* docs/PROTOKOLLE
1213	included packet dumps for better understanding
1214
1215
12162003-02-24	Andre' Schulz	<andre@malchen.de>
1217* plugins/libexample.c
1218	don't fill next and mutex variables in masterserver_plugin struct
1219
1220* plugins/libh2.c
1221	don't fill next and mutex variables in masterserver_plugin struct
1222
1223* plugins/libq3.c
1224	don't fill next and mutex variables in masterserver_plugin struct
1225
1226* masterserver.h
1227	next and mutex variables moved down in masterserver_plugin struct
1228	(they don't have to be declared in plugins anymore)
1229
1230* masterserver.c
1231	init pthread mutex in masterserver_plugin struct in register_plugin()
1232
1233
12342003-02-21	Andre' Schulz	<andre@malchen.de>
1235* plugins/libq3.c
1236	reformat to 80 chars width
1237	missed some fprintf()s; converted to fitting log macro
1238	changed Q3_HEADER from preprocessor define to static char
1239	created static char packet variables
1240	some minor changes/fixes
1241
1242* plugins/libh2.c
1243	deleted and recreated from the new libq3.c
1244	small bugfixes
1245
1246* plugins/libexample.c
1247	minor change to version info
1248
1249* masterserver.h
1250	minor change to version info
1251
1252* README
1253	minor changes
1254
1255* Makefile
1256	change PREFIX to /usr
1257
1258* masterserver.c
1259	forgot to set pointer to next entry in linked list =)
1260	added cmdline option -p and --plugin-dir to configure plugin directory
1261
1262
12632003-02-20	Andre' Schulz	<andre@malchen.de>
1264* plugins/libh2.c
1265	copied code from libq3.c and customized it for heretic2
1266
1267* README
1268	added qstat credits
1269
1270* docs/PROTOKOLLE
1271	minor changes in quake2 and heretics sections
1272
1273
12742003-02-19	Andre' Schulz	<andre@malchen.de>
1275* logging.h
1276	s/SUBNAME/LOG_SUBNAME/
1277
1278* masterserver.c
1279	s/SUBNAME/LOG_SUBNAME/
1280
1281* plugins/libq3.c
1282	s/SUBNAME/LOG_SUBNAME/
1283
1284* plugins/libh2.c
1285	s/SUBNAME/LOG_SUBNAME/
1286
1287* plugins/libexample.c
1288	s/SUBNAME/LOG_SUBNAME/
1289
1290
12912003-02-08	Andre' Schulz	<andre@malchen.de>
1292* masterserver.c
1293	using snprintf instead of sprintf
1294
1295* plugins/libq3.c
1296	using snprintf instead of sprintf
1297
1298* README
1299	logging code credit to Viktor
1300
1301* logging.c / logging.h
1302	added to cvs
1303
1304
13052003-02-06	Andre' Schulz	<andre@malchen.de>
1306* masterserver.c
1307	slight change to GPL disclaimer
1308
1309* logging.c
1310	GPL disclaimer added
1311
1312* plugins/libexample.c
1313	GPL disclaimer added
1314
1315* plugins/libh2.c
1316	GPL disclaimer added
1317
1318* plugins/libq3.c
1319	GPL disclaimer added
1320
1321
13222003-02-04	Andre' Schulz	<andre@malchen.de>
1323* masterserver.h
1324	MASTERSERVER_VERSION split up into:
1325	MASTERSERVER_MAJOR_VERSION
1326	MASTERSERVER_MINOR_VERSION
1327
1328* plugins/libq3.c
1329	Q3M_PLUGIN_VERSION split up into:
1330	Q3M_PLUGIN_VERSION_MAJOR
1331	Q3M_PLUGIN_VERSION_MINOR
1332
1333* plugins/libh2.c
1334	H2M_PLUGIN_VERSION split up into:
1335	H2M_PLUGIN_VERSION_MAJOR
1336	H2M_PLUGIN_VERSION_MINOR
1337
1338* plugins/libexample.c
1339	EXAMPLE_PLUGIN_VERSION split up into:
1340	EXAMPLE_PLUGIN_VERSION_MAJOR
1341	EXAMPLE_PLUGIN_VERSION_MINOR
1342
1343	P.S.: string version defines are a pain in the ass
1344
1345
13462002-12-30	Andre' Schulz	<andre@malchen.de>
1347* masterserver.h
1348	added ERROR, PRINT and DEBUG defines
1349
1350
13512002-12-19	Andre' Schulz	<andre@malchen.de>
1352* docs/PROTOKOLLE
1353	some corrections
1354	quake2 section updated
1355	unreal tournament section created
1356	added a link to q2 net specs
1357
1358
13592002-12-03	Andre' Schulz	<andre@malchen.de>
1360* masterserver.c:
1361	daemonizing implemented
1362	binding to specific interfaces implemented (and root privilege dropping)
1363	catch opendir() errors
1364	catch dlopen() errors
1365
1366* masterserver.h:
1367	version number bumped up to 0.2
1368
1369