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 Highlightsindimail-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
ChangeLogindimail-mtaRelease 3.0.1 Start 21/05/2022 End 08/09/2022
- svctool: redirect envdir error message for missing dir to /dev/null
- svctool: fix original value of me getting overwritten by config-fast
- dnsbl.c: skip dnsblcheck for loopback addresses
- added dnsblcheck program
- smtpd.c: clear errno when client drops connection
- svctool: replaced dnsbl.njabl.org with zen.spamhaus.org
- swaks: updated to version 20201014.0
- installer.c, svctool: fixes for OSX
- instcheck.in: common instcheck for daemontools, ucspi-tcp, indimail-mta
- svctool.in: fixed mysqld startup warnings
- svctool.in: unmount resolv.conf when svscan is shutdown
- svctool.in: fixed qmail-smtpd, inlookup service script for Mac OSX
- svctool.in: fixed error in mysql run script
- svctool.in: use /tmp/inquery as TMPDIR for courier-imap inlookup
- smtpd.c: added AUTH CRAM-SHA224, CRAM-SHA384 methods
- smtpd.c: added AUTH SCRAM-SHA-1, SCRAM-SHA-256 methods
- smtpd.c: scram authentication with salt and stored/server keys
- svctool: create /tmp/inquery for pop3, imapd services
- smtpd.c: display error if incorrect scram encryption level is used
- smtpd.c: added missing flush() statements
- smtpd.c: added auth methods SCRAM-SHA-1-PLUS, SCRAM-SHA-256-PLUS
- setqload.c, qmonitor.c, qmulti.c: fix compilation warning if HASLIBRT is
undefined
- smtpd.c: fixed channel binding logic
- smtpd.c: added option to disable SCRAM PLUS variants
- qmail-smtpd: added -v option to display feature list and exit
- smtpd.c: disable AUTH= string in EHLO if OLD_CLIENT env variable isn't set
- qmail-showctl.c: added qregex, tlsclients to control file list
- svctool: skip lead space, comments, blank lines when converting envfile to
envdir
- dnsmxip.c dnstlsarr.c qmail-daned.c sslerator.c: fix compilation error when TLS is not defined in conf-tls
- qmail-smtpd.c, qmail-remote.c: replace hard coded auth methods with defines in authmethods.h
- qmail-remote: added CRAM-SHA224, CRAM-SHA384, CRAM-SHA512 AUTH methods
- smtpd.c: handle errors in gs_callback
- smtpd.c: improve logging for authenticated SMTP.
- qmail-remote.c: added SCRAM-SHA-1, SCRAM-SHA-256, SCRAM-SHA-1-PLUS, SCRAM-SHA-256-PLUS AUTH methods
- qmail-remote.c: check return value of substdio_put, substdio_puts functions
- qmail-remote.c: added channel binding for SCRAM-*-PLUS methods
- smtpd.c: fixed crash when ssl_timeoutaccept() failed
- smtpd.c: replaced authmethod_to_str() with get_authmethod() from libqmail
- qmail-remote.c: use scram salted password instead of plaintext for SCRAM when SALTED_PASSWORD environment variable is set
- control.c: enabled control_readcmd() which translates output of command as a qmail control file
- qmail-remote.c: fixed non SCRAM methods getting skipped
- smtpd.c: fetch hexsalted and clear text passwords if available for SCRAM authentication
- svctool.in: added IMAP_TLS variable for imaps variables
- Makefile: warn libraries not linked, headers not included & avoid race conditions
- qmail-remote: renamed SMTPROUTEFILE, QMTPROUTEFILE env variable to SMTPROUTESFILE, QMTPROUTESFILE
- qmail-remote: fixed compilation on systems without TLS1_3_VERSION
- svctool: made gecos field for qmail users descriptive
daemontoolsRelease 1.1.0 Start 27/02/2021 End 08/09/2022
- minisvc: added options to set, unset, remove env variables for supervised services
- minisvc: added --dumpconfig option
- updated minisvc man page
- minisvc: use common functions dump_run_header, dump_log_header for generating run, log/run
- post install: save variables to .variables
- svscan: run log supervise process with parent directory as argv2
- supervise: allow supervise for log process to run with three arguments
- minisvc: take into account /run filesystem when enabling, disabling service
- svscan: disable service in /run filesystem when service is disabled in /service
- minisvc: added checks when enabling, disabling service
- updated svscan man page
- minisvc - make output less verbose with --silent parameter
- minisvc - honour --silent in export variables
- supervise: do not treat error_exist as error for mkdir
- systemd.override.conf: added systemd override unit file for systems without battery backed RTC
- minisvc - allow --force to override norefreshsvc flag for a service
- remove zero bytes package_name-stat.override file
- do systemctl daemon-reload after installing/removing svscan service
- timestamp.h: fix function prototype for timestamp()
- minisvc: removed mixed use of space and tab
- moved pathexec_run, pathexec_env to libqmail
- minisvc: fixed TMPDIR creation
- systemd.override.conf: added systemd-time-wait-sync.service in After=
- supervise.c: indicate service name in logs, instead of just the pid when supervised service exits/crashes
- added RestartSec & PrivateTmp to main unit file and override.conf
- svscan_rc: implemented addtional rc commands
- envdir: handle new error code for recursive loops
- envdir: -c option to clear existing environment variables
- moved prot.c, prot.h to libqmail
- minisvc: added --print-variable option
- envdir: added feature to process .envfile and .envdir as a file containing list of directories
- daemontools.spec: removed /sbin/chkconfig from Requires
- envdir.c: added options i, w to ignore read errors and warn instead of exit on error
- Makefile: use openreadclose from libqmail.
- removed openreadclose.[c,h]
- minisvc: added --print-all-variables option
- 18/07/2021 - indimail-mta-2.13
- 18/07/2021
- installer.c: fixed setting setuid/setgid bits by calling chmod after chown
- qmailctl.sh: ported for alpine linux
- minisvc: use --resolvconf option to generate /service/resolvconf service
- minisvc: added option to add qmaill user and nofile group
- minisvc: added --enable-service, --disable-service and --config=inittab
- minisvc: removed hardcoding of mount, umount
- supervise.c: display in logs if child is stopped
- minisvc: install openrc script for alpine linux
- svps: added --no-pager, -n option to disable pager
- supervise: add feature to run ./init once before ./run
- svscan: set SERVICEDIR, PWD environment variable to service directory
- minisvc: renamed rc script boot/svscan to boot/openrc for alpine
- qmailctl: fixed systemctl hang when stopping svscan using service command
- daemontools.spec.in: added back /sbin/chkconfig in Requires
- hier.c: added inotify.c
- installer.c: added check (-c) and fix (-f) options to check, fix permissions after installation
- Makefile: create directories using installer instead of Makefile
- PKGBUILD: fix permissions of installed files in destdir
- debian/postrm: remove log directory on package removal
- PKGBUILD: replaced DESTDIR with pkgdir
- installer.c: set default permissions when mode=-1
- daemontools.spec, PKGBUILD, debian.preinst: create qmaill user with logdir as home directory
- tai64n2tai.c: code correction
- installer.c: added -m option to ignore missing files
- daemontools.spec.in: added permission files for indimail-mta
- replaced instcheck, hier.c with installer
- installer.c: added -p option to create directories as needed
- installer.c: allow installation for missing source if -m is specified
- supervise.c: fix for using of uninitialized value of signal in error log
- svscan.c: run as PID1 and reap dead processes
- docker-entrypoint: use getopt to get options to set domain, timezone
- minisvc: added config=cert (create_cert function)
- minisvc: added --check-certs state of certificate
- docker-entrypoint: added hotfix for podman named pipe bug
- docker-entrypoint: removed timedatectl as it doesn't work without systemd
- docker-entrypoint: removed host compoment from default domain
- docker-entrypoint: added -r, --repair option to drop to shell
- svctool: use /usr/local/etc/indimail/sv for servicedir on OSX/Darwin
- include noreturn.h from libqmail defining macro no_return use no_return macro to declare functions that do not return back to caller
- changed permissions for dirs with 555 to 755
- setuidgid.c: Feature to set additional groups using -g option
- 12/09/2021 - indimail-mta-2.14.0
- 20/10/2021
- svscan.c: enable scan on SIGCHLD
- softlimit.c: added -q option for setting message queue size
- inotify.c: added missing '/' in display
- softlimit.c: Use -1 to set resource limit as unlimited
- added missing '/' in display
- svps.in: fix for FreeBSD (stat command usage)
- qmailctl.sh: Fix restart on FreeBSD
- svps.in: added -h,--HUP option to send HUP to svscan
- multilog.c: Added NOFSYNC env variable to turn off fsync
- svscan.c: Enable automatic scan of /service if AUTOSCAN environment variable is set.
- svscan.c: added few INFO messages (scanning, starting service)
- 18/05/2022 - indimail-mta-3.0.0
- 22/05/2022
- run_init.c: check /run/svscan to determine if svscan is using /run
- supervise.c: new variable use_runfs to indicate if svscan is using /run
- svps.in: fix for alpine
- svscan.c: use DISABLE_RUN env variable to disable svscan from using /run
20/06/2022 - run_init.c: fixed usage of . for supervised directory
- minisvc.in: Fixes for OSX
- instcheck.in: common instcheck for daemontools, ucspi-tcp, indimail-mta
- supervise.c: open supervise/ok in write blocked mode when waiting for a service
- added set-network-wait for svscan systemd service to wait till network is up.
- minisvc: skip lead space, comments, blank lines when converting envfile to envdir
- updated docker-entrypoint man page
- 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-tcpRelease 1.1.0 Start 14/02/2021 End 08/09/2022
- tcpserver.c renamed SSL_CIPHER to TLS_CIPHER_LIST
- tcpclient.c: added SSL/TLS support
- tcpclient.c: added client mode feature making prog optional
- tls.c: added option to match host with common name
- tcpclient.c, tcpserver.c: Use CERTDIR env variable to specify custom certificate location
- tcpclient.c: added -m option to match host with common name
- dotls.c: SSL/TLS client / server wrapper for SSL/TLS and opportunistic TLS
- tcpclient.c: added opportunistic TLS (STARTLS) capability.
- tcpclient.c: added starttls for pop3
- tls.c: check for SSL_ERROR_WANT_READ to retry SSL_read() when using non-blocking io
- tls.c, tcpclient.c: retry read. write on errno == EAGAIN to fix blocking IO problem with SSL_read()
- tls.c: made translate() generic. Replaced SSL with fd parameter
- doit.c, tcpclient.c: use new translate() from tls.c
- tls.c, tcpclient.c: use set_essential_fd() to avoid deadlock
- remove zero bytes package_name-stat.override file
- define arguments as array subscripts to fix gcc 11 warnings
- renamed pathexec functions as upathexec to avoid clash with libqmail
- moved prot.c, prot.h to libqmail
- 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
- installer.c: fixed setting setuid/setgid bits by calling chmod after chown
- fixed compiler warning on alpine linux
- installer.c: added check (-c) and fix (-f) options to check, fix permissions after installation
- Makefile: create directories using installer instead of Makefile
- PKGBUILD: fix permissions of installed files in destdir
- PKGBUILD: replaced DESTDIR with pkgdir
- installer.c: set default permissions when mode=-1
- installer.c: added -p option to create directories as needed
- installer.c: allow installation for missing source if -m is specified
- 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
- replaced deprecated function SSL_CTX_use_RSAPrivateKey_file with SSL_CTX_use_PrivateKey_file for openssl 3.0
- tls.c: ported for openssl 3.0.0
- 18/05/2022 - indimail-mta-3.0.0
- 30/05/2022
- dotls.c: BUG \r not copied, extra \0 copied. Thanks Stefan Berger
- dotls.c: Report line too long error instead of clubbing it with 'out of memory' error
- dotls.c: Return error for pop3 substdio failure
- dotls.c: fix DATA/RETR commands not getting passed to child
- tls.c, dotls.c: handle eof from network gracefully
- dotls.c, tcpclient.c: use TLS_CERTFILE env variable to set client
certificate filename - tls.c: set socket in ndelay mode
- instcheck.in: common instcheck for daemontools, ucspi-tcp, indimail-mta
- 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