* XXX XXX XX XXXX XX:XX:XX +0000 @email@ @version@-@release@%{?dist}
Release 3.1-1.1 Start 26/12/2024 End 18/12/2025
- 26/12/2024
01. Renamed scripts with .in extension to .sh
- 01/01/2025
02. qmail-remote.c, tcpto.c, tcpto.h: added tcpto timeout definitions in
    tcpto.h
- 04/01/2025
03. indimail-mta.spec: updated version number for daemontools, ucspi in
    Requires
- 22/01/2025
04. Fix errors when using GCC14
- 02/02/2025
05. test-recipients.c: Fix gcc14 warnings
06. rd-remote.c: initialize use_regex variable before use
- 23/02/2025
07. installer.c: Fix SEGSEGV
- 02/05/2025
08. debian/rules: Fix dh_strip failure for setuid binaries
- 03/05/2025
09. drate.c: added -a option to alias domains to existing domain definition,
    -U option to delete rate control definitions.
10. slowq-send.c, qmail-send.c: reorganized code
11. Updated indimail-mta permissions files for SLES
- 06/05/2025
12. date.c: remove domain name check for special domain .global
13. slowq-send.c, qmail-send.c: reset tv.tv_sec on EINVAL
- 07/08/2025
14. qmail-send.c: Fix X-Bounce-Address
- 03/10/2025
15. svctool: fix TEMP_DATE variable
16. debian/Makefile: added Debian 13
17. surblfilter.c, dns.c, dns_text.c: renamed getshort to get_short to fix OSX
    compilation error
18. read_assign.c: fixed dlen datatype and datatype passed to scan_uint
- 26/10/2025
19. logrotate.mysql: redirect mysqladmin output to /dev/null

* Tue Dec 24 2024 20:28:14 +0000 Manvendra Bhangui <indimail-mta@indimail.org 3.0.9-1.1%{?dist}
Release 3.0.9-1.1 Start 08/08/2024 End 24/12/2024
- 08/08/2024
1. svctool: fixed mariadb db creation for mariadb 11.x on archlinux
- 01/09/2024
2. queue-fix.c: bug - tcpto buffer size was unitialized
- 02/09/2024
3. svctool: fixed uid/gid for qmail-poppass to run under qmaild:indimail
4. svctool: fix STARTTLS issue for imap port 143, pop3 port 110 permission
   reading servercert.pem. Run with qcerts gid
5. qmail-poppass.c: ensure qmail-poppass runs with qmaild:indimail privileges
- 05/09/2024
6. qscheduler: prevent restart of qmail-send on receipt of SIGTERM
7. svctool: umount resolv.conf only when UNSHARE variable is set and
   /etc/indimail/resolv.conf exists
- 27/11/2024
8. smtpd.c: fixed spf error message display in err_spf()
- 21/12/2024
9. smtpd.c: display command name in err_unimpl()

* Tue Aug 06 2024 12:51:02 +0000 Manvendra Bhangui <indimail-mta@indimail.org> 3.0.8-1.1%{?dist}
Release 3.0.8-1.1 Start 05/02/2024 End XX/XX/XXXX
======= Release Highlights ================================================
- Fixed discarded-qualifier compiler warings
- Fixed warnings for gcc14
- Added XOAUTH2 authentication
===========================================================================
- 05/03/2024
01. svctool: mount /etc/indimail/resolv.conf when UNSHARE is set
- 11/03/2024
02. installer.c: fixed displaying size variable, fixed allocation of zerobuf
    variable
- 29/04/2024
03. trynpbg1.c, tryspnam.c: Fix compiler warnings
- 30/04/2024
04. sys-checkpwd.c: display in logs if userpw, shadow is enabled for encrypted
    password lookup
05. test-indimail-mta: updated test script
06. svctool: fixed setting of mysqld options and variables
07. svctool: removed log-error and mysql-native-password
- 09/05/2024
08. fix discarded-qualifier compiler warnings
- 12/05/2024
09. fix function prototypes
10. qmail-smtpd.c, smtpd.c: added env variable PENALTY to make penalty for
    incorrect passwords configurable
- 13/05/2024
11. qmail-rm.c: added -f option to specify strptime format
12. qmail-smtpd.c: added HOSTACCESS to list of env variables used
- 21/05/2024
13. svctool: fix mysqldump incompatibility introduced by oracle
- 22/05/2024
14. svctool: fix checking for vadddomain path
15. svctool: fix db creation for MariaDB > v10.3
- 23/05/2024
16. do_match.c, getDowmainToken.c, qregex.c renamed wildmat_internal to wildmat
17. svctool: added --sysconfdir for indisrvr service creation
- 31/05/2024
18. indimail-mta.spec.in: remove glibc-static in buildrequires for mageia
- 16/06/2024
19. udplogger.c: BUG: fixed SIGFPE when n=0
- 27/06/2024
20. indimail-mta.spec.in: turn of logging for clamd, freshclam before removal
- 16/07/2024
21. smtpd.c, qmail-remote.c: add XOAUTH2 auth methods
22. buffer_defs.h: added defination for BUFSIZE_MEDIUM

* Sun Mar 03 2024 12:20:15 +0000 Manvendra Bhangui <indimail-mta@indimail.org> 3.0.7-1.1%{?dist}
Release 3.0.7-1.1 Start 02/01/2024 End 03/02/2024
======= Release Highlights ================================================
- Performance improvement by replacing select() with poll() in
  timeoutread(), timeoutwrite() in libqmail
- Performance improvment by increasing qmail-queue buffer
- New include file buffer_defs.h for buffer size constants
- replaced dk-filter with qmail-dkim for use in filterargs control file
===========================================================================
- 02/01/2024
01. svctool: fix symbolic links clientcert.pem, scan.conf
02. Makefile: fix compilation error for forward, filterit
03. create_services: renamed cronlist.q, cronlist.i to indimail-mta.cron,
    indimail.cron
- 05/01/2024
04. getDomainToken.c: return correct domain when local or remote delivery is
    not set
- 06/01/2024
05. svctool.in, qlocal_upgrade.in: add supplementary group qcerts for qmails
    user
06. qmail-dkim.c: use new error code DKIM_BAD_IDENTITY for invalid identity
    domain (i= tag)
- 07/01/2024
07. qmail-spamfilter.c: bypass antispam filter when RELAYCLIENT and
    RELAYCLIENT_NOSPAMFILTER is set
08. svctool: updated bogofilter.cf header_format, log_update_format
- 09/01/2024
09. svctool: replace dk-filter with qmail-dkim when creating filterargs
10. qlocal_upgrade.in: repace dk-filter with qmail-dkim in filterargs control
    file
11. spawn-filter.c: display filter used for mail rejected message
12. qmail-dkim.c: added DKIM_BAD_IDENTITY with letter Y
- 10/01/2024
13. qmail-dkim.c: use bouncehost/me control file if BOUNCEDOMAIN is not set -
    Roberto Puzzanghera
14. qmail-dkim.c: set DKIMSIGN to private key from dkimkeys control file
- 10/01/2024
15. filterit.c: reset sgoptpos for repeated calls to subgetopt
16. qmail-dkim.c: reset sgoptind, sgoptpos for repeated calls to subgetopt
- 14/01/2024
17. smtpd.c: prepend '@' to helohost when doing dnscheck
- 17/01/2024
18. svctool.in: fixed permissions of /run/indimail/pwdlookup
- 19/01/2024
19. qmail.h: increased qmail-queue buffer to 8192 for performance (idea from
    Erwin Hoffman)
20. smtpd.c: fixed logerr() cloberring strnum
21. use env variable ALLOW_BARELF to allow bare LF from smtp clients without
    SMTP smuggling
- 23/01/2024
22. include buffer_defs.h for buffer size definitions (inspired by Erwin
    Hoffman).
- 05/02/2025
23. received.c, qmail-queue.c: fixed data field in Received header
- 07/02/2025
24. queue-fix.c: exit if file type (regular, dir, fifo) is different from
    expected
25. queue-fix.c: exit if not running as root
26. queue-fix.c: removed redundant call to fchdir
27. spawn-filter.c: fixes for -n, -N usage
28. spawn-filter.c: modified error messages
29. spawn-filter.c: exit 100 on wrong usage
30. report.c: modified error messages
- 08/02/2024
31. svctool.in: disable envheaders control file for SMTP
32. etrn.c, atrn.c: fixed arguments to die_control
33. autoresponder.c, smtpd.c, qmta-send.c: fix compilation warning when srs2
    lib/include is missing
34. qmail-send.c, qmta-send.c, slowq-send.c: fixed multiplication result
    converted to larger type (codeql)
35. qmail-greyd.c, qmail-daned.c: fix potential use after free()
36. queue-fix.c, installer.c: replace chown, chmod with fchown, fchmod
37. getDomainToken.c: fix match for entries without local/remote directive
38. spawn.c: convert env variable name to upper case in set_env_variables
39. spawn.c: convert '-' in env variable name to '_' in set_env_variables
- 10/02/2024
40. installer.c: removed unused options and fixed check option fixing
    permissions
- 11/02/2024
41. queue-fix.c: added option -S to specify tcpto buffer size
42. queue-fix.c: added option -t to create trash directory for qmail-rm
- 12/02/2024
43. drate.c: replace chown with fchown
44. cleanq.c: use unlinkat() if available instead of unlink()
45. qmail-rm.c: use unlinkat() if available instead of unlink()
46. qmail-rm.c: use renameat() if available instead of rename()
- 14/02/2024
47. test-indimail-mta: added tests for ezmlm-make, ezmlm-sub, ezmlm-unsub,
    ezmlm-list, ezmlm-send
48. test-indimail-mta: added tests for spam filtering by spawn-filter
- 18/02/2024
49. added authcram utility
- 19/02/2024
50. qmail-qfilter.c: exit with exit code of filter
51. qmail-smtpd.c: fix parsing permanent/temporary SMTP code for custom error
52. mailfilter.c: return permanent rejection for both 100 and
    QQ_PERM_MSG_REJECT codes
53. test-indimail-mta: added additional tests for FILTERARGS, qmail-qfilter
- 20/02/2024
54. indimail-mta.spec, DIRS.in: added control/filters.d for user defined
    filters
55. qmail-multi (mailfilter.c): added exit code 99 (blackhole) for
    compatibility with qmail-qfilter
56. qfrontend, qf-log-subject, qf-smtp-ratelimit: make script compatible
    with FILTERARGS as well as qmail-qfilter
57. qfrontend: use control/filters.d directory for user defined scripts
58. qmail-qfilter.c: added exit code 2 (blackhole) for compatibility with
    qmail-multi
59. qmail-showctl.c: added display of user filter directory control/filters.d
60. qmail-showctl.c: display version information for -v option
- 21/02/2024
61. qmail-cat.c: added -e, -t, -v options similar to gnu cat
- 22/02/2024
62. atrn.sh, create_services.in, etrn.sh, maildircmd.sh, maildirsmtp.sh,
    mailsubj.sh, qf-log-subject.in, qf-smtp-ratelimit.in, qlocal_upgrade.in,
    qupgrade.inm smtp-matchup.sh, svctool.in, zsmtp.sh, zspam.sh: replace cat
    with qmail-cat
- 23/02/2024
63. smtpd.c: sanitized variable names for badmailfrom, badrcptto,
    blackholedrcpt, blackholedsender, spamignore 
64. removed blackhole*pattern, spamignorepattern
- 28/02/2024
65. qscheduler.c: removed unreachable statement after _exit()

* Mon Jan 01 2024 18:55:50 +0000 Manvendra Bhangui <indimail-mta@indimail.org> 3.0.6-1.1%{?dist}
Release 3.0.6-1.1 Start 25/10/2023 End 01/01/2024
======= Release Highlights ================================================
- Multiple bug fixes and optimizations
- Refactored ETRN, ATRN code
- New program rd-remote with the same interface as qmail-remote for
  redirecting remote mails
- Added half/full detached mode in qmail-send, todo-proc, slowq-send
- Added negate option for archival feature in qmail-queue
- Added env variable EXCLUDE_DKIMSIGN to exclude headers from
  DKIM signing
- qmta-send major bug fix with flagchan
- Added remote mail redirector rd-remote
- Fixed maildir.c bug which breaks maildirserial. Skip non-regular files
- New program printass to print entries in users/cdb, users/assign file
===========================================================================
- 24/10/2023
01. use matchregex.h from /usr/include/qmail
02. svctool: fixed create_smtp argument check
03. svctool: added /etc/clamd.d to backup.conf
04. mail_acl.c, qregex.c, smtpd.c, uacl.c: use matchregex.h from
    /usr/include/qmail
05. qmail-queue.c: added feature to negate regexp match for archive feature
06. create_services.in: added --secureauth option for smtp port 587
08. create_services.in: added --setuser-priv option for slowq service
09. autoresponder.c, indimail-spamfilter.c: rewind descriptor 0 regardless of
    MAKE_SEEKABLE setting
- 26/10/2023
10. qmail-spamfilter.c: added HAMEXITCODE, UNSUREEXITCODE
11. qmail-spamfilter.c: Fixed working of globalspamredirect + REJECTSPAM
- 27/10/2023
12. do_scan.c, generic.c, getqueue.c, mailfilter.c, qhpsi.c,
    qmail-qmqpc.c: replace hard-coded exit values with constants from qmail.h
13. qmulti.c: unset env variables queue_env, QUEUEPROG to prevent recursion 
14. qmulti.c: refactored code to handle qmail-queue consistently
- 27/10/2023
15. indimail-mta.spec, Makefile, ETC: added backup.conf for svctool backups
16. svctool: skip comments in backup.conf file
- 29/10/2023
17. filterit_sub.c, qmail-queue.c, smtpd.c, qregex.c, bug - error in regexp
    treated as match
18. test-indimail-mta: added test case to test invalid regex expression
19. envrules.c, mail_acl.c, do_match.c: moved do_match to do_match.c
20. use QREGEX to use regexp, else wildmat for control files accesslist,
    mailarchive (qmail-smtpd, qmail-queue)
- 30/10/2023
21. qmail-send.c, slowq-send.c, qmta-send.c: Set QREGEX env variable if qregex
    control file has non-zero qregex
22. envrules.c, getDomainToken.c, qmail-queue.c, qregex.c: Use value of QREGEX
    to use matchregex()
23. smtpd.c: Use do_match for matching host in badhost
24. getDomainToken.c: restore original environment on no match when processing
    dkimkeys
- 03/11/2023
25. qregex.c: fix wildmat when pattern file is missing 
26. smtpd.c: fix nodnscheck for helo/ehlo 
27. test-indimail-mta: added badhelo test
- 05/11/2023
28. smtpd.c: fixed control filename for blackholedrcpt, blackholedrcptpatterns
29. qmail.c: fixed NULLQUEUE
30. tests/test-indimail-mta: added test for blackholedrcpt, blackholdsender
- 13/11/2023
31. test-indimail-mta: added test for nodnscheck
- 20/11/2023
32. qmail-dkim.c: Added env variable EXCLUDE_DKIMSIGN to exclude headers from
    DKIM signing
33. qmail-dkim.c: Added Arc-Authentication-Results header to list of headers
    excluded from DKIM signing
- 26/11/2023
34. atrn.c: use auto_libexec for atrn script
35. smtpd.c: Use TCP6LOCALPORT for smtp_portif TCPLOCALPORT is not set
- 03/12/2023
36. etrn.c, etrn.h: moved hostname validation to valid_hname.c
37. atrn.c, etrn.c: lock dir/seriallock instead of doing it in atrn/etrn scripts
38. create_service, indimail-mta.spec: use infifo service in ODMR service for auth
39. svctool: add STRIP_DOMAIN env variable for local authentication by sys-checkpwd
40. smtpd.c, etrn.sh, atrn.sh: refactored ETRN, ATRN code
41. etrn.sh: use ipauth as IP address whitelist
42. etrn.sh: use ipauth before mx check
- 04/12/2023
43. qmta-send.c: BUG: flagchan wasn't initialized in process_todo()
- 05/12/2023
44. rd-remote.c: Added remote mail redirector
45. envrules.c, mail_acl.c: Fix for invalid rules
46. spawn-filter.c: setup qmail-local, qmail-remote arguments after envrules
   to allow envrules to set/modify QLOCAL, QREMOTE env variables
- 10/12/2023
47. qlocal_upgrade: removed forced update of QMAILLOCAL, QMAILREMOTE env
    variables for qmail-send service
48. rd-remote: added report for qmail-rspawn for maildir delivery
49. report.c, rd-remote.c: added comment on report format for qmail-rspawn
- 09/12/2023
50. etrn.c, atrn.c: use users/cdb to get autoturn directory
51. etrn.c, atrn.c: pass etrn/atrn argument, autoturn dir and domain dir
    as arguments to libexec/etrn, libexec/atrn
52. etrn.sh, atrn.sh: read .qmail-domain-default to get Maildir directory
53. maildirsmtp: use PORT env variable if set as the SMTP port
54. maildirserial.c: removed use of my_puts(), put() functions
55. BUG: maildir.c: skip non-regular in append() function to prevent breaking
    maildirserial
56. serialsmtp: fix skip SMTP QUIT when three args are provided
57. smtpd.c: allow ODMR protocol on none ODMR ports
58. smtpd.c: use atrnaccess control file for local users to access atrn domains
59. test-indimail-mta: added test for ETRN, ATRN
- 10/12/2023
60. printass.c: added program to print entries from users/assign, users/cdb
61. smtpd.c: allow CHECKSENDER to work for local users without virtualdomains
    loaded
62. test-indimail-mta: added test for AUTOTURN
- 11/12/2023
63. qmail-inject.c: do domainqueue on the recipient domain instead of the
    sender domain
- 16/12/2023
64. qmta-send.c: write pid to queue/lock/pid for identity
- 20/12/2023
65. spawn.c: added -4 error code for unable to fork
66. qmail-lspawn.c: refactored code for setting PWSTRUCT environment variable
67. sendmail.c: added -r option to set mailx return path
- 21/12/2023
68. qmail-send.c, slowq-send.c: added concept of half-detached/full-detached
    mode
69. slowq-send.c: use value of TODO_PROCESSOR env variable to run todo
    processor
- 23/12/2023
70. renamed cronlist.q to indimail-mta.cron
71. qmail-send.c, slowq-send.c: terminate todo process when spawn/clean
    process terminates
72. qmta-send.c, slowq-send.c, qmail-send.c, todo-proc.c: log pid during
    startup.
73. todo-proc.c: handle qmail-clean termination
- 24/12/2023
74. qscheduler.c: Handle EINTR for mq_receive().
- 25/12/2023
75. qmail-clean.c, qmail-direct.c, qmail-dkim.c, qmail-multi.c,
    qmail-nullqueue.c, qmail-queue.c, qmail-send.c, qmail-spamfilter.c,
    qmta-send.c, slowq-send.c: Made value of DEATH and OSSIFIED configurable
76. qmail.h: Added compile time definitions for DEATH, OSSIFIED
77. svctool: added --death argument to configure max time in secs that
    qmail-queue can run
78. svctool: create DEATH, OSSIFIED variables as global variables
79. svctool: added option to set env variable ALLOW_BARELF for qmail-smtpd to
    convert bare LF into CRLF
80. smtpd.c: Convert bare LF into CRLF if env variable ALLOW_BARELF is set
- 26/12/2023
81. qlocal_upgrade.in: Fix symbolic link TLS_CIPHER_LIST in
    control/global_vars to point to control/servercipherlist
- 29/12/2023
82. svctool: use split from conf-split, bigtodo=0 when creating queue
83. qlocal_upgrade: fixed copying cron config
- 30/12/2023
84. qmail-send.c, slowq-send.c: return from exit_todo if flagtodoalive is 0
- 31/12/2023
85. smtpd.c, PKGBUILD.in, indimail-mta.spec.in: moved repository to indimail
    org
86. qmail-showctl.c: updated control file list
- 01/01/2024 - indimail-mta-3.0.6

* Tue Oct 17 2023 18:34:04 +0000 Manvendra Bhangui <indimail-mta@indimail.org> 3.0.5-1.1%{?dist}
Release 3.0.5-1.1 Start 11/09/2023 End 17/10/2023
======= Release Highlights ================================================
o svctool: fixed path/MAXDAEMONS in tcpserver run scripts - major bug which
  prevented tcpserver reaching concurrency > 40
o filterit: New filterit command to implement filters
  [filterit](https://github.com/mbhangui/indimail-mta/wiki/filterit.1)
o qmail-lspawn: added filterit and envdir internal command
  [qmail-lspawn](https://github.com/mbhangui/indimail-mta/wiki/qmail-lspawn.8)
o refactored and tested CHECKSENDER code
o added feature to hide IP addresses in Received headers by setting HIDE_IP
  environment variable
o refactored and tested SPF code
o Bugfix SRS code
o Updated test-indimail-mta with additional tests (SPF, SRS, CHECKSENDER,
  CHECKRECIPIENT, etc)
===========================================================================
- 11/09/2023
01. cdb-database: allow comments in input file
02. svctool: localiphost incorrectly configured with IP instead of hostname
03. qmail-showctl.c: fixed descriptions for localiphost, outgoingip
- 13/09/2023
04. maildirdeliver.c: BUG. Remove NULL character appended to rpline, dtline
05. updated dot-qmail, maildirdeliver, qmail-command man pages
- 14/09/2023
06. svctool: fixed path/MAXDAEMONS in tcpserver run scripts [major]
- 15/09/2023
07. preline.c: moved check for env variables after getopt
- 17/09/2023
08. rspamstat.sh: Fixed division by zero when total=0
09. qmail-local: added internal filter command for dot-qmail [major]
10. filterit: added external filter command for dot-qmail [major]
- 19/09/2023
11. filterit_sub.c: fixed multiple invocation of filterit_sub1()
12. updated RCS logs for qmail-local.c, indimail-mta.spec, Makefile,
    filterit.c, filterit_sub.c
13. test-indimail-mta: added tests for internal and external filterit command
14. svctool: prevent dangling symbolic links in global_vars
15. filterit_sub.c, forward.c: added X-Forwarded-To, X-Forwarded-For headers
16. filterit_sub.c, forward.c: include hassrs.h to enable SRS
17. qmail-lspawn.c: set supplementary groups for user if SETUSER_PRIVILEGES is
    defined
18. qmail-lspawn.c: New exit code QLX_UIDGID for uid, gid, group setting
    errors
19. svctool: added --setuser-priv option to make qmail-lspawn set
    supplementary groups when running qmail-local
- 20/09/2023
20. indimail-mta.spec, qlocal_upgrade: pass --setuser-priv to svctool for qmail-send service
31. qmail-local.c: added X-Forwarded-To, X-Forwarded-For headers when
    forwarding
32. qmail-local, svctool: added SANITIZE_ENV to clear environment variables
    for dot-qmail commands
33. added '%' option in dot-qmail to add env variables from a directory
- 23/09/2023
34. svctool: Skip MYSQL_OPT_RECONNECT for mysql version > 8.0.34
35. qmail-local.c: added MESSID to the environment variables to be preserved
- 24/09/2023
36. spf.c: refactored code
37. spf.h: removed reference to dead/not working spf explanation URLs
38. spfquery.c: exit with return value of spfcheck()
39. tests/test-indimail-mta: added spf tests
- 27/09/2023
40. svctool: clear temporary files /tmp/hostip.*
- 30/09/2023
41. svctool: added --chksender option to enable CHECKSENDER
42. qmail-lspawn.c: skip setuser_privileges for non-etc-passwd users
- 02/10/2023
43. smtpd.c: Fix (double) error message for unsupported AUTH method
44. smtpd.c: Fix SEGV when decoding SRS recipient address [major]
45. svctool: make QmailHOME, INDIMAILDIR configurable through env variable
46. autoresponder.c: decode SRS return path address
47. srs.c: fix srs_result len due to stralloc_0()
48. tests/tests-indimail-mta: Added tests for SRS
49. qmail-inject.c, qmail-local.c, qmail-send.c, qmta-send.c, slowq-send.c,
    smtpd.c: Fixed copying srs_result
- 03/10/2023
50. qmail-lspawn.c: use env variable QMAILGETPW to execute alternate
    qmail-getpw
51. spawn-filter.c: use env variable QLOCAL, QREMOTE to execute alternate
    qmail-local, qmail-remote
- 05/10/2023
51. maildir.c, maildirserial.c, serialqmtp.c, serialsmtp.c: updated coding
    style
- 07/10/2023
52. smtpd.c, qmail-qmtpd.c, qmail-queue.c, received.c, mini-smtpd.c: use env
    variable HIDE_HOST to hide IP, host in received headers
- 11/10/2023
53. qmail-smtpd.c: added env variable HIDE_HOST to be displayed with -v option
- 16/10/2023
54. svctool: added --secureauth option to create env variable SECURE_AUTH for
    SMTP service on port 587
55. indimail-mta.spec, debian/indimail-mta-postinst: added --secureauth option
    for smtp service on port 587
56. smtpd.c: pass flag=2 to err_nogateway for checksender
- 17/10/2023
57. qmta-send.c: fixed path for qmail-lspawn, qmail-rspawn, qmail-clean

* Fri Sep 08 2023 11:58:03 +0000 Manvendra Bhangui <indimail-mta@indimail.org> 3.0.4-1.1%{?dist}
Release 3.0.4-1.1 Start 24/04/2023 End 08/09/2023
======= Release Highlights ================================================
o fixed functions using variable args dumping core
o RPM builds for amazon linux and mageia
o added timestamp in installation logs
===========================================================================
- 24/04/2023
01. svctool: when replacing in recontrol, use exact match
02. qmail-send.c, qmta-send.c, slowq-send.c, qsutil.c, delivery_rate.c: Use
    NULL instead of 0 for null pointer
- 25/04/2023
03. custom_error.c: removed use of static variables as function is noreturn
04. svctool: synced daemontools/minisvc, indimail-mta/svctool create_svscan
    function
- 06/05/2023
04. svctool: added --config=selinux option to create selinux module from .te
    file
05. indimail-mta.te: updated selinux rules
- 20/05/2023
06. create_services: allow creation of mysql db even if indimail is not
    installed
07. skip creation of indimail user, database if mysql_user is null
- 31/05/2023
08. Fixes for amazon linux in indimail-mta.spec
09. set_environment.c: skip local env variable processing of .defaultqueue if
    SKIP_LOCAL_ENVIRONMENT is set
10. qmail-showctl.c: restore HOME env variable after env_clear
11. dknewkey: allow non-root user to execute dknewkey
12. indimail-mta.spec, debian/indimail-mta.postinst, create_services: create
    defaultqueue parameters without DKIM signing
- 08/06/2023
13. svctool:updated for pwdlookup, inlookup changes for using /run, /var/run
14. svctool: fixes for clamd service
15. indimail-mta.spec, debian/*: add timestamps to installation logs
- 10/06/2023
16. svctool: added --config=nssd option to create nssd config file
- 25/06/2023
17. qsutil.c: removed extra / from defaultdelivery control filename path
- 07/07/2023
18. svctool: fix MySQL db creation for MariaDB 11.x
19. qmail-remote.c, smtpd.c, qmail-greyd.c, mail_acl.c, starttls.c: use NULL
    instead of 0 for null pointer
20. mail_acl.c: fixed incorrect call to out()
21. dossl.c: fixed potential SIGSEGV
- 10/07/2023
22. svctool: set permission of logrotate.mysql to mysql:mysql
- 11/07/2023
23. condredirect.c, condtomaildir.c: added -r reverse option to forward when
    program fails instead of when program succeeds.
- 13/07/2023
24. dnstlsarr.c: refactored code to reduce loc
25. auto-uid.c, auto-gid.c: replaced outs() with subprintf
26. ldap-checkpwd.c, sys-checkpwd.c: replaced out() with subprintf()
27. qmail-rm.c: replaced out(), logerr() with subprintf()
28. whois.c: replaced logerr(), logerrf() with subprintf()
29. sys-checkpwd.c: Fixed out of memory error for POSTAUTH
- 24/07/2023
30. create_services: fixed typo for mysql_pass in create_services
- 26/07/2023
31. smtpd.c: renamed check_recipient_cdb() to recipients_ext()
- 27/07/2023
32. svctool: use mariadb-admin if present instead of mysqladmin
- 30/07/2023
33. svctool: fixed nodnscheck update in recontrol
- 02/08/2023
34. svctool: put max supported protocol in tls[client|server]method
35. queue-fix.c: added argument for -b option to specify bigtodo or nobigtodo
- 04/08/2023
36. qmail-remote.c: BUG qmail-remote trying SMTP AUTH when it shouldn't
    [25] https://sourceforge.net/p/indimail/support-requests/25/
37. drate.c: added missing call to uidinit()
38. smtpd.c: refactored error logging using die_read, die_write
- 08/08/2023
39. sslerator.c: use strerr_tls for tls errors
- 14/08/2023
40. recipients.c: allow any number of arguments for pluggable address
    verification module
41. smtpd.c: use sleep before sending message to client
42. test-recipients.c: handle all exit codes of pavm
- 17/08/2023
43. smtpd.c: initialize few left out variables in smtp_init
44. qmail-local.c: display program/command if crashed in logs
- 18/08/2023
45. svctool: preserve permission of control files in recontrol
- 20/08/2023
46. dossl.c: use clientcipherlist for tlsv1_2 and below, clientciphersuite for
    tlsv1_3 and above
47. dossl.c: use TLS_CIPHER_LIST for tlsv1_2 and below, TLS_CIPHER_SUITE for
   tlsv1_3 and above
48. dossl.c: use SSL_set_cipher_list for tlsv1_2 and below,
    SSL_set_ciphersuits for tlsv1_3 and above.
49. dossl.c: return 0 for connnection/negotiation failure in do_tls()
    for qmail-remote to retry connection in non-tls mode
50. qmail-remote.c: removed unused function perm_tlslcientmethod()
51. qmail-remote.c: BUG: Fixed wrong usage of quit()
52. qmail-remote.c: retry failed TLS/SSL connection attempt with non-TLS connection
53. qlocal_uprade.in: move tlsclientciphers to clientcipherlist,
    move tlsserverciphers to servercipherlist
54. smtpd.c: use servercipherlist for tlsv1_2 and below, serverciphersuite for tlsv1_3 and above
55. smtpd.c: use TLS_CIPHER_LIST for tlsv1_2 and below, TLS_CIPHER_SUITE for
    tlsv1_3 and above
56. smtpd.c, qmail-remote.c: No defaults for missing tlsservermethod,
    tlsclientmethod
57. qmail-smtpd.c: added TLS_CIPHER_SUITE env variables in print_details
58. sslerator.c: let default ciphers be set by tls_init()
59. sslerator.c: use TLS_CIPHER_LIST for tlsv1_2 and below, TLS_CIPHER_SUITE
    for tlsv1_3 and above
60. svctool: renamed tlsclientciphers, tlsserverciphers to clientcipherlist,
    servercipherlist for TLSv1_2
61. svctool: added clientciphersuite, serverciphersuite control files for
    TLSv1_3
62. svctool: link TLS_CIPHER_LIST to servercipherlist, TLS_CIPHER_SUITE to
    serverciphersuite as default CIPHERS for TLSv1_2, TLSv1_3
63. smtpd.c, dossl.c: new feature Min:Max format for tlsclientmethod,
    tlservermethod
- 27/08/2023
64. smtpd.c: changed location of flagbarfspf check
65. test-indimail-mta: use default ciphers set by svctool
- 28/08/2023
66. qmail-remote.c: BUG from 52: fixed extra connect being made for servers
    without STARTTLS capability
67. dossl.c: return 2 for tls connection/negotiation failure
- 29/08/2023
68. Makefile, indimail-mta.spec, PLUGINS: removed example plugin
69. debian/rules: added -fno-lto flag
70. tests/test-indimail-mta: added test for qmail-remote to do STARTTLS and
    SMTPS
- 05/09/2023
71. qregex.h, matchregex.[c.h]: moved matchregex.c, matchregex.h to libqmail
72. dk-filter.sh: Added missing NODKIMKEY feature to turn off dkimkeyfn
- 07/09/2023
73. surbfilter.c: Log debug messages on descriptor 5
74. surblqueue: Redirect debug messages from surbfilter to SURBL_DEBUG_FN if
    set
75. smtpd.c: Use last line to set error message from error strings returned by
    qmail_close()
76. surblfilter.c: display the SURBL blocked uri in message
- 08/09/2023
77. qfrontend: make libexecdir, controldir configurable using env variables
78. qmail-qfilter: BUG FIX: qmail-multi, qmail-queue wasn't getting executed

* Sun Apr 23 2023 17:51:54 +0000 Manvendra Bhangui <indimail-mta@indimail.org> 3.0.3-1.1%{?dist}
Release 3.0.3-1.1 Start 01/02/2023 End 23/04/2023
======= Release Highlights ================================================
o ability to set environment variables usig dkimkeys and facilitate
  multi-signature generation (RSA/ED25519)
o Many new mrtg graphs added
===========================================================================
- 01/02/2023
01. qmail-dkim.c, getDomainToken.c: use dkimkeys to set env variables. Can be
    used to facilitate rsa/ed25519 multi-signature generation
02. qmail-dkim.c: use DKIMSignReplaceHash() to change signature encryption
    method
- 04/02/2023
03. dk-filter.sh: refactored for multi-signature generation
- 05/02/2023
04. dknewkey.sh: made key type case insensitive
05. dknewkey.sh: removed newlines from public key records
06. dknewkey.sh: added -e, --enforce option to disable testing mode for dkim
    key
- 07/02/2023
07. qmail-qread.c: BUG: Fixed SIGSEGV
08. qmail-qread.c: skip dynamic queue if DYNAMIC_QUEUE is not set
- 08/02/2023
09. qmail-qread.c: auto determine dynamic queue using /dev/shm/qscheduler
10. qscheduler.c: merged sigterm, die() functions
11. getqueue.c: include stdint.h for uint32_t definition
12. qmail-smtpd.c, qmail-qread.c, nowutc.c: fixed format string for subprintf
13. hasstdarg.h: fixed HAVE_STDARG_H define
14. qmail.h: added perm_error, temp_error macro to evaluate perm/temp errors
15. qmail.c: use perm_error/temp_error from qmail.h to evaluate perm/temp
    error
- 11/02/2023
16. dknewkey.sh: generate ed25519 public key without ASN.1 structure (skip
    first 12 bytes)
- 12/02/2023
17. qmail-dkim.c: replaced exit code 70 with QQ_PID_FILE
18. cdbget.c: added -n option for searching cdb created by cdb-database
19. qmail-newu.c, cdb-database.c: refactored code
20. dk-filter.sh, qmail-dkim.c: use VERBOSE variable to turn on debug for
    signature verification status on fd 2
- 13/02/2023
21. removed yahoo domainkeys
- 14/02/2023
22. cleanq.c, qhpsi.c, qscanq.c: renamed auto_uidc, auto_gidc to auto_uidv, auto_gidv
23. dknewkey.sh: use qcerts group for certificate group permission
24. get_uid.c: added qcerts group ID for certificate group permissionA
25. get_uid.c: renamed auto_uidv, auto_gidv to auto_uidi, auto_gidi
26. get_uid.c: added auto_gidc for qcerts group ID
27. indimail-mta.spec: added group ID qcerts for certificate group permissions.
28. perm_list.in: updated group ownership of certs, domainkeys directory to
    qcerts
29. qlocal_upgrade.in: add group ID qcerts
30. qlocal_upgrade.in: updated group id of certs to qcerts
31. qlocal_upgrade.in: added qcerts as supplementary group for qmaild, qmailr
    and apache
32. qmail-poppass.c, sql-database.c: renamed auto_uidv to auto_uidi, auto_gidv
    to auto_gidi
33. qmail-showctl.c: renamed auto_uidv to auto_uidi, auto_uidc to auto_uidv,
    auto_gidv to auto_gidi
34. qmail-showctl.c: added auto_uidc for qcerts group ID
35. qmail-sql.c: renamed auto_uidv, auto_gidv to auto_uidi, auto_gidi
36. smtpd.c: fix dossl function - return on error
37. svctool.in: use tcpserver -u qmaild for running qmail-smtpd for qcerts
    supplememtary group
38. svctool.in: create qcerts group ID and added qcerts as supplementary group
    for qmailr, qmaild, apache
39. svctool.in: create certs with root:qcerts owner:group
40. update_tmprsadh: create rsa/dh parameter files with root:qcerts
    owner:group
41. create_services.in, svctool.in, indimail-mta.spec.in,
    debian/indimail-mta.postinst.in: added --setgroups to set USE_SETGROUPS
    env variable for qmail-start
- 15/02/2023
41. svctool.in: run indisrvr with additional qcert group ID privilege
- 17/02/2023
42. smtpd.c: reworded smtp errors 
43. smtpd.c: handle error code from commands() function
44. qmail-dkim.c: added env variable NODKIMKEYS to disable reading of dkimkeys
    control file
45. qmail-dkim.c: disable dkimkeys when doing DKIMSIGNEXTRA
46. dk-filter.sh: set environment variables set in dkimkeys control file
- 18/02/2023
47. sys-checkpwd.c: replaced strerr_warn with subprintf
- 19/02/2023
48. dk-filter.sh: added unset variables feature of dkimkeys, for var=val when
    val is not set
- 20/02/2023
49. smtpd.c: use plaintxtread for ssl connection to avoid abnormal exit during
    smtp auth
50. svctool.in: run qmail-smtpd with qmail group privilege to access
    control/host.mysql
- 03/03/2023
51. svctool.in: fixed libindimail control file generation
52. svctool.in: fixed nooverwrite for qmail-send, slowq-send service
53. create_services.in: run svctool only when running as uid 0
- 07/03/2023
54. svctool.in: added --certdir option to override default certificate
    location when generating new certs
- 08/03/2023
55. srsfilter.c: discard double, triple bounces
56. qmta-send, slowq-send: Fixed makefile to enable SRS
57. qmta-send.c, slowq-send.c: fixed but with handling SRS address
- 09/03/2023
58. svctool.in: skip creation of .qmail aliases when --postmaster is not
    specified
59. smtpd.c: fixed error "Non-existing DNS_MX: MAIL" for invalid batv signatures
- 10/03/2023
60. qmail-remote.c: skip smtp_auth function if remote doesn't support
    authenticated smtp
61. svctool.in: run imapd, pop3d with additional qcert group privilege for
    certificate access
- 11/03/2023
62. smtpd.c: set SHUTDOWN env variable as an empty string for ODMR when
    childprog is not provided
63. qmail-remote.c: display protocol as SMTPS when using TLS
64. create_services.in, indimail-mta.spec, debian/indimail-mta.postinst.in:
    use --forceauthsmtp, --starttls options for odmr service on port 366
65. svctool.in: Fixed setting AUTH variables (REQUIREAUTH, AUTHMODULES) for
    ODMR service
- 12/03/2023
66. qmail-smtpd.c: change cwd using SYSCONFDIR env variable
67. qmail-cdb.c: allow workdir to be overriden by SYSCONFDIR, CONTROLDIR env
    variables
68. test-recipients.c: use env variable SYSCONFDIR to override /etc/indimail
    for user/recipients
69. recipients.c: refactored recipients extension
70. recipients.c: fixed bug with string comparisions
- 13/03/2023
71. dknewkey.sh: use fold command to split public key string
- 17/03/2023
72. svctool.in: fixed using sysconfdir for indimail.cnf
- 20/03/2023
73. dknewkey.sh: new split_str function REF: sagredo.edu comment2961
74. svctool: removed field mailing_list from vfilter table
75. svctool: updated logging options for mysqld service
76. svctool: create logrotate.mysql for rotating mysqld logs in cron
77. svctool: use sysconfdir variable for indimail.cnf
- 21/03/2023
78. svctool: new function do_exit to premature exit normally
- 26/03/2023
79. autoresponder.c, doc/ChangeLog, qmail-qfilter.c, serialcmd.c, sslerator.c,
    sys-checkpwd.c: fixed code for wait_handler
- 28/03/2023
80. qmail.c: replaced few left-over exit codes with constants from qmail.h
81. qmail.c: new feature: QMAILQUEUE with one or more arguments
82. qmulti.c: queue program can be specified on command line
83. svctool.in: use qmail-dkim qmail-spamfilter chain in QMAILQUEUE
84. svctool.in: override bogofilter.cf path with --sysconfdir
- 29/03/2023
85. qlocal_upgrade.in: upgrade qmail-send, slowq-send service to use
    --setgroups
- 30/03/2023
86. smtpd.c: replaced SSL_shutdown(), SSL_free() with ssl_free() to fix
    SIGSEGV in qmail/tls.c
87. debian/rules: fixed typo qlocal_upgrade, qupgrade script names
88. svctool: fixes for mariadb ssl setup (permissions)
89. svctool: fix libindimail path on debian
- 01/04/2023
90. indimail_stub.c: refactored getlibObject() function
- 04/04/2023
91. svctool: updated mrtg graphs
- 05/04/2023
92. svctool: added --config=snmpdconf for creating /etc/indimail/snmpd.conf
- 06/04/2023
93. svctool: added command to create /etc/indimail/snmpd.conf
94. indimail-mta.spec: added /etc/indimail/favicon.base64 image for mrtg
    graphs
95. svctool: --mrtg command - added favicon.png to mailmrtg/index.html
- 08/04/2023
96. svctool: added mrtg graphs for inlookup queries
- 09/04/2023
97. svctool: added mrtg graphs for inlookup cache hits and dnscache
98. svctool: added mrtg graphs for qmta-send
- 16/04/2023
99. svctool: fixed /var/indimail/mysqldb/ssl group permissions
- 17/04/2023
100.svctool: added set_mysql_ssl_permission function
- 21/04/2023
101.svctool: set permissions for supervise/control for qscanq, inlookup
    service
102.svctool: reduce wait time for mysql service for pwdlookup, inlookup
    service
103.svctool: set client-key permission to 640 for mariadb
- 23/04/2023
104.svctool: pass username and password argument for mysqldb creation
105.svctool: added qmail group to imap/pop3 run scripts for write access to
    tcp directory

* Mon Jan 30 2023 13:14:56 +0000 Manvendra Bhangui <indimail-mta@indimail.org> 3.0.2-1.1%{?dist}
Release 3.0.2-1.1 Start 08/09/2022 End 30/11/2023
======= Release Highlights ================================================
o SRS decoding in qmail-smtpd avoiding the need to create virtualdomain for
  srs and .qmail-srs-default in /var/indimail/alias
o qmail-remote can use credentials stored in remote_auth.cdb using simple or
  wildcard assignments
o qmail-smtpd: display auth method used in logs when SECURE_AUTH is set
o sys-checkpwd.c: display auth method in logs if DEBUG is set
o qmail-dkim: recursively replace all '%' characters with domain
o qmail.c, qmail.h: use exit code defines from qmail.h
o qmulti.c, qmail-spamfilter.c, qmail-queue.c, qmail-qfilter.c,
  qmail-multi.c, qmail-dkim.c, qmail-dk.c, mailfilter.c: use exit code
  defines from qmail.h
o moved tls functions to libqmail. Use common tls functions in smtpd.c,
  qmail-remote.c from libqmail
o modified log functions to use varargs
o use subprintf (printf like function that can print to substdio).
o smtpd.c: added ssl cipher bits in Received header
o conf-cc Added flags to warn issues with variadic functions
o qmail-dkim: sign and verify ed25519 DKIM-Signature
o qmail-dkim.c: added DKIMSIGNEXTRA, DKIMSIGNOPTIONSEXTRA env variables to
    insert additional signature
===========================================================================
- 08/09/2022
01.  First change
02.  maildir_deliver.c: added comments
- 18/09/2022
03.  instcheck.in: use uininstaller only for ucspi-tcp
04.  INPUT, ETC: renamed DIR to DIRS
- 19/09/2022
05.  svctool: added scram, salted, TIMESTAMP column to indimail table
06.  create_services: run ischema -u to update indimail schema to current
- 25/09/2022
07. qmail-send: added feature to disconnect from todo-proc
08. todo-proc: added feature to disconnect from qmail-send
- 27/09/2022
09. qmail-send.c, slowq-send.c: auto attach to todo-processor when there are
    no pending delivery jobs
10. svctool: added --todo-proc option to create TODO_PROCESSOR env variable
    for external todo processor in slowq-send service
11. indimail-mta.spec.in, create_services, debian-postinst: Create slowq-send
    service with todo processor turned on
- 28/09/2022
12. dk-filter: remove '%' from filename if dkim key file not found
- 30/09/2022
13. set owner to root for important directories
- 02/10/2022
14. dknewkey.sh: refactored code
15. dkfliter.sh: don't treat missng private key as error when DKIMSIGN has %.
16. qmail-dk.c: fixed 'Private key file does not exist' for DKSIGN with '%'
17. qmail-dkim.c: fixed 'Private key file does not exist' for DKIMSIGN with '%'
- 03/10/2022
18. qscanq.c, qmail-dk.c, qmail-dkim.c: fixed return exit codes
- 04/10/2022
19. qmail.c, qmail.h: set ERROR_FD to -1 to disable custom error
20. qmail-queue.c: prefix qhpsi error messages with 'qhpsi: '
- 07/10/2022
21. smtpd.c: fixed length of BATV signkey
- 08/10/2022
22. smtpd.c: Set SPFRESULT env variable for qmail-queue frontend and qfilters
- 09/10/2022
23. smtpd.c, qmail-inject.c: removed include wildmat.h
24. sqlmatch.c: renamed check_db() to query_db().
25. qmail-local.c: fixed localdomains restricted delivery feature
- 10/10/2022
26. renamed qmail-control to indimail-control, qmail-srs to indimail-srs
- 12/10/2022
27. srs.c: return -1 in setup() for control file open failure
28. srs.c: added documentation
29. smtpd.c: added SRS code to decode SRS addresses
30. srs.c: added feature to set SRS parameters using environment variables
- 13/10/2022
31. batv.h: added header to define constants for batv functions for use in
    qmail-smtpd, qmail-remote, batv frontent
32. qmail-remote.c: refactored batv code
33. qmail-smtpd.c: refactored batv code
34. qmail-smtpd, qmail-remote: use batv prefix for batv control files
35. qmail-smtpd, qmail-remote: allow batv parameters to be set via env variables
36. renamed batv control files: signkey - batvkey, signkeystale, batvkeystale,
    nonsignhosts - batvnosignremote, nosignmyvdoms - batvnosignlocals
- 14/10/2022
37. smtpd.c: corrected helocheck
38. smtpd.c: display auth method used in logs when SECURE_AUTH is set
39. spf.c, smtpd.c, spfquery.c: renamed variable for localhost from local to localhost
- 15/10/2022
40. qmail-smtpd.c: updated control file list and env variable list
41. smtpd.c: reorganized opening of control files in to functions -
    open_control_files1() and open_control_files2()
- 17/10/2022
41. qmail-dkim.c, qmail-dk.c: replace all '%' characters with domain
42. qmail.c, qmail.h: use exit code defines from qmail.h
43. qmulti.c, qmail-spamfilter.c, qmail-queue.c, qmail-qfilter.c,
    qmail-multi.c, qmail-dkim.c, qmail-dk.c, mailfilter.c: use exit code
    defines from qmail.h
- 19/10/2022
44. ofmipd.c: authorize mails using RELAYCLIENT
- 22/10/2022
45. qmail-queue.c: treat auto_uidd as another uid for Received header
46. smtpd.c, qmail-qmqpd.c, qmail-qmtpd.c, mini-smtpd.c:  added program
    identifier to Received header
- 30/10/2022
47. smtpd.c: removed skip setting STOREDKEY, SERVERKEY using GSASL_PASSWORD
    env variable
48. sys-checkpwd.c: display auth method in logs if DEBUG is set
49. qmail-daned.c, qmail-greyd.c, qmail-remote.c: replaced cdb_match() with
    cdb_matchaddr() in cdb_match.c
50. cdb_match.c, cdb_match.h: added cdb_match(), cdb_matchaddr()
51. ctrlenv.c: added -c option to clear existing env variables
52. ctrlenv.c: moved cdb_match() function to cdb_match.c
53. qmail-remote.c: fetch username password for authenticated smtp from
    remote_auth.cdb
- 31/10/2022
54. cdb-database.c, ctrlenv.c: look at last colon when parsing data
55. qmail-smtpd: do chdir /etc/indimail as default cwd
56. svctool: PLUGIN0_dir - use /etc/indimail as cwd for smtpd plugin
57. remove qmail-newmrh. Use qmail-cdb instead of qmail-newmrh
58. qmail-cdb.c: added feature to create recipient.cdb from users/recipients
    making recipient-cdb redundant
59. recipients.c: use control/recipients insead of user/recipients
60. recipients.c: fix for SRS rewritten addresses.
- 01/11/2022
61. added test-recipients, make-recipients programs
- 03/11/2022
62. qmail-showctl.c: added remote_auth, recipients control file
- 05/11/2022
63. svctool: added --enablecram option to enable CRAM authentication using
    encrypted password
64. sys-checkpwd.c: Use ENABLE_CRAM env variable to enable CRAM authentication
    using encrypted password
- 07/11/2022
65. create_services: removed domainkeys setup for new installations
- 08/11/2022
66. qmail-remote.c: clear input buffer when trying next MX (Franz Sirl)
- 09/11/2022
67. dk-filter.sh, make-recipients.sh, svctool.in: replaced deprecated egrep
    with grep -E
- 14/11/2022
68. smtpd.c: set DISABLE_EXTRA_GREET environment variable to disable extra
    information in greeting
69. svctool.in: when importing variables don't treat existing variables as
    error
- 23/11/2022
70. config-fast: added command line options --destdir, --quiet, --verbose
71. load_mysql.c, qmail-showctl.c, smtpd.c, svctool: renamed control file
    mysql_lib to libmysql
72. qlocal_upgrade.sh: rename mysql_lib to libmysql on upgrade
73. svctool.in: change invocation of config-fast for command line args
74. svctool.in: create backup.conf config file in default_qmail_control
- 24/11/2022
75. slowq-send.c, todo-proc.c: in todo-processor changed variable type to
    char when reading single byte from send process
76. timeoutconn.c - Converted functions to ANSIC prototype
- 25/11/2022
77. svctool: include output of --dumpconfig, --print-all-variables in backup
- 28/11/2022
78. dknewkey.sh: list public, private key using ls
- 30/11/2022
79. svctool.in: create servercert.rand file
- 02/12/2022
80. qlocal_upgrade.in: add env variable AUTOSCAN for svscan if missing
- 03/12/2022
81. svctool: do ssl/rsa setup for mysql/mariadb before creating indimail.cnf
- 07/12/2022
82. svctool: fixes for MySQL db, ssl certificates creation
- 14/12/2022
83. svctool: svscan run - check if /etc/indimail/resolv.conf exists before
    attempting mount --bind
- 18/12/2022
84. autoresponder.c, qmail-qfilter.c, serialcmd.c, sslerator.c,
    sys-checkpwd.c: handle wait status in detail
- 20/12/2022
85. dns.c: Fixed dns_txt(), dns_ptr() strsalloc_append
86. spf.c: added ssa_free() to free strsalloc variable
- 21/12/2022
87. spf.c: changed scope of strsalloc ssa variable to local
88. dns.c: renamed dns_txtplus(), dns_ptrplus() as dns_txt(), dns_ptr()
- 22/12/2022
89. smtpd.c: log timeouts, regex compilation error, Bare LF errors in error
    log
- 24/12/2022
90. smtpd.c: removed incorrect call to constmap_free()
- 25/12/2022
91. sslerator.c: refactored code
91. sslerator.c: added options to specify cipher file, CA file and TLS method
- 26/12/2022
92. smtpd.c: use TLS_PROVIDER env variable to write TLS info in logs, headers
93. smtpd.c: use env variable HOSTNAME, gethostname to set localhost
    variable
- 03/01/2023
94. 822date.c, 822print.c, 822received.c, maildirserial.c, new-inject.c,
    nowutc.c, ofmipd.c, parsedate.c, set_environment.c: removed
    auto_sysconfdir.h dependency
95. dnstlsarr.c, qmail-daned.c: use tls.h from libqmail
96. Makefile: removed ssl functions and auto_sysconfdir dependency for
    programs not using auto_sysconfdir
97. tablematch.c: Set hints.ai_socktype to SOCK_STREAM
98. qmail-remote.c: set default certificate dir to /etc/indimail/certs
99. qmail-remote.c: use set_tls_method() from libqmail
100.starttls.h: define variables used in qmail-daned, dnstlsarr as extern
101.smtpd.c: redefine saferead, safewrite to use tlsread, tlswrite from
    libqmail
102.smtpd.c, sslerator.c: replace internal TLS function with TLS functions
   from libqmail
103.smtpd.c: made global variables static
104.smtpd.c: fixed erroneous "out of memory" instead of "command too long"
    error
105.sslerator.c: changed default cert location to /etc/indimail/certs
106.sslerator.c: replace internal TLS function with TLS functions from
    libqmail
107.sslerator.c: added timeouts for connection accept
108.starttls.c: replace set_tls_method() from libqmail
109.starttls.c: made global variables static
110.qmail-greyd.c, qmail-daned.c, udplogger.c: removed __USE_GNU
- 04/01/2023
111.starttls.c: fixed incorrect setting of smtptext
- 06/01/2023
112.startls.c, qmail-remote.c: moved tls/ssl functions to dossl.c
113.dossl.c, dossl.h: tls/ssl support functions for qmail-remote,
    qmail-daned, dnstlsarr
114.qmail-daned, qmail-remote, dnstlsarr, Makefile: Link with dossl.o
115.smtpd.c: Fixed compilation for non-tls
116.smtpd.c: shutdown ssl on smtp quit
- 07/01/2023
117.smtpd.c: remove duplicate free of ssl object after tls_accept
- 11/01/2023
118.sslerator.c: added -N option to allow client side renegotiation
119.smtpd.c: Use env variable CLIENT_RENEGOTIATION to allow client-side
    renegotiation.
- 13/01/2023
120.envrules.c, Makefile: moved parse_env function to parse_env.c
121.indimail-mta.spec, indimail-mta.postinst.in: use AUTH=login as default for
    qmail-remote auth smtp
122.qmail-remote.c: moved setting relayhosts variable to get_relayhosts()
123.qmail-remote.c: added feature to set env variables from [q,s]mtproutes, remote_auth.cdb
124.parse_env.c, parse_env.h: added parse_env function
125.qmail-remote.c: fixed bug with AUTH PLAIN authentication
- 15/01/2023
126.delivery_rate.c: use slog() with varargs for logging errors
127.dossl.c, dossl.h: prototype change for quit function with varargs
128.Makeflie: added varargs.h dependency for files using varargs
129.qmail-smtpd.c, qmail-greyd.c: logerr(), out() changed to have varargs
130.qmail-remote.c, starttls.c: quit() function changed to have varargs
131.qmail-remote.c: handle auth smtp error codes using decode_smtpauth_err()
    as per RFC4954
132.qmail-remote.c: Use env variable SMPTS to immediately start in encrypted
    mode
133.qmail-send.c, qmta-send.c, slowq-send.c: use slog() function with varargs
    to log error messages
134.slowq-send.c: use todo_log() function with varargs to communicate with
    todo process
135.qsutil.c: use slog() function with varargs to replace all log functions
136.todo-proc.c: use todo_log() function with varargs to log messages to
    qmail-send
137.mail_acl.c: changed function out() to match function in qmail-smtpd
138.smtpd.c: set remoteip variable before first use of logerr()
129.smtpd.c: make logerr safe by checking for remoteip
130.spf.c: documented macros
131.spf.h: changed SPF_DEFEXP to use open-spf.org/Why
132.uacl.c: out() changed to have varargs
133.received.c: folded Received header line to put date below
134.smtpd.c: added ssl cipher bits in Received header
- 18/01/2023
135.nowutc.c, qmail-qread.c, qmail-smtpd.c, qmail-showctl.c, qmonitor.c:
    replaced qprintf with subprintf
- 21/01/2023
136.Added flags to warn issues with variadic functions
- 26/01/2023
137.dknewkey.sh: added option to generate ed25519 DKIM keys
138.qmail-dkim.c, dk-filter.sh: removed setting redundant -b option
139.qmail-dkim.c: update verification message to include ED25519 failure
- 29/01/2023
140.qmail-dkim.c: fixed getopt setting to set ed25519 signing
141.qmail-dkim.c: added DKIMSIGNEXTRA, DKIMSIGNOPTIONSEXTRA env variables to
    insert additional signature
- 30/01/2023
Final Release 3.0.2

* Thu 08 Sep 2022 12:31:45 +0000 Manvendra Bhangui <indimail-mta@indimail.org> 3.0.1-1.1%{?dist}
Release 3.0.1 Start 21/05/2022 End 08/09/2022
======= Release Highlights ================================================
o added SCRAM authentication SCRAM-SHA-1, SCRAM-SHA-256, SCRAM-SHA-1-PLUS
  SCRAM-SHA-256-plus in qmail-smtpd and qmail-remote
o added CRAM-SHA224, CRAM=SHA-384 authentication methods in qmail-smtpd,
  qmail-remote
o Converted man pages to markdown for indimail wiki
===========================================================================
- 21/05/2022
01.  svctool: redirect envdir error message for missing dir to /dev/null
- 26/05/2022
02.  svctool: fix original value of me getting overwritten by config-fast
- 01/06/2022
03.  dnsbl.c: skip dnsblcheck for loopback addresses
04.  added dnsblcheck program
05.  smtpd.c: clear errno when client drops connection
06.  svctool: replaced dnsbl.njabl.org with zen.spamhaus.org
- 06/06/2022
07.  swaks: updated to version 20201014.0
- 20/06/2022
08. installer.c, svctool: fixes for OSX
- 01/07/2022
09. instcheck.in: common instcheck for daemontools, ucspi-tcp, indimail-mta
- 03/07/2022
10. svctool.in: fixed mysqld startup warnings
11. svctool.in: unmount resolv.conf when svscan is shutdown
- 04/07/2022
12. svctool.in: fixed qmail-smtpd, inlookup service script for Mac OSX
- 21/07/2022
13. svctool.in: fixed error in mysql run script
14. svctool.in: use /tmp/inquery as TMPDIR for courier-imap inlookup
- 26/07/2022
15. smtpd.c: added AUTH CRAM-SHA224, CRAM-SHA384 methods
- 31/07/2022
16. smtpd.c: added AUTH SCRAM-SHA-1, SCRAM-SHA-256 methods
- 04/08/2022
17. smtpd.c: scram authentication with salt and stored/server keys
18. svctool: create /tmp/inquery for pop3, imapd services
- 05/08/2022
19. smtpd.c: display error if incorrect scram encryption level is used
20. smtpd.c: added missing flush() statements
- 14/08/2022
21. smtpd.c: added auth methods SCRAM-SHA-1-PLUS, SCRAM-SHA-256-PLUS
22. setqload.c, qmonitor.c, qmulti.c: fix compilation warning if HASLIBRT is
    undefined
- 15/08/2022
23. smtpd.c: fixed channel binding logic
24. smtpd.c: added option to disable SCRAM PLUS variants
- 17/08/2022
25. qmail-smtpd: added -v option to display feature list and exit
26. smtpd.c: disable AUTH= string in EHLO if OLD_CLIENT env variable isn't set
27. qmail-showctl.c: added qregex, tlsclients to control file list
- 20/08/2022
28. svctool: skip lead space, comments, blank lines when converting envfile to
    envdir
- 21/08/2022
29. dnsmxip.c dnstlsarr.c qmail-daned.c sslerator.c: fix compilation error
    when TLS is not defined in conf-tls
30. qmail-smtpd.c, qmail-remote.c: replace hard coded auth methods with
    defines in authmethods.h
31. qmail-remote: added CRAM-SHA224, CRAM-SHA384, CRAM-SHA512 AUTH methods
- 22/08/2022
32. smtpd.c: handle errors in gs_callback
33. smtpd.c: improve logging for authenticated SMTP.
34. qmail-remote.c: added SCRAM-SHA-1, SCRAM-SHA-256, SCRAM-SHA-1-PLUS,
    SCRAM-SHA-256-PLUS AUTH methods
35. qmail-remote.c: check return value of substdio_put, substdio_puts
    functions
- 23/08/2022
36. qmail-remote.c: added channel binding for SCRAM-*-PLUS methods
37. smtpd.c: fixed crash when ssl_timeoutaccept() failed
38. smtpd.c: replaced authmethod_to_str() with get_authmethod() from libqmail
39. qmail-remote.c: use scram salted password instead of plaintext for SCRAM
    when SALTED_PASSWORD environment variable is set
40. control.c: enabled control_readcmd() which translates output of command as
    a qmail control file
- 24/08/2022
41. qmail-remote.c: fixed non SCRAM methods getting skipped
- 25/08/2022
42. smtpd.c: fetch hexsalted and clear text passwords if available for SCRAM
    authentication
- 28/08/2022
43. svctool.in: added IMAP_TLS variable for imaps variables
- 29/08/2022
44. Makefile: warn libraries not linked, headers not included & avoid race
    conditions
- 02/09/2022
45. qmail-remote: renamed SMTPROUTEFILE, QMTPROUTEFILE env variable to
    SMTPROUTESFILE, QMTPROUTESFILE
- 06/09/2022
46. qmail-remote: fixed compilation on systems without TLS1_3_VERSION
47. svctool: made gecos field for qmail users descriptive

* Wednesday 18 May 2022 01:41:34 PM IST Manvendra Bhangui <indimail-mta@indimail.org> 3.0.0-1.1%{?dist}
Release 3.0.0 Start 21/09/2021 End 18/05/2022
======= Release Highlights ================================================
o dynamic queue using POSIX message queue, shared memory
o New daemon qscheduler which replaced qmail-daemon
o Ability to group deliveries in chunks to improve delivery speed
o added qmonitor manage queues.
o added qtop program to monitor queue loads without using disk IO
o Made SPLIT, big todo configurable using env variables.
o added ability to disable a queue temporarily.
o openssl 3.0.0 port
===========================================================================
- 21/09/2021
01.  batv.c: refactored code. Return error type during validation
02.  added man pages for batv
03.  Fixed typos
- 04/10/2021
04.  svctool.in: removed not-needed QUERY_CACHE env variable from defaultqueue
- 20/10/2021
05.  qmail-send.c, qmail-todo.c, qmta-send: display program 'qmail-send' in
     logs for identification
06.  qmail-start.c, qmta-send.c, slowq-start.c: added queue directory as
     argument for identification in ps list
07.  smtpd.c: allow SMTP code to be configured when setting SHUTDOWN env
     variable
08.  qmail-cat.c: added SIGTERM handler to flush io
- 21/10/2021
09.  qmail-qread.c process_queue.c qmail-rm.c qmulti.c: eliminated extra
     variables
10.  qmail-daemon.c: made qstart, qcount variables global
11.  qmail-daemon.c: replaced execv with execvp
- 22/10/2021
12.  qmta-send.c: removed loglock code (not required for signle queue)
13.  qmail-send.c: change for ident argument to loglock_open()
14.  qsutil.[c,h]: added ident argument to loglock_open for identification in
     logs
15.  mini-smtpd.c: removed extra arguments passed to err_size()
16.  Makefile: added target rt.lib for qscheduler
17.  mini-smtpd.c: removed extra arguments passed to err_size()
18.  Makefile: added target for qscheduler
19.  added qscheduler for running dynamic queues
20.  conf-queue: added definition for QUEUE_MAX, QUEUE_LOAD
- 25/10/2021
21.  eliminated mktmpfd() function
- 02/11/2021
22.  qmail-send.c, slowq-send.c, qmail-todo.c: use argv0 for program name
23.  qmail-todo.c: optimize by writting to comm_buf all files found in todo
     using TODO_CHUNK_SIZE variable
     in chunks before doing comm_do
- 27/11/2021
24.  qmail-daemon.c: use sig_block(), sig_unblock() to prevent interruptions
25.  queue-fix.c: return exit status for queue-creation
- 05/12/2021
26.  rrt.c: fixed command line args for return-path, receipient
27.  qmail-send.c, qmail-todo.c, slowq-send.c: fixed argv0
- 13/12/2021
28.  added man page for multi-queue.7
29.  removed qmail-daemon
- 20/12/2021
30.  qlocal_upgrade.in: added command to fix qmail-send run script
- 31/12/2021
31.  qmail-todo.c, qmail-send.c, qmail-start.c: added compat mode option to
     scan on lock/trigger in addition to message queue
32.  qmail-qread.c: added -s option to display only counts with -c option
- 01/01/2022
33.  qmail-multi: Make queue directory as second argument to qmail-queue
34.  qscheduler.c: use control files msgqueuelen, msgqueuesize for configuring
     POSIX message queue
35.  qmail-queue.c: Minor formatting changes to Received lines
- 02/01/2022
36.  qmail-local.c, qmail-queue.c, qmail-todo.c, qmta-send.c, slowq-send.c
     USE_FSYNC, USE_SYNCDIR consistent
- 04/01/2022
37.  qmail-inject.c, smtpd.c - configurable DATABYTES
38.  qmail-clean.c, qmail-qread.c, qmail-queue.c, qmail-rm.c, qmail-send.c,
     qmail-todo.c, qmail-showctl.c, qmail-start.c, qmta-send.c, slowq-send.c
     qscheduler.c, queue-fix.c, readsubdir.c, readsubdir.h configurable bigtodo
- 05/01/2022
39.  smtpd.c, ofmipd.c, etrn.c, atrn.c, qmail-showctl,c ldap-checkpwd.c,
    sys-checkpwd.c, qmail-rspawn.c, qmail-poppass.c: replace execvp with execv
- 19/01/2022
40.  qscheduler.c: use log_out functions instead of strerr_warn for logging
     messages
41.  qmail-send.c: display pid when exiting
42.  qmail-todo.c, trigger.c, trigger.h: remove/add lock/trigger based on
     dynamic/compat mode
- 24/01/2022
43.  autorepsonder.c: use prefix for qmail-inject
44.  qmail-showctl.c: use previx for svctool
45.  qmta-send.c: Replaced execv with execvp
46.  svctool: prevent overwriting servercert.cnf
- 06/02/2022
47.  svctool: create local queue variables if different from global variable
    value
- 07/02/2022
48.  svctool: create CONFSPLIT, QUEUE_COUNT, QUEUE_BASE, QUEUE_START as global
    vars
- 11/02/2022
49.  qmail-queue.c: New function read_control() to read extraqueue, quarantine,
     removeheaders, envheaders, logheaders, mailarchive control files.
- 26/02/2022
50.  qmail-smtpd.c: fix ehlo greating for local connections
- 01/03/2022
51.  qmail-todo.c: renamed compat_mode variable to compat_mode_flag
- 02/03/2022
52.  qscheduler.c: continue to let current deliveries happen instead of exit
     on error
- 05/03/2022
53.  use auto_prefix/bin or auto_prefix/sbin for binary paths
54.  qscheduler.c: Fix for mq_open. shm_open on FreeBSD
55.  qmail-send.c: shm_open with O_RDWR on FreeBSD
- 06/03/2022
56.  qmail-send.c, qscheduler.c: Use ftruncate on shared mem on FreeBSD
57.  qmail-send.c, qscheduler.c: unlink shared memory on exit
58.  qmail-smtpd.c: fix ehlo greating for local connections
- 06/03/2022
59.  create_services.in: fix for FreeBSD (date usage)
60.  dknewkey.sh: fix for FreeBSD (getopt usage)
61.  svctool.in: fix for FreeBSD (ln -sr)
62.  svctool.in: mount mqueuefs directory in qmail-send run script
- 08/03/2022
63.  qmail-dk.c, qmail-dkim.c, qmail-qfilter.c, qmulti.c: use custom_error()
     from custom_error.c
64.  qmail-queue.c, maildir_deliver.c: do not treat error_noent as an error
- 09/03/2022
65.  get_uid.c: use qendpwent(), qendgrent() when using functions from
     qgetpwgr.c
- 10/03/2022
66.  matchup.c: update for qmail-send, qmail-todo, slowq-send, qmta-send,
     qscheduler logs (qmailanalog)
- 12/03/2022
67.  qmail-qread.c: added -i option to display /qscheduler queue information:
     dynamic queue information
68.  qmail-multi.c: use static queue if /qscheduler shared memory doesn't exist
69.  qmail-clean.c, qmail-queue.c, qmail-showctl.c, qmail-todo.c, qmta-send.c,
     qscheduler.c, queue-fix.c, slowq-send.c: Use default for BIGTODO as 1.
70.  slowq-send.c, qmta-send.c, qmail-todo.c: display bigtodo value in logs on
     startup
- 16/03/2022
71.  qmail-send.c: added queue ident in logs for matchup (qmailanalog to handle
     multi-queue)
72.  matchup.c: handle multi-queue format
73.  qmail-lspawn.c: made copy_pwstruct return type void
74.  qmail-queue.c: added FASTQUEUE to bypass features for speeding delivery
- 20/03/2022
75.  qmail-todo.c: use mq_timedreceive() for TODO_CHUNK_SIZE to work
76.  qmail-lspawn.c: bypass indimail if AUTHSELF is not set
77.  qmail-showctl.c: -E option for displaying client env variables
- 24/03/2022
78.  qmta-send.c: added missing loading of concurrencylocal, concurrencyremote
79.  qmta-send.c: added holdjobs functionality
- 25/03/2022
80.  qmail-queue.c: handle multi-queue without qmail-multi helper
     env variable is defined
81.  qmail-inject.c: Display system error when qmail_open() fails
82.  qmail-qread.c: updated usage string
- 31/03/2022
83.  qmail-todo.c: use chunk_wait seconds to wait for message chunks
84.  malidir_deliver.c, qmail-local.c, qmail-send.c, qmta-send.c,
     slowq-send.c: replace fsync() with fdatasync()
85.  qmail.c: include error.h for errno. Save and restore errno
86.  getqueue.c, qmulti.c: removed starttime argument to queueNo_from_env(),
     queueNo_from_shm()
87.  getqueue.c: use arc4random() to randomly select queues
88.  added man pages for dnscname, dnsfq, dnsmxip, dnsptr
89.  maildir_deliver.c, qmail-local.c, qmail-queue.c, qmail-todo.c,
     slowq-send.c, syncdir.c: replaced fsync() with fdatasync()
90.  zoverall.sh: display time span in seconds if < 86400
- 03/04/2022
91.  qmail.c, qmail-dk.c, qmail-dkim.c, qmail-spamfilter.c, qmail-queue.c,
     qmail-direct.c: refactored return codes for qmail_open()
92.  pidopen: use 70 as return code for pidopen() failure
93.  qmail-direct.c, qmail-queue.c: use custom_error() for error messages
94.  qmail-queue.c: bypass getpeername() if fastqueue is set
95.  slowq-start.c, qmta-send.c: Use QUEUE_BASE,
     queue_base control for setting base directory of queue
- 04/04/2022
96.  condtomaildir.c, maildir_deliver.c, maildirdeliver.c: use USE_FSYNC,
     USE_FDATASYNC, USE_SYNCDIR to set sync to disk feature
97.  qmail-direct.c, qmail-queue.c: refactored fastqueue and added setting of
     fdatasync()
98.  qmail-local.c, qmail-send.c, qmail-todo.c, slowq-send.c, qmta-send.c:
     added setting of fdatasync() instead of fsync()
99.  syncdir.c: added use_fdatasync to turn on fdatasync() instead of fsync()
100. svctool: added option to set fdatasync
101. syncdir.c: fix for missing fdatasync on OSX
- 06/04/2022
102. create_services.in, indimail-mta.spec.in, debian/postinst.in,
     PKGBUILD.in: set fsync, syncdir as global variables instead of local
     variables
101. svctool.in: added setting of USE_FSYNC, USE_FDATASYNC, USE_SYNCDIR as
     global variables
102. renamed qlocal_upgrade.sh to qlocal_upgrade, qupgrade.sh to qupgrade
- 07/04/2022
103. indimail-mta.spec.in: added glibc-static in BuildRequires for non RHEL,
     non-suse, non-sles distributions
104. Makefile: link resolv library dynamically
- 12/04/2022
105. qmail-todo.c, slowq-send.c, qmta-send.c, qmail-send.c: display queuedir
     in logs on startup
- 13/04/2022
106. do_rate.c: return 2 if rate definition is missing or is invalid
107. delivery_rate.c: set do_ratelimit only if rate definition existss
108. slowq-send.c: set delayed flag = 0 for new jobs
109. process_queue.c: flush subfdout to fix out of band err messages
110. qmail-qread.c: display queues configured
111. getqueue.c, qmail-send.c, qmail-qread.c: added feature to disable a queue
     and skip disabled queues
112. matchup.c: skip qscheduler load messages in logs
- 16/04/2022
113. added qmonitor
- 17/04/2022
114. qmonitor.c: use getEnvConfigDouble() to set threshold from QUEUE_LOAD env
     variable
- 20/04/2022
115. control.c, control.h: added control_writefile(), control_readint()
     functions
- 21/04/2022
116. qscheduler.c: added ability to decrease queue count
117. qscheduler.c: added -n option to keep queue count static
- 23/04/2022
118. qscheduler.c: do not restart qmail-send when terminated due to empty queue
119. qmail-send.c, slowq-send.c, qmail-todo.c: display pid in logs on exit
- 24/04/2022
120. qscheduler.c: added function to update queue counts in shared memory
121. qscheduler.c: display local+remote load on receipt of message queue by
     send_qload()
122. matchup.c: fixed field postion of 'exiting' for slowq-send, qmta-send
     logs
- 05/05/2022
123. svctool: added /usr/local/bin/bash as a valid shell
- 10/05/2022
124. use tcpopen, udpopen from libqmail
125. whois.c: replaced strstr.c with str_str from libqmail
126. udplcient.c: use headers from standard include path
- 18/05/2022
127. batv.c, smtpd.c, sslerator.c, qmail-remote.c, starttls.c: openssl 3.0.0
     port
128. svctool: use realpath to resolve full path of /etc/resolv.conf
129. update_tmprsadh: added --mxbits argument to specify max bits
130. smtpd.c: fixed reading of dh parameters.
131. smtpd.c: added SSL_BITS to set RSA, DH pem file to be read

* 
Release 2.14.0 Start 18/07/2021 End 12/09/2021
======= Release Highlights ================================================
o alpine linux ready - openrc script, svctool, minisvc
o github packages - docker/podman images for
  [docker/podman](https://ghcr.io/mbhangui/indimail-mta)
o instant reconfiguration of domain for docker/podman containers
o use global variables directory /etc/indimail/control/global_vars for
  DEFAULT_DOMAIN, QMAILDEFAULTHOST
o installer can now install, uninstall and set permissions
o New control file dkimkeys to override DKIMKEY and allow domain specfic
  keys and selector
===========================================================================
- 18/07/2021
1.  autoresponder.c: conditional define of _XOPEN_SOURCE to avoid
    compilation warning on alpine
2.  Makefile: Fix compilation of qmail-rm target by check for fts lib
3.  qmail-qfilter.c: Corrected by using fcntl.h instead of sys/fcntl.h
4.  installer.c: fixed setting setuid/setgid bits by calling chmod after
    chown
- 19/07/2021
5.  svctool: fixes for alpine linux
6.  svctool: recoded create_users function
7.  qmail-daemon.c: exit 0 if flagexitasap is set
8.  Makefile, indimail-mta.spec: moved creation of indimail-mta-release to
    Makefile
9.  create_service, PKGBUILD.in: --norefreshsvc changed to --autorefresh
10. ported create_users for alpine linux
11. create_service: use tcprules to generate cdb. changed --norefreshsvc
    to --autorefresh
12. tcpopen.c, Makefile: use hasrresvport.h to conditionally compile
    rresvport
- 20/07/2021
13. queue-fix.c: fixed usage string
14. create_services: fixed udplogger service not getting created
15. create_services: use HOSTNAME env variable if set for default_domain
    like svctool)
16. create_services: create postmaster as alias/Maildir to prevent loop
17. svctool: removed redundant option for inittab
18. cronlist.in: fixed libexec path
- 21/07/2021
19. indimail-mta.spec, debian/pre/post scripts: updated services for
    startup, shutdown on upgrade and norefresh list
20. svctool: display commands when adding/removing alternatives
21. svctool: fixed mysql socket setting
- 22/07/2021
22. svctool: fixed setting mysqlPrefix on alpine
23. svctool: use --resolvconf option to generate /service/resolvconf
    service
24. svctool: use rc-update for addinng, deleting services on alpine
- 23/07/2021
25. svctool: added --config=recontrol
26. svctool: create DEFAULT_DOMAIN, QMAILDEFAULTHOST as a global variable
27. svctool: added -l (nolastlog) option to linuxadduser
- 25/07/2021
28. svctool: install openrc script for alpine linux
29. svctool: link qmail-send, slowq-send variables with env variables with
    global_vars
- 26/07/2021
30. svctool: link svscan, resolvconf, fetchmail, poppass env variables with
    global_vars
31. qmail-send.c, qmail-todo.c, slowq-send.c qmta-send.c: log when log
    sighup, sigalrm is caught
- 27/07/2021
32. svctool: create init script for inlookup service to allow indimail to
    control inlookup service
- 28/07/2021
33. svctool: renamed rc script boot/svscan to boot/openrc for alpine
- 30/07/2021
34. create_services: use rc-update to add delete services with openrc
35. svctool: use stored procedure to remove users with null passwords
- 01/08/2021
36. svctool: use HOSTNAME variable if set for mrtg service
37. qupgrade.sh: added case for arch linux
38. indimail-mta.spec, PKGBUILD, debian pre/post: skip service if dir
    doesn't exist
39. svctool: allow default queue parameters for fetchmail service
40. instcheck.c: do chmod after chown to prevent losing setuid bit
- 02/08/2021
41. installer.c: added check (-c) and fix (-f) options to check, fix
    permissions after installation
42. post removal scripts: remove indimail specfic logs instead of the
    entire log directory
43. PKGBUILD: fix permissions of installed files in destdir
44. Makefile: create directories using installer instead of Makefile
45. PKGBUILD: replaced DESTDIR with pkgdir
46. installer.c: set default permissions when mode=-1
47. qf-smtp-ratelimit: multiply by 3600 to convert to hourly rate
48. qf-log-subject: qmail-qfilter script to log subject in syslog
- 04/08/2021
49. smtpd.c: disable help if DISABLE_HELP is defined
50. installer.c: added -m option to ignore missing files
51. indimail-mta.spec.in: added permission files for indimail-mta
52. qf-smtp-ratelimit: replaced /bin/cat with exit 0 which does the same
    thing
53. qfrontend: use control file control/qfilters to configure qmail-qfilter
    filters
- 05/08/2021
54. installer.c: added -p option to create directories as needed
55. installer.c: allow installation for missing source if -m is specified
- 08/08/2021
56. svctool: fixed call to link_with_global in create_delivery, create_slowq
57. svctool: fixed svscan run script generation
58. svctool: enable svscan service in create_startup
- 11/08/2021
59. qmail-remote.c: disable MXPS using DISABLE_MXPS
60. qmail-remote.c: disable quoting (required for SMTP) when using MXPS
61. smtpd.c: collapse multiple stralloc
- 13/08/2021
62. qmail-remote.c: Fixed getting incorrect smtp code in get3() function
63. qmail-send.c, slowq-send.c, ratelimit.c: turn off ratelimit if
    RATELIMIT_DIR is set but empty
- 15/08/2021
64. svctool: display version, socket, port, database dir when creating
    mysql config
- 16/08/2021
65. svctool: fixed create_fifologger function
66. svctool: create mysql socket directory before creating mysql db
- 17/08/2021
67. svctool: refactored --config=cert (added cert validity option)          
68. svctool: --check-certs now displays certificate details in addition to
    state of certificate
- 19/08/2021
69. dknewkey: added options to print, remove, generate DKIM keys
70. indimail-mta.spec, PKGBUILD.in, create_services.in,
    debian/indimail-mta.postinst - changes for modified dknewkey
71. qmail-smtpd.c - disable VRFY using DISABLE_VRFY env variable
- 20/08/2021
72. svctool, indimail-mta.spec, PKGBUILD, debian postinst: remove host
    component from default domain
- 21/08/2021
73. matchregexex.c: handle regexec() error
74. drate: added list option, added option to display time in UTC, added
    domain name validation
- 23/08/2021
75. svctool: service specific DEFAULT_DOMAIN only if different from global
    DEFAULT_DOMAIN
- 24/08/2021
76. dknewkey: check if domain exists in rcpthosts before creating a key for
    it
77. drate: moved check_domain to libqmail
- 25/08/2021
78. svctool: fixed value of CERTDIR in create_cert
79. svctool: updated cipher list to fix warnings from testssl.sh from
    https://github.com/drwetter/testssl.sh
- 26/08/2021
80. svctool: use /usr/local/etc/indimail/sv for servicedir on OSX/Darwin
81. svctool: link global variables DEFAULT_DOMAIN, QMAILDEFAULTHOST to
    control files defaultdomain, defaulthost
- 28/08/2021
82. spawn-filter.c: filterargs processing changes
    match sender domain for remote delivery 
    match recipient domain for local delivery
    allow overrides with MATCH_SENDER_DOMAIN, MATCH_RECIPIENT_DOMAIN
83. qmail-send.c, slowq-send.c, drate.c, report.c, variables.h,
    getDomainToken.h, getDomainToken.c, delivery_rate.c, spawn-filter.c:
    moved dtype enum delivery variable from variables.h to getDomainToken.h
84. qmail-dkim.c, qmail-dk.c, dk-filter.sh: Added control file dkimkeys to
    have domain specific private key, selector
- 30/08/2021
85. include noreturn.h from libqmail defining macro no_return
    use no_return macro to declare functions that do not return back to
    caller
- 05/09/2021
86. changed permissions for dirs with 555 to 755
- 10/09/2021
87. smtpd.c: removed setting of SPFRESULT env variable
88. dknewkey.sh: changed owner/permissions of dkim private/public key pairs
89. mini-smtpd.c, qmail-smtpd.c qmail-qmqpd.c, qmail-qmtpd.c, received.c:
    pass null remotehost to received when remotehost is unknown
90. qmail-direct.c: replace qmail with indimail-mta in received header
91. update_tmprsadh: added read permissions on certs for qmail group
92. received.c: skip remotehost in received headers when value is unknown
93. qmail-queue.c: updated received headers with more information
94. svctool.in: run qmail-smtpd, qmail-poppass, inlookup as qmaild
- 12/09/2021
95. svctool.in: set inlookup fifo permissions during startup
96. sys-checkpwd.c: relinquish setuid privileges in pipe_exec()
97. qmail-dk.c, qmail-dkim.c: restore gid after reading private key file

* 
Release 2.13 Start 14/02/2021
======= Release Highlights ================================================
o qmail-direct for delivering local mails directly to a user without using
  the queue.
o new function set_environment() to load environment variables from
$HOME/.defaultqueue and sysconfdir/control/defaultqueue
o Configurable directory split
o qmail-send ability to rate limit. New service slowq-send
o qmta-send - tiny self sufficient daemon based on
  qmail-send+qmail-lspawn+qmail-lspawn code replacing separate qmail-send,
  qmail-lspawn, qmail-rspawn and qmail-clean processes.
o split qmail-multi into qmail-multi and qmail-spamfilter
o complete rewrite of qmail-showctl.
o moved date822fmt, pathexec_run, pathexec_env, envdir, makeargs, mktempfile
  cdbmss, token822, openreadclose, prot_uid, prot_gid functions to libqmail
o qmail-local.c: add S=message_size in filename for faster quota calculations
  by dovecot, courier-imap
o qmail-local.c: move maildir delivery code to maildir_deliver.c
o maildirdeliver: complete rewrite using maildir_deliver() function.
o prioq.c: added feature to get prioq list in both descending and ascending
  order
o log current delivery rate and configured delivery rate in qmail-send logs
o document all indimail-mta environment variable in indimail-env man page
o use glibc wrappers for qgetpwent, setpwent, endpwent, qgetpwent_r,
  qgetpwnam, qgetpwuid, qgetpwnam_r, qgetpwuid_r, qgetgrent, qsetgrent,
  qendgrent, qgetgrnam, qgetgrgid, qgetgrnam_r, qgetgrgid_r
o ability of qmta-send to process messages queued by clients with any split
  value
===========================================================================
- 26/02/2021
01. svctool: added options to set, unset, remove env variables for supervised
    services
- 27/02/2021
02. install: save all variables using svctool --save-variables --force
03. svctool: use TMPDIR env variable for temp directory
04. updated svctool man page
05. svctool: moved --inittab option to --config
06. svctool: use common function dump_run_header to generate header for all
    run scripts
07. changed error to warning for missing MySQL libs
- 28/02/2021
08. svctool: use common function dump_log_header to create all multilog logger
    scripts
09. svctool: fixed updation of control files mysql_lib and libindimail
10. post install: save variables
- 01/03/2021
11. svctool: updated courier variables (removed IMAP_ENHANCEDVARIABLE for
    courier-imap-5.0.12)
- 02/03/2021
12. svctool: fixed dir variable getting clobbered by export_variables()
13. svctool: added back IMAP_ENHANCEDIDLE for courier-imap-5.0.14
14. smtpd.c: renamed TLSCIPHERS to TLS_CIPHER_LIST
15. sslerator.c: renamed SSL_CIPHER to TLS_CIPHER_LIST
16. indimail.spec: fixed rpmlint percent in pretrans, post
- 09/03/2021
18. svctool: added timeout parameter for indisrvr
- 17/03/2021
19. Open Build Service integration with github using action scripts
- 22/03/2021
20. svctool: removed IMAP_ENHANCEDIDLE variable for courier-imap-5.1.1
- 29/03/2021
21. qmail-send.c, qmail-todo.c: make internal functions, variables static
22. qmail-send.c: refactored job functions (author Rolf Eike Beer - @notqmail)
- 15/04/2021
23. svctool: use /run filesystem for service directory when enabling/disabling
    service
- 16/04/2021
24. svctool: added checks when enabling, disabling service
- 18/04/2021
25. date822fmt() moved to libqmail
- 20/04/2021
26. svctool - make output less verbose with --silent parameter
27. minisvc - honour --silent in export variables
- 22/04/2021
28. svctool - fixed check_libmysqlclient_lib function
- 28/04/2021
29. svctool - allow --force to override norefreshsvc flag for a service
- 29/04/2021
30. binm1.sh: removed setting of PATH env variable
31. replaced QMAIL with QMAILHOME in scripts and man pages
32. qmail-inject: use 'n' option in QMAILINJECT env variable to print message
    rather than queue
33. debian/indimail-mini: corrected package file list
- 30/04/2021
34. rennamed qmail-deliver to qmail-direct
35. remove zero bytes package_name-stat.override file
36. fixed syntax error getting HOSTNAME
- 01/05/2021
37. qmail-direct.c: removed uidinit() and auto_uids to run on a minimal
    system.
38. qmail-direct.c: use modified Maildir as the queue directory and eliminate
    requirement of setuid
39. qmail-direct.c: use standard Maildir for queue operation
40. qmail-direct.c: removed control file direct_mail_users
41. qmail-direct.c: fixed mess, intd filenames
- 03/05/2021
42. do systemctl daemon-reload after installing/removing svscan service
- 06/05/2021
43. svctool: removed mix usage of space and tab
44. indimail-mini.preinst: removed adduser of alias user
45. indimail-mini-postinst, indimail-mini-prerm: removed unused variables
46. indimail-mini-preinst: added missing 'upgrade' case
- 12/05/2021
47. inotify.c: added IN_MOVE_SELF, IN_MOVED_FROm, IN_MOVED_TO events
48. removed pathexec_run.c, pathexec_env.c, pathexec.h and moved functions
    to libqmail
49. renamed envdir_set() to envdir() and moved it to libqmail
50. new function set_environment() to set environment variables from
    $HOME/.defaultqueue and sysconfdir/control/defaultqueue
- 16/05/2021
51. maildir.c: include strerr.h explicitly
52. qmail-clean.c, qmail-qread.c, qmail-queue.c, qmail-rm.c,
    qmail-send.c, qmail-showctl.c, qmail-todo.c, queue-fix.c: have
    auto_split as the max limit for conf_split
53. svctool: create env variables in service directory as links to
    defaultqueue
54. svctool: fixed TMPDIR creation
55. qmail-local.c: add S=message_size in filename
56. qmail-local.c: move maildir delivery code to maildir_deliver.c
57. maildirdeliver: complete rewrite using maildir_deliver() function.
- 17/05/2021
58. svctool: make qmail-send service wait for pwdlookup service
- 24/05/2021
59. spawn-filter.c: move report() to report.c
60. spawn-filter.c: move rate functions to get_rate.c
61. wildmat.h: header for wildmat_internal()
- 26/05/2021
62. drate: refactored code and added test mode
63. spawn-filter: moved getDomainToken() to getDomainToken.c
64. get_rate.c: made DELIMITER configurable
65. get_rate.c: return email count, configure rate and current rate in is_rate_ok()
66. qmail-popbull.c, tls.c: replaced strerror() with error_str()
67. etrn.c hier.c load_mysql.c plugtest.c qmail-cdb.c qmail-daemon.c
    qmail-dk.c qmail-dkim.c qmail-qread.c qmail-remote.c qmail-rm.c qmail-tcpok.c
    qmail-tcpto.c set_environment.c smtpd.c spawn-filter.c starttls.c
    surblfilter.c sys-checkpwd.c tcpopen.c: handle access() error other than
    ENOENT
68. nowutc.c: replaced libc stdio with substdio
69. get_rate.c, drate.c: added option to force update
- 29/05/2021
70. added rate limit feature in qmaii-send, slowq-send
- 03/06/2021
71. prioq.c: added feature to get prioq list in both descending and ascending
    order
72. delivey_rate.c: log email/curr_rate/conf_rate in logs
- 09/06/2021
73. split qmail-multi into qmail-multi and qmail-spamfilter
- 10/06/2021
74. fixed uninitialized variables in do_test()
75. fixed compiler warning for containsutf8()
76. moved makeargs.c, mktempfile.c to libqmail
77. svctool: replace qmail-multi with qmail-spamfilter for spam filter
- 11/06/2021
78. remove dependency on auto_qmail, auto_control for locating files
- 13/06/2021
79. svctool: simplified generation of clamav, freshclam config
80. fixed debian scripts for indimail-mini
- 15/06/2021
81. moved cdbmss.[c,h], token822.[c,h] to libqmail
82. pidopen.c: added tmpdir argument
- 16/06/2021
83. inotify.c: fixed erroneous check for errno
84. load_mysql.h: use MYSQL_RES for non-libmariadb setup
- 23/06/2021
85. qmail-send.c, slowq-send.c: moved log_stat function to qsutil.c
86. qmail-todo.c: display bytes in log_stat
- 27/06/2021
87. uidnit new argument to disable/enable error on missing uids in
    qmail-start.c spawn.c slowq-start.c queue-fix.c qscanq.c
    qmail-showctl.c qmail-queue.c qhpsi.c instcheck.c get_uid.c cleanq.c
88. qmail-send.c, slowq-send.c: moved conf_split variable to fmtqfn.c
89. qmail-send.c, slowq-send.c: fixed error handling in injectbounce
90. qmail-send.c, slowq-send.c: moved conf_split variable to fmtqfn.c
91. qmail-send.c, slowq-send.c: fixed error handling in injectbounce
92. qmail-send.c: moved log lock functionality to qsutil.c
93. qmail-todo.c qmail-qread.c qmail-clean.c fmtqfn.c: moved conf_split
    variable to fmtqfn.c
94. qsutil.c qsutil.h: added loglock_open function
95. svctool.in qlocal_upgrade.in: renamed LOCK_LOGS env variable to LOGLOCK
96. rpmattr.c: removed call to uidinit
- 28/06/2021
97. standalone MTA - qmta-send
- 01/07/2021
98. renamed maildirwatch to qmaildirwatch to avoid clash with courier-imap
- 03/07/2021
99. moved prot.c, prot.h to libqmail
100. smtpd.c: checkrecipient_pwd: replace getwent() with in-built function to
    check for user in /etc/passwd
- 04/07/2021
101. qmail-showctl.c: complete rewrite
102. get_uid.c: use qgetpwent, qgetgrent from libqmail's qgepwgr.c
103. svctool: added BASE_PATH env variable for defaultqueue
104. run qmail-dk, qmail-dkim with qmail group to access domainkeys dir 
105. qmta-send: run as qmailq if running without qmail-clean
106. indimail-mta.spec, debian/qmta.postinst: create qmta queue with qmta
     mode (queue-fix -m)
107. queue-fix: added -m option for qmta-send where dirs are owned by
     qmailq
108. set_environment.c: skip $HOME/.defaultqueue if running as root
- 05/07/2021
109. qmail-showctl.c: complete rewrite
110. get_uid.c: use qgetpwent, qgetgrent from libqmail's qgetpwgr.c
111. sys-checkpwd.c qmail-getpw.c qmail-direct.c maildirsize.c serialcmd.c:
     use getpw, getgr functions from libqmail getpwgr.c
112. maildirserial.c new-inject.c process_queue.c qmail-inject.c
    qmail-showctl.c queue-fix.c: allow $HOME/.defaultqueue for root
- 07/07/2021
113. added indimail-env man page
114. svctool: added --print-variable option
- 09/07/2021
115. fmtqfn.c: initialize conf_split
116. added mini-smtpd for qmta, indimail-mini package
117. BUG: get_uid.c: fixed wrong uid/gid allocation
118. hier.c: set setgid bit for qmail-dk, qmail-dkim to access private key
- 10/07/2021
119. fixed cronlist.q
- 12/07/2021
120. svctool: use control/global_vars for common environment variables across
     svscan services
- 13/07/2021
130. indimail-mta.spec: removed /sbin/chkconfig from Requires
131. indimail-mta.spec: insserv-compat removed from Tumbleweed
- 14/07/2021
132. set_environment.c: envdir function now requires additional parameters.
- 15/07/2021
133. qmail-inject.c: removed unused function die_chdir
134. qmta-send.c: block sigchild to avoid waitpid surprise when doing
     qmail_close.
135. qmta-send.c: added missing bounce related control files
136. slowq-send.c, qmail-send.c: organize bounce related control files
     together.
137. qmail-send.c, slowq-send.c, qmta-send.c: corrected data type of comm_pos
     to int (changed to char from int in 1.74 qmail-send.c by mistake).
138. qmail-todo: fixed first digit missing for bytes in qmail-send logs
- 16/07/2021
139. Fixed missing first digit of bytes display in qmail-send logs
140. svctool: added --print-all-variables option
- 17/07/2021
141. svctool: added option to specify qmailqueue and qmail-smtpd binaries
142. svctool: added option to set envdir options used for loading service
     environment variables
143. qmail- todo.c, qmail-send.c, slowq-send.c: skip processing of for
     messages queued with wrong split dir
144. qmta-send.c: fix split dir of messages queued with wrong split value
145. qsutil.[c,h]: add fix_split function to generate file name for any split
     value

* Sunday 14 February 2021 07:46:33 PM IST
Release 2.12 Start 21/05/2020
- 12/09/2020
01. hier.c: use 0755 for bin and sbin
02. indimail-mta: replaced setup with installer which uses text files for
    installation
03. indimail-mta.spec: fixed AutoReq
- 13/09/2020
04. indimail-mta.spec: updated compiler flags for ucspi-tcp
05. ucspi-tcp: replaced setup with installer which uses text files for
    installation
06. ucspi-tcp: updated compiler switches
07. instcheck.c: skip chmod if mode is -1
08. hier.c: leave owner, group, permissions alone as they are owned by
    indimail-mta package
09. installer.c: sync permissions with indimail-mta.spec file
- 14/09/2020
10. fixed linkat(), unlinkat(), renameat() calls
- 15/09/2020
11. leapsecs.txt: added date 2016-12-31
12. moved to libqmail:  mess822.h, mess822_addr.c, mess822_date.c,
    mess822_fold.c, mess822_line.c, mess822_ok.c, mess822_quote.c,
    mess822_token.c, mess822_when.c, mess822.3 mess822_addr.3,
    mess822_date.3, mess822_fold.3, mess822_quote.3, mess822_token.3,
    mess822_when.3
13. moved to libqmail: commands.c, commands.h, rewritehost.c, rewritehost.h,
    rewritehost.3
14. smtpd.c, ofmpid.c: variable ctl_maxcmdlen moved to libqmail
15. moved to libqmail: sconfig.c, sconfig.h
16. qmail-send.c, qmail-todo.c: use control files conf-fsync, conf-syncdir
    to turn on fsync, bsd style syncdir semantics
17. qmail-send.c, qmail-todo.c: set / unset USE_FSYNC, USE_SYNCDIR env
    variables
18. qmail-queue.c, qmail-local.c: changed default value of use_fsync,
    use_syncdir to -1
- 16/09/2020
19. indimail-mta, ucspi-tcp: fixes for FreeBSD
- 17/09/2020
20. svctool, create_services, update_tmprsadh, config-fast: fixes for FreeBSD
- 19/09/2020
21. portable Makefile for Linux, FreeBSD, OSX
- 20/09/2020
22. tcpserver.c: open ipv4, ipv6 sockets on FreeBSD and use select before accept()
23. cronlist.q: skip run-cleanq if qscanq service is not installed
- 22/09/2020
24. create_service: fixed certificate path for poppass, indisrvr service
25. use conf-cc-SYSTEM, conf-ld-SYSTEM for system specific CFLAGS, LDFLAGS
- 24/09/2020
26. Makefile - indimail-mta, ucspi-tcp: split into variables, main Makefile and
    system specific Makefile. New script qmake to do the build
- 25/09/2020
27. syncdir.c: FreeBSD port (use sys/syscall.h)
28. svctool: use --defaults-file=indimail.cnf for shutdown script to avoid
    issues on FreeBSD
29. removed libwatch service
30. run svctool --fixsharedlibs during MySQL startup
31. DIRS: use relative links in /var/indimail
- 26/09/2020
32. svctool: allow setting of MySQL indimail, admin password, indimail UNIX
    password by setting MYSQL_PASS, PRIV_PASS, ADMIN_PASS in svctool.cnf
- 27/09/2020
33. svctool, envmigrate: fixed handling of failure in imap/pop3 service
creation
34. indimail-mta.spec: rpmlint fixes for danglin-relative-symlinks
35. svctool: make inlookup, pwdlookup service wait for 30 seconds since
    MySQL services comes up
36. svctool: replace /bin/false with /usr/bin/false on FreeBSD
37. sys-checkpwd.c: restore '@' sign in username for authmodules in the chain
38. sys-checkpwd.c: skip stripping of domain if STRIP_DOMAIN env variable is
    not set
- 28/09/2020
39. Makefile: fix perl path in perl scripts
40. removed unused programs - qmail-lagcheck, qmail-lint, elq, pinq, qail
41. added debug statments in sys-checkpwd
42. svctool: added all available authmodules as IMAPMODULES
- 30/09/2020
43. syncdir.c, syncdir.h, qmail-local.c, qmail-queue.c, qmail-send.c,
    qmail-todo.c: Darwin port for syncdir
44. domainkeys.c: define memcpy, strcasecmp, strncasecmp only if not defined
- 02/10/2020
45. installer.c: set permissions for directory only if it is a new directory
46. svctool: updated macOSuseradd, macOSgroupadd
- 03/10/2020
47. svctool: --fixedharedlibs for Darwin
48. svctool: use /bin/echo -n instead of builtin echo -n (which doesn''t work
    on Darwin)
49. svctool: create /var/run/mysqld for Darwin when creating mysqldb
50. svctool: use openssl passwd -6 (sha512) missing on darwin use openssl
    passwd -1 (md5)
51. svctool: use LC_ALL=C for tr command on Darwin
52. svctool: check for mysqld in mysqlprefix/bin for Darwin
53. svctool: updated macOSuseradd, macOSgroupadd functiona for Darwin
54. svctool: fixed date command for getting time in seconds for Darwin/FreeBSD
- 04/10/2020
55. create /service link in /etc/synthetic.conf for Darwin
    create /var/indimail/inquery directory
    svctool: fixed users getting added multiple times to com.apple.loginwindow
    HiddenUsersList
- 05/10/2020
56. installer new features,
    1. uninstall option (-u, -i)
    2. create devices,
    3. create fifo
57. Makefile: Added uninstall target
58. Added comments in installer input files
59. svctool: remove indimail, indimail-mta users from HiddenUsersList for
    Darwin
60. Makefile: run instcheck to set permissions on make install.
- 06/10/2020
61. indimail-mta: Makefile: replaced g++ with c++ for portability
62. indimail-mta, ucspi-tcp: fixed uninstall target
63. installer.c: fixed setting of symbolic links
64. svctool -freebsd: fix for libmysqlclient on freebsd.
65. qmail-local.c: fixed bug with loopcounter in qmail-local.c - initialized
    maxdeliveredto
- 08/10/2020
66. ucspi-tcp/ip6_fmt.c: Fixed bug - Erwin Hoffman
-09/10/2020
67. qlocal_upgrade.sh: migrate /service to libexecdir
- 10/10/2020
68. smtpd.c: auth functions made static
69. qmail-remote.c: digest_md5() renamed to qr_digest_md5() to avoid clash
70. removed functions duplicated in libqmail
- 12/10/2020
71. added debuginfo package
- 17/10/2020
72. postinst: fixed overwriting of QMAILLOCAL, QMAILREMOTE by service creation
    for odmr port (added --skipsend)
73. qmail-rspawn.c: fixed "Unable to run qmail-remote" when QMAILREMOTE
    variable was unset
74. svctool: fixed "Unable to run qmail-remote" when QMAILREMOTE variable
    wasn't set
75. svctool: use mkfifo -m to create qmail-logfifo with 666 perms
- 18/10/2020
76. svctool: added default-authentication-plugin=mysql_native_password as
    a comment
77. qcount_dir.c: replaced alloc_re() with alloc()
- 19/10/2020
78. controlfiles.q: added control file servicedir.conf
79. conf-queue: added documenation
- 20/10/2020
80. removed chrpath.
81. moved ucspi-tcp, daemontools as independent packages
- 22/10/2020
82. upgrade: shutdown indimail-mta services instead of entire svscan service
- 01/11/2020
83. svctool: added display for enabling/disabling auto refresh settings for
    service
84. spawn-filter.c: unset FILTERARGS, SPAMFILTER, QMAILLOCAL, QMAILREMOTE
    before calling qmail-local, qmail-remote
- 09/11/2020
85. svctool: inlookup, pwdlookup service - removed svwait program. use
    waitfor service instead
- 14/11/2020
86. indimail-mta.spec: enable openSUSE permissions
- 17/11/2020
87. qmail-daned.c: set default value for timeoutssl to prevent select() doing
    poll
88. sslerator: added tls/ssl protocol wrapper from indimail-virtudomains
    package
- 18/11/2020
89. svctool: make authpam the last module as it cannot execute additional
    modules
90. preinst/postinst: modified service shutdown/startup during upgrade by
    using /run, /var/run
- 26/11/2020
91. smtpd.c: refactored batv code
- 28/11/2020
92. 822field.c, 822fields.c: +HeaderName feature by Erwin Hoffman: display all
    headers which have HeaderName as the initial text
93. qmail-remote: fixed smtpcode() to handle cases where remote smtp server
    returns improper codes
- 29/11/2020
94. queue-fix: replaced stdio with substdio and added option to specify queue
    subdirectory split
95. hier.c: moved README.logselect to daemontools
- 03/12/2020
96. smtpd.c, qmail-remote.c: Added EAI RFC 6530-32 - unicode address support
- 04/12/2020
97. Makefile: fixed hassalen.h dependency for tcp-env.o
- 07/12/2020
98. qmail.c: added exit code 79 as duplicate to 91 for Envelope format error
99. qmail-qfilter.c, qmail-qmqpc.c, qmail-queue.c -m 'use exit code 79 for
    envelope format error
- 23/01/2021
100. smtpd.c, qmail-remote.c: Renamed env variable UTF8 to SMTPUTF8
101. smtpd.c: use FORCE_TLS in smtp_mail()
102. smtpd.c: use TCPREMOTEHOST for automatic helo
103. qlocal_upgrade: fixed LOGFILTER path
104. qmail-remote.c: added comments for smtputf8. Added missing 
     #ifdef SMTPUTF8
- 27/01/2021
105. ldap-checkpwd.c: added dovecot support
106. pam-checkpwd.c: env variable NATIVE_CHECKPASSWORD to comply exactly with
     checkpassword protocol
- 08/02/2021
107. refactor indimail_stub
