$Id: ChangeLog.txt,v 1.21 2000/01/26 12:36:48 jlawson Exp $

; an enduser global overview of changes

=== build 313 (26 Jan 2000) ===

timestamp format can now be adjusted via ini file.

log formatting for ogr stub/nodes changed to accomodate greater size.


=== build 312 (13 Jan 2000) ===

number of stubs sent/received during a server connection are now
properly tracked and logged.  

win32 console titlebar now only includes open contests.

changed logcompressor invocation to use rfork() on freebsd, and vfork()
on other platforms.  rfork() allows us to explicitly disable filehandle
inheritance to children processes.

Corrected bug in cyp's rewrite of netio_resolve that prevented
detection of NULL return values from gethostbyname (failed to
resolve), which usually led the caller to believe that it was
successfully able to resolve 255.255.255.255

fixed bug that would cause a personal proxy compiled
without lurk support to connect to the server on threshold surpassment
even in offline mode.

changed messages to display "(thresholds exceeded)" instead of
"(connect period elapsed)"


=== build 311 (8 Nov 1999) ===

Official release for CSC contest support.  All proxies/servers must be
updated to 311+ to support CSC, otherwise the version information will be
lost during retransmission upstream (311 now removes the version check).

sigio optimizations on freebsd now disabled, since it was found to
cause network stalling.

average rate computation for ogr added.  Contest rate summaries now can
include customized rate labels.  OGR displays units as "Mnodes/sec"

discarded client subbuild version check.

if pkt->id is 'rc5@distributed.net' log it to logfile (and only there) as ""
for perproxy logs: if id==rc5@distributed.net then id=nobody@[ipaddress].


=== build 309 (15 Jul 1999) ===

contest open and closure enhanced on master to not allow reopening
without restart.  also eliminated need for full generator initialization
on rc5/des/ogr/csc if the contest is closed.

preliminary csc and ogr contest support standard.


=== build 308 (2 Jun 1999) ===

fixed interop problem between 306+ SPARC proxies and non-SPARC 443+
clients.

fixed rare silent exit problem with all unix platforms except Linux
triggered by broken pipe on server connection.

pidfile is now deleted on proper proxy shutdown.

enhancement of network data decoding loop to reduce amount of wasted
cpu time while waiting for full network packets to be received.

improved idle connection detection to locate additional cases of
open idle network connections, and infinite buffer filling.

when the ignore/allow host rulesets are reloaded, currently established
client connections are immediately reevaluated and disconnected on match.

connection establishment is now non-blocking again to allow connects
to occur without interrupting normal operations of the main loop.



=== build 307 ===:

added expertmode ([rc564]/expertmode) to bypass the automatic treshold 
adjustments

connection keep-alive header (added in 306) no longer transmitted,
only proxy-connection keep-alive, on upstream server connections.

when responding to an incoming client, connection keep-alive header
only sent to a client if it requested a keep-alive.

reduced cpu usage of extended xfd select operations, including logic
to reduce number of subselect statements needed, especially on win32.


	
=== build 306 ===:

new "generic proxy" support added as new firewall connection method.

proxy tries harder to really hand out the requested blocksize

complete ACL with [ignoredip] AND [allowedip] section and a
allowincoming parameter to totally block incoming traffic.

removed random block generation and randomprefix tracking.  random
generation should now only be done by clients when necessary.

dynamically adjusting maxready buffer limits based on keyrate-averages

sliding keyrate average window now defaults to one day with more
freedom to adjust these values.

dupechecking on fullservers and personalproxies

fullservers check in every connectperiod even if there's now work

outgoing connection errors, such as "connection refused", are
detected properly now.

personal proxy buffers now use a variant of the original (pre300) queues
for storing blocks and additionally attempts to frequently update their
contents back to disk.

http tunnelling support improved to support proxies that do not maintain
persistent socket connections.

ogr project support added.

logcompressor support reenabled, fork/zombie problems corrected.

problems with selecting too many sockets on win32 eliminated.

fullserver buffers opened in exclusive mode. improved fullserver repair
and unlock. autorepair now invoked after any significant corruption
detection, instead of just when the basic consistency checks fail.
buffer cycle checking added.

problems with not being able to resolve specified hostnames resolved and
properly detected as failures.

improved tolerances of time changes of the local machine.

syncronized many more common files with those of client, including
iniread, cputypes, win32 lurk, and win32 service functionality.

possible problems with stagnant server or client connections with null
socket handles not getting properly closed by proxy resolved.

eliminated crash if a pidfile was specified but it could not be opened
or insufficient file permissions existed to write to it.

=== build 305 ===:

(development version only)


=== build 304 ===:

status period option added to control period between periodic contest
reports.

total block counts per contest added to periodic contest reports.

logverbosity now accepts a list of keywords.

some console log messages slightly modified, others added.


=== build 303 ===:

temporarily disabled logcompressor until buffer corruption can be
completely resolved. 

buffers will autorepair when validation fails. 

updated documentation and sample ini files to more closely reflect
available options. 

proxy no longer attempts to window as many block requests if the
additional needed number is low. 

pidfile now contains correct pid when -detach is used. 

major rework of DES generation code to accomodate EFF macrospace
distribution. 

corrected some logging aspects on master. 

DES blocks from closed contests are now discarded. 


=== build 302 ===:

nt service installation should work now blocks should be requested up to
maxready now, connections still triggered by minready. 

documentation for ignoredip section updated. 

no longer attempts to request des blocks when des is closed. -repair and
-unlock should no longer hang if your buffers have loops in them
anymore. 

lots of possibly problems that could lead to buffer corruption havebeen
fixed. 

contest start times that have already passed are no longer given to clients
when they connect. 

console output now indicates which contest when blocks are requested,
received, delivered, etc. 

proxy should no longer request infinitely many blocks when your buffer
thresholds are too low. 

keyserver/bindip now actually works. 

many issues that could cause invalid size blocks to be saved or given to
clients have also been addressed. 


=== build 301 ===:

minor bugfixes.


=== build 300 ===:

complete rewrite
