Changes in version 0.97

- Updated for bglibs v2

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

- Added support for checking permissions in cvm-qmail.  See discussion
  of $CVM_QMAIL_CHECK_PERMS in cvm-qmail.html

- Added support for I/O timeouts for cvm-local modules.

- Fixed the SQLite module to copy the row data.

- Fixed cvm-qmail dieing if control/locals is missing.

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

- Added a "lookaside" mode to cvm-qmail, to assist with proper chaining
  to cvm-vmailmgr or other modules.

- Fixed failure in cvm-qmail when virtualdomains did not exist.

- Fixed client.h symlink to point to v2client.h to match the library.

- Fixed cvm-vmailmgr to fail with OUTOFSCOPE=1 when the virtual password
  table file does not exist, instead of failing with an I/O error.  This
  should improve its ability to chain with other modules.

- Added cvm-sqlite from Wayne Marshall

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

- Added support for chaining modules within the version client library.
  To use this, specify the module string as a list of modules separated
  with commas.  For example:

	cvm-command:/path/to/module,cvm-local:/path/to/socket

  This enhancement deprecates the cvm-chain module.

- Introduced an "out of scope" fact, to be used on credential rejection
  results when the supplied credentials are outside of the scope of
  authority of the module.  The cvm-vmailmgr and cvm-qmail modules
  report this fact as appropriate, and cvm-chain copies it as
  appropriate from the modules it invokes.

- A random anti-spoofing tag is added to all version 2 client requests.
  Its length is set by $CVM_RANDOM_BYTES and defaults to 8.

- Fixed a bug that caused the domain output to be set incorrectly when
  doing qmail lookups with a domain not in the control files with
  $CVM_QMAIL_ASSUME_LOCAL set.

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

- Fixed handling of user/domain name splitting in the client library
  when the caller doesn't initially provide a domain name.

- cvm_client_setenv now also sets $MAILDIR for use with Courier IMAP.

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

- Fixed a typo in the INSTHIER file that caused incomplete
  installations.

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

- Modified the build procedures to use libtool to produce and install
  shared libraries.

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

- Fixed the autoconvert feature of cvm-vmailmgr to set the permissions
  and ownership of the created password table to that of the original.

- Added a feature to all qmail-based modules to treat all domains as
  local if $CVM_QMAIL_ASSUME_LOCAL is set.

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

- Added an "autoconvert" mode to cvm-vmailmgr, which converts encrypted
  passwords to plain-text on successful authentication if
  $VMAILMGR_AUTOCONVERT is set.

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

- Several brown-paper-bag bug fixes.

- Updated the cvm-vchkpw module.

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

- Major SASL rewrite:

  - Rewrote SASL API to eliminate static data, making it reentrant.

  - Fixed up the SASL library to use the v2 client library.

  - Added SASL generic text I/O authentication framework from mailfront.

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

* This version brings major API changes. *

- All module symbols are named cvm_module_*

- All client symbols are named cvm_client_*

- Macros are used to preserve source compatability with existing code.

- Added cvm-chain combination client/module program
  (adapted from code contributed by Dale Woolridge).

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

* This version is a major upgrade providing support for the CVM2
* protocol.  All the modules included here now support both the new CVM2
* protocol and the existing CVM1 protocol.  There are two seperate
* client libraries, cvm-v1client and cvm-v2client.  The previous library
* and header names are retained as symlinks to the v1client files.

NOTE: The version 1 client library is now depricated and may be removed
in future versions of the package.  All new software should target the
version 2 API.

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

- Added compile fix for cvm-vchkpw.  Thanks Peter Palmreuther.

- Fixed handling qmail lookups of extensions containing periods.

- Fixed handling qmail lookups with missing domains by reading
  control/me and control/envnoathost.

- Fixed handling qmail lookups when cdb/users exists but does not
  contain all users.  Thanks Dale Woolridge.

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

- Fixed the qmail lookups in cvm-qmail to lower-case both the username
  and the "-ext" part in .qmail-ext files, just like qmail-local does.

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

- Changed error code in the qmail code from EBADMSG to EDOM to allow
  compilation on *BSD systems.

This is strictly a compile-fix version.  If the previous version
compiled for you, there is no reason to upgrade.

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

- Added "lookup mode" common code, available in all modules.

- Added new cvm-qmail module, which can be used to verify validity of
  recipient addresses on qmail systems.

- Fixed cvm/module.h header file include problem.
  Thanks Paul Jarc for pointing this out.

- Significantly factorized the qmail code underlying the vmailmgr
  modules, making them more conformant to qmail's delivery process.

- Removed the now obsoleted cvm-vmlookup lookup-only module.

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

- Merged cvm-vmailmgr (including cvm-vmlookup) into this package.

- Re-merged in SQL modules from cvm-sql package (cvm-mysql and cvm-pgsql).

- Fixed a bug in the module library: cvm_fact_shell was treated as
  mandatory instead of optional.

- Fixed a bug in client.c that prevented at least OpenBSD from using UDP
  modules.  Thanks Balazs Nagy.

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

- Changed the order of the chdir in cvm_setugid, to avoid problems with
  NFS mounted file shares.

- Fixed yet another typo in installer that put a header file in place of
  a library.

- The cvm_setenv routine now exports both $MAIL and $MAILBOX, as some
  programs (notably Dovecot IMAP) prefer to use $MAIL.

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

- Corrected typo in installer code that left out the all-important "lib"
  prefix on files installed in /usr/lib

- Fixed cvm-testclient to work with modules that accept zero credentials
  (ie unprotected lookup modules).

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

- Merged cvm-sasl library from bglibs into this package.

- Bug fix for SIGPIPE (on at least Solaris) if modules exit unexpectedly
  (from Lars Uffmann).

- Modified the module command mode to always write the output, even if
  authentication failed.  This allows command mode to be used with a
  UCSPI server to provide other modes of servers.

- The module library now allows for setting the ownership of the created
  local socket by setting $CVM_SOCKET_MODE, $CVM_SOCKET_OWNER, and
  $CVM_SOCKET_GROUP.

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

- Added a new generic module library that supports all three operation
  modes (command, local socket, UDP socket) from the same binary.  The
  separated module libraries have been retained for compatibility, but
  the separated modules have been removed from this package.

- Fixed cvm-unix to properly handle shadow passwords.

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

- Fixed a buffer mis-allocation bug in the getpwnam code.

- Fixed a one-off bug in the client code that parses user/domain names.

- Fixed a Solaris/SysV portability problem.

- Switched to external bglibs.

- Dropped use of non-portable fgetpwent in cvm-pwfile.

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

- Removed the MySQL and PgSQL modules from this package, and bundled
  them into a seperate cvm-sql package.

- Bugfix: cvm-unix did not lowercase the account name before calling
  getpwnam.

- Added some convenience functions to the client library.

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

- Added support to the MySQL and PgSQL modules for executing a query
  after credential validation, useful for updating a "last logged in at"
  field or similar.

- Modified the client->server protocol to include a protocol identifier
  byte (to allow for future revisions) and a domain name.

- Modified the client library to optionally parse a domain name out of
  the account name.

- Modified the MySQL and PgSQL modules to deal with domain names.

- The MySQL module will now read connection options out of a defaults
  file if specified.

NOTE:  Modules built against this version of CVM will be incompatible
with clients built against older versions, and vice versa!  Use care
when upgrading.

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

- Added additional error codes.

- Added a MySQL module.

- Added a PgSQL module.

- Use pwcmp for password comparisons in all modules except for cvm-unix.

- Added a required function "cvm_auth_stop" to the module API, which is
  called once at module shutdown.

- Bug fix in the cvm-unix module from Paul Jarc to make the supplemental
  group id list reported by cvm-unix actually follow the fact
  specification.

- Bug fix in the client library code that caused the shell fact to be
  required.

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

- Added a text-file module, cvm-pwfile.

- Modified the client and module APIs to add "cvm_" in front of all
  exported symbols.

- Added a required function "cvm_auth_init" to the module API, which is
  called once at program startup.

- Modified cvm-unix to output the group name and the supplemental group
  list.

- Fixed the APIs to use "unsigned long" for the integer type instead of
  just "unsigned".

- Fixed the client library to properly handle lists of facts.

- Fixed use of iopoll to properly support systems with a missing or broken
  poll syscall.

Note: This release doesn't make any of the protocol changes discussed in
the mailing lists.  Since those changes are fairly radical, they will go
into a second version of CVM, named either CVM2 or CVMX or something.

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

- Fixed some client library bugs.

- Added a benchmarking client.

- Added a checkpassword client.
-------------------------------------------------------------------------------
Changes in version 0.5

- Added support for long-running UDP and local-domain socket modules.
-------------------------------------------------------------------------------
Changes in version 0.3

- Fixed handling of negative values in client library.

- Fixed a bug in the client library that caused handling bad data to not
  indicate any error.
-------------------------------------------------------------------------------
Changes in version 0.2

- Renamed cvm_unix to cvm-unix.

- Fixed a bug in parsing in fact_uint, which incorrectly used strtol.

- Added more documentation.
-------------------------------------------------------------------------------
