doc/ChangeLog-pre-vmailmgr
changeset 0 6f7a81934006
equal deleted inserted replaced
-1:000000000000 0:6f7a81934006
       
     1 1998-01-25  Bruce Guenter  <bguenter@mikhail.qcc.sk.ca>
       
     2 
       
     3 	* commands/vdeliver.cc (main): Added support for optionally adding
       
     4 	the From, Delivered-To:, and Return-Path: line to the start of the
       
     5 	output mail, either to a file or to qmail-inject (which omits the
       
     6 	From line).
       
     7 
       
     8 1998-01-24  Bruce Guenter  <bguenter@mikhail.qcc.sk.ca>
       
     9 
       
    10 	* commands/checkvpw.cc (authenticate): Revised the logic to only
       
    11 	validate the password if an 'ok' code is returned (was previously
       
    12 	the default case), and to indicate bad data otherwise.
       
    13 
       
    14 	* commands/testclient.cc (main): Added a case for the new econn
       
    15 	return code.
       
    16 
       
    17 	* daemon/lookup.cc (CMD(lookup)): Wrote this routine to lookup a
       
    18 	virtual user's delivery instructions.  Returns one of: &address,
       
    19 	&address@hostname, /full/path/to/maildir, or ./maildir
       
    20 
       
    21 	* daemon/dispatch.cc (CMD(stat)): Added a new field to the
       
    22 	dispatch table, count, which is used to count the number of times
       
    23 	that function has been invoked.  The new function, stat, can be
       
    24 	used to return this count on a per-function basis.
       
    25 
       
    26 	* commands/vdeliver.cc (main): If the call caused a connection
       
    27 	error, defer the message (return 111).
       
    28 
       
    29 	* lib/server.cc (call): Return 'econn' when either building the
       
    30 	connection, sending, or receiving data fails.
       
    31 
       
    32 	* lib/server.h (struct server_response): Added another error code
       
    33 	'econn', used to denote an error with the connection itself.
       
    34 
       
    35 	* lib/mystring.h (class mystring): Changed the 'nil' constant to
       
    36 	'const char*' type from 'mystring' type.  This avoids the need for
       
    37 	a special protected constructor just for this object, and more
       
    38 	accurately reflects its purpose as a placeholder buffer for empty
       
    39 	strings.
       
    40 	(operator!=): Revised this operation to test if the string to
       
    41 	which this is being compared is a NULL pointer.
       
    42 
       
    43 	* commands/vdeliver.cc: Wrote this program to be inserted in a
       
    44 	.qmail-default file, to serve as the delivery agent for all the
       
    45 	addresses.
       
    46 
       
    47 	* lib/mystring.cc (dup): Wrote dup/5 routine for combining 5
       
    48 	strings.
       
    49 
       
    50 1998-01-22  Bruce Guenter  <bguenter@mikhail.qcc.sk.ca>
       
    51 
       
    52 	* daemon/main.cc (main): Fixed bug in socket bind call to use
       
    53 	correct length value computed by SUN_LEN macro.  Still need to
       
    54 	actually allocate the memory for the sockaddr_un with malloc
       
    55 	instead of relying on the buffer for sun_path being long enough.
       
    56 
       
    57 	* lib/server.cc (connect): Fixed bug in socket connect call to use
       
    58 	correct length value computed by SUN_LEN macro.
       
    59 
       
    60 	* Released version 0.69pre1 pre-release.
       
    61 
       
    62 	* commands/checkvpw.cc: Moved the definitions of the FAIL_* macros
       
    63 	into this file from lib/debug.h
       
    64 
       
    65 	* daemon/check.cc (check): Fixed several logic bugs.
       
    66 
       
    67 	* src/checkvpw.cc (main): Rewrote this program to use the 'check'
       
    68 	feature of the daemon.
       
    69 
       
    70 	* daemon/main.cc (handle_connection): Print out a message when the
       
    71 	request completes as well as when it is started.
       
    72 
       
    73 	* daemon/chpass.cc: Fixed some one-off bugs in the command-line
       
    74 	handling.
       
    75 
       
    76 	* src/vpasswd.cc (main): Rewrote this program to be a simple
       
    77 	server call stub to the 'chpass' feature.
       
    78 
       
    79 	* checkvpw.texi: Started reorganizing this document for the
       
    80 	inclusion of documentation on the daemon program.
       
    81 
       
    82 	* lib/server.h (class server_call): Removed the 'msg' class -- it
       
    83 	was causing all sorts of headaches from memory deallocation, and
       
    84 	was originally implemented as a premature optimization.
       
    85 
       
    86 1998-01-21  Bruce Guenter  <bguenter@mikhail.qcc.sk.ca>
       
    87 
       
    88 	* lib/debug.h: Added trace, traceptr, and tracestr functions, to
       
    89 	trace the flow of class methods.
       
    90 
       
    91 	* lib/mystring.cc: Introduced the "nil" string -- a constant
       
    92 	statically allocated empty string.  Duplicating an empty string or
       
    93 	a null pointer duplicates the pointer to this nil string, instead
       
    94 	of allocating more memory.  Freeing the nil string is not allowed.
       
    95 
       
    96 1998-01-18  Bruce Guenter  <bguenter@mikhail.qcc.sk.ca>
       
    97 
       
    98 	* Started rewriting the protocol used to communicate between the
       
    99 	client and server to be more efficient.  See doc/protocol.txt for
       
   100 	a very sketchy protocol definition.
       
   101 	
       
   102 	* daemon/check.cc (check): Wrote this routine to do password
       
   103 	checking, copied mostly from src/checkvpw.cc.
       
   104 
       
   105 	* src/testclient.cc: Wrote this program to serve as a test client
       
   106 	to the server, to test all the data paths through the client
       
   107 	library and the server functions without depending on the
       
   108 	implementation of the other programs.
       
   109 
       
   110 	* lib/server.h (class server_call): Wrote the classes in this file
       
   111 	and lib/server.cc to encapsulate a call to the server and its
       
   112 	response.
       
   113 
       
   114 1998-01-14  Bruce Guenter  <bguenter@mikhail.qcc.sk.ca>
       
   115 
       
   116 	* Started work on the checkvpw daemon -- a user-space server that
       
   117 	handles all the real functionality of all the other programs via a
       
   118 	UNIX domain socket.  It currently handles checking passwords (for
       
   119 	checkvpw) and changing passwords (for vpasswd).
       
   120 
       
   121 	* lib/mystring.cc (operator+): wrote a new copy of this that takes
       
   122 	a 'const char*' second parameter.
       
   123 	(*): Rewrote several of the routines that return a new mystring to
       
   124 	use the 'named return value' extension of gcc (if being compiled
       
   125 	under gcc).
       
   126 
       
   127 1998-01-13  Bruce Guenter  <bguenter@mikhail.qcc.sk.ca>
       
   128 
       
   129 	* lib/mystring: Added or modified several routines that take
       
   130 	"const char*" instead of "const mystring&" as parameters, to
       
   131 	prevent the unnecessary spurious creation of temporary
       
   132 	mystring's.
       
   133 
       
   134 1998-01-11  Bruce Guenter  <bguenter@mikhail.qcc.sk.ca>
       
   135 
       
   136 	* lib/passwdfn.cc (fsetpasswd): This new routine encrypts the
       
   137 	given password and sets it in the named password file.
       
   138 
       
   139 	* src/vpasswd.cc (main): Require that the new password is not the
       
   140 	same as the newly entered password.
       
   141 	(main): Use the newly written 'fssetpasswd' routine.
       
   142 
       
   143 	* lib/mystring.cc (append): Wrote this method to support string
       
   144 	concatenation using "+" and "+=" operators.
       
   145 
       
   146 	* lib/cgi-base.h (class CGI): Started this class to provide helper
       
   147 	functions for CGI applications.
       
   148 
       
   149 1998-01-10  Bruce Guenter  <bguenter@mikhail.qcc.sk.ca>
       
   150 
       
   151 	* lib/cgi-base.cc (main): Wrote this main routine of all CGI
       
   152 	programs; calls cgi_main with the CGI arguments as a parameter.
       
   153 	(main): Print an error message and don't call cgi_main if there
       
   154 	was an error fetching the CGI arguments.
       
   155 
       
   156 	* lib/cgi-base.h (class CGIArgs ): Wrote this class to encapsulate
       
   157 	the list of arguments or input items on a CGI form.
       
   158 
       
   159 	* lib/mystring.h (class mystring): Wrote a default constructor.
       
   160 	Wrote operator!, returns true if the string is empty.
       
   161 
       
   162 	* Reorganized the directory structure: generic library files are
       
   163 	in "lib", program sources are in "src", and CGI sources are in
       
   164 	"CGI".
       
   165 
       
   166 	* src/*.h: Prepended "CHECKVPW__" to the file identifier macro in
       
   167 	most of the header files
       
   168 
       
   169 1998-01-06  Bruce Guenter  <bguenter@mikhail.qcc.sk.ca>
       
   170 
       
   171 	* vpasswd.cc (main): Changed occurences of "passwd" to use the
       
   172 	PASSWORD_FILE define.
       
   173 
       
   174 1998-01-05  Bruce Guenter  <bguenter@mikhail.qcc.sk.ca>
       
   175 
       
   176 	* spec (Requires): checkvpw does not really "require" qmail, it's
       
   177 	just the only thing that currently uses it, so I removed this
       
   178 	requirement.
       
   179 
       
   180 	* released version 0.65-1
       
   181 
       
   182 	* Makefile: makefile included in the distributed sources does not
       
   183 	contain the sections specific to building the distribution.
       
   184 
       
   185 	* qmail.cc (find_virtual): fixed bug in search logic
       
   186 
       
   187 1998-01-03  Bruce Guenter  <bguenter@mikhail.qcc.sk.ca>
       
   188 
       
   189 	* mystring.cc (operator=): written
       
   190 
       
   191 	* checkvpw.texi (checkvpw): updated the documentation to reflect
       
   192 	the changes listed below.
       
   193 
       
   194 	* qmail.cc (find_virtual): modified the logic searching for a
       
   195 	virtual domain to match that of qmail -- wildcards in the
       
   196 	virtualdomains file are not automatic, but are represented by a
       
   197 	leading '.' in the host name.  The new search is also
       
   198 	non-recursive and only reads the virtualdomains file once.
       
   199 
       
   200 1998-01-02  Bruce Guenter  <bguenter@mikhail.qcc.sk.ca>
       
   201 
       
   202 	* checkvpw.cc (main): If the user name contains a '@' symbol,
       
   203 	treat the string following the '@' as the host name, and the
       
   204 	string preceding the '@' as the username within that host's
       
   205 	virtual domain.
       
   206 
       
   207 	* mystring.h (class mystring): modified the subst, lower, and
       
   208 	upper methods to return a new (modified) mystring instead of
       
   209 	modifying the current string.
       
   210 	(class mystring): wrote the 'left', 'right', and 'sub' methods,
       
   211 	which return portions of the string.
       
   212 	(class mystring): wrote the 'find' method, finds a single
       
   213 	character in the string
       
   214 
       
   215 	* Makefile: patched for glibc to automatically add the separate
       
   216 	"crypt" library to the link stage if it is detected in its
       
   217 	"normal" location (/usr/lib/libcrypt.*)
       
   218 
       
   219 1997-12-26  Bruce Guenter  <bguenter@mikhail.qcc.sk.ca>
       
   220 
       
   221 	* mystring.cc: recoded "dup" functions to handle NULL pointers as
       
   222 	empty strings
       
   223 
       
   224 1997-12-24  Bruce Guenter  <bguenter@mikhail.qcc.sk.ca>
       
   225 
       
   226 	* checkvpw.cc (main): Changed both the normal and the virtual
       
   227 	authentication case to call the same authentication routine.  This
       
   228 	allows a user to enter "userid-virtualuser" as a pop-3 username
       
   229 	that will access user "virtualuser" in the mail domain that
       
   230 	"userid" controls.
       
   231 
       
   232 Thu Nov 27 22:07:42 1997  Bruce Guenter  <bguenter@mikhail.qcc.sk.ca>
       
   233 
       
   234 	* qmail.cc (find_virtual): moved into qmail.cc from checkvpw.cc
       
   235 
       
   236 Wed Nov 26 11:52:24 1997  Bruce Guenter  <bguenter@mikhail.qcc.sk.ca>
       
   237 
       
   238 	* released version 0.64-1
       
   239 
       
   240 	* vdeluser.cc (main): convert user names to lower case
       
   241 
       
   242 	* vdelalias.cc: removed routine dot_qmail_name (duplicates qmail.cc)
       
   243 
       
   244 	* vpasswd.cc (main): convert the user name to lower case
       
   245 
       
   246 	* vadduser.cc (set_password): convert the user name to lower case
       
   247 	(main): various conversions to ensure usernames are all lower case
       
   248 
       
   249 	* qmail.cc (dot_qmail_name): make the .qmail file name lowercase
       
   250 
       
   251 	* checkvpw.cc (struct auth_data): convert the name to lower case
       
   252 	on input
       
   253 
       
   254 	* mystring.cc (tolower,toupper): written, convert strings to all
       
   255 	upper or lower case
       
   256 
       
   257 Thu Nov 20 13:56:55 1997  Bruce Guenter  <bguenter@mikhail.qcc.sk.ca>
       
   258 
       
   259 	* released version 0.63-1
       
   260 
       
   261 	* vdeluser.cc (dot_qmail_rm): removed the code to strip trailing
       
   262 	whitespace -- the trailing \n is already in the search string
       
   263 	(dot_qmail_rm): provide more information on what files are being
       
   264 	removed
       
   265 	(main): fixed a bug that would cause mail directory for only the
       
   266 	first user named to be removed
       
   267 
       
   268 Tue Nov 18 12:32:47 1997  Bruce Guenter  <bguenter@mikhail.qcc.sk.ca>
       
   269 
       
   270 	* released version 0.62-1
       
   271 
       
   272 	* vdeluser.cc (dot_qmail_rm): added code to strip trailing
       
   273 	whitespace from the string returned by fgets
       
   274 
       
   275 	* passwdfn.cc (getpasswd_stdin): added code to strip trailing
       
   276 	whitespace from the string returned by fgets
       
   277 
       
   278 	* checkvpw.cc (auth_virtual): fixed a whole series of one-off bugs
       
   279 	that would cause authorization to fail in certain cases
       
   280 	(find_virtual_recurse): added code to strip trailing whitespace
       
   281 	from virtual prefixes
       
   282 
       
   283 Thu Nov 13 11:17:02 1997  Bruce Guenter  <bguenter@mikhail.qcc.sk.ca>
       
   284 
       
   285 	* vadduser.cc (check_names): now checks for the existance of
       
   286 	.qmail files
       
   287 
       
   288 	* released version 0.61-1
       
   289 
       
   290 	* passwdfn.cc (getpasswd): split getpasswd() into two more
       
   291 	functions, getpasswd_stdin() and getpasswd_interactive(), to avoid
       
   292 	using the default mystring constructor
       
   293 
       
   294 	* mystring.h (class mystring): removed default constructor -- it
       
   295 	appears to have been causing segmentation faults
       
   296 
       
   297 Wed Nov 12 09:20:04 1997  Bruce Guenter  <bguenter@mikhail.qcc.sk.ca>
       
   298 
       
   299 	* passwdfn.cc (getpasswd): fixed length of fgets from 8 to 9
       
   300 
       
   301 	* released version 0.60-1
       
   302 
       
   303 	* Updated the documentation to reflect the change in password
       
   304 	handling.
       
   305 
       
   306 	* mystring.h (class mystring): added a default constructor
       
   307 
       
   308 	* vpasswd.cc (main): changed to use getpasswd
       
   309 
       
   310 	* vadduser.cc (set_password): changed to use getpasswd
       
   311 
       
   312 	* passwdfn.cc (getpasswd): written, gets a password from the
       
   313 	user.  If stdin is a tty, then it uses the prompts and getpass()
       
   314 	function, otherwise it just reads the password with no prompts.
       
   315 
       
   316 	* released version 0.59-1
       
   317 
       
   318 	* vpasswd.cc (main): bugfix: manually duplicate all the fields of
       
   319 	pw into newpw, using strdup on strings.  This avoids future calls
       
   320 	to getpwent overwriting the existing data (the strings in the pw
       
   321 	structure are pointers to static data).
       
   322 
       
   323 Mon Sep 22 13:47:16 1997  Bruce Guenter  <bguenter@mikhail.qcc.sk.ca>
       
   324 
       
   325 	* released version 0.58-1
       
   326 
       
   327 	* qmail.cc: this file will include some QMail specific functions
       
   328 	(dot_qmail_name): moved into qmail.cc from vaddalias and vadduser
       
   329 
       
   330 	* vadduser.cc (main): make sure all names are valid
       
   331 
       
   332 	* vaddalias.cc (main): make sure the aliases are valid before
       
   333 	creating them
       
   334 
       
   335 Fri Sep 19 12:01:04 1997  Bruce Guenter  <bguenter@mikhail.qcc.sk.ca>
       
   336 
       
   337 	* released version 0.57-1
       
   338 
       
   339 	* checkvpw.texi: updated documentation for vaddalias and vdelalias
       
   340 
       
   341 	* vdelalias.cc: wrote vdelalias to delete aliases
       
   342 
       
   343 	* vaddalias.cc: wrote vaddalias to add a new alias to an existing
       
   344 	user
       
   345 
       
   346 	* stat_fns.h (is_file): added
       
   347 
       
   348 Thu Sep 18 09:05:46 1997  Bruce Guenter  <bguenter@mikhail.qcc.sk.ca>
       
   349 
       
   350 	* tweaked root-level Makefile to clean up after building a
       
   351 	distribution
       
   352 
       
   353 	* released version 0.56-1
       
   354 
       
   355 	* stat_fns.h: written -- has some simple file testing routines
       
   356 
       
   357 	* mystring: added a 'length' member to the class to allow for
       
   358 	faster length calculations
       
   359 
       
   360 	* checkvpw.texi: updated the documentation for vdeluser
       
   361 
       
   362 	* spec: added vdeluser to list of programs
       
   363 
       
   364 	* vdeluser.cc: re-write vdeluser perl script as C++ to avoid any
       
   365 	dependancies on perl
       
   366 
       
   367 	* passwdfn.cc (fdelpwnam): wrote function to delete an entry
       
   368 
       
   369 	* checkvpw.cc (auth_virtual): use definition instead of "passwd"
       
   370 
       
   371 	* config.h: added definition for the temporary password file
       
   372 
       
   373 	* vadduser.cc (main): moved setting the password back up before
       
   374 	creating any of the rest of the account -- if a user mis-types a
       
   375 	password, none of the rest of the account will be created
       
   376 	accidentally.
       
   377 
       
   378 Wed Sep 17 10:02:58 1997  Bruce Guenter  <bguenter@mikhail.qcc.sk.ca>
       
   379 
       
   380 	* vdeluser: wrote (as a perl script) to delete mail users
       
   381 
       
   382 	* released version 0.55-1
       
   383 
       
   384 	* checkvpw.texi: updated the documentation
       
   385 
       
   386 	* released version 0.54-2
       
   387 
       
   388 	* spec: added a %attr tag for the documentation files.
       
   389 
       
   390 Tue Sep 16 10:50:16 1997  Bruce Guenter  <bguenter@mikhail.qcc.sk.ca>
       
   391 
       
   392 	* released version 0.54-1
       
   393 
       
   394 	* checkvpw.cc (auth_virtual): make the maildir string point to a
       
   395 	subdirectory in USER_DIR
       
   396 
       
   397 	* vadduser.cc: user mail directories are now stored in USER_DIR
       
   398 
       
   399 	* config.h: created for global defines
       
   400 
       
   401 	* mystring.cc (subst): substitute all instances of the <from>
       
   402 	character with the <to> character (new)
       
   403 
       
   404 	* vadduser.cc (main): create symlinks to the master .qmail-<user>
       
   405 	file instead of creating multiple files for aliases
       
   406 
       
   407 	* released version 0.53-1
       
   408 
       
   409 	* passwdfn.cc (fsetpwnam): fixed a bug that prevented more than
       
   410 	one entry from being added to a password file
       
   411 
       
   412 	* vadduser.cc (main): changed the default UID and GID to add to
       
   413 	the password file to the current UID and GID
       
   414 
       
   415 Mon Sep 15 16:55:09 1997  Bruce Guenter  <bguenter@mikhail.qcc.sk.ca>
       
   416 
       
   417 	* released version 0.52-2
       
   418 
       
   419 	* modified file structure to move sources and documentation into
       
   420 	separate directories
       
   421 
       
   422 	* released version 0.52-1
       
   423 
       
   424 	* Changed program name to checkvpw.  I never did like the long
       
   425 	name...
       
   426 
       
   427 	* Added GNU COPYING file to package.
       
   428 	
       
   429 	* vadduser.cc (make_dot_qmail): checks for the .qmail-<ext> file
       
   430 	before creating one
       
   431 	(main): checks for the user in the password file before adding one
       
   432 
       
   433 	* passwdfn.cc (fsetpwnam): modified to create the file if it
       
   434 	doesn't exist
       
   435 
       
   436 	* released version 0.51-2
       
   437 
       
   438 	* added ChangeLog and TODO to spec file
       
   439 
       
   440 	* vpasswd.cc (main): vpasswd no longer requires that the
       
   441 	administrator types in the old password to change to a new one
       
   442