                        User-Visible lbcd Changes

lbcd 3.4.1 (2013-03-28)

    If $sysconfdir/nolbcd (/usr/local/etc/nolbcd by default) exists, force
    the weight of the default service to the maximum regardless of what
    the normal weight calculation returned.  This allows a host to be
    effectively dropped out of a load-balanced pool by touching this file.

    Document the lbcd -t test mode and fix the output to treat the results
    as unsigned numbers instead of signed numbers.

    Stop rewriting maximum weights in the lbcdclient output to -1 and
    report the actual number that will be used by clients.

    Document lbcd handling of /etc/nologin.

    Update to rra-c-util 4.8:

    * Improve POD tests.
    * Cleanly passes clang --analyze.

    Update to C TAP Harness 2.1:

    * runtests now treats the command line as a list of tests by default.
    * The full test executable path can now be passed to runtests -o.
    * Improved harness output for tests with lazy plans.
    * Improved harness output to a terminal for some abort cases.
    * Flush harness output after each test even when not on a terminal.

lbcd 3.4.0 (2012-09-20)

    Add Mac OS X port from Clif Redding.  Tested with Darwin 8.10.1 and
    Mac OS X 10.4.10, but hopefully will work with other versions.

    Update the LDAP check to do something more reasonable.  The old LDAP
    plugin probably never worked, at least with OpenLDAP.  Thanks to
    Quanah Gibson-Mount for the fixes.

    Fix the HTTP check to correctly verify that the server returns a 20x
    or 30x status code.  Previously, any status code response would have
    accidentally been considered a success.

    Fix a possible memory overwrite and security issue if there are more
    than 512 unique users logged on to the system.

    Check for inet_aton in libresolv for older versions of Solaris.

    Dropped support for NeXTSTEP, ULTRIX, and SunOS.  It's unlikely that
    lbcd still compiled on those platforms and it's too much effort to
    support pre-ANSI systems that exist only in museums.

lbcd 3.3.0 (2006-10-06)

    Add the -S option, which says to return load and user information
    unmolested when replying to version two queries rather than setting
    all of the loads to the calculated weight of the first service and
    zeroing the user information.

    Fix user handling on Linux.  Due to an invalid utmp path, a logic
    error in caching user login results, and an incorrect path for the
    console, all the user numbers on Linux were always zero prior to this
    fix.

    Add considerably better documentation on what weight the default load
    service calculates, including its various adjustments based on the
    number of logged-in users.

    In lbcdclient, don't send a one-byte packet to the server before
    sending the real query.

lbcd 3.2.6 (2006-05-16)

    When building from a different build directory than the source
    directory, the makefile built and looked for the man pages in the
    wrong path.  Look for and build man pages in the source directory.

lbcd 3.2.5 (2006-04-10)

    Fixed a misuse of the third argument to waitpid that was causing use
    of a command to generate weights to fail on some platforms.

lbcd 3.2.4 (2006-03-17)

    Document lbcd's behavior on hosts with multiple addresses and the use
    of -b and running multiple instances of lbcd to ensure that replies
    go out from the right source address.  Unfortunately, the design of
    the Unix UDP API makes it more difficult than it's worth to try to
    reply to incoming packets with the source address of the interface on
    which they were received.

lbcd 3.2.3 (2005-02-24)

    Added the -b option to lbcd to bind to only the specified address
    instead of all available addresses.

lbcd 3.2.2 (2004-11-16)

    Documentation updates, including adding a README file and reformatting
    documentation to match other Stanford packages.  Added URL information
    to the manual pages.

lbcd 3.2.1 (2004-09)

    Fixed a long-standing bug in round-robin (-R) mode when responding to
    v2 requests.  The response packet was not being correctly changed on
    Linux and other little-endian systems.

    Set the 5 and 15 minute load to a constant value as well as the 1
    minute load when using round-robin, just in case.

lbcd 3.2.0 (2004-08)

    Added manual pages for both lbcd and lbcdclient.

    Changed the default PID file location for lbcd to /var/run/lbcd.pid,
    which is FHS-compliant and supported on most operating systems now.

    Added Debian build rules and Makefile support for building Debian
    packages, and cleaned up the configure and build system.

lbcd 3.1.2 (2003-07)

    Fixed a bug with va_end usage on systems where va_end is not a no-op
    and fixed some setpgrp portability issues.

    Added a make dist target to the Makefile.

lbcd 3.1.1 (2000-01)

    Ported to IRIX 6.5.  The IRIX support code underwent a general
    cleanup.

lbcd 3.1.0 (1998-08)

    Standardize on 32 bytes for protocol v3 service length and add
    protocol v3 extensions to the server.

    Ported to IRIX 6.x.

    Fix protocol v2 conversion handling for little-endian machines.

lbcd 3.0.1 (1998-01)

    Fix Solaris utmp gathering mechanism by checking the utmp entry type.

lbcd 3.0.0 (1998-01)

    First complete protocol v3 server.
