crossroads

Git mirror of https://crossroads.e-tunity.com/
git clone git://git.finwo.net/app/crossroads
Log | Files | Refs | LICENSE

ChangeLog (22028B)


      1 2.81 [KK 2013-04-05]
      2 - Upped to c-conf 1.18 for Raspberry Pi.
      3 
      4 2.80 [KK 2013-03-15]
      5 - Upped to c-conf 1.17 (Ubuntu 64bits libs).
      6 - When replacing Host: headers with the back end address, the port is
      7   also appended. See flag -I / --replace-host-header. Thanks Nuno F.
      8   for the patch.
      9 
     10 2.79 [KK 2012-04-19]
     11 - Bugfix in the web interface network handling.
     12 
     13 2.78 [KK 2012-04-18]
     14 - xrctl fixes, thanks Carlos H. for reporting.
     15 
     16 2.77 [KK 2012-02-16]
     17 - gc++ 4.6 portability issues
     18 
     19 2.76 [KK 2011-05-24]
     20 - Round-robin dispatching takes weights into acocunt. By request of
     21   and suggested by David T.
     22 
     23 2.75 [KK 2011-05-23] 
     24 - Signal SIGUSR1 toggles verbose logging, SIGUSR2 toggles debug
     25   logging.
     26 - Back end connection attempts improved (assumes "alive" unless a
     27   failure is seen).
     28 - Flag parsing for -p / --pidfile fixed.
     29 - Warning: Memory leak reported with high load. Under investigation.
     30 
     31 2.74 [KK 2011-04-05]
     32 - Promoted to STABLE. A word of warning: DOS protection under high
     33   load may be unstable, currently under investigation.
     34 
     35 2.73 [KK 2011-03-05] 
     36 - Removed too much debugging verbosity from socket handling
     37 - Bugfix in basesocket/accept.cc, thanks Mario M. for reporting
     38 - Change in tcp dispatcher: when the algorithm fails, a new target
     39   list is constructed for re-dispatching.
     40 
     41 2.72 [KK 2011-01-11] 
     42 - Web interface correctly retrieved in "xrctl list" (including the
     43   display name and all).
     44 - Small bugfix in TCP-connect-checking of dead back ends (see
     45   xr/backend/check.cc).
     46 - Bugfix in the first-available dispatch algorithm.
     47 - Socket handling rewritten, using Socket/Basesocket classes. Consider
     48   this version alpha-code until the new socket handling proves itself!
     49 
     50 2.71 [KK 2010-11-25] 
     51 - Recentness of doc/xr.pdf is checked (against doc/xr.odt) during
     52   "make commit"
     53 - Error messages are also prefixed with a timestamp when flagged so
     54   (just as warnings, verbose messages etc.)
     55 - Web interface flag --web-interface may hold a 3rd argument, a name.
     56   This name is rendered in the browser. Xrctl tag "webinterfacename"
     57   introduced for this purpose.
     58 - Fixed 32-bit issue in MutexTable::hash(), the modulo-operation while
     59   hashing worked on 64-bit systems, but not on 32-bit. (Thanks,
     60   several people for reporting this.)
     61 - Fixed mutex issue during pre-operation scanning of back ends. XR
     62   would crash when started with only dead back ends in the pre-scan phase.
     63 
     64 2.70 [KK 2010-10-28] 
     65 - Bugfix in 3-secs delay during out of file handles conditions (see
     66   xr/balancer/serve.cc)
     67 - Potential bug fixed in web interface responder (check for validity
     68   of client socket added).
     69 - Browser requests for /favicon.ico are silently dropped (404 return),
     70   instead of showing up in the error log as unknown url.
     71 - Small codechanges in back end testing via TCP. E.g, when tcp-connect
     72   checking a back end, the connection is attempted twice by default.
     73   Just once appears to fail on some systems, twice fixes the problem.
     74 - Basic authentication for the web interface implemented. This can be
     75   given on the commandline using --webinterface-auth, in xrctl.xml
     76   using the tag webinterfaceauth, or injected later on the url
     77   /server/webinterfaceauth/USER:PASS
     78 
     79 2.69 [KK 2010-10-08] 
     80 - Installation paths in the make install process can be tweaked,
     81   thanks Felix A. W. O. for suggesting this.
     82 - Verbose and debugging output were by mistake both controlled by the
     83   flag --debug (instead of --debug and --verbose). Fixed.
     84 - When the process runs out of open files, XR will sleep for
     85   EMFILE_SEC secs (see the #define in sys/sys). This avoids thrashing
     86   the output log.
     87 - Documentation updated.  
     88 
     89 2.68 [KK 2010-09-22] 
     90 - All sources checked by cppcheck (static code analysis).
     91 - License file added.
     92 - Bugfix in xrctl.xml parsing, logger and other binaries can be
     93   now specified as absolutes.
     94 - Mutex handling rewritten, new code is faster than the older one and
     95   hopefully more thread-safe in rare conditions (fingers crossed ;-)
     96 - Macros for verbose/debug output rewritten for type-safeness. Locking
     97   of cout/cerr is in try-out mode only, so that mutex locks due to
     98   messages won't happen.
     99 - All occurrences of inet_ntoa() changed to inet2string() (see
    100   sys/inet2string.cc) for thread-safeness.
    101 - Double header-processing in HTTP mode fixed. Thanks for reporting,
    102   Maxim P. and Chin F.
    103 - Optimisation / consistency fix in Httpbuffer::findheader(), thanks
    104   Maxim P. for finding this and reporting.  
    105 
    106 2.67 [KK 2010-06-11]
    107 - Further bugfix in xrctl to shell-escape all XR parameters where
    108   necessary (including e.g. url matching regexps etc.).
    109 
    110 2.66 [KK 2010-06-09]
    111 - Bugfix in xrctl, --host-match arguments are now shell-quoted (they
    112   are regular expressions and can contain pipe characters etc). Thanks
    113   Chewped for reporting.
    114 
    115 2.65 [KK 2010-04-26]
    116 - Bugfix in backend/connect.cc - if the determination whether a back
    117   end is available goes haywire, the client socket may stay open and
    118   not be consumed. Thanks Franz J. for reporting!
    119 - Version stamped as STABLE.
    120 
    121 2.64 [KK 2010-01-29]
    122 - Fixed signal handling for start/stop/restart.
    123 - Web interface now immediately shuts down at a stop request, so that
    124   next xr instances can grab the web interface port immediately.
    125 
    126 2.63 [KK 2010-01-11]
    127 - Previous 2.62 stamped as stable, 2.63 will be the new development
    128   trunk.
    129   
    130 2.62 [KK 2010-01-08]
    131 - Fixed possible coredump cause in Balancer::serve(), which might
    132   explain some troubles during high load (many really concurrent requests).
    133 
    134 2.61 [KK 2009-11-17]
    135 - Netbuffer::netwrite() will abort after 5 attempts that yield 0
    136   written bytes. Probable cause of CPU hogging - thx Franz J. for
    137   reporting.
    138 - Fixed potential cause of crashes in base class for Dispatcher
    139   (algorithm handler would not get initialized in the constructors).
    140 
    141 2.60 [KK 2009-11-02]
    142 - Some errors demoted to informational messages to choke the amount of
    143   log information that's generated.
    144 
    145 2.59 [KK 2009-10-14]
    146 - Bugfix in logger handling of xrctl, read
    147   http://xrforum.org/viewtopic.php?t=495 if you fancy. Thanks Hobbit
    148   for reporting this!
    149   
    150 2.58 [KK 2009-10-14] 
    151 - Added test/ftp.xml as a sample ftp service configuration.
    152 - Implemented URL-based dispatching: flag --url-match/-j, present in
    153   xrctl, tested in test/urlmatch.xml, added to web interface
    154 - Usage information now shows long versions of flags first.
    155 
    156 2.57 [KK 2009-09-14]
    157 - Output of "xrctl status" colorized when a service is not running,
    158   thanks Frederik D. for the suggestion and the code!
    159 - Small cleanup of xrctl's usage information.  
    160 
    161 2.56 [KK 2009-05-26]
    162 - Bugfix in cleaning of IPStore map
    163 - Implemented flag --remove-reservations (xrctl: tag: removereservations)
    164 - Timeouts adjusted: all read time outs set to 30, client-write set to
    165   5, backend-write set to 3
    166 - Implemented tag prefixtimestamp in system block to force timestamping.  
    167 
    168 2.55 [KK 2009-05-13] 
    169 - Implemented connection error counting of back ends.
    170 - Select-handling revised: atomic readability and writeability checks,
    171   see xr/fdset/wait.cc and wait_r(), wait_w(), wait_rw().
    172 - Checks for connect() success can be configured to verify only
    173   writeable status of a socket (see xr/backend/connect.cc, macro
    174   CONNECTCHECK_ONLY_WRITABLE in xr/etc/Makefile.class).
    175 - Added test/xr-mysql-connect.
    176 - Added commands kill and killstart to xrctl. Action restart renamed
    177   to stopstart.
    178 - Added simple benchmarking under test/: xr-http-test (based on an
    179   older script) and xr-smtp-test. Plus a simple analyzer of the
    180   reported timings, xr-analyze-test.
    181 - Revamped stored-ip dispatcher, added IPStore class to keep track of clients.  
    182 
    183 2.54 [KK 2009-04-29]
    184 - Stamped new STABLE version.
    185 
    186 2.53 [KK 2009-04-24]
    187 - test/xr-client-ping now can live without LWP::UserAgent. When this
    188   Perl module is not present, the script will fall back to wget/curl.
    189 - Upon thread kill, sockets are closed using socketclose()
    190   (sys/socketclose.cc), which also shutdown()s the socket.
    191 - Bugfix in xrctl regarding new format of client/backend timeout.  
    192 
    193 2.52 [KK 2009-04-21]
    194 - Bugfix in the roundrobin dispatcher. When only one back end would be
    195   up, then the roundrobin dispatcher would incorrectly compute the
    196   right back end. This bug only became visible with host-matching in
    197   HTTP mode.
    198 
    199 2.51 [KK 2009-04-15]
    200 - Separate "write" timeouts introduced in flags -t and -T
    201 - Web interface activity overview includes client ip addresses
    202 - Added test/xr-client-ping (see docs)
    203 
    204 2.50 [KK 2009-03-30]
    205 - Bugfix in activation of the onfail script in the checkup thread.
    206 - Compilation flag -Werror only passed to the compiler when on the
    207   development system Thera.local (see xr/etc/Makefile.class).
    208 - Onstart, onend and onfail scripts (when present) are invoked with a
    209   third argument, the number of connections at the time
    210 - Set-Cookie header directive (see the HTTP dispatcher) attaches an
    211   explicit path "/".
    212 - Rewired the tcp dispatcher and http dispatcher to use a common
    213   buffer inside the tcp dispatcher (instead of 2 separate ones).
    214 
    215 2.49 [KK 2009-03-27]
    216 - Implemented onfail hook (to complement onstart/onend, flag -y).
    217 
    218 2.48 [KK 2009-03-26]
    219 - Implemented onstart/onend hooks (flags -z, -Z).
    220 - Sticky HTTP mode inspects the URI (parameter XRTarget) when no
    221   sticky cookie is present.
    222 
    223 2.47 [KK 2009-03-04]
    224 - Stored-ip dispatching was enhanced to "anticipate" reconnects from
    225   previously seen clients. The number of anticipated connections is taken
    226   into account when dispatching a new client.
    227 - Bugfix in command line parsing of dispatch mode lax-stored-ip (would
    228   be recognized as strict).
    229   
    230 2.46 [KK 2009-02-18]
    231 - Dispatcher-related classes moved under directory xr/Dispatchers/.
    232 - UDP balancer implementation started (code stubs in place).
    233 - xrctl bugfixed: a backend-scope maxconnections statement would
    234   confuse the global server block. Thanks Rajeev for reporting.
    235 
    236 2.45 [KK 2009-02-18]
    237 - Usage information formatted.
    238 - Rubberstamped "stable"!
    239 
    240 2.44 [KK 2009-02-11] 
    241 - Reviewed code for "throw"s (edited for consistency).
    242 - Bug in Webinterface::execute() (during accept()). Thanks Vladimir T.
    243   for reporting and testing.
    244 
    245 2.43 [KK 2009-02-09] 
    246 - Added Httpbuffer::replaceheader() methods
    247 - Added flag -I (to replace Host: headers), integrated in xrctl /
    248   webinterface
    249 - Webinterface reports approx. # of open fd's and the limit (in activity)
    250 
    251 2.42 [KK 2009-01-28] 
    252 - Bugfix in "xrctl generateconfig". The activity info introduced
    253   before (which the web interface now emites), confused xrctl.
    254 - Bugfix in sys/ipmatch.cc: mask matching corrected for systems where
    255   longs are not 4 bytes (64bit systems).
    256 - Bugfix in hashed-ip dispatch mode: When no back ends were available,
    257   the dispatcher would crash (fixed).
    258 - XSLT stylesheet that transforms web interface slightly changed to
    259   improve the looks.
    260 - Bugfix in xrctl's "rotate" action. Thanks "ncisrael" for reporting
    261   it in the forum.
    262 
    263 2.41 [KK 2009-01-05]
    264 - Bugfix in xrctl, thanks Eddie for reporting it.    
    265 
    266 2.40 [KK 2009-01-03] 
    267 - Netbuffer::read() failures are no longer logged as errors, but as
    268   verbose messages.
    269 - XML configuration now supports "logger" to redefine logger program.
    270 - Small changes to xrctl: ps command is auto-guessed when not
    271   specified in the XML configuration.
    272 
    273 2.39 [KK 2008-12-04] 
    274 - Added Httpbuffer::reset()
    275 - The HTTP dispatcher will show back end error returns (when the HTTP
    276   code is in the 400 or 500 range)
    277 - main() will show runtime limits when invoked with -v
    278 - The HTTP dispatcher no longer downgrades to HTTP/1.0 and closed
    279   connections. Webserver back ends can do this.
    280 - Exceptions during the sending of an error page in HTTP mode are
    281   discarded, no longer logged.
    282 - Mutex lock added around thread startups (see Thread::start()), when
    283   requested soq in sys/sys.
    284 - Mutex locks around malloc()/realloc(), when requested so in sys/sys.
    285 - Fixed possible socket leak in TcpDispatcher::execute(). The back end
    286   socket might not have been closed when the dispatch phase crashed.
    287 - Dispatchers are now derived from a new base class Dispatcher, in
    288   preparation for UDP handling.
    289 - Timestamp handling centralized in a class Timestamp.
    290 - Messaging (msg(), debugmsg(), reportmsg(), warnmsg()) centralized.
    291 - Started threads are administered in Threadlist. Separate threads are
    292   killable from the web interface, or all threads to a given back end.
    293 
    294 2.38 [KK 2008-11-19]
    295 - Bugfix in xrctl: Weights and max connections in back ends are now
    296   passed correctly.
    297 - Added version ID to xrctl.  
    298 
    299 2.37 [KK 2008-11-17]
    300 - Main accept-loop in Balancer::serve() doesn't throw an exception
    301   when a network connection can't be accepted. The reason is shown in
    302   a warnmsg().
    303 
    304 2.36 [KK 2008-11-11]
    305 - Typo bugfix in xrctl, fixed.
    306 - xrctl will take the environment's PATH if no path is given in the
    307   configuration.
    308   
    309 2.35 [KK 2008-11-11]
    310 - The wakeup and checkup thread are always started, even when no
    311   wakeups or checkups are defined. Reason is that later these timers
    312   can be set in the web interface, so we want the threads running.
    313   When no checks/wakeups are applicable, the threads will recheck each
    314   30 secs.
    315 - Server type (tcp/http) made configurable through the web interface.  
    316 
    317 2.34 [KK 2008-11-09] 
    318 - Fixed sys/str2parts.cc for 64bit systems.
    319 
    320 2.33 [KK 2008-11-07] 
    321 - Solaris portability for gcc 3.4 issues in Tcpdispatcher::execute()
    322 - Removed warnings about non-found libraries (on systems that don't
    323   need them)
    324 - Support for DESTDIR setting in top Makefile (for debian packaging)
    325 - Man pages added as doc/xr.1, doc/xrctl.1 and doc/xrctl.xml.5.
    326 
    327 2.32 [KK 2008-11-05]
    328 - Bugfix in "stored-ip" dispatching algorithm.
    329 
    330 2.31 [KK 2008-10-30] 
    331 - Changes related to XML-style configuration file support. A
    332   new-style xrctl is in provided and during "make install" put in
    333   BINDIR (normally: /usr/sbin). See test/sampleconf.xml for an example
    334   of a configuration file.
    335 - Added webinterface URI's to control DOS-protection related settings.
    336 - Added DOS-protection variables to XML-output of the web interface.
    337 - Server-wide maxconnection tag output moved into dosprotection block.
    338 - Added display of such variables to the style sheet that renders the
    339   XML in a browser.
    340 - Added option close-sockets-fast to XML output and to website URI
    341   controls.
    342 - Added allow-from and deny-from lists to XML output and to website
    343   URI controls.
    344 - Added the primary distribution site to the top-level Makefile as
    345   macro. This now shows up in "xr -V". The version ID and site also
    346   show up at the bottom of the web interface screen.
    347 - Target "uninstall" added to the top-level Makefile.
    348 - Bugfix in Netbuffer::netwrite(). When the remote connection would be
    349   hung up, XR would be blissfully unaware. SIGPIPE signals are now ignored.
    350 - Implemented flag -g / --backend-check. Alternatives:
    351   connect:ip:port, get:ip:port[/uri], external:program.
    352 - Added back end check type to the web interface reports, created
    353   control at web interface for /backend/NR/backendcheck/VALUE to
    354   change it. Added to XML configuration parsing.
    355 - Docs updated, ofc.
    356 - Status of balancer shown in web interface. Minor bugfix in xrctl.
    357 - Added flags -E/-e (hard/soft-maxconn-excess, to call an external
    358   program). Also added to web interface with controls and updated docs.
    359 - Added mutex locks around cerr output catch-blocks of exceptions.
    360 - Added more checks for memory allocation faults.
    361 - Implemented DNS caching of back end host names (flag -F,
    362   --dns-cache-timeout). Also implemented in web interface output and
    363   controls.
    364 - Implemented adding and/or deleting back ends from the user
    365   interface, including scripting URI's.
    366 - Implemented generation of a new configuration using "xrctl
    367   generateconfig".  
    368 
    369 2.30 [KK 2008-10-25] 
    370 - Reversioned to 2.30 in prepration for STABLE release.
    371 - Bugfix in Netbuffer::netwrite() (debug output of written data)
    372 - SIGPIPE gets ignored, see sys/main.cc
    373 - Fixed re-entrancy issues for gethostbyname() that applies to some
    374   unices. See Backend::connect() (xr/backend/connect.cc).
    375 
    376 2.22 [KK 2008-10-16]
    377 - Implemented up/down state in back ends. Fixed up the docs.
    378 - Rewrote msg() and debugmsg() handling: these are now macros that
    379   call _msg() and _debugmsg() depending on verbose/debug flags. The
    380   argument is a Mstr object, used to concatenate strings with ints,
    381   doubles and so on.
    382 
    383 2.21 [KK 2008-10-14]
    384 - Fixed round-robin dispatching with only 1 configured back end. The
    385   bug was that on the next-time around, no "other" back end would be
    386   found.
    387 - Centralized reading/writing from fd's and buffer handling into class
    388   Netbuffer. This removes superfluous buffer copying in the HTTP
    389   dispatcher.
    390 - Rewrote HTTP dispatcher & (hopefully) optimized it.  
    391 - Added Profiler class and xr/etc/xrprof tool.  
    392 - Many other small changes.
    393 - Added docs on maxconn flags and weighted-load dispatching.
    394 - THIS VERSION IS A REWRITE OF THE HTTP DISPATCHER. IT IS ALPHA-QUALITY.
    395 
    396 2.20 [KK 2008-10-13]
    397 - Fixed -C flag recognition, --close-sockets-fast worked, but I'd
    398   omitted -C from the flag set.
    399 - Ongoing optimization work.  
    400 
    401 2.19 [KK 2008-10-13] 
    402 - Changed the TCP Dispatcher to allow for setting a maximum #
    403   connection attempts per client, with options to either defer the
    404   connection or drop it. 
    405 - Added a dispatch mdoe "weighted-load" for randomly picking a back
    406   end based on the inverse of their respective load averages.  (gem)
    407 - Verbose/debug options in the web interface are now rendered as
    408   select boxes.
    409 - Web interface errors are rendered on the client as an HTML error
    410   page.
    411 - Docs updated regarding web interface URI's.
    412 - Turned on compliler optimizing (had forgotten that before!)
    413 - Docs updated regarding web interface URI's.
    414 
    415 2.18 [KK 2008-10-08]
    416 - Improved command line parsing, so that when --checkup-interval is
    417   used, suppression of "--wakeup-interval 0" is no longer needed.
    418 
    419 2.17 [KK 2008-10-07]
    420 - Type sizes reported in "xr -V"
    421 - Fixed nasty bug in sys/fdwrite.cc
    422 
    423 2.16 [KK 2008-10-05]
    424 - Enhanced web interface to show debug, verbose and traffic log states
    425 - Altering parameters for the web interface get sent in encoded form
    426 - Option --log-traffic was renamed to --log-traffic-dir for
    427   consistency
    428 - Enhanced web interface to modify client and back end timeouts
    429 - Enhanced web interface to modify wakeup / checkup intervals.
    430 
    431 2.15
    432 - Sanity checks in Config::parsecmdline(): -w/-c together throws error.
    433 - Network sends are now using write(), unless under Solaris, which
    434   uses send().
    435 - --log-traffic logs to file with as the base name: the request
    436   number.
    437 - System (uname) is recorded during compilation and displayed in "xr -V"
    438 
    439 2.14 [KK 2008-09-30]
    440 - Removed spurious debug message.
    441 - Fixed usage info for buffer size flag (should be -B, not -b).
    442 - Implemented flag -l (--log-traffic).
    443 
    444 2.13 [KK 2008-09-17]
    445 - Porting issues resolved for older MacOSX (10.3, 10.4)
    446 - Bugfix in XML emitting of web interface. Most browsers didn't even notice..
    447 
    448 2.12 [KK 2008-09-10]
    449 - Small code changes for g++ v3.x backward-compatibility support.
    450   (Thanks Simon M.)
    451 - Web interface: layout enhanced, more modification options
    452 - Code cleanup, duplications removed
    453 - Network sending ignores some errno's and retries (see
    454   sys/fdwrite.cc)
    455 - Web interface retries binding to its socket (incase a previous
    456   instance hasn't terminated yet)
    457 - Web interface returns an HTTP error page (status 500 only, no
    458   content) during errors
    459 
    460 2.11 [KK 2008-09-04]
    461 - Bugfix in "first-active" dispatch mode. Previously XR would gobble
    462   up fd's when no back end was available.
    463 - Web interface (first version) implemented.
    464 
    465 2.10 [KK 2008-09-02]
    466 - Bugfix in host match mode. When a back end doesn't match anything,
    467   then the client isn't served. (Previously the dispatcher would fall
    468   back to least-connections over all known back ends.)
    469 - In HTTP mode, a 502 error gets returned to the client when
    470   dispatching fails or when back end processing goes haywire. There is
    471   just one error page, 502 error header, 0 bytes content length.
    472 - Implemented back end weights for least-connections dispatching.
    473 - Bugfix in Backend::connect(): Socket gets closed when connecting fails.
    474 
    475 2.09 [KK 2008-09-01]
    476 --host-match code implemented
    477 
    478 2.08 [KK 2008-08-31]
    479 I'd forgotten to include the 'P' into the set of allowed flags
    480 (--prefix-timestamp would work, -P not). Fixed.
    481 
    482 2.07 [KK 2008-08-28]
    483 Stupid bug in 2.06, sorry that 2.06 got out.. Fixed.
    484 
    485 2.06 [KK 2008-08-27]
    486 Upped c-conf to 1.14.
    487 xrctl updated: 'ps' command format also suitable for SunOS.
    488 New class Mutex implemented. Mutex-locks are now more fine-grained
    489 (per one global or static).
    490 Solaris9 port w/gcc 3.4.6 done.
    491 
    492 2.05 [KK 2008-08-15]
    493 Thrown errors now based on std::exeception.
    494 "xr -V" shows compilation settings.
    495 Code reorganized into directory hierarchy.
    496 
    497 2.04 [KK 2008-08-11]
    498 Mutex in Thread class is now a static.
    499 Implemented dispatching algorithm "stored clent ip", in the variants
    500 strict and lax.
    501 Flag -n / --tryout implemented. Implemented in xrctl.
    502 
    503 2.03 [KK 2008-08-10]
    504 Updated docs regarding the mailing list.
    505 Fixed verbose display upon accepting a client ("current back end
    506 states").
    507 Implemented dispatching algorithm "hashed client ip", in the variants
    508 strict and lax.
    509 
    510 2.02 [KK 2008-08-09] Changes to the Makefile & some sources to avoid
    511 warnings under RHL (thanks, Simon M.).
    512 Bytes processed by a back end is now administered in
    513 TcpDispatcher::writechunk() and not readchunk(). Reason: In HTTP mode,
    514 the target back end is not yet known upon the first read -- the first read
    515 from the client comes before dispatching. Thanks Simon M. for the bug
    516 report.
    517 All select()'s now check for errno==EINTR, incase XR gets a signal -1
    518 (for status report).
    519 
    520 2.01 [KK 2008-08-08] Implemented flag -C (--close-sockets-fast): this
    521 option *can* be used under heavy stress when too many network sockets
    522 remain in TIME_WAIT state (try with 'netstat -n | grep TIME_WAIT').
    523 Syntax of xrctl is checked upon "make commit".
    524 Added documentation about Solaris tcp_time_wait_interval and Linux
    525 ip_conntrack_max.
    526 Added documentation about binding XR to the same port, using different
    527 bind-to IP's.
    528 
    529 2.00 [KK 2008-08-07] Release of 2.00.