Mon Jul 12 13:24:58 1999  James Cameron  <quozl@us.netrek.org>

	* ntserv/ntscmds.c (do_queue_msg): add new player command "queue
	hosts" that will display who is on the queue as a list of host
	names rather than just a length of queue.  Untested.

Fri Jun 25 17:58:46 1999	Dave Ahn <ahn@netrek.org>
	
	* FEATURE (LTD_STATS): Added code to split the stats further for
 	each race per player so that the results can be easily parsed for
 	clue games.  Enable LTD_PER_RACE in config.h.  Added SB stats
 	dump for tools/ltd_dump.
	
	* CONFIG (config.h.in): REVERSED_HOSTNAMES is now defined by
 	default.  UDP_PORTSWAP code seems to break UDP->TCP->UDP
 	renegotiation, so it is now undefined by default, until this bug
 	is fixed.
	
	* BUGFIX (crypt): Added char * casts so that crypt doesn't give
 	warnings during compile on machines without a prototype in
 	unistd.h.
	
Mon Jun 21 22:27:34 1999  James Cameron  <quozl@us.netrek.org>

	* robots/roboshar.c: include proto.h
	* robots/roboshar.c (warning): fix arg type
	* robots/detonate.c: include proto.h
	* robots/puck.c: include proto.h
	* robots/puck.c (main): give function a type.
	* sequencer/roboshar.c: give functions a type.
	* tools/cambot.c: add returns to dummy int functions.
	* tools/convert.c: include stdlib.h for system() prototype.
	* tools/fun.c (action): fix prototype to match signal().
	* tools/planets.c (main): remove warning of return type.
	* tools/message.c (main): remove warning of return type.
	* tools/mess.c (argv): remove warning of return type.
	* tools/loadchecker.c (main): remove warning of return type.

Mon Jun 21 20:19:47 1999  James Cameron  <quozl@us.netrek.org>

	* ntserv/main.c (main): report host names for lack of version packet
	to help isolate sources of malicious connections.

Fri Jun 11 18:01:49 1999  James Cameron  <quozl@us.netrek.org>

	* ntserv/main.c (main): remove superfluous set of whydead on login.
	This will have caused ghostbusts on login in conjunction with the
	"in POUTFIT too long" handler in udplayers().

	* ntserv/daemonII.c (udplayers): ghostbusts on login are happening
	here, and the code still thinks the outfitdelay should be 300 despite
	whydead being set to KLOGIN by ntserv/main.c, so for the moment I've
	added also a dump of the whydead reason and a stdout flush.

	* ntserv/main.c (main): improve error messages for ntserv instances
	that quit due to lack of version packet or invalid packet format.

Thu Jun  3 21:21:31 1999  James Cameron  <quozl@us.netrek.org>

	* ntserv/socket.c (doRead): logs show EINTR is happening on read(),
	which implies that clients are being disconnected for no good reason,
	changed to ignore EINTR and retry.

	* ntserv/socket.c (socketPause): remove superfluous comments.

Thu Jun  3 20:01:55 1999  James Cameron  <quozl@us.netrek.org>

	* ntserv/socket.c (check_mesgs): change response to messages to GOD
	so that players will know that it is not GOD replying but a logger,
	and also suggest a return electronic mail address.

	* ntserv/daemonII.c (udplayers): I fear the calculation of the
	outfitdelay may actually be incorrect, because lots show that many
	of the ghostbusts on login are actually POUTFIT SIGTERMs.

	* ntserv/socket.c (doRead): re-inserted report of read() from client
	error which had been previously removed because it happened too much,
	but changed the error level to 9 to avoid seeing it.  I'm expecting
	to find that this is the point where most of the ghostbusts I'm
	seeing on continuum actually happen; and I want to see if it's EPIPE.

	* ntserv/redraw.c (intrupt): remove superfluous reset of testtime,
	it had been tested for zero two lines above.

	* ntserv/socket.c (dequeue): changed kill(getpid(),15) to an exit().

Mon May 31 20:49:50 1999	James Cameron  <cameron@us.netrek.org>

	* UPDATE: fixed a few compiler warnings using -Wall.

	* UPDATE: added TCP_NODELAY to ntserv processes.

	* DEBUGGING: changed error reporting again for ntserv processes.

Fri May 28 23:01:25 1999	James Cameron <cameron@stl.dec.com>

	* changed TIME message from INL robot to minutes:seconds.

	* BUGFIX (INL): terminator robots were appearing during INL games.

	* BUGFIX (Bases): default docking permissions on for refit to SB.

	* DEBUGGING: addition of various fragments of code to clean up
	the output of the ntserv processes for debugging connection problems.

	Okay, guys, how do you generate this ChangeLog semiautomatically?

	
Tue May 11 19:08:39 1999	Dave Ahn <ahn@vec.wfubmc.edu>
	
	* FEATURE (UDP_PORTSWAP): Erik Rungi <rungus@openface.ca>
 	submitted a patch to ntserv/socket.c which allows clients with
 	USE_PORTSWAP code to initiate the UDP connection rather than
 	having the server do it.  This change should allow those clients
 	to establish UDP connections through some packet filtering
 	firewalls.  Enabled by default.
	
	
Wed May  5 19:50:07 1999	Dave Ahn <ahn@vec.wfubmc.edu>
	
	* BUGFIX (LTD_STATS): The stat damage_repaired wasn't getting
 	updated properly.  Fixed.  Max kills calculations were wrong.
  	Fixed.  Stats packet sent to the client had doubled values for
 	kills, deaths, planets taken and armies bombed.  Fixed.
	
	
Fri Apr 30 19:14:51 1999	Dave Ahn <ahn@vec.wfubmc.edu>
	
	* UPDATE: Cosmetic changes to remove compiler warnings under gcc
 	for some files in ntserv/ and robots/.
	
	* UPDATE ntserv/getname.c (crypt): Dave Swasey reports that
 	crypt.h doesn't exist on RedHat 4.2.  Removed.  configure should
 	autocheck for crypt.h in the future.
	
	* BUGFIX (LTD_STATS): Ranking and ratings weren't working
 	properly.  Fixed to emulate the old style DI ratings and ranking.
	
	* BUGFIX robots/roboshar.c (stdarg): The stdarg changes broke
 	robot messages and caused them to be garbled.  Fixed now.
	
	* BUGFIX tools/update.c, newstartd/newstartd.c (sigaction): Linux
 	doesn't have struct sigaction.sa_sigaction, either.  What a lame
 	OS.  Patched as Dave Swasey recommended.
	
	
Fri Apr 30 14:31:15 1999	Dave Ahn <ahn@vec.wfubmc.edu>
	
	* NOTE: This is a massive changelog entry describing modifications
 	to thousands of lines of code.  Some of those changes are
 	cosmetic, others are not.  To see the actual changes, take a look
 	at the diffs somewhere in the VANILLA-DEVEL archive.  Also, I
 	propose that we follow the GNU-style ChangeLog documentation that
 	Kevin Oconnor started.  I prefer a less specific, hand-waving,
 	bastardized-GNU-style ChangeLog, but the formatting should be
 	similar enough.  James and other developers are welcome to follow
 	my style, but as long as there is some form of documentation, the
 	style shouldn't matter.
	
	* CONFIG config.h.in: I have removed the SHORT_PACKETS and SPEEDUP
 	ifdefs from the source files.  They exist in config.h.in in case
 	COW depends upon it, but they have no meaning for the server code.
  	LTD_STATS is a new define for the Leonard/Tom/Dave extended
 	statistics package for INL gameplay.  For details on LTD stats,
 	see the FEATURE entry and the docs/README.LTD file.  SB_CALVINWARP
 	is a new define for calvin style sling-transwarp, off by default.
  	REVERSED_HOSTNAMES is a new define to truncate the player's client
 	hostname from the end rather than the beginning, off by default.
	
	* UPDATE (RES-RSA): We are now using the new RES-RSA-shell
 	packaging so that both the U.S. and Euro versions of RES-RSA.
  	configure should autodetect U.S. RES-RSA 2.9.1 and Euro RES-RSA
 	2.9 and above.
	
	* FEATURE (ANSI-C): I have updated almost all files in ntserv/ as
 	well as some other files in the other directories to contain
 	ANSI-fied prototyped functions.  Most externally accessed
 	functions now have a prototype in proto.h.  While additional code
 	cleanup should probably be done, I think that these changes are
 	good.  There are numerous small bugs that I uncovered and fixed
 	during this process.  Let's try to make future contributions ANSI
 	C compliant.  Quite a few files, especially in xsg/, still need
 	some cleaning up.  I have also corrected numerous warnings and
 	remarks that I found in ntserv/, so now ntserv and daemonII can be
 	built with cc -fullwarn or equivalent.
	
	* FEATURE ntserv/smessage.c, ntserv/warning.c (stdarg): The old
 	style varargs have been replaced with stdarg.  The changes are
 	mostly in the messaging functions and should not break anything.
	
	* FEATURE ntserv/redraw.c (SB_CALVINWARP): The old calvin server
 	had a non-degrading sling transwarp feature.  Basically, a
 	transwarping ship does not decelerate and can be sling-shot over
 	the base if the base presses the incoming ship before it docks.
  	Really fun for base oggs!
	
	* FEATURE ntserv/main.c (REVERSED_HOSTNAMES): Internet hosts these
 	days have extremely long hostnames.  To better tell who is logging
 	in from where, this config feature truncates the hostname from the
 	end rather than the start.  So, me@ppp-host.abcdehijklmnop.dom.com
 	becomes me@#mnop.dom.com, where # denotes truncation.  The full
 	hostname, up to 31 chars, is still stored in p_fullhostname.  This
 	probably should be expanded.
	
	* FEATURE (LTD_STATS): This is the new Leonard/Tom/Dave extended
 	statistics package.  THIS IS BETA CODE.  DO NOT ENABLE LTD_STATS
 	UNLESS YOU KNOW WHAT YOU ARE DOING.  An extensive description of
 	the LTD stats package is in docs/README.LTD.  As of right now,
 	many tools, including xsg and pledit, are broken with LTD_STATS.
  	I hope to enlist some help to update the tools and to validate the
 	statistics package.
	
	* BUGFIX newstartd/newstartd.c (handle_reaper): Some OS's,
 	primarily the modern SVR4 derived ones, now generate zombie
 	children if a forked process is not waited on.  I have fixed this
 	by using sigaction, but this may not work if the OS does not
 	support the SA_NOCLDWAIT flag.  See and enable REAPER_HANDLER in
 	newstartd.c to use the fix.  I added a workaround fix for Linux
 	which does not have SA_NOCLDWAIT.
	
	* BUGFIX tools/update.c (no_zombies): Like newstartd.c, updated
 	was also creating zombie processes on Solaris.  Same solution
 	applies, but again, SA_NOCLDWAIT must be supported for it to work.
  	I added a workaround fix for Linux which does not have
 	SA_NOCLDWAIT.
	
	
Sat Jan 31 14:02:12 1998  Kevin Oconnor  <koconnor@kerosene.eng.buffalo.edu>

	* packets.h (SP2SHORTVERSION): Changed macro SHORTVERSION to
 	SP2SHORTVERSION.  ShortVersion alone is not descriptive enough.

Sat Oct 25 03:13:54 1997  Kevin Oconnor  <koconnor@harrier.eng.buffalo.edu>

	* genspkt.c (SupdateTorps): This function had a failsafe #ifdef
 	block that checked if MAXPLAYER*MAXTORP wasn't a factor of 8.  The
 	failsafe code was just a block copy of the rest of the function
 	with a couple of simple changes.  I reimplemented this failsafe by
 	adding a few well placed #ifdef checks in the main routine.  This
 	has the effect of reducing the code size by over 6K.  Also, this
 	simplifies the code - making it easier to understand and
 	maintain.

	* genspkt.c: Changed sizes[] array definition from an unbounded
	array, to a bounded array of size TOTAL_SPACKETS.  TOTAL_SPACKETS
	is defined in packets.h.  This was done because sizes[] was moved
	to genspkt.c, and socket.c needed to know the size of the array
	at compile time.  This is a temporary solution, IMO the sizes[]
	array should be phased out completely..

Sun Oct 12 19:08:11 1997  Kevin Oconnor  <koconnor@thunderbolt.eng.buffalo.edu>

	* genspkt.c: Removed 'register' declaration from variables in
 	non-critical routines - IE. all of genspkt.c.  Perhaps I'm missing
 	the "big picture", but the server is compiled by default with -O
 	on.  The compiler will automaticly combine certain variables,
 	remove certain variables, and make other variables into registers.
  	Blindly declaring non-critical loop variables as register is at
 	best irrelevant, and at worst hampering performance.  Also, some
 	of the routines declared 10 or more variables as register.  This
 	is silly, many architectures dont even have that many registers!

Fri Oct  3 18:06:49 1997  Kevin Oconnor  <koconnor@heptane.eng.buffalo.edu>

	* socket.c: Removed #ifdef SHORT_PACKETS from code (Making
 	Short_packets a permanent 'feature').
	Parsed source code through GNU Emacs c-mode auto-indent.  Fixed up
 	many #ifdef/#else/#endif directives to make emacs happy.
	Broke many UpdateXXX functions into multiple parts.  The UpdateX()
 	functions determine which data is nedeed by the client, and then
 	calls functions sndX() to generate the actual server packets.  The
 	sndX() routines determine if the information has changed in the
 	'eyes' of the client, and calls sendClientPacket() to send the
 	actual data when neccessary.
	Changed updatePlanet() to send 0 for armies/flags/owner when
 	planet is no longer seen.  Done for uniformality, and it 'makes
 	sense'.
	Broke socket.c into two files, socket.c which will
 	create,maintain,and send data over the sockets, and genspkt.c
 	which will generate the actual server packets.  Reason - socket.c
 	was getting too large (> 150K).
	(updateClient): Moved the resetting of mustUpdate[i] to
 	updatePhasers() in genspkt.c - It has the same effect there, and
 	allows mustUpdate to be declared locally in genspkt.c.
	(forceUpdate): Moved most of the code in this function to new
 	function in genspkt.c - clearSPackets.

	* genspkt.c (updateMessages): Moved mysterious call to
 	update_sys_defaults in updateMessages to a more appropriate
 	location - updateClient in socket.c.
	
	$Id: ChangeLog,v 1.11 1999/07/12 03:23:00 cameron Exp $
