-------------------------------------------------------------------------------
Changes in version 2.04

- Fixed DNS self-tests relying on external data.

- Added support for DNS queries on an alternate port.

- Added support for $MSG_NO_PROGRAM to suppress the "program: " prefix.

- Fixed problem with struct ucred not being pulled in properly.

- Fixed several problems with dns_qualify.

Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net  http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 2.03

- Reverted libbg-cli back to static linkage (for now) to fix problem
  with cli-generate generated code.

Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net  http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 2.02

- Fixed header include path in cli-generate.

- Rewrote iobuf and str number formatting using fmt.

- Added missing selftest.c file to the dist tarball (oops).

Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net  http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 2.01

- Fixed uint##.h headers.

Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net  http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 2.00

- Flattened out the installed headers and libraries.
  NOTE: This means this package is not backwards compatible.

- Added dns library (modified from public domain djbdns-1.05)

- Added wildcard handling and substitution to bg-installer.

- Added reversed IPv4 formatting functions (from Jorge Valdes).

- Added str_end* and str_case_end* functions, parallel to str_start* and
  str_case_start* but for suffixes.

- Added the ability to use arbitrary format functions in fmt_multi.

- Added support for enumerate and itemize in cli-generate.

- Added surfrand_uniform function, protected against bias.

Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net  http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.106

- Fixed installation of msg/debug.h header file.

Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net  http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.105

- Fixed envstr_unset to remove all instances of the given name.

- Added sysdep for d_ino and d_type in struct dirent.

- Fixed the path_match function to match filenames containing pattern
  characters (ie [filename] etc) the same way shells do.

- Files generated by cli-generate now indicate the source .cli file.

- Fixed the debug messages to not enable any by default.

- Modified the build procedure to build all sources with libtool.
  This should fix problems with parallel make.

Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net  http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.104

- Fixed several typos in the installation files.

- Renamed some files that differed only in upper/lower case.  This
  should fix building on OSX.

Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net  http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.103

- Added two missing header files: fmt/misc.h and fmt/multi.h

- Added a ghash_set function (like ghash_add, but overwrites).

- Added a set of "signalfd" functions as a generic self-pipe setup.

- Added a random number generator based on SURF.

Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net  http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.102

- Fixed a bug in resolve_ipv4name_n: when handling multiple IPs, it
  would always copy the first one multiple times.

- Added more conversions to fmt_multi:
  S - formats a str
  m - formats the result of strerror(errno)

Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net  http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.101

- Fixed include compatibility problem in sys/tryclockgettime.c.
  Thanks Amitai Schlair

- Added sysdep for __attribute__.

- Marked some symbols as "weak" to prevent link errors if they aren't
  defined by programs using -lbg.

Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net  http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.100

* This package now builds and installs as a shared library.
* Requires libtool to be installed.

- Added support to bg-installer for installing shared libraries with
  libtool.

- Fixed a bug in counting the length of signed and unsigned long long
  integers (0 was counted as having zero length).

- Fixed bug in error return of ibuf_openreadclose.  Thanks Gerrit Pape.

Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net  http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.041

- Modified cli-generate to add man page and HTML output options, and
  more formatting commands.

- Tweaked the hmac_finish prototype to properly indicate that the
  midstate is const and unmodified by the function.

Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net  http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.040

- Added cli-generate, a program to produce C header and source from
  command-line interface description files.

- Modified the crypto HMAC code to do precalculation of the intermediate
  hash results.

- Fixed base64 decoding on systems where char is unsigned by default.
  Thanks Gerrit Pape.

- Tweaked the ghash_add function to return a pointer to the newly
  created entry (since some uses will want to use it immediately).

- Stop blocking SIGSEGV with the sig_all_* functions, as this has
  resulted in bugs causing endless signal loops.

Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net  http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.031

- Brown paper bag release to fix missing header file for HMAC support.

Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net  http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.030

- Added a RFC 2104 generic HMAC (keyed hashing for message
  authentication) routine to the crypto section, with control blocks for
  MD5, SHA1, SHA256, SHA384, and SHA512.

- Added support for UID and GID names (instead of just numbers) in
  bg-installer.

Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net  http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.028

- Added sysdep for dynamic linker functions (dlopen etc).

- Fixed bug in self test for unix/selfpipe.c that caused problems with
  running make.

- Switched from standard GPL to LGPL-2.1 license.

Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net  http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.027

- Fixed numberic export glitch in vpwentry_export.

- Fixed dependancies to let "make -j" work properly.

- Added some pre-computed .lib files (such as socket.lib).

Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net  http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.026

- Fixed negative indexing bugs in str_findprev* and ibuf_getstr_crlf
  functions.  Thanks Gerrit Pape.

- Added the capability to bg-installer to optionally run commands based
  on the existance of the source (or another) file.

- Fixed bg-installer to not create directories in "dry-run" mode.

Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net  http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.025

- Added the capability to bg-installer to handle multiple destinations
  within the same source list.

- Renamed the "setmode" function in bg-installer that was causing
  compile problems on *BSD systems.

- Added a sysdep for struct timespec and clock_gettime, which are
  defined if not present.

Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net  http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.024

- Fixed (again) glob patterns to allow both "!" (like modern glob) or
  "^" (like existing shells) for negating character sets.

Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net  http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.023

- Tweaked str_alloc to use realloc when appropriate.

- Fixed glob pattern matches to use "!" instead of "~" for negating
  character sets like all other globs use.

- Fixed the installer libraries to include all the necessary object
  files for producing the installer/instcheck/instshow programs.

Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net  http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.022

- Added a generic installer program, similar to the "install" program
  included with ezmlm.

- Fixed the instshow library to use and dispaly the install prefix just
  like the other instlib programs.

- The installers now automatically create missing directories, and
  installs into temporary files that get renamed.

- Added path_mkdirs function.

Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net  http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.021

- Fixed typo bug in str_catfv and str_copyfv that caused failures on (at
  least) PPC and S390 architectures.  Thanks Gerrit Pape.

- Fixed 32-to-64 bit sign extension bug in fmt_multi on some 64-bit
  platforms.  Thanks Gerrit Pape.

- installer/instcheck program libraries now optionally install into a
  prefix directory specified on the command line or with
  $install_prefix (which can be set on the make command line).

- Installation is now done under seperate include/lib directories.

- Added sysdep for "extern int daylight" (replaced by a macro if not
  present).

Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net  http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.020

- Fixed a couple of length counting bugs in the fmt number code.

- Added multiple-item formatting functions fmt_multi (similar to printf,
  but safer), fmt_multiv, obuf_putf, str_catf, and str_copyf, as well as
  a set of formatted message functions.

Note: As of this version, a C99-compatible compiler is required to build
the software.

Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net  http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.019

- Broke the iobuf includes into smaller parts.

- Added low-level fcntl wrapper functions: fcntl_{fd,fl}_{off,on}

- Added cloexec_{off,on} functions to manipulate the close-on-exec flag.

- Selfpipes now close-on-exec to prevent the pipe from being exported to
  child processes.

- Changed the error in ibuf_getnetstring from EPROTO to EPROTOTYPE to
  fix compile errors on *BSD systems.  Thanks Ville Walveranta.

Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net  http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.018

- Added missing crypto/surf.h and unix/selfpipe.h headers to insthier.

- Added sysdep and emulator function for mkfifo.

- Added sysdep check for the "named pipe bug": polling a named pipe
  without a writer unconditionally succeeds.

- Fixed bug in ibuf_getu: didn't subtract ASCII '0' offset from digits.

- Added environment string manipulation functions.

- Added named pipe trigger functions.

- Added str_getnetstring function.

- Added ghash_remove function.

- Added ghashiter functions, for iteration over ghash tables.

Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net  http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.017

- Added SURF (Simple Unpredictable Random Function) from the algorithm
  described in http://cr.yp.to/papers/surf.ps

- Added str_catns, str_copyns, and obuf_putns functions that take a
  variable number of char* parameters.

- Fixed utoa to write into its buffer instead of before it.

Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net  http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.016

- Fixed socket_notcpdelay on FreeBSD 4.x (and possibly other BSDs).

- Added back the definition of socket_tcp and socket_udp, the omission
  of which broke linking with libraries compiled against older bglibs.

- Added functions for querying UCSPI environment variables.

Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net  http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.015

- Added a "libbg.a" build target, including all the other libraries that
  don't define a main routine (like cli).

- Added set of str_splice functions, to insert one string into another.

- Added IPv6 address parsing/formatting and network functions.

- Added a library of number formatting routines.

- Modifed str_subst to return a count of substitutions.

- Added str_xlate function.

- Added socket connect functions with a timeout.

- Added ibuf_readall, ibuf_openreadclose, ibuf_copytofd, and
  obuf_copyfromfd.

- Added resolve_ipv4name_n, to resolve a name to more than one IP.

- Rewrote the CRC routines in terms of "generic" forward and reflected
  functions.

- Added CRC32C (used in iSCSI) functions.

NOTE: The next non-bugfix version of bglibs will be rewritten to use the
new formatting routines in the appropriate iobuf and str functions.
This will require linking against additional libraries in the future, or
against the all-inclusive libbg.a.

Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net  http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.011

- Fixed up the selftests in unix/selfpipe.c to work if additional file
  descriptors are already opened.

- Fixed missing "ULL" on one constant in the SHA-512 library.

- Fixed up crc64 table generation on 64-bit platforms.

- Fixed ipv4 address parsing number validation.

- Fixed crc table generation on Solaris caused by missing
  #include <stdlib.h>

- Internal changes to installer scripts to make it work on systems where
  the root directory is non-readable.

Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net  http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.010

- Added a getpeereid sysdep function.

- Added self-pipe SIGCHLD handling functions.

- Added some small optimizations to the SHA-256/512 code and fixed a
  one-off bug.

- Added some major optimizations to the SHA-1 update/final code.

- Removed the cvm libraries.

- All the CRC tables are now generated at build time.

- Split the case insensitive parts of the str_glob and str_match
  functions into str_case_glob and str_case_match respectively.

- wrap_* functions can now exit with a customized error code.

- Added str_start functions.

- Fixed another installer bug, which caused the "installer.a" library to
  get installed as "instcheck.a"

Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net  http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.009

- Rewrite the SHA-256 and SHA-512 algorithms to make them work on both
  64-bit and MSB platforms, and added the SHA-384 algorithm.

- Fixed iobuf/iobuf_init.c for systems that lack anonymous mmap.

- Turn off recv/sendfd if the appropriate defines are missing.

Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net  http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.008

- Added queue and stack ADT's.

- Added globbing function to the str library.

- Changed str_match functions to add case insensitivity.

- Added "function" options, and option separators to the CLI library, as
  well as enhancing the string list type.

- More portability fixes.

Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net  http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.007

- Fixed bug in iobuf/iobuf_init.c -- parameters to mmap happened to work
  on Linux but were completely bogus for portability.

- Switched the 64-bit CRC function to use the polynomial specified in
  the DLT1 spec (ECMA-182).

- Added (count 'em) three 16-bit CRC functions -- ARC, CCITT, and XMODEM.

- Added generic number output routines to iobuf, and generic number
  appending routines to str.

Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net  http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.006

- Added uint16, uint32, and uint64 pack/unpack functions.

- Added 32 and 64 bit CRC functions, and the Mersenne Twister random
  number generator.

- Changed the ipv4addr typedef to make explicit when it's being passed
  by reference.  This breaks source code compatibility with previous
  versions.

- Major internal reorganization moving many files into subdirectories.

- More portability fixes.

- Started working on adding Doxygen documentation to the sources.

Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net  http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.005

- Portability fixes for *BSD (possibly others).

- #define MSG_NO_DEBUG before including <msg/msg.h> and no debugging
  messages will be compiled into the object code.

- Added long long str_cat*ll and obuf_put*ll functions.

- Added str_match simple pattern-matching function.

- Fixed the shadowed global variable naming conflicts.

- Flattened out and simplified the installed lib files.

Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net  http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.003

- Optimized path matching to only stat intermediate entries if they
  don't contain any meta-characters, instead of reading the entire
  directory and matching.
- Fixed a bug in str/cmp.c: it missed adding offset to the string
  pointer.
- Fixed bug in iobuf/[io]buf_seek.c -- seeks to the current read/write
  position should not cause an lseek syscall.
- The iobuf library now uses an anonymous mmap region for I/O instead of
  a malloced buffer, if possible.  Some OS's can optimize away a data
  copy using this kind of mechanism.

Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net  http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.002

- Fixed bug in str_cat#s routines: they didn't increase the string
  length.

- Added crypto hash libraries (MD5, SHA1, SHA256, SHA512).

- Added a dict_foreach routine for iterating over the contents of a
  dictionary.

- Removed the silly trailing "." from the common message output code.

- Portability fixes for FreeBSD (and possibly others).

Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net  http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.001

- Moved the file destination to /usr/local/bglibs/*
  from /usr/local/*/bglibs
- Added missing pwcmp/client include & library.
- Added missing uint32.h and uint64.h targets.

Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net  http://www.FutureQuest.net/
-------------------------------------------------------------------------------
