Crossroads Changelog

What's new in Crossroads 2.74

Apr 5, 2011
  • Promoted to STABLE. A word of warning: DOS protection under high load may be unstable, currently under investigation.

New in Crossroads 2.73 (Feb 19, 2011)

  • Removed too much debugging verbosity from socket handling
  • Bugfix in basesocket/accept.cc, thanks Mario M. for reporting

New in Crossroads 2.68 (Sep 30, 2010)

  • All sources checked by cppcheck (static code analysis).
  • License file added.
  • Bugfix in xrctl.xml parsing, logger and other binaries can be now specified as absolutes.
  • Mutex handling rewritten, new code is faster than the older one and hopefully more thread-safe in rare conditions
  • Macros for verbose/debug output rewritten for type-safeness. Locking of cout/cerr is in try-out mode only, so that mutex locks due to messages won't happen.
  • All occurrences of inet_ntoa() changed to inet2string() (see sys/inet2string.cc) for thread-safeness.
  • Double header-processing in HTTP mode fixed. Thanks for reporting, Maxim P. and Chin F.
  • Optimisation / consistency fix in Httpbuffer::findheader(), thanks Maxim P. for finding this and reporting.

New in Crossroads 2.65 (Apr 28, 2010)

  • Bugfix in backend/connect.cc - if the determination whether a back end is available goes haywire, the client socket may stay open and not be consumed. Thanks Franz J. for reporting!
  • Version stamped as STABLE.

New in Crossroads 2.63 (Jan 12, 2010)

  • Previous 2.62 stamped as stable, 2.63 will be the new development trunk.

New in Crossroads 2.57 (Oct 6, 2009)

  • Output of "xrctl status" colorized when a service is not running, thanks Frederik D. for the suggestion and the code!
  • Small cleanup of xrctl's usage information.

New in Crossroads 2.55 (May 13, 2009)

  • This version fixes a number of bugs, features a rewrite of the "stored-ip" dispatcher, introduces counting of back end errors for diagnostic purposes, and features updated documentation.

New in Crossroads 2.44 (Feb 13, 2009)

  • Reviewed code for "throw"s (edited for consistency).
  • Bug in Webinterface::execute() (during accept()). Thanks Vladimir T. for reporting and testing.

New in Crossroads 2.41 (Jan 6, 2009)

  • Bugfix in xrctl, thanks Eddie for reporting it.

New in Crossroads 2.36 (Nov 13, 2008)

  • Typo bugfix in xrctl, fixed.
  • xrctl will take the environment's PATH if no path is given in the configuration.

New in Crossroads 2.31 (Nov 4, 2008)

  • Changes related to XML-style configuration file support. A new-style xrctl is in provided and during "make install" put in BINDIR (normally: /usr/sbin). See test/sampleconf.xml for an example of a configuration file.
  • Added webinterface URI's to control DOS-protection related settings.
  • Added DOS-protection variables to XML-output of the web interface.
  • Server-wide maxconnection tag output moved into dosprotection block.
  • Added display of such variables to the style sheet that renders the XML in a browser.
  • Added option close-sockets-fast to XML output and to website URI controls.
  • Added allow-from and deny-from lists to XML output and to website URI controls.
  • Added the primary distribution site to the top-level Makefile as macro. This now shows up in "xr -V". The version ID and site also show up at the bottom of the web interface screen.
  • Target "uninstall" added to the top-level Makefile.
  • Bugfix in Netbuffer::netwrite(). When the remote connection would be hung up, XR would be blissfully unaware. SIGPIPE signals are now ignored.
  • Implemented flag -g / --backend-check. Alternatives: connect:ip:port, get:ip:port[/uri], external:program.
  • Added back end check type to the web interface reports, created control at web interface for /backend/NR/backendcheck/VALUE to change it. Added to XML configuration parsing.
  • Docs updated, ofc.
  • Status of balancer shown in web interface. Minor bugfix in xrctl.
  • Added flags -E/-e (hard/soft-maxconn-excess, to call an external program). Also added to web interface with controls and updated docs.
  • Added mutex locks around cerr output catch-blocks of exceptions.
  • Added more checks for memory allocation faults.
  • Implemented DNS caching of back end host names (flag -F, --dns-cache-timeout). Also implemented in web interface output and controls.
  • Implemented adding and/or deleting back ends from the user interface, including scripting URI's.
  • Implemented generation of a new configuration using "xrctl generateconfig".

New in Crossroads 2.18 (Oct 9, 2008)

  • Improved command line parsing, so that when --checkup-interval is used, suppression of "--wakeup-interval 0" is no longer needed.

New in Crossroads 2.12 (Sep 12, 2008)

  • Small code changes for g++ v3.x backward-compatibility support. (Thanks Simon M.)
  • Web interface: layout enhanced, more modification options
  • Code cleanup, duplications removed
  • Network sends treat ignore some errno's and retry (see sys/fdwrite.cc)
  • Web interface retries binding to its socket (incase a previous instance hasn't terminated yet)
  • Web interface returns an HTTP error page (status 500 only, no content) during errors

New in Crossroads 2.05 (Aug 16, 2008)

  • Thrown errors now based on std::exeception.
  • "xr -V" shows compilation settings.
  • Code reorganized into directory hierarchy.

New in Crossroads 2.00 (Aug 8, 2008)

  • Release of 2.00.

New in Crossroads 1.80 (May 20, 2008)

  • "Read from timed out" is now only an error when it concerns the server. When it concerns the client, it's only a verbose message.
  • In http_copy(): Copy-thru mode from server to client is NOT entered when the server sent a HTTP/1.x 3xx response. HTTP 300 responses are not assumed to have a body.