|
1 ------------------------------------------------------------------------------- |
|
2 Changes in version 0.96.9 |
|
3 |
|
4 New Features: |
|
5 - vdeluser now has an option to prevent it from deleting users with a |
|
6 mailbox. |
|
7 - All the Python CGI code has been dropped. A stand-alone vpyadmin |
|
8 package (to be release very shortly) will replace the Python CGIs. |
|
9 Between this new interface and the PHP code, the C++ CGIs are |
|
10 depricated and will be removed in a future version, unless somebody |
|
11 violently objects. |
|
12 |
|
13 Internal Changes: |
|
14 - Cleaned up the vpwtable API. |
|
15 - New CLI documentation generator, should help keep the man pages and |
|
16 the programs in sync. |
|
17 - Major overhaul to the Python library. |
|
18 |
|
19 Bug Fixes: |
|
20 - Fixed error handling in vdeliver to properly handle file-system quota |
|
21 errors. |
|
22 - Fixed a bug in the Courier IMAP authentication module that prevented |
|
23 non-virtual users from authenticating. |
|
24 - The daemon now exits immediately if a SIGALRM or SIGPIPE is caught, |
|
25 instead of completing the action. |
|
26 - Fixed a bug in autodetecting Python. It should now work with any |
|
27 version of make. |
|
28 ------------------------------------------------------------------------------- |
|
29 Changes in version 0.96.8 |
|
30 |
|
31 New Features: |
|
32 - Added a quota checking program for use in vdeliver-predeliver. |
|
33 - The authvmailmgr Courier-IMAP auth module now executes |
|
34 authvmailmgr-presetuid and authvmailmgr-postsetuid before and after |
|
35 executing the setuid respectively, just like checkvpw. |
|
36 |
|
37 Internal Changes: |
|
38 - The daemon lookup command now returns all of the virtual user data, |
|
39 not just the mailbox and forwarding. |
|
40 |
|
41 Bug Fixes: |
|
42 - Fixed a typo in the vmailmgrd run script. |
|
43 - Fixed a bug in the daemon that would cause actions to be applied to |
|
44 the default virtual user if the named virtual user did not exist. |
|
45 - Fixed a bug in the daemon that would allow disabled autoresponders to |
|
46 be written to. |
|
47 - Fixed a bug in the subprogram execution code that would cause the |
|
48 wrong exit status to be returned. |
|
49 - vdeliver now rewinds standard input before executing postdeliver. |
|
50 - The autoresponse daemon command will now read the disabled |
|
51 autoresponse file if the enabled one does not exist. |
|
52 - Fixed note on setting up a domain in the HOWTO. |
|
53 - Fixed a bug in the fdbuf library. |
|
54 ------------------------------------------------------------------------------- |
|
55 Changes in version 0.96.7 |
|
56 |
|
57 New Features: |
|
58 - Contains configure-time switchable support for GDBM virtual user tables. |
|
59 - Added a new utility, vpasswd2db, to convert a plain text password |
|
60 table into whatever vpwtable format is configured. This utility will |
|
61 be much slower than vpasswd2cdb for CDB files (for now), so only use |
|
62 it for other (ie GDBM) formats. |
|
63 |
|
64 Internal Changes: |
|
65 - Updated PHP code. |
|
66 - The daemon now relies on ucspi-unix to handle connections and forking |
|
67 instead of doing it internally. |
|
68 - The autoresponse is written into a new subdirectory of the virtual |
|
69 user's mailbox directory. This makes it work better with the |
|
70 autoresponder, which requires a directory to store temporary files in. |
|
71 - Reorganized the vpwtable code somewhat. |
|
72 |
|
73 Bug Fixes: |
|
74 - The daemon now initializes its random number generator each time it |
|
75 handles a command, which should make it generate different salts for |
|
76 password hashes. |
|
77 - The python subdirectory no longer requires GNU make to build, and |
|
78 should no longer build at all if Python cannot be located. |
|
79 ------------------------------------------------------------------------------- |
|
80 Changes in version 0.96.6 |
|
81 |
|
82 New Features: |
|
83 - Added autoresponse command to daemon, modified from code submitted by |
|
84 Mike Bell. This allows the user to upload a autoresponse file to |
|
85 their virtual mailbox, to be used by an autoresponder (not included). |
|
86 - Added autoresponse CGI written in Python, as well as updated Python |
|
87 library code. |
|
88 - Updated PHP code from Mike Bell. |
|
89 - Replaced the FAQ and HOWTO documents with the revised ones by Dan |
|
90 Kuykendall. |
|
91 |
|
92 Internal Changes: |
|
93 - The necessary parts of the Courier IMAP "authlib" library is now |
|
94 included in this package. The Courier IMAP authentication module is |
|
95 now always built. |
|
96 - The Courier IMAP module is now part of the standard RPM. |
|
97 |
|
98 Bug Fixes: |
|
99 - Fixed a problem with converting from old records that didn't set the |
|
100 virtual user flags properly. |
|
101 - Fixed a problem with the virtual user creation time field not being |
|
102 set properly. |
|
103 - Fixed a bug in vdeliver that would cause any error from the predeliver |
|
104 script to be treated as a temporary failure. |
|
105 - Fixed a bug in the domain name lookup code that caused case sensitive |
|
106 domain name comparisons. |
|
107 ------------------------------------------------------------------------------- |
|
108 Changes in version 0.96.5 |
|
109 |
|
110 New Features: |
|
111 - Mailbox delivery can be temporarily disabled on a per-virtual-user |
|
112 basis, through either the CGIs, command-line tools, or PHP, without |
|
113 deleting the mailbox. |
|
114 - Account expiry is handled by the authentication tools and by vdeliver. |
|
115 |
|
116 Internal Changes: |
|
117 - The binary record format has changed to handle the new boolean flags. |
|
118 Note that this new format is backwards compatible, so no conversion is |
|
119 needed. |
|
120 |
|
121 Bug Fixes: None |
|
122 ------------------------------------------------------------------------------- |
|
123 Changes in version 0.96.4 |
|
124 |
|
125 New Features: |
|
126 - Added an upgrading section in the FAQ. |
|
127 - The command-line tools now have a "--quiet" option to suppress all |
|
128 status messages. |
|
129 - Added a "vchforwards" CGI interface. |
|
130 - Modified the "vaddalias" CGI program to accept a comma-seperated list |
|
131 of destinations. |
|
132 - Added some sample HTML pages for the CGIs. |
|
133 |
|
134 Internal Changes: |
|
135 - Minor updates to the mystring and fdbuf libraries. |
|
136 |
|
137 Bug Fixes: |
|
138 - Fixed a problem that caused the Courier IMAP authentication module to |
|
139 fail for users of the form "baseuser-virtuser". It should work now. |
|
140 ------------------------------------------------------------------------------- |
|
141 Changes in version 0.96.3 |
|
142 |
|
143 New Features: None |
|
144 |
|
145 Internal Changes: |
|
146 - Removed the "include" directory. |
|
147 - Made vpwtable & vpwentry a seperate source directory. |
|
148 - Merged the "adduser", "addalias", and "addaliasp" daemon interfaces |
|
149 into one new inteface named "adduser2". The C++ CGIs and the PHP3 |
|
150 code has been modified to use the new interface. |
|
151 |
|
152 Bug Fixes: None |
|
153 ------------------------------------------------------------------------------- |
|
154 Changes in version 0.96.2 |
|
155 |
|
156 New Features: |
|
157 - Updated the FAQ, and added some new answers. |
|
158 - Added a Courier IMAP authentication module. This module does not yet |
|
159 work, unfortunately. |
|
160 - Tossed the existing non-functional PHP3 module and added a working one |
|
161 (written in PHP3) from Mike Bell. |
|
162 - Modified vsetup to call programs before and after setting up the |
|
163 domain. |
|
164 - Added new "vauthenticate" command. |
|
165 - Turned the small vaddalias program into a simple shell script. |
|
166 |
|
167 Internal Changes: |
|
168 - Moved the Python code into its own directory, like the PHP3 stuff. |
|
169 - Moved the checkvpw module into an "authenticate" directory. |
|
170 - Imported changes to the CLI library to make it behave more like the |
|
171 standard getopt. |
|
172 |
|
173 Bug Fixes: |
|
174 - Fixed some bugs in the Kerberos5 configuration handling. |
|
175 ------------------------------------------------------------------------------- |
|
176 Changes in version 0.96.1 |
|
177 |
|
178 New Features: |
|
179 - Output of listvdomain CGI has changed slightly to reflect the change |
|
180 in internal data structures. |
|
181 |
|
182 Internal Changes: |
|
183 - Changed listdomain daemon protocol to speed up domain listings and to |
|
184 allow for more information (not yet present in the listdomain CGI). |
|
185 |
|
186 Bug Fixes: |
|
187 - Fixed bug in building Python code from input files with non-GNU make. |
|
188 ------------------------------------------------------------------------------- |
|
189 Changes in version 0.96 |
|
190 |
|
191 New Features: |
|
192 - Record data format has been enhanced to add personal information, |
|
193 simple quotas, and expiry information, plus other extra data. |
|
194 - Messages can now be delivered to both a mailbox and a list of |
|
195 forwarding addresses at once. |
|
196 - Programs executed from checkvpw or vdeliver will have all the above |
|
197 data set in environment variables. |
|
198 - listvdomain can now list only users, only aliases, or selected names. |
|
199 - The listvdomain CGI has improved formatting ability. |
|
200 - Preliminary support for Kerberos5 authentication. Please tell me if |
|
201 this works for you if you need this, as I can't test it myself. |
|
202 - New "vchattr" command to change a virtual user's attributes. |
|
203 - New "vchforwards" command to change the forwarding addresses of a |
|
204 user. |
|
205 - Executable configuration settings are treated as executable files |
|
206 rather than lists of statements to execute. |
|
207 |
|
208 Internal Changes: |
|
209 - Record parsing routines will read either record format but will write |
|
210 out new record format. |
|
211 - Daemon command dispatching now requires seperate virtual domain and |
|
212 virtual user arguments (all the CGIs do this anyways), as opposed to |
|
213 allowing "baseuser-virtual". |
|
214 |
|
215 Bug Fixes: |
|
216 - Fixed non-portable increment statement in vconf2dir shell script, as |
|
217 well as a couple of other bugs. |
|
218 - Fixed bug in vdeliver that would cause it to loop without sleeping |
|
219 when it couldn't write to the output file. |
|
220 |
|
221 NOTES: |
|
222 - I would consider this an unstable release. Adding and deleting users, |
|
223 delivery, and password checking have been tested, but little else. I |
|
224 just want to get this out. There are so many big changes in this one |
|
225 that there are bound to be unexpected bugs. |
|
226 - Despite the change in the record format, no password table upgrading |
|
227 will be necessary, as this version can read in both new and old |
|
228 records. |
|
229 - The "vaddalias" command has been superceeded by "vadduser -D". |
|
230 - The "vchalias" command has been replace with "vchforwards". |
|
231 - The "vdelalias" command has been removed since "vdeluser" does both |
|
232 jobs. |
|
233 - Support for quota management and account expiry are not included yet. |
|
234 - The C++ CGIs are limited to adding aliases with a single forwarding |
|
235 address. The generic Python CGI can be used to create users with |
|
236 multiple forwarding addresses. I intend to remove most or all of the |
|
237 C++ CGIs in favour of a more generic interface. |
|
238 ------------------------------------------------------------------------------- |
|
239 Changes in version 0.95 |
|
240 |
|
241 New Features: |
|
242 - vdeliver now has a hook to execute a list of programs before and after |
|
243 delivering an email. See doc/configuration.* for full details. |
|
244 - checkvpw now has a hook to execute a list of programs before and after |
|
245 changing its uid, and after executing the subprogram |
|
246 - The bulletins facility is now a standalone program called vpopbull. |
|
247 - There is a new program showvconfig which can list the configuration |
|
248 information. |
|
249 |
|
250 Internal Changes as above. |
|
251 |
|
252 Bug Fixes: |
|
253 - The call to execl in vdeliver when calling qmail-queue was missing a |
|
254 parameter. |
|
255 ------------------------------------------------------------------------------- |
|
256 Changes in version 0.94 |
|
257 |
|
258 New Features: |
|
259 - vdeliver and checkvpw no longer call up to vmailmgrd to do user |
|
260 lookups and authentication. This makes them significantly faster, |
|
261 since the daemon no longer does any useful memorization of any kind of |
|
262 data (no password or virtualdomains caches, etc.), and the socket |
|
263 connection and fork took significant amounts of time. |
|
264 |
|
265 Internal Changes: |
|
266 - The virtual user and virtual password table manipulation were moved |
|
267 into a class interface. This will be (once the password content |
|
268 changes are integrated in the next couple of versions) the official |
|
269 API target for building alternative database backends (like the much |
|
270 requested MySQL interface). |
|
271 - Removed the "check" command from the daemon, since it's no longer |
|
272 used. |
|
273 |
|
274 Bug Fixes: |
|
275 - vdeliver still used a hard coded /var/qmail instead of |
|
276 config->qmail_root(). |
|
277 |
|
278 NOTES: |
|
279 * You will no longer need to have vmailmgrd running to use checkvpw, |
|
280 vdeliver, and the command-line tools. You only need vmailmgrd (and |
|
281 the vmailmgr-daemon RPM package) if you need to use the CGIs. |
|
282 ------------------------------------------------------------------------------- |
|
283 Changes in version 0.93 |
|
284 |
|
285 New Features: |
|
286 - New configuration system, based on individual files per configuration |
|
287 parameter rather than one big file. Should be more extensable this |
|
288 way, and has been benchmarked to be faster. The configuration files |
|
289 are documented in the configuration.{html,texi,txt} files. |
|
290 - New configuration system also set up to allow domain-local |
|
291 configurations by putting a directory named ".vmailmgr" in the domain |
|
292 directory. This IS (unlike my last attempt) read properly by the |
|
293 daemon and all the utilities and clients. The daemon switches over to |
|
294 checking for local configuration items immediately after determining |
|
295 what user/domain is being handled. |
|
296 - A new "qmail-root" configuration parameter to allow for installations |
|
297 where qmail is not installed in /var/qmail. |
|
298 |
|
299 Internal Changes: |
|
300 - All the v* commands now do a chdir to $HOME before continuing. |
|
301 - A virtual domain class has been set up, and is used to reference each |
|
302 domain through a user, with both a user-local and domain-local |
|
303 configuration structure. This will shortly be used to set up multiple |
|
304 virtual domains per user. |
|
305 - Imported new and improved mystring and fdbuf libraries. |
|
306 |
|
307 Bug Fixes: |
|
308 - The .qmail-default file is created with mode r--r--r-- to prevent |
|
309 qmail problems with a writable delivery file in situations where the |
|
310 umask is less restrictive than 022. |
|
311 |
|
312 IMPORTANT NOTES: |
|
313 * This version uses a new configuration structure. You *MUST* run the |
|
314 included vconf2dir program. The RPM tries to do this automatically. |
|
315 ------------------------------------------------------------------------------- |
|
316 Changes in version 0.92.2 |
|
317 |
|
318 Bug Fixes: |
|
319 - Delivery to partially qualified aliases was broken again in a few hard |
|
320 to trace cases by potentially changing one character in the domain |
|
321 address. Fixed by rewriting the envelope building code into something |
|
322 simpler and more efficient. |
|
323 ------------------------------------------------------------------------------- |
|
324 Changes in version 0.92.1 |
|
325 |
|
326 Bug Fixes: |
|
327 - Delivery to partially qualified aliases (such as the common 'root@') |
|
328 caused vdeliver to either crash itself or to cause qmail-queue to |
|
329 crash (since qmail-queue expects FQDN addresses). This behavior has |
|
330 been fixed to make such addresses use a domain name of the contents of |
|
331 control/me. |
|
332 ------------------------------------------------------------------------------- |
|
333 Changes in version 0.92 |
|
334 |
|
335 New Features: |
|
336 - Aliases can now have passwords. See the man page for vaddalias or the |
|
337 CGI documentation for details on how to create such an alias. The |
|
338 intended effect is that, once set up, a virtual user could "own" an |
|
339 alias, for the purpose of changing its destination (or password, of |
|
340 course). |
|
341 |
|
342 Bug Fixes: |
|
343 - Delivery to aliases in vdeliver used to go through qmail-inject. This |
|
344 would cause qmail to reformat headers or even bounce the message. |
|
345 vdeliver now sends aliases through qmail-queue, the same way that |
|
346 qmail itself does it. |
|
347 ------------------------------------------------------------------------------- |
|
348 Changes in version 0.91 |
|
349 |
|
350 New Features: |
|
351 - Command-line and CGI programs to change an alias (to avoid the delete, |
|
352 recreate cycle). |
|
353 |
|
354 Bug Fixes: |
|
355 - Always set the mode on created files to be read-write-only by owner. |
|
356 |
|
357 Other Changes: |
|
358 - vdeliver now uses fdbuf instead of raw I/O to deliver content. |
|
359 - Changed the default default username from '*' to '+', to avoid |
|
360 confusion when typing '*' at a shell prompt. |
|
361 - Command-line tools now count and report the number of errors |
|
362 encountered and exit false if any errors occurred. |
|
363 ------------------------------------------------------------------------------- |
|
364 Changes in version 0.90.2 |
|
365 |
|
366 New Features: None |
|
367 |
|
368 Bug Fixes: |
|
369 - Fixed compile problem on systems lacking the O_SYNC definition. |
|
370 - Fixed compile problem on systems where perror is in stdio.h, and |
|
371 stdio.h is not included through other includes. |
|
372 |
|
373 NOTES: If you did not have a problem compiling 0.90 or 0.90.1, don't |
|
374 bother with this version. |
|
375 ------------------------------------------------------------------------------- |
|
376 Changes in version 0.90.1 |
|
377 |
|
378 New Features: None |
|
379 |
|
380 Bug Fixes: |
|
381 - Added definitions for MIN and MAX in md5-crypt.c if they aren't |
|
382 defined by the included headers. |
|
383 - Removed the include of errnos.h in vpwentry_putpw.cc |
|
384 |
|
385 NOTES: If you did not have a problem compiling 0.90, don't bother with |
|
386 this version. |
|
387 ------------------------------------------------------------------------------- |
|
388 Changes in version 0.90 |
|
389 |
|
390 New Features: |
|
391 - Eliminated all dependance on any C++ library by incorporating my own |
|
392 C++ I/O library. |
|
393 - Dropped the RSA MD5 library and incorporated the GNU MD5 code. |
|
394 - Added the GNU md5-crypt module which should provide compatibility with |
|
395 all systems that do MD5-based passcodes. The new code will read in |
|
396 and authenticate against standard DES-crypted codes, the new standard |
|
397 MD5-crypted '$1$' style codes, and my mistaken MD5 hashes (for |
|
398 temporary backwards compatibility), and will write out the '$1$' style |
|
399 MD5 codes. |
|
400 |
|
401 Bug Fixes: |
|
402 - Fixed a nearly invisible bug in the parsing of the configuration file |
|
403 (it was too lenient in the syntax it allowed). |
|
404 - In the bulletin code, the timestamp file was named wrong |
|
405 ("maildir/cur/.timestamp" instead of "maildir/.timestamp"), and it was |
|
406 not created with a proper mode flag. |
|
407 |
|
408 Other Changes: |
|
409 - This package is now distributed under the GPL. |
|
410 - The daemon will now not print out any "Accepted Connection" messages |
|
411 unless the verbose flag is set. |
|
412 - Inverted the sense of the crypt flag in configure. There is now a |
|
413 "--enable-crypt" flag which causes the code to revert to only using |
|
414 crypt for password encryption and comparison (the default is to use |
|
415 the built-in md5-crypt module). |
|
416 |
|
417 NOTES: |
|
418 - My plan to move from a fork-based daemon to a thread-based one is on |
|
419 temporary hold until I can complete several other more important |
|
420 reorganizations and cleanups, most importantly completing a generic DB |
|
421 interface layer. |
|
422 ------------------------------------------------------------------------------- |
|
423 Changes in version 0.89 |
|
424 |
|
425 New Features: |
|
426 - Changed the file format for the virtual password tables to using CDB |
|
427 tables. |
|
428 - The daemon now forks immediately after accepting a connection, |
|
429 allowing for greater concurrency in the POP3 server. |
|
430 |
|
431 Bug Fixes: |
|
432 - Use a ".timestamp" file in a virtual user's maildir to determine the |
|
433 last login time for bulletin delivery. |
|
434 |
|
435 Other Changes: |
|
436 - Removed all the cache tables in the daemon. |
|
437 - Did a major reorganization of the libraries and header files. |
|
438 |
|
439 IMPORTANT NOTES: |
|
440 * This package now uses an incompatible file format for the virtual |
|
441 domain password tables. You *MUST* run "vpasswd2cdb" in each |
|
442 domain to convert your tables before starting the new daemon! |
|
443 ------------------------------------------------------------------------------- |
|
444 Changes in version 0.88 |
|
445 |
|
446 New Features: |
|
447 - Long passwords are now supported using MD5 hashing to create the |
|
448 encoded version. The code will still read the older passwords but |
|
449 will always write out MD5 hashes. |
|
450 |
|
451 Bug Fixes: None |
|
452 |
|
453 Other Changes: |
|
454 - I am now finally using automake to build the package. |
|
455 ------------------------------------------------------------------------------- |