forked from brunonymous/vpopmail
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog
3930 lines (2962 loc) · 151 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Numbers in square brackets ([]) are tracker items on SourceForge with patch
or info related to the entry. <http://sourceforge.net/projects/vpopmail/>
unreleased
- Added configurable password strength enforcement (Matt Brookings' 5.5.0-dev version)
- Dropped min pwd length feature
5.6.3 - Released Oct 19, 2024
- bug fixed: passwords with length > 8 were denied if sha-512 was disabled
5.6.2 - Released Oct 14, 2024
- fixed a configure break where a trivial C test program exits on error with gcc-14.1 due to missing headers
- vusaged/domain.c: fixed -Wimplicit-function-declaration compilation warning
- vusaged/configure: autoconf 2.71 compat
- vmysql.h: dropped the multicolumn PRIMARY KEY in valias table to allow multiple forwards for a given alias.
In case one already has the valias table defined, this is the sql query for the upgrade:
ALTER TABLE `vpopmail`.`valias` DROP PRIMARY KEY, ADD INDEX (`alias`, `domain`, `valias_type`) USING BTREE;
ALTER TABLE `vpopmail`.`valias` ADD `id` INT NOT NULL AUTO_INCREMENT FIRST, ADD PRIMARY KEY (`id`);
5.6.1
- vmysql.c: allow the insertion of a second valias row with the same alias/domain
when vpopmail is configured with --enable-defaultdelivery and --enable-valias
- bug fix in mysql.h: wrong definition of VALIAS_TABLE_LAYOUT as it was looking
for DEFAULTDELIVERY definition instead of DEFAULT_DELIVERY
- configure.ac: solved all autoconf warnings
5.6.0 - Released 2023/12/11
- Merge patches from FreeBSD:
(Peter Pentchev <[email protected]>)
- authvchkpw.c: Various sanity- and security-related fixes.
Buffer handling:
- use snprintf() instead of strncpy() to ensure null-termination;
- explicitly pass sizeof(var) as a second argument to snprintf() to
protect against a variable definition changing in the future;
- display the correct amount of failed-to-allocate memory.
Fix a misspelling of TCPREMOTEIP that would prevent POP-before-SMTP.
Enclose a write() into a loop so that it succeeds even for amounts
too large to write at once.
Display an error message if the execv() in exec_local() fails and
propagate the error all the way up to main()'s exit code.
Extract the indiargs as separate defines so that the port's Makefile may
modify them easily.
Mark two function parameters as unused.
Fix a couple of const-related compiler warnings.
- backfill.c: String buffer handling fixes.
- convert a strncpy() to snprintf() to ensure null-termination;
- explicitly pass sizeof(var) as the second argument of snprintf().
- vlist.c: Sanity and usage fixes.
Do not impose an arbitrary limit of 100 list entries.
Fix the usage message and an error message.
- vlistlib.c: Sanity and safety checks.
Honor lots of limits - convert sprintf() to snprintf(), use the correct
limit size, etc.
Check a couple more calls for errors.
Wait for the correct child process - waitpid() instead of wait().
Add two closedir()'s to fix file descriptor leaks.
Look for the arguments properly if progname should ever containing spaces.
- vmysql.c: Fix the virtual alias support; implement SQL_REMOVE_DELETED.
- vpalias.c: Honor the correct limits.
- vpgsql.c: Implement valias support; implement SQL_REMOVE_DELETED.
- vutil.c: Sanity and safety.
Optimize a lot of calls by just using access(2).
Fix a file descriptor and FILE structure leak.
- README.vpopmaild: Fix a couple of typos and grammatical errors.
- README.onchange: Fix a typo.
- README.vdelivermail: Fix a typo.
(Peter Pentchev <[email protected]>,
Alex Dupre <[email protected]>)
- vpopmail.c: SpamAssassin support, sanity checks.
Implement SpamAssassin support.
Honor limits correctly.
Wait for the correct child process - waitpid() instead of wait().
Check for a couple more errors.
Add a closedir() to fix a file descriptor leak.
(Suzuki <[email protected]>)
- vldap.c: Fix a crash when adding a virtual domain.
(Alex Dupre <[email protected]>,
Peter Pentchev <[email protected]>,
Bryan Drewery <[email protected]>)
- vdelivermail.c: SpamAssassin support, build optimization
Add SpamAssassin support.
Drop the unneeded MAX_ENV_BUFF definition.
Add DELIVER_TO_STDOUT support
- Merge patches by Roberto Puzzanghera:
- A patch to make vpopmail store domain aliases to MySQL. This gets
dovecot's sql auth driver aware of domain aliases, provided that you
modify the sql query accordingly.
See doc/README.sql-aliasdomains for more info.
- A patch which installs the sql procedure needed for the dovecot's
queries for servers with one table for each domains
(--disable-many-domains).
You have to add --enable-mysql-bin to you configure command.
The sql procedure is in the vpopmail-5.4.33/dovecot/ folder and it will
be copied to ~/vpopmail/etc/.
It supports aliasdomains and user/domain limits.
This feature does nothing if you have all domains in the vpopmail table
(--enable-many-domains).
See README.dovecot-sql-procedures for more info.
- A patch which makes vpopmail to copy you favourite delivery agent,
stored in QMAILDIR/control/defauldelivery, in the mailbox's .qmail and
the vpopmail delivery agent in the domain's .qmail-default.
configure --enable-defaultdelivery (default is OFF) to enable this
functionality.
See doc/README.defaultdelivery for more info.
- vusaged-configure patch
It seems that at least on Debian 11 vusaged refuses to run the configure
successfully, as the mysql libraries are not linked with this error:
configure: error: No vauth_getpw in libvpopmail
After some inspection, I noticed that avoiding the break of the configure
command, the following make command will find libmysqlclient and compile
with no problems, and the program works as expected.
NB: an "autoreconf -f -i" into the vusaged directory is needed before
configuring, as the configure.ac was modified.
- A "recipient check" program to be used with E. Hoffmann's s/qmail.
Look at doc/README.vrcptcheck for more info.
- A patch which gets vpopmail to compile with gcc-10
- vuserinfo-D_newline patch, which prints a new line to separate users'
infos when typing "vuserinfo -D domain".
- autotools and .gitignore changes to allow users to configure vpopmail
with no autoreconf.
I think this is important because the configure.in requires the latest
autoconf version.
- defauldelivery patch bug fix: if defaultdelivery already contains
vdelivermail do not create .qmail
- Merge patch by Ali Erturk TURKER
- vdelivermail.c checks spamassassin permissions, instead of maildrop permissions.
- vopen_smtp_relay() return values corrected, so that open_smtp_relay() can
detect and report database connection errors (vmysql.c, voracle.pc, vpgsql.c )
- vdel_limits() core-dumps if a database connection is not available beforehand.
(vmysql.c, voracle.pc )
- Merge patch by Johannes Weberhofer:
- Fix strncat warnings
- Merge patch by Benedikt Boehm:
- Remove unneeded reallocation in vpalias.c
- Merge patch from Gentoo:
- Add missing include in cdb_seek.c
- Merge patches by Rolf Eike Beer:
- Fix printf format strings
- Fix build when using PostgreSQL and --enable-onchange-script
- Add test for crypt return value
- Remove unneeded forward declaration in vchkpw.c
- Add static in vdelivermail.c
- Clean up calling maildrop in vdelivermail.c
- fix ,S= tag in case spamassassin changed the file size
- fix those vfork() instances that do more than exec*()
- Merge patch by Jory Pratt:
- patched for lazy binding for quality assurance
- Merge patch from Ivan Zahariev:
- backfill algo fails if the username is contained anywhere in the file path
- Merge patch from Paul Oehler:
- Fix bug in string_list_add when resizing the list
- Merge patch from Nathanaël Semhoun:
- Fixes for compiling without log on change, and fixe for included files
- We need to remove | or ' ' before creating the args[] for sh, otherwise |
will be an argument of bash.
Patrice Duhamel
- Add an option --enable-onchange-script-before-and-after to call onchange
script before and after a change
- Add SQLite module, adapted from MySQL module code
- Add an option --enable-sha512-passwords by default, and increase all
sql modules password size
- Disable clear password option by default
- Set vpasswd, vadddomain and vadduser default password length to 12,
and add optional password length in vpasswd
- Fix crash in vpasswd, vadduser, vadddomain for very long password
- Add an error code for too short passwords (minimum size = 12)
- In vadddomain(): reject no TLD or invalid size TLD, or two consecutive '.'
- Change max size of user name and gecos to 64, and increase temporary buffer
in make_vpasswd_cdb to fix a crash after changing the user name size
- Add fix from Roberto Puzzanghera:
- Fix mysql module compilation on Debian 11 / gcc 10
- In vadddomain, remove domain if the postmaster user can't be created
- Add minimum and maximum length of parameters in error messages
- Add an option --enable-min-pwd-length to choose minimum password length
- Add an option --enable-tinycdb to replace cdb code by libcdb
- Add an error message in vpasswd, vadduser, vadddomain when using -r
and a password on command line
- Allow -n in vadduser only if min password size = 0
- Simplify calls to call_onchange, and add an option to log all changes
to syslog or a sqlite database
- add missing includes and compilation option for c99
- fix ldap module compilation for recent openldap versions (untested),
and disable ldap sorting because it's not supported by openldap
- add an option --enable-qmail-cdb-name to set qmail cdb file name,
after Erwin Hoffmann changed cdb name since s/qmail 4.2.03
5.4.33 - Released 10-21-2012
Matt Brookings
- Defaulted to Server::Disable=True in vusagec.conf
- Fixed bug that didn't install vusagec.conf
- Changed relevant quota code to use storage_t 64bit type
- Fixed bug where backfill code wouldn't compile when FILE_LOCKING was
enabled
- Updated MySQL module to support larger quota sizes
- Fixed typo
- Added disable_maildrop flag to MySQL limits feature
- More changes to allow for larger quota sizes in MySQL module
- Updated to signal_process to understand "runsv" as a supervise-type process manager
Tullio Andreatta
- Dynamic allocation of valias data
- Use of open/fchdir rather than getcwd/chdir to maintain current working
directory
- Fixed a broken symbolic link check
Drew Wells
- Modification to vdelivermail to properly handle Maildir paths that begin with "./"
- Removed call to maildir_addquota inside user_over_maildirquota causing duplicate
maildirsize entries
5.4.32 - Released 11-08-2010
Matt Brookings
- Updated maildirsize creation to set uid/gid on target
- Updated maildirsize_read to enforce Maildir++ specifications related
to maildirsize filesize and maildirsize modification time.
- Fixed returning of 0 rather than NULL in client_connect
- Updated vusage client API not to try to connect to the daemon if
vusagec.conf does not exist
- Fixed quota calculation bug when delivering with vusage daemon
aledr <[email protected]>
- Patch to secure against possible overflows when reading ezmlm configurations
- Patch to vpopmaild to fix return value in wait_read
5.4.31 - Released 12-10-2009
Matt Brookings
- Released to fix leftover issue that should have been addressed in 5.4.30
5.4.30 - Released 12-10-2009
Matt Brookings
- Fixed problem where variable was declared in-function
- Duplicated a few fixes from 5.5 branch in vusaged
5.4.29 - Released 12-03-2009
Matt Brookings
- Numerous fixes to compile on Solaris
- Fixed some format string issues
- Fixed strstr being used with NULL value in vchkpw
- Numerous fixes to compile on FreeBSD
- Released to address some segfault issues in 5.4.28
- Fixed bug in config API that assumes config pointer is not NULL
- Updated client API to check Server::Disable
- Updated client API to properly release configuration-related memory
5.4.28 - Released 08-24-2009
Matt Brookings
- Updated vlimits_read_vlimits_file to be much more efficient
- Added vusage client API to libvpopmail
- Added vusage daemon
- Updated quota code to talk to vusage daemon if available
- Fixed some backfill patch compilation issues
- Updated maildir_to_email to support paths that end in /Maildir as well as /Maildir/
- Added LDAP valias support
- Updated vusage API to return counts for both users and domains
- Updated domain quota enforcement to work when using vusage
- Re-enabled --enable-domainquotas (with warnings)
- Fixed percentage calculation bug in vmaildir_readquota
- Updated lastauth/vlog queries not to trigger failure condition on domain
deletion in MySQL and PostgreSQL module
- Updated build scripts to show version 5.4.28
- Added solution for 5.4.28 to LDAP schema for sn and cn attributes being
required. A permanent solution will be added to the 5.5 tree
- Fixed vdelivermail to process .qmail files for users with dashes in their
usernames when qmail-ext is enabled
- Fixed bounds error in vauth_much_domain and increased buffer size for
longer domain names
- Applied same fix to PostgreSQL module
aledr <[email protected]>
- Fixed overflow in PostgreSQL module
5.4.27 - Released 16-Jan-2009
Jeremy Kister, Rick Widmer, Tom Collins
- Solaris doesn't like setenv
Michael Johnson, Steve Cole, dhaval, Rick Widmer
- Another attempt at maildirquota
Harmut Wernisch, Tom Collins
- Fix mixed up usage of MYSQL_UPDATE_* and MYSQL_READ_* in vmysql.c:load_connection_info()
This may need a tracker number attached. I can't find it.
Manvendra Bhangui
- Added authvchkpw module for Courier-IMAP
- Added backfill patch [2507177]
5.4.26 - Released 3-Nov-2007
Bill Shupp
- vpopmaild fix: find_domain should not list 'page 0' when a domain is not
found. Instead, return "." only. Also indicate in help that per_page is
optional. find_domain page numbers consistently start at 1.
- update README.vpopmaild to reflect the above.
- Get valias_remove() working for cdb module.
Rick Widmer
- Arrange vpopmail.h based on libvpopmail categories
- Add vlistlib library, vlist program to manage mail lists
5.4.25 - Released 9-Oct-2007
Rick Widmer, Tom Collins
- another try at signedness warnings in maildirquota and vchkpw
- minor change in README.vdelivermail
5.4.24 - Released 29-Sep-2007
Rick Widmer, Tom Collins
- fix off_t warnings in maildirquota.c when mysql back end is used.
John Simpson, Joshua Megerman
- extend maximum password length
5.4.23 - Released 23-Sep-2007
Rick Widmer
- Upgrade build system to match my dev server (SuSE 10.2)
- Revert maildirquota warnings change
5.4.22 - Released 15-Sep-2007
Steve Cole
- invalid MySQL info in UPGRADE
Bill Shupp
- Missing ERR defines in vpopmaild.msg
- Fix help text for add_ip_map and del_ip_map in vpopmaild.c
Rick Widmer
- attack warnings in maildirquota by making some variables unsigned everywhere
Steve Cole, Marcello Lupo, Japheth Cleaver, Rick Widmer
- segfault in vdeluser with MySQL back end. Work around applied, and note
added to TODO about making database valias return .qmail files if they exist
which is the long term fix.
5.4.21 - Released 06-Sep-2007
Joshua Megerman, Alessio Cecchi
- fix bug in vpopmaild add_alias command
5.4.20 - Released 21-Aug-2007
Bill Shupp/Rick Widmer
- add show_error function to vpopmaild
Rick Widmer
- Make vadduser check that domain exists and user does not exist
before prompting for password
- Add TODO file to record stuff I don't want to forget
- Add README.vdelivermail
- Add examples for delete and bounce-no-mailbox to help on vadddomain
Remo Mattei
- Change upgrade script to use pw_domain instead of domain in example code
to change domain name field lengths.
John Simpson, Joshua Megerman, Adam Sloan
- Fix bad exit if script exists but can not be executed
- Fix missing onchange on delete of alias domain
John Simpson
- Bug fix for vuserifo - vlimits
Harm van Tilborg
- Add support to vpopmaild to retrieve used storage sizes of domains or users
- mod_user did not respond +OK if command is valid
Vitali Malicky (coonardoo), Ismail Yenigul
- add ldap patch [1909348]
Ronnie Karstenberg (rkarstenberg)
- vdominfo crashes with a lot of aliased domains [1765534]
5.4.19 - released 21-May-2007
Rick Widmer
- update to aclocal 1.9.5, automake 1.9.5, autoconf 2.59 to match my system
- Don't set LocalPort to a real port number so the default case has a chance
to identify how vchkpw was called.
- ./configure tells status of onchange script setting
- Fix rights problem with alias commands. - thanks Alessio Cecchi
- Only report out of order entries when sorting files once per file
- make pop syslog ./configure setting report itself like the rest of the choices
- Make error messages more consistant (P/O checking Jonathan's bug report)
Harm van Tilborg, Quinn Comendant
- Do not allow delete of catchall address within account. [1511531]
Bill Shupp
- enable-onchange-script defaults to no.
NOTE: Still need to supress error message if file not found.
- Fix bug in output format of list_alias
- Remove unneeded AC_DEFINE_UNQUOTED from ONCHANGE_SCRIPT in configure
- Port remaining spamassassin code from 5.5 branch to stable-5_4.
- Add new --enable-maildrop option, and new NO_MAILDROP bit flag.
- New Documentation: README.maildrop, README.spamassassin
- Sample maildroprc files for both 1.x and 2.x (maildrop/*)
Fabio Busatto
- #include <stdio.h> at top of vpopmail.h
blaze_cs
- Ldap back end reads config parms from a file at runtime. [1056529][1476647]
Stoyan Marinov (smarinov)
- add %m$t style for SQL queries format string [1236349]
- connect to mysql with a unix socket [1437085]
5.4.18 - released 30-Dec-06
Joshua Megerman (offsides)
- SQL backend fixes - NOTE: Requires database changes.
See UPGRADE for 5.4.18. [1619489]
- MySQL Tablename Backquotes - Add back quotes around table
names so MySQL will allow names that start with a digit.
[1619491]
Drew
- add .qmail-extension ability to vdelivermail
- mods to Delivered-To: header to support .qmail-extension
John Simpson
- onchange - call a script when users or domains are changed
see README.onchange.
- cslogin - Compact and silent login options for vpopmaild
note: don't blame John for problems in this, I changed a
lot to make it fit with other changes. rww
Tijs Zwinkels
- vmysql: add missing mysql_free_result to fix mem leak.
Tom Collins
- vdelivermail: Add missing loop check.
- vchangepw: Minor changes to Peter's error checking. [1573277]
Rick Widmer (rwidmer)
- Multiple changes to vpopmaild:
Add rename_file command.
Expert mode works in vmoduser.
Commands that are not yet implemented say so.
Blank input lines are not an error in vpopmaild.
Separate help before and after login in vpopmaild.
Allow 3 tries to login to vpopmaild.
Clean up if add_user fails because of bad user data.
Add termination code (.) to get_lastauth return.
Number the error messages (XXX) in vpopmaild
If invalid option is sent in set_limits, show warning
- Add various patches from others listed below:
Peter Pentchev (roamer)
- Various sanity checks and minor optimizations [1573292]
- Fix child handling - waitpid and sys/wait.h [1573288]
- Dynamicallly allocate sortdata[] in vpopmail.c [1573287][1596259]
- Include ctype.h in the PostgreSQL backend [1573284]
- Set SHELL in vdelivermail before executing external programs [1573280]
- Some more error checking in vchangepw [1573277]
- Improve the vpopmaild documentation [1573269]
- Clean cdb files in the distclean target [1573267]
- Optional building as non-root [1573266]
Trent Lloyd (lathiat)
- Add vailas add/delete/list support to vpopmaild [1555398]
- Refresh assign cache if a domain is deleted [1529744]
Bill Shupp
- Add user_count function to vpopmaild
- Add stat_file function to vpopmaild
5.4.17 - released 12-Jul-06
Rick Widmer
- vpopmaild: remove debug output from find_domain function.
- vpopmail: fix segfault in users/assign sorting code caused by
entries that don't contain a dot (.). [1514733]
Jeremy Kister
- vdelivermail: pass qmail-inject's error code instead of always
deferring. [1484105]
Ron Gage
- vmysql: reconnect to server if connection timed out.
Rolf Eike Beer
- vchangepw: add error checking and other code improvements.
[1371572]
- change API for vgetpasswd() to make more sense. [1371566]
- Update del_control() to properly handle remove_lines() return
value. [1514613]
- vpopmail: minor improvements to remove_lines(). [1371536]
secnetdk
- vmysql, vpgsql: remove entries from vlog when deleting a domain
or a user. [1099800, 995762]
Michael Krieger
- vcdb, vpopmail: pass mode to open() when creating files. Fixes
bug where lock files were created with 0000 permissions. [1499043]
- vpalias: set mydir to NULL after closing it. [1499045]
Tom Collins
- vpalias: don't trash alias name passed to valias_insert().
[1491087]
- vpopmaild: don't show last auth if auth-logging disabled.
[1511313]
- Only include err.h if it's present. [1484110]
- vpgsql: convert domain name to lower case when creating table
name. [1227383]
- vpopmail: fix minor error in remove_lines() when file locking
not defined.
5.4.16 - released 7-May-06
Michael Krieger
- vpalias: Properly handle some empty search results.
Ken Jones
- vpalias: wasn't allocating enough memory for alias name in
valias_select_names (missing one byte for NULL). [1479842]
Jianbin Xiao
- vmysql: reconnect to server if connection was dropped.
[1469731]
Rick Widmer
- vpgsql: fix queries to allow domains starting with digits.
John Simpson
- vpgsql: fix compile errors introduced in 5.4.14.
- vdominfo: undo change from 5.4.14 that displayed alias domains
incorrectly.
Toshihiko Kyoda
- vdelivermail: check for over quota when creating temp mail file.
Tom Collins
- vpalias: Fix double-free in code ported from 5.5 branch.
- valias: exit non-zero on error, send all errors to stderr.
- vchkpw: make sure we have cleartext pass before checking SMTP_AUTH
or APOP logins. [1453216]
- Remove vactivedir code since it's just a client for a non-existent
server.
5.4.15 - released 24-Feb-06
Tom Collins
- Add 'compile' script to distribution.
- If warn() isn't available, use fprintf() instead.
- vmysql.c: add missing valias_select_names, valias_select_names_next,
and valias_select_names_end from 5.5 branch.
- vpalias.c: #include "config.h" before we check if VALIAS defined.
5.4.14 - released 17-Jan-06
Tom Collins
- vmysql.c: Increase buffer size in vauth_adduser() and use
correct size when calling snprintf.
- Backport most of 5.5.1, including code required for vpopmaild.
- Allow --enable-valias option for Postgres backend (incorrectly
disabled in 5.4.13).
- Only check a domain's disk usage when a quota is set. [1396238]
Bill Shupp
- vpopmaild: store quota in proper format and update maildirsize
on quota change.
Gaetan Minet
- Remove lock file in open_smtp_relay() even if update_rules() fails.
Rick Morris
- vdelivermail.c: Fix problem where "# delete" in .qmail file was
being ignored. [1360346]
Robin Bowes
- Add vpopmaild (the vpopmail daemon) from 5.5 development series.
5.4.13 - released 16-Sep-05
Riccardo Bini
- vdelivermail.c: Use DOMAINS_DIR instead of hard-coded "domains".
Jory A. Pratt
- Compile libvpopmail with -fPIC option so amd64 users can compile
courier-authlib against libvpopmail.a.
Tom Collins
- hmac_md5.c: include <strings.h> for bzero and bcopy declarations.
- configure.in: fix checks to limit enable-valias to MySQL only.
- INSTALL: make clear that valias only applies to MySQL backend.
- vpopmail.c: modify get_remote_ip() to work with xinetd, not
just tcpserver from daemontools.
5.4.12 - released 4-Jul-05
Tom Collins
- vdelivermail: read full message, even on catchall delete/bounce
to avoid SIGPIPE error if maildrop is calling vdelivermail.
- vdelivermail: missing declaration when QMAIL_EXT defined.
- vpopmail.h: remove declaration of crypt() and use #include
crypt.h instead (if present).
- configure: remove enable-domainquotas option until the domain
quota code is fixed.
- maildirquota.c: fix bug from 5.4.11 that could accidentally
close stdin and result in a failed delivery in vdelivermail.
- vpopmail.c: better error checking in r_mkdir().
5.4.11 - released 20-Mar-05
Tom Collins
- vdelivermail: code cleanup (fix exit codes, improve reliability,
fix problems with quotas). [837146, 840749, 904155, 1111291,
1119741, 1145618]
5.4.10 - released 20-Mar-05
Stephan Tesch
- md5.h: fix related to segfaults in vchkpw on Sparc64. [1144851]
Peter Seiderer
- vcdb.c: vauth_getpw() didn't check for invalid domain.
Bill Shupp
- vuserinfo: display spamassassin info.
Anonymous
- vpopmail.c: Add missing ifdef that preventing modification of
one-character username accounts.
Niki Denev
- maildirquota.c: Remove double free() and fix use of free'd
memory in docheckquota(). [1101316]
- contrib/qmail-maildir++.patch: same fix as for maildirquota.c.
Tom Collins
- vlimits.c: print errors to stderr.
- vmoduser.c: add clarity to usage/help for bit flags.
- vcdb.c: be sure to close password file in vauth_getpw().
- md5.h: use cdb/uint32.h (built by configure) for defining
uint32. [1144851]
- vpopmail.c: fix vauth_user() to not clobber pw_uid and pw_gid.
- vpopmail.c: If setting user quota for new user fails because newly
created user does not exist, sleep 5 seconds and try again.
(This can happen on servers using MySQL replication.)
- Remove convert/vcalias.c and related files; vcalias was replaced
by dotqmail2valias.
Michael Bowe
- configure.in: fix typo of where the configure script says it
is checking for qmail-inject when in fact it was checking for
qmail-newmrh
- Documentation updates to README.roamingusers. Mention the
requirement of tcpserver for POP-before-SMTP. Also include
some documentation on IMAP-before-SMTP. [1110269]
5.4.9 - released 26-Dec-04
Jeremy Kister
- Makefile.am: fix install problem on Solaris. Some .h files
weren't being installed correctly.
Charles Boening
- Fix logging in PostgreSQL.
- Change ENABLE_{MY|PG}SQL_LOGGING to ENABLE_SQL_LOGGING.
- Replace --enable-{my|pg}sql-logging with --enable-sql-logging
in configure options.
Tom Collins
- Tweaking of Charles Boening's changes.
- vchkpw: Fix problem in md5.h causing segfault in SMTP AUTH on
amd64. [964843, 958799]
- vpopmail.h: Add new error and flag defines from 5.5 series.
- vchkpw: log webmail connections as 'vchkpw-webmail'.
- vpopmail.c: fix problem related to sending SIGHUP to qmail-send.
Original problem could cause "Signal 1 caught by ps" error.
5.4.8 - released 12-Nov-2004
Rick Widmer
- vadddomain: Check for existing domain before prompting for
password.
- vdeldomain: Fix uninitialized variable warning.
Tom Collins
- Fix problems with valias code in vmysql.c and vpgsql.c. Storing
aliases in Postgres should work now, and it should fix problems
with processing Maildir valias entries in vdelivermail. [985011,
1024706, 1033801]
- Fix bug in vmoddomlimits that wiped out the Domain Quota
when editing default limits.
- Change columns in Postgres valias table to varchar from char.
See README.pgsql for instructions on fixing existing tables.
- vmoduser: update maildirsize instead of just deleting it when
modifying quota.
- vchkpw: classify POP/IMAP connections from select IPs (defaults
to 127.0.0.1) as webmail and check NO_WEBMAIL user flag instead
of NO_POP and NO_IMAP.
- Update qmail-smtpd-auth patch in contrib to latest (0.5.6).
- Update README.quotas with note about domain quotas not working.
- vpopmail.c: remove unused sys/varargs.h include.
- vdominfo: fix broken -a option.
- vdominfo: better display of real name for alias domains. [981335]
- vpopmail.c: Improved maildir_to_email() function. [953439]
Gentoo Port
- Integrate vuserinfo patch to fix the -a option and to display
the comment/gecos field (used for "real name").
5.4.7 - released 23-Sep-04
Michael Bowe
- Mention in README.mysql that is is possible to create mailboxes
by inserting entries directly into the MySQL table.
Tom Collins
- Don't try to delete dir-control for domain unless users-big-dir
is enabled.
- Verify user exists before trying to set quota in vsetuserquota().
[984698]
- Update cdb/Makefile so you can 'make install' without doing
'make' first.
- Fix size comparisons to MAX_PW_X (should be ">", not ">=").
- Fix possible buffer overflows in vsybase.c.
- Have vconvert reset dir_control and increment it for each user
added when converting from cdb to MySQL.
- If crypt() doesn't support MD5 passwords, fall back to using
a valid, non-MD5 salt even if MD5 passwords are enabled.
- Fix format string vuln. in vactivedir.c (thanks D4rk Eagle).
- Added comment to vqmaillocal.c mentioning that it isn't
maintained and probably doesn't work. Makefile no longer
installs vqmaillocal.
5.4.6 - released 30-Jun-04
[backport from 5.5.0]
- Consolidate table creation code in vmysql.c and vpgsql.c.
- Increase SQL_BUF_SIZE from 600 to 2048 for Oracle, Postgres
and Sybase.
- Multiple fixes to vpgsql.c related to freeing PGresults and
attempting to access NULL PGresults when reporting errors.
* These changes address SQL Injection vulnerability documented in
* Bugtraq ID 10990 <http://www.securityfocus.com/bid/10990/info/>
- Add qnprintf() to vpopmail.c for escaping strings in SQL queries.
- Use qnprintf() when building queries in vmysql.c, vpgsql.c,
voracle.pc, and vsybase.c.
5.4.5 - released 25-Jun-04
fernando (at) telemacro (dot) com (dot) br
- Patch for vpgsql.c fixes bug with Postgres and roaming users
(POP before SMTP). [895501]
Françoi Wautier
- Fix method used to open database in vauth_open_update of
vmysql.c. [967994, 946983]
Pit Palme
- Show 'delete' as valid option to vdelivermail in docs. [951245]
rstml
- Hide error message during POP3 auth with Postgres. [915485]
Tom Collins
- Fix `vuserinfo -l` output, based on Bill Shupp's patch
(moved code to a single function call). [961742]
5.4.4 - released 26-May-04
Tom Collins
- Link math lib when compiling for MySQL.
- Create ~vpopmail and ~vpopmail/etc in configure script. [930939]
Note that any code creating files in ~vpopmail should probably
be moved from configure and into Makefile (under make install).
- Use MAX_PW_DIR when checking max size of domain's directory.
Ken Jones
- vdelivermail.c: wait on pid for qmail-inject to finish
before continuing in deliver_mail function. [from 5.5.1]
Michael Bowe
- Minor documentation tweaks
- Fix for : If roaming users were enabled, and auth module was not
SQL based, and user's IP address was not available (eg being
called from Courier-IMAP with authdaemon enabled), then
open_smtp.tmp.pid files would be created for each auth
but never removed.
5.4.3 - released 11-Mar-04
Tom Collins
- Add missing link libs (m, nsl, socket) on Solaris installs.
- Fix vsetuserquota() to write properly formatted quota to
maildirsize file.
- Update vdominfo to ignore non-domains in users/assign.
- Update vconvert and dotqmail2valias to ignore non-domains in
users/assign.
5.4.2 - released 22-Feb-04
Tom Collins
- Remove attempts to free() static buffers in vpgsql.c. [888888]
- Fix problems with creating valias table in vpgsql.c. [892595]
- Remove unnecessary check for C++ from configure[.in].
- Don't include DESTDIR when building inc_deps and lib_deps.
[886988]
- Properly parse Maildir and mbox delivery lines in .qmail files
in vdelivermail (and exit(111) for mbox lines). [889756]
- Temporarily disable -s option to vadduser (since it's broken).
[895375]
Anders Brander
- Add contrib/checkpassword_debug.[README,c] for testing and
debugging problems with vchkpw. [862608]
5.4.1 - released 10-Feb-04
Tom Collins
- Add dotqmail2valias program for converting .qmail-alias files
to valias table entries.
5.4.0 - released 1-Feb-04
Tom Collins
- Update configure with correct location of vlimits.default.
- Fix typo (ammount) in vmoddomlimits. [882884]
- Don't include $(DESTDIR) when building vpopmailbindir. [884247]
- Mention compatability issues with older SMTP AUTH patches.
[882351]
5.4.0-rc2 - released 19-Jan-04
Michael Bowe
- Added some basic 5.4 upgrade notes to the UGPRADE file
- Fix typo's in configure.in that relate to the errors generated
when a discontinued configure option is used
- Fix bug when autocreating a user dir for a user who exists
in the auth backend, but does not yet have a user dir
allocated. [873007]
- Fix bug introduced in vpopmail-5.4.0-pre2 that was preventing
~vpopmail/etc/vpopmail.mysql from being installed [874776]
- vpopbull was failing to create userdirs in some cases
(when the user exists in the auth backend, but did not have
a dir allocated yet) [816942]
- clearopensmtp was using USE_MYSQL rather than USE_SQL to
determine where the roaming IPs were being stored [876016]
- Update INSTALL and other guides to mention that vchkpw group
does not need to be gid 89. [877154]
- Update README.pgsql to include security warning regarding
the postgres username/password [879124]
Ken Nonaka
- Fixes to vpgsql.c to clear compile errors when
--enable-ip-alias-domains is enabled. [874066]
Tom Collins
- Check for comments earlier in deliver_mail().
- Remove unused --enable-defaultquota and code related to it.
(Replaced by settings in vlimits.default.) [869411]
- Remove references to --eanble-defaultquota in documentation.
- vdelivermail.c: Consistent return values in deliver_mail().
- More updates to build files. [874831]
- Apply patch from http://www.fehcom.de/qmail/smtpauth.html
to fix CRAM-MD5 SMTP AUTH in vchkpw. [871493]
- Have vchkpw.c use get_remote_ip() to convert IPv6 to IPv4
(fixed problem with ::ffff: in relay file). [876019]
- Fix bug in vpalias where .qmailadmin-limits was incorrectly
thought to be alias for user 'dmin-limits'.
- Sort by alias in valias_select_all (needed for QmailAdmin).
- Add new valias_remove() command to remove a single line from
valias table. (not implemented for cdb backend yet)
- Fix incorrect buffer use in PQexec() calls.
- Convert '.' to ':' when building filename in valias_select()
in vpalias.c.
- Remove length check for 'alias' parameter in vpalias.c's
valias_select_all() and valias_select_all_next() since it's a
return value buffer.
- Remove duplicate code in valias_select_all_next() in vpalias.c.
- Fix configure.in to update cdb/conf-cc and cdb/conf-ld. [877166]
- Add /usr/local/mysql/include/mysql to search list for incdir,
and /usr/local/mysql/lib/mysql for libdir. [877168]
- Remove cdb/compile, cdb/load, cdb/conf-cc and cdb/conf-ld as
they are automatically generated during configure/make.
- Add missing $(DESTDIR) to some @vpopmaildir@ paths in Makefile.
[879103]
Bill Shupp
- Add -o option to vmoduser to set V_OVERRIDE flag. [875505]
- Contributed README.vlimits [855693]
- Updated README.quotas
Casey Zacek
- Create maildirsize file in vsetuserquota(). [869457]
Anders Brander
- Allow optional length for random passwords in vadduser and
vadddomain. [848228]
5.4.0-rc1 - released 1-Jan-04
Michael Bowe
- Code fixes and documentation work for LDAP module.
Incl updated README.ldap, vldap.c, vldap.h, ldap/slapd.conf,
ldap/vpopmail.ldif. [863881] [811000] [864643]
- Rewrote the README.mysql based on my web based guide.
- Documentation tweaks for README.pgsql, README.roamingusers.
Tom Collins
- Remove unused var (cp), change random/srandom to rand/srand in
vpopmail.c to remove compiler warnings.
- Fix Makefile to use correct owner/group/permissions for
install-strip.
- Fix configure to indicate that --enable-auth-logging is default.
5.4.0-pre2 - released 21-Dec-03
*** Note that the configure option for setting the authentication
*** module has changed. Instead of --enable-mysql, use
*** --enable-auth-module=mysql.
Casey Zacek
- Keep vlimits_setflags() in vlimits.c when mysql-limits is
enabled. [858109]
- Create maildirsize file when adding new user. [858994]
Tom Collins
- open_smtp_relay(): fix address conversion of '::ffff:127.0.0.1'
ip format, move code to function and replace calls to
getenv("TCPREMOTEIP"). [858586]
- When optimizing adddomain, rebuild users/cdb after each addition
instead of postponing. [859707, temporary fix]
- Move maildir_to_email() from vdelivermail.c into vpopmail.c,
replace dupe code that tries to do the same thing. [859098]
- Fix domain quota checks to work with hashed directories. [859098]
- Fix bug when calling format_maildirquota() with NOQUOTA.
- Document use of NOQUOTA in vadduser. [862315]
- Fix Makefile so `make install` works from checked out CVS. [863862]
Michael Bowe
- Revise configure script so choice of auth module is now "OR"
rather than "AND".
Auth module selection now uses the format :
--enable-auth-module=cdb|mysql|pgsql|ldap|sybase|oracle|activedir
Rather than :
--enable-mysql --enable-pgsql --enable-ldap etc
If the old style is used, then the configure script will output
and error and will advise the user of the updated syntax. [855691]
- Removed the code that created a vpopmail.config.sh file each
time the configure script is run. This file is never used,
and a more accurate result can be achieved by using
./config.status --recheck [860271]
- Update the vldap/qmailUser.schema so that it contains the
required definition for 'clearPassword' [810999]
- Modify vpopbull, so that within each domain, the users are
processed alphabetically. The idea behind this is to give the
operator some idea of "how far through" the mailout we are.
5.4.0-pre1 - released 10-Dec-03
Michael Bowe
- Updated README.xxxauthbackend files to include indication
of which auth systems are of production quality (cdb, mysql),
which ones are believed to be generally functional (ldap,
pgsql) and which ones are not recommended (oracle, sybase,
activedir) [832302]
- Review the assorted text files included in the source dir.
Remove out-of-date content / files as appropriate. Updated
some minor typos in the documentation [793659]
- Contributed the README.roamingusers file that provides some
explanation of how the vpopmail roaming users system works.
- Revised the configure.in script to try and improve logic,
formatting, and helpstrings. Also added tests for many new
functions/libraries as per suggestions from autoscan tool.
[828680]
- Contributed README.ipaliasdomains file that provices some
explanation of the how the vpopmail IP Alias Domains system
works
- Modified vdeldomain() so that it emits a warning rather than
aborting should any of the steps in the delete process fail.
The idea is to allow a partially installed domain to be
cleanly and easily removed from the vpopmail system [821972]
Tom Collins
- Update more files involved in the build process.