ANNOUNCE New Releases of indimail-mta code

8 views
Skip to first unread message

Manvendra Bhangui

unread,
Sep 9, 2022, 6:53:24 AM9/9/22
to indimail

Date: Thu, 08 Sep 2022 12:31:45 +0000

DNF / YUM / APT / Arch Binary Downloads

Open Build Service Binary Download

Docker / Podman Containers

indimail-mta

Release Highlights

indimail-mta

  • added SCRAM authentication SCRAM-SHA-1, SCRAM-SHA-256, SCRAM-SHA-1-PLUS SCRAM-SHA-256-plus in qmail-smtpd and qmail-remote
  • added CRAM-SHA224, CRAM=SHA-384 authentication methods in qmail-smtpd, qmail-remote
  • Converted man pages to markdown for indimail wiki

daemontools

  • svscan: run log supervise process with parent directory as argv2, allow supervise processes to run with three arguments
  • systemd.override.conf: added systemd override unit file for systems and added systemd-time-wait-sync.service in After= without battery backed RTC
  • supervise.c: indicate service name (instead of just the pid) in logs when supervised service exits/crashes
  • added RestartSec & PrivateTmp to main unit file and override.conf
  • svscan_rc: implemented additional rc commands for FreeBSD
  • envdir: ability to link additional directories files for environment variables using .envdir, .envfile
  • envdir: complete re-code. Added -c option to clear, -i option to ignore unreadable files and -w option to treat temporary errors as warning
  • openrc script for starting svscan
  • alpine linux ready
  • supervise: add feature to run ./init once before ./run
  • svscan: set SERVICEDIR, PWD environment variable
  • svscan: ability to run as PID 1 and reap dead children
  • setuidgid: Feature to set additional groups using -g option
  • softlimit.c: added -q option for setting message queue size
  • svps: added -h option to send HUP to svscan
  • svscan: added AUTOSCAN feature (which was actually part of the original svscan)

ucspi-tcp

  • added SSL/TLS support in tcpclient
  • added STARTTLS support in tcpclient for POP3s
  • dotls transparent SSL/TLS wrapper for tcpserver
  • tls.c ported for openssl 3.0.0
ChangeLog

indimail-mta

Release 3.0.1 Start 21/05/2022 End 08/09/2022

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

Release 1.1.0 Start 27/02/2021 End 08/09/2022

  • 27/02/2021
  1. minisvc: added options to set, unset, remove env variables for supervised services
  2. minisvc: added --dumpconfig option
  3. updated minisvc man page
  • 28/02/2021
  1. minisvc: use common functions dump_run_header, dump_log_header for generating run, log/run
  2. post install: save variables to .variables
  • 07/04/2021
  1. svscan: run log supervise process with parent directory as argv2
  2. supervise: allow supervise for log process to run with three arguments
  • 15/04/2021
  1. minisvc: take into account /run filesystem when enabling, disabling service
  • 16/04/2021
  1. svscan: disable service in /run filesystem when service is disabled in /service
  2. minisvc: added checks when enabling, disabling service
  3. updated svscan man page
  • 20/04/2021
  1. minisvc - make output less verbose with --silent parameter
  2. minisvc - honour --silent in export variables
  • 27/04/2021
  1. supervise: do not treat error_exist as error for mkdir
  • 28/04/2021
  1. systemd.override.conf: added systemd override unit file for systems without battery backed RTC
  2. minisvc - allow --force to override norefreshsvc flag for a service
  • 30/04/2021
  1. remove zero bytes package_name-stat.override file
  • 03/05/2021
  1. do systemctl daemon-reload after installing/removing svscan service
  2. timestamp.h: fix function prototype for timestamp()
  • 06/05/2021
  1. minisvc: removed mixed use of space and tab
  • 12/05/2021
  1. moved pathexec_run, pathexec_env to libqmail
  • 16/05/2021
  1. minisvc: fixed TMPDIR creation
  • 17/05/2021
  1. systemd.override.conf: added systemd-time-wait-sync.service in After=
  • 06/06/2021
  1. supervise.c: indicate service name in logs, instead of just the pid when supervised service exits/crashes
  • 22/06/2021
  1. added RestartSec & PrivateTmp to main unit file and override.conf
  • 30/05/2021
  1. svscan_rc: implemented addtional rc commands
  2. envdir: handle new error code for recursive loops
  3. envdir: -c option to clear existing environment variables
  • 03/07/2021
  1. moved prot.c, prot.h to libqmail
  • 07/07/2021
  1. minisvc: added --print-variable option
  • 12/07/2021
  1. envdir: added feature to process .envfile and .envdir as a file containing list of directories
  • 13/07/2021
  1. daemontools.spec: removed /sbin/chkconfig from Requires
  • 14/07/2021
  1. envdir.c: added options i, w to ignore read errors and warn instead of exit on error
  2. Makefile: use openreadclose from libqmail.
  3. removed openreadclose.[c,h]
  • 16/07/2021
  1. minisvc: added --print-all-variables option
  • 18/07/2021 - indimail-mta-2.13
  • 18/07/2021
  1. installer.c: fixed setting setuid/setgid bits by calling chmod after chown
  2. qmailctl.sh: ported for alpine linux
  • 22/07/2021
  1. minisvc: use --resolvconf option to generate /service/resolvconf service
  • 23/07/2021
  1. minisvc: added option to add qmaill user and nofile group
  • 24/07/2021
  1. minisvc: added --enable-service, --disable-service and --config=inittab
  2. minisvc: removed hardcoding of mount, umount
  3. supervise.c: display in logs if child is stopped
  • 25/07/2021
  1. minisvc: install openrc script for alpine linux
  • 26/07/2021
  1. svps: added --no-pager, -n option to disable pager
  • 27/07/2021
  1. supervise: add feature to run ./init once before ./run
  2. svscan: set SERVICEDIR, PWD environment variable to service directory
  • 28/07/2021
  1. minisvc: renamed rc script boot/svscan to boot/openrc for alpine
  2. qmailctl: fixed systemctl hang when stopping svscan using service command
  • 29/07/2021
  1. daemontools.spec.in: added back /sbin/chkconfig in Requires
  • 30/07/2021
  1. hier.c: added inotify.c
  • 02/08/2021
  1. installer.c: added check (-c) and fix (-f) options to check, fix permissions after installation
  2. Makefile: create directories using installer instead of Makefile
  3. PKGBUILD: fix permissions of installed files in destdir
  4. debian/postrm: remove log directory on package removal
  5. PKGBUILD: replaced DESTDIR with pkgdir
  6. installer.c: set default permissions when mode=-1
  7. daemontools.spec, PKGBUILD, debian.preinst: create qmaill user with logdir as home directory
  8. tai64n2tai.c: code correction
  • 03/08/2021
  1. installer.c: added -m option to ignore missing files
  2. daemontools.spec.in: added permission files for indimail-mta
  3. replaced instcheck, hier.c with installer
  • 05/08/2021
  1. installer.c: added -p option to create directories as needed
  2. installer.c: allow installation for missing source if -m is specified
  • 11/08/2021
  1. supervise.c: fix for using of uninitialized value of signal in error log
  2. svscan.c: run as PID1 and reap dead processes
  3. docker-entrypoint: use getopt to get options to set domain, timezone
  • 17/08/2021
  1. minisvc: added config=cert (create_cert function)
  2. minisvc: added --check-certs state of certificate
  3. docker-entrypoint: added hotfix for podman named pipe bug
  • 18/08/2021
  1. docker-entrypoint: removed timedatectl as it doesn't work without systemd
  • 20/08/2021
  1. docker-entrypoint: removed host compoment from default domain
  • 22/08/2021
  1. docker-entrypoint: added -r, --repair option to drop to shell
  • 26/08/2021
  1. svctool: use /usr/local/etc/indimail/sv for servicedir on OSX/Darwin
  • 30/08/2021
  1. 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
  1. changed permissions for dirs with 555 to 755
  • 11/09/2021
  1. setuidgid.c: Feature to set additional groups using -g option
  • 12/09/2021 - indimail-mta-2.14.0
  • 20/10/2021
  1. svscan.c: enable scan on SIGCHLD
  • 02/01/2022
  1. softlimit.c: added -q option for setting message queue size
  • 30/01/2022
  1. inotify.c: added missing '/' in display
  • 25/02/2022
  1. softlimit.c: Use -1 to set resource limit as unlimited
  2. added missing '/' in display
  • 06/03/2022
  1. svps.in: fix for FreeBSD (stat command usage)
  • 17/03/2022
  1. qmailctl.sh: Fix restart on FreeBSD
  • 18/03/2022
  1. svps.in: added -h,--HUP option to send HUP to svscan
  • 20/03/2022
  1. multilog.c: Added NOFSYNC env variable to turn off fsync
  • 06/05/2022
  1. svscan.c: Enable automatic scan of /service if AUTOSCAN environment variable is set.
  • 08/04/2022
  1. svscan.c: added few INFO messages (scanning, starting service)
  • 18/05/2022 - indimail-mta-3.0.0
  • 22/05/2022
  1. run_init.c: check /run/svscan to determine if svscan is using /run
  2. supervise.c: new variable use_runfs to indicate if svscan is using /run
  • 24/05/2022
  1. svps.in: fix for alpine
  • 25/05/2022
  1. svscan.c: use DISABLE_RUN env variable to disable svscan from using /run
    20/06/2022
  2. run_init.c: fixed usage of . for supervised directory
  3. minisvc.in: Fixes for OSX
  • 01/07/2022
  1. instcheck.in: common instcheck for daemontools, ucspi-tcp, indimail-mta
  • 03/07/2022
  1. supervise.c: open supervise/ok in write blocked mode when waiting for a service
  • 13/07/2022
  1. added set-network-wait for svscan systemd service to wait till network is up.
  • 20/08/2022
  1. minisvc: skip lead space, comments, blank lines when converting envfile to envdir
  • 08/09/2022
  1. updated docker-entrypoint man page
  2. docker-entrypoint: set svscan as default program if not provided
  • 08/09/2022 - Final release daemontools-1.1.0
  • 08/09/2022 - indimail-mta-3.0.1
ucspi-tcp

Release 1.1.0 Start 14/02/2021 End 08/09/2022

  • 02/03/2021
  1. tcpserver.c renamed SSL_CIPHER to TLS_CIPHER_LIST
  • 03/03/2021
  1. tcpclient.c: added SSL/TLS support
  2. tcpclient.c: added client mode feature making prog optional
  • 04/03/2021
  1. tls.c: added option to match host with common name
  2. tcpclient.c, tcpserver.c: Use CERTDIR env variable to specify custom certificate location
  3. tcpclient.c: added -m option to match host with common name
  • 06/03/2021
  1. dotls.c: SSL/TLS client / server wrapper for SSL/TLS and opportunistic TLS
  2. tcpclient.c: added opportunistic TLS (STARTLS) capability.
  • 07/03/2021
  1. tcpclient.c: added starttls for pop3
  • 09/03/2021
  1. tls.c: check for SSL_ERROR_WANT_READ to retry SSL_read() when using non-blocking io
  2. tls.c, tcpclient.c: retry read. write on errno == EAGAIN to fix blocking IO problem with SSL_read()
  3. tls.c: made translate() generic. Replaced SSL with fd parameter
  4. doit.c, tcpclient.c: use new translate() from tls.c
  • 10/03/2021
  1. tls.c, tcpclient.c: use set_essential_fd() to avoid deadlock
  • 30/04/2021
  1. remove zero bytes package_name-stat.override file
  • 12/05/2021
  1. define arguments as array subscripts to fix gcc 11 warnings
  2. renamed pathexec functions as upathexec to avoid clash with libqmail
  • 03/05/2021
  1. moved prot.c, prot.h to libqmail
  2. dlnamespace.[c,h], tcpserver_plugin.c, load_shared.c use Lmid_t data type for id instead of unsigned long
  • 18/07/2021 - indimail-mta-2.13
  • 18/07/2021
  1. installer.c: fixed setting setuid/setgid bits by calling chmod after chown
  • 19/07/2021
  1. fixed compiler warning on alpine linux
  • 02/08/2021
  1. installer.c: added check (-c) and fix (-f) options to check, fix permissions after installation
  2. Makefile: create directories using installer instead of Makefile
  3. PKGBUILD: fix permissions of installed files in destdir
  4. PKGBUILD: replaced DESTDIR with pkgdir
  5. installer.c: set default permissions when mode=-1
  • 05/08/2021
  1. installer.c: added -p option to create directories as needed
  2. installer.c: allow installation for missing source if -m is specified
  • 30/08/2021
  1. include noreturn.h from libqmail defining macro no_return use no_return macro to declare functions that do not return back to caller
  • 12/09/2021 - indimail-mta-2.14.0
  • 17/05/2022
  1. replaced deprecated function SSL_CTX_use_RSAPrivateKey_file with SSL_CTX_use_PrivateKey_file for openssl 3.0
  • 18/05/2022
  1. tls.c: ported for openssl 3.0.0
  • 18/05/2022 - indimail-mta-3.0.0
  • 30/05/2022
  1. dotls.c: BUG \r not copied, extra \0 copied. Thanks Stefan Berger
  2. dotls.c: Report line too long error instead of clubbing it with 'out of memory' error
  3. dotls.c: Return error for pop3 substdio failure
  • 31/05/2022
  1. dotls.c: fix DATA/RETR commands not getting passed to child
  • 01/06/2022
  1. tls.c, dotls.c: handle eof from network gracefully
  • 01/07/2022
  1. dotls.c, tcpclient.c: use TLS_CERTFILE env variable to set client
    certificate filename
  2. tls.c: set socket in ndelay mode
  3. instcheck.in: common instcheck for daemontools, ucspi-tcp, indimail-mta
  4. tcpclient.c: use unencrypted connection if argument to -n is an empty string
  • 08/09/2022 - Final release ucspi-tcp-1.1.0
  • 08/09/2022 - indimail-mta-3.0.1
Reply all
Reply to author
Forward
0 new messages