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. -------------------------------------------------------------------------------