diff -r 000000000000 -r 6f7a81934006 doc/ChangeLog-pre-vmailmgr --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/ChangeLog-pre-vmailmgr Wed Jan 16 22:39:43 2008 +0100 @@ -0,0 +1,442 @@ +1998-01-25 Bruce Guenter + + * commands/vdeliver.cc (main): Added support for optionally adding + the From, Delivered-To:, and Return-Path: line to the start of the + output mail, either to a file or to qmail-inject (which omits the + From line). + +1998-01-24 Bruce Guenter + + * commands/checkvpw.cc (authenticate): Revised the logic to only + validate the password if an 'ok' code is returned (was previously + the default case), and to indicate bad data otherwise. + + * commands/testclient.cc (main): Added a case for the new econn + return code. + + * daemon/lookup.cc (CMD(lookup)): Wrote this routine to lookup a + virtual user's delivery instructions. Returns one of: &address, + &address@hostname, /full/path/to/maildir, or ./maildir + + * daemon/dispatch.cc (CMD(stat)): Added a new field to the + dispatch table, count, which is used to count the number of times + that function has been invoked. The new function, stat, can be + used to return this count on a per-function basis. + + * commands/vdeliver.cc (main): If the call caused a connection + error, defer the message (return 111). + + * lib/server.cc (call): Return 'econn' when either building the + connection, sending, or receiving data fails. + + * lib/server.h (struct server_response): Added another error code + 'econn', used to denote an error with the connection itself. + + * lib/mystring.h (class mystring): Changed the 'nil' constant to + 'const char*' type from 'mystring' type. This avoids the need for + a special protected constructor just for this object, and more + accurately reflects its purpose as a placeholder buffer for empty + strings. + (operator!=): Revised this operation to test if the string to + which this is being compared is a NULL pointer. + + * commands/vdeliver.cc: Wrote this program to be inserted in a + .qmail-default file, to serve as the delivery agent for all the + addresses. + + * lib/mystring.cc (dup): Wrote dup/5 routine for combining 5 + strings. + +1998-01-22 Bruce Guenter + + * daemon/main.cc (main): Fixed bug in socket bind call to use + correct length value computed by SUN_LEN macro. Still need to + actually allocate the memory for the sockaddr_un with malloc + instead of relying on the buffer for sun_path being long enough. + + * lib/server.cc (connect): Fixed bug in socket connect call to use + correct length value computed by SUN_LEN macro. + + * Released version 0.69pre1 pre-release. + + * commands/checkvpw.cc: Moved the definitions of the FAIL_* macros + into this file from lib/debug.h + + * daemon/check.cc (check): Fixed several logic bugs. + + * src/checkvpw.cc (main): Rewrote this program to use the 'check' + feature of the daemon. + + * daemon/main.cc (handle_connection): Print out a message when the + request completes as well as when it is started. + + * daemon/chpass.cc: Fixed some one-off bugs in the command-line + handling. + + * src/vpasswd.cc (main): Rewrote this program to be a simple + server call stub to the 'chpass' feature. + + * checkvpw.texi: Started reorganizing this document for the + inclusion of documentation on the daemon program. + + * lib/server.h (class server_call): Removed the 'msg' class -- it + was causing all sorts of headaches from memory deallocation, and + was originally implemented as a premature optimization. + +1998-01-21 Bruce Guenter + + * lib/debug.h: Added trace, traceptr, and tracestr functions, to + trace the flow of class methods. + + * lib/mystring.cc: Introduced the "nil" string -- a constant + statically allocated empty string. Duplicating an empty string or + a null pointer duplicates the pointer to this nil string, instead + of allocating more memory. Freeing the nil string is not allowed. + +1998-01-18 Bruce Guenter + + * Started rewriting the protocol used to communicate between the + client and server to be more efficient. See doc/protocol.txt for + a very sketchy protocol definition. + + * daemon/check.cc (check): Wrote this routine to do password + checking, copied mostly from src/checkvpw.cc. + + * src/testclient.cc: Wrote this program to serve as a test client + to the server, to test all the data paths through the client + library and the server functions without depending on the + implementation of the other programs. + + * lib/server.h (class server_call): Wrote the classes in this file + and lib/server.cc to encapsulate a call to the server and its + response. + +1998-01-14 Bruce Guenter + + * Started work on the checkvpw daemon -- a user-space server that + handles all the real functionality of all the other programs via a + UNIX domain socket. It currently handles checking passwords (for + checkvpw) and changing passwords (for vpasswd). + + * lib/mystring.cc (operator+): wrote a new copy of this that takes + a 'const char*' second parameter. + (*): Rewrote several of the routines that return a new mystring to + use the 'named return value' extension of gcc (if being compiled + under gcc). + +1998-01-13 Bruce Guenter + + * lib/mystring: Added or modified several routines that take + "const char*" instead of "const mystring&" as parameters, to + prevent the unnecessary spurious creation of temporary + mystring's. + +1998-01-11 Bruce Guenter + + * lib/passwdfn.cc (fsetpasswd): This new routine encrypts the + given password and sets it in the named password file. + + * src/vpasswd.cc (main): Require that the new password is not the + same as the newly entered password. + (main): Use the newly written 'fssetpasswd' routine. + + * lib/mystring.cc (append): Wrote this method to support string + concatenation using "+" and "+=" operators. + + * lib/cgi-base.h (class CGI): Started this class to provide helper + functions for CGI applications. + +1998-01-10 Bruce Guenter + + * lib/cgi-base.cc (main): Wrote this main routine of all CGI + programs; calls cgi_main with the CGI arguments as a parameter. + (main): Print an error message and don't call cgi_main if there + was an error fetching the CGI arguments. + + * lib/cgi-base.h (class CGIArgs ): Wrote this class to encapsulate + the list of arguments or input items on a CGI form. + + * lib/mystring.h (class mystring): Wrote a default constructor. + Wrote operator!, returns true if the string is empty. + + * Reorganized the directory structure: generic library files are + in "lib", program sources are in "src", and CGI sources are in + "CGI". + + * src/*.h: Prepended "CHECKVPW__" to the file identifier macro in + most of the header files + +1998-01-06 Bruce Guenter + + * vpasswd.cc (main): Changed occurences of "passwd" to use the + PASSWORD_FILE define. + +1998-01-05 Bruce Guenter + + * spec (Requires): checkvpw does not really "require" qmail, it's + just the only thing that currently uses it, so I removed this + requirement. + + * released version 0.65-1 + + * Makefile: makefile included in the distributed sources does not + contain the sections specific to building the distribution. + + * qmail.cc (find_virtual): fixed bug in search logic + +1998-01-03 Bruce Guenter + + * mystring.cc (operator=): written + + * checkvpw.texi (checkvpw): updated the documentation to reflect + the changes listed below. + + * qmail.cc (find_virtual): modified the logic searching for a + virtual domain to match that of qmail -- wildcards in the + virtualdomains file are not automatic, but are represented by a + leading '.' in the host name. The new search is also + non-recursive and only reads the virtualdomains file once. + +1998-01-02 Bruce Guenter + + * checkvpw.cc (main): If the user name contains a '@' symbol, + treat the string following the '@' as the host name, and the + string preceding the '@' as the username within that host's + virtual domain. + + * mystring.h (class mystring): modified the subst, lower, and + upper methods to return a new (modified) mystring instead of + modifying the current string. + (class mystring): wrote the 'left', 'right', and 'sub' methods, + which return portions of the string. + (class mystring): wrote the 'find' method, finds a single + character in the string + + * Makefile: patched for glibc to automatically add the separate + "crypt" library to the link stage if it is detected in its + "normal" location (/usr/lib/libcrypt.*) + +1997-12-26 Bruce Guenter + + * mystring.cc: recoded "dup" functions to handle NULL pointers as + empty strings + +1997-12-24 Bruce Guenter + + * checkvpw.cc (main): Changed both the normal and the virtual + authentication case to call the same authentication routine. This + allows a user to enter "userid-virtualuser" as a pop-3 username + that will access user "virtualuser" in the mail domain that + "userid" controls. + +Thu Nov 27 22:07:42 1997 Bruce Guenter + + * qmail.cc (find_virtual): moved into qmail.cc from checkvpw.cc + +Wed Nov 26 11:52:24 1997 Bruce Guenter + + * released version 0.64-1 + + * vdeluser.cc (main): convert user names to lower case + + * vdelalias.cc: removed routine dot_qmail_name (duplicates qmail.cc) + + * vpasswd.cc (main): convert the user name to lower case + + * vadduser.cc (set_password): convert the user name to lower case + (main): various conversions to ensure usernames are all lower case + + * qmail.cc (dot_qmail_name): make the .qmail file name lowercase + + * checkvpw.cc (struct auth_data): convert the name to lower case + on input + + * mystring.cc (tolower,toupper): written, convert strings to all + upper or lower case + +Thu Nov 20 13:56:55 1997 Bruce Guenter + + * released version 0.63-1 + + * vdeluser.cc (dot_qmail_rm): removed the code to strip trailing + whitespace -- the trailing \n is already in the search string + (dot_qmail_rm): provide more information on what files are being + removed + (main): fixed a bug that would cause mail directory for only the + first user named to be removed + +Tue Nov 18 12:32:47 1997 Bruce Guenter + + * released version 0.62-1 + + * vdeluser.cc (dot_qmail_rm): added code to strip trailing + whitespace from the string returned by fgets + + * passwdfn.cc (getpasswd_stdin): added code to strip trailing + whitespace from the string returned by fgets + + * checkvpw.cc (auth_virtual): fixed a whole series of one-off bugs + that would cause authorization to fail in certain cases + (find_virtual_recurse): added code to strip trailing whitespace + from virtual prefixes + +Thu Nov 13 11:17:02 1997 Bruce Guenter + + * vadduser.cc (check_names): now checks for the existance of + .qmail files + + * released version 0.61-1 + + * passwdfn.cc (getpasswd): split getpasswd() into two more + functions, getpasswd_stdin() and getpasswd_interactive(), to avoid + using the default mystring constructor + + * mystring.h (class mystring): removed default constructor -- it + appears to have been causing segmentation faults + +Wed Nov 12 09:20:04 1997 Bruce Guenter + + * passwdfn.cc (getpasswd): fixed length of fgets from 8 to 9 + + * released version 0.60-1 + + * Updated the documentation to reflect the change in password + handling. + + * mystring.h (class mystring): added a default constructor + + * vpasswd.cc (main): changed to use getpasswd + + * vadduser.cc (set_password): changed to use getpasswd + + * passwdfn.cc (getpasswd): written, gets a password from the + user. If stdin is a tty, then it uses the prompts and getpass() + function, otherwise it just reads the password with no prompts. + + * released version 0.59-1 + + * vpasswd.cc (main): bugfix: manually duplicate all the fields of + pw into newpw, using strdup on strings. This avoids future calls + to getpwent overwriting the existing data (the strings in the pw + structure are pointers to static data). + +Mon Sep 22 13:47:16 1997 Bruce Guenter + + * released version 0.58-1 + + * qmail.cc: this file will include some QMail specific functions + (dot_qmail_name): moved into qmail.cc from vaddalias and vadduser + + * vadduser.cc (main): make sure all names are valid + + * vaddalias.cc (main): make sure the aliases are valid before + creating them + +Fri Sep 19 12:01:04 1997 Bruce Guenter + + * released version 0.57-1 + + * checkvpw.texi: updated documentation for vaddalias and vdelalias + + * vdelalias.cc: wrote vdelalias to delete aliases + + * vaddalias.cc: wrote vaddalias to add a new alias to an existing + user + + * stat_fns.h (is_file): added + +Thu Sep 18 09:05:46 1997 Bruce Guenter + + * tweaked root-level Makefile to clean up after building a + distribution + + * released version 0.56-1 + + * stat_fns.h: written -- has some simple file testing routines + + * mystring: added a 'length' member to the class to allow for + faster length calculations + + * checkvpw.texi: updated the documentation for vdeluser + + * spec: added vdeluser to list of programs + + * vdeluser.cc: re-write vdeluser perl script as C++ to avoid any + dependancies on perl + + * passwdfn.cc (fdelpwnam): wrote function to delete an entry + + * checkvpw.cc (auth_virtual): use definition instead of "passwd" + + * config.h: added definition for the temporary password file + + * vadduser.cc (main): moved setting the password back up before + creating any of the rest of the account -- if a user mis-types a + password, none of the rest of the account will be created + accidentally. + +Wed Sep 17 10:02:58 1997 Bruce Guenter + + * vdeluser: wrote (as a perl script) to delete mail users + + * released version 0.55-1 + + * checkvpw.texi: updated the documentation + + * released version 0.54-2 + + * spec: added a %attr tag for the documentation files. + +Tue Sep 16 10:50:16 1997 Bruce Guenter + + * released version 0.54-1 + + * checkvpw.cc (auth_virtual): make the maildir string point to a + subdirectory in USER_DIR + + * vadduser.cc: user mail directories are now stored in USER_DIR + + * config.h: created for global defines + + * mystring.cc (subst): substitute all instances of the + character with the character (new) + + * vadduser.cc (main): create symlinks to the master .qmail- + file instead of creating multiple files for aliases + + * released version 0.53-1 + + * passwdfn.cc (fsetpwnam): fixed a bug that prevented more than + one entry from being added to a password file + + * vadduser.cc (main): changed the default UID and GID to add to + the password file to the current UID and GID + +Mon Sep 15 16:55:09 1997 Bruce Guenter + + * released version 0.52-2 + + * modified file structure to move sources and documentation into + separate directories + + * released version 0.52-1 + + * Changed program name to checkvpw. I never did like the long + name... + + * Added GNU COPYING file to package. + + * vadduser.cc (make_dot_qmail): checks for the .qmail- file + before creating one + (main): checks for the user in the password file before adding one + + * passwdfn.cc (fsetpwnam): modified to create the file if it + doesn't exist + + * released version 0.51-2 + + * added ChangeLog and TODO to spec file + + * vpasswd.cc (main): vpasswd no longer requires that the + administrator types in the old password to change to a new one +