Releases: indimail/indimail-mta
indimail-mta 3.0.8
ChangeLogs
ucspi-tcp
- Tue Aug 06 2024 12:50:09 +0000 Manvendra Bhangui [email protected] 1.1.4-1.1%{?dist}
Release 1.1.4-1.1 Start 08/02/2024 End 06/08/2024
- installer.c: replace chown, chmod with fchown, fchmod
- installer.c: removed unused options and fixed check option fixing
permissions - installer.c: fixed displaying size variable, fixed allocation of zerobuf
variable - trypoll.c, tryshsgr.c: Fix compiler warnings
- fix discarded-qualifier compiler warnings
- fix function prototypes
- tcpclient.c: fixed incorrect use of strerr_warn instead of strerr_die
daemontools
- Tue Aug 06 2024 12:49:30 +0000 Manvendra Bhangui [email protected] 1.1.5-1.1%{?dist}
Release 1.1.5-1.1 Start 05/02/2024 End 06/08/2024
- minisvc: mount /etc/indimail/resolv.conf when UNSHARE is set
- minisvc: updated create_cert function - synced with svctool
- minisvc: added --update-certs option from svctool
- installer.c: fixed displaying size variable, fixed allocation of zerobuf
variable - supervise.c: set PPID env variable for child
- supervise.c: added comments, updated variable name for flagwant, spid arg
- daemontools.spec.in, debian/preinst.in: fixed logdir permissions
- minisvc.in: fix for missing qmail group
- fix discarded-qualifier compiler warnings
- daemontools.spec: fixed syntax error for opensuse
- svps.in: display services for all svscan instances
- svps.in: added stop/start all services functions
- daemntools.spec: stop/start all services during upgrade
- debian/postinst.in, debian/prerm.in: stop/start all services during
upgrade
indimail-mta
- Tue Aug 06 2024 12:54:08 +0000 Manvendra Bhangui [email protected] 3.0.8-1.1%{?dist}
Release 3.0.8-1.1 Start 05/02/2024 End XX/XX/XXXX
- svctool: mount /etc/indimail/resolv.conf when UNSHARE is set
- installer.c: fixed displaying size variable, fixed allocation of zerobuf
variable - trynpbg1.c, tryspnam.c: Fix compiler warnings
- sys-checkpwd.c: display in logs if userpw, shadow is enabled for encrypted
password lookup - test-indimail-mta: updated test script
- svctool: fixed setting of mysqld options and variables
- svctool: removed log-error and mysql-native-password
- fix discarded-qualifier compiler warnings
- fix function prototypes
- qmail-smtpd.c, smtpd.c: added env variable PENALTY to make penalty for
incorrect passwords configurable - qmail-rm.c: added -f option to specify strptime format
- qmail-smtpd.c: added HOSTACCESS to list of env variables used
- svctool: fix mysqldump incompatibility introduced by oracle
- svctool: fix checking for vadddomain path
- svctool: fix db creation for MariaDB > v10.3
- do_match.c, getDowmainToken.c, qregex.c renamed wildmat_internal to wildmat
- svctool: added --sysconfdir for indisrvr service creation
- indimail-mta.spec.in: remove glibc-static in buildrequires for mageia
- udplogger.c: BUG: fixed SIGFPE when n=0
- indimail-mta.spec.in: turn of logging for clamd, freshclam before removal
- smtpd.c, qmail-remote.c: add XOAUTH2 auth methods
- buffer_defs.h: added defination for BUFSIZE_MEDIUM
indimail-mta 3.0.7
ChangeLogs
indimail-mta
- Sun Mar 03 2024 12:20:15 +0000 Manvendra Bhangui [email protected] 3.0.7-1.1%{?dist}
Release 3.0.7-1.1 Start 02/01/2024 End 03/02/2024
- svctool: fix symbolic links clientcert.pem, scan.conf
- Makefile: fix compilation error for forward, filterit
- create_services: renamed cronlist.q, cronlist.i to indimail-mta.cron,
indimail.cron - getDomainToken.c: return correct domain when local or remote delivery is
not set - svctool.in, qlocal_upgrade.in: add supplementary group qcerts for qmails
user - qmail-dkim.c: use new error code DKIM_BAD_IDENTITY for invalid identity
domain (i= tag) - qmail-spamfilter.c: bypass antispam filter when RELAYCLIENT and
RELAYCLIENT_NOSPAMFILTER is set - svctool: updated bogofilter.cf header_format, log_update_format
- svctool: replace dk-filter with qmail-dkim when creating filterargs
- qlocal_upgrade.in: repace dk-filter with qmail-dkim in filterargs control
file - spawn-filter.c: display filter used for mail rejected message
- qmail-dkim.c: added DKIM_BAD_IDENTITY with letter Y
- qmail-dkim.c: use bouncehost/me control file if BOUNCEDOMAIN is not set -
Roberto Puzzanghera - qmail-dkim.c: set DKIMSIGN to private key from dkimkeys control file
- filterit.c: reset sgoptpos for repeated calls to subgetopt
- qmail-dkim.c: reset sgoptind, sgoptpos for repeated calls to subgetopt
- smtpd.c: prepend '@' to helohost when doing dnscheck
- svctool.in: fixed permissions of /run/indimail/pwdlookup
- qmail.h: increased qmail-queue buffer to 8192 for performance (idea from
Erwin Hoffman) - smtpd.c: fixed logerr() cloberring strnum
- use env variable ALLOW_BARELF to allow bare LF from smtp clients without
SMTP smuggling - include buffer_defs.h for buffer size definitions (inspired by Erwin
Hoffman). - received.c, qmail-queue.c: fixed data field in Received header
- queue-fix.c: exit if file type (regular, dir, fifo) is different from
expected - queue-fix.c: exit if not running as root
- queue-fix.c: removed redundant call to fchdir
- spawn-filter.c: fixes for -n, -N usage
- spawn-filter.c: modified error messages
- spawn-filter.c: exit 100 on wrong usage
- report.c: modified error messages
- svctool.in: disable envheaders control file for SMTP
- etrn.c, atrn.c: fixed arguments to die_control
- autoresponder.c, smtpd.c, qmta-send.c: fix compilation warning when srs2
lib/include is missing - qmail-send.c, qmta-send.c, slowq-send.c: fixed multiplication result
converted to larger type (codeql) - qmail-greyd.c, qmail-daned.c: fix potential use after free()
- queue-fix.c, installer.c: replace chown, chmod with fchown, fchmod
- getDomainToken.c: fix match for entries without local/remote directive
- spawn.c: convert env variable name to upper case in set_env_variables
- spawn.c: convert '-' in env variable name to '_' in set_env_variables
- installer.c: removed unused options and fixed check option fixing
permissions - queue-fix.c: added option -S to specify tcpto buffer size
- queue-fix.c: added option -t to create trash directory for qmail-rm
- drate.c: replace chown with fchown
- cleanq.c: use unlinkat() if available instead of unlink()
- qmail-rm.c: use unlinkat() if available instead of unlink()
- qmail-rm.c: use renameat() if available instead of rename()
- test-indimail-mta: added tests for ezmlm-make, ezmlm-sub, ezmlm-unsub,
ezmlm-list, ezmlm-send - test-indimail-mta: added tests for spam filtering by spawn-filter
- added authcram utility
- qmail-qfilter.c: exit with exit code of filter
- qmail-smtpd.c: fix parsing permanent/temporary SMTP code for custom error
- mailfilter.c: return permanent rejection for both 100 and
QQ_PERM_MSG_REJECT codes - test-indimail-mta: added additional tests for FILTERARGS, qmail-qfilter
- indimail-mta.spec, DIRS.in: added control/filters.d for user defined
filters - qmail-multi (mailfilter.c): added exit code 99 (blackhole) for
compatibility with qmail-qfilter - qfrontend, qf-log-subject, qf-smtp-ratelimit: make script compatible
with FILTERARGS as well as qmail-qfilter - qfrontend: use control/filters.d directory for user defined scripts
- qmail-qfilter.c: added exit code 2 (blackhole) for compatibility with
qmail-multi - qmail-showctl.c: added display of user filter directory control/filters.d
- qmail-showctl.c: display version information for -v option
- qmail-cat.c: added -e, -t, -v options similar to gnu cat
- 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 - smtpd.c: sanitized variable names for badmailfrom, badrcptto,
blackholedrcpt, blackholedsender, spamignore - removed blackhole*pattern, spamignorepattern
- qscheduler.c: removed unreachable statement after _exit()
daemontools
- Sun Mar 03 2024 12:20:15 +0000 Manvendra Bhangui [email protected] 1.1.4-1.1%{?dist}
Release 1.1.4-1.1 Start 09/02/2024 End 03/02/2024
- installer.c, supervise.c: replace chown, chmod with fchown, fchmod
- Makefile: test presence of unlinkat() for multilog
- installer.c: removed unused options and fixed check option for fixing
permissions - installer.c: added 'z' option to create files with fized number of zeros.
- multilog.c: use unlinkat() if available instead of unlink
- multilog.c: BUG: fix wrong argument passed to open_read() in finish()
- systemd.in: replace /etc/init.d/svscan with /usr/bin/qmailctl for ExeStop
- svscan.c: send SIGTERM twice followed by SIGKILL to terminate logging and
then remaining processes - supervise.c: Fixed termination of processes with -G option when no
processes found in a process group
ucspi-tcp
- Sun Mar 03 2024 12:20:16 +0000 Manvendra Bhangui [email protected] 1.1.4-1.1%{?dist}
Release 1.1.4-1.1 Start 08/02/2024 End 03/02/2024
- installer.c: replace chown, chmod with fchown, fchmod
- installer.c: removed unused options and fixed check option fixing
permissions
libdkim2
- Sun Mar 03 2024 12:20:16 +0000 Manvendra Bhangui [email protected] 1.0-1.1%{?dist}
Release 1.7-1.1 Start 01/02/2023 End 09/01/2024
- new function DKIMSignReplaceHash to alter current Hash method
- dkim.cpp: Generate dkim-signature for each -s option passed on command
line - dkimverify.cpp: return actual signature error in ProcessHeaders instead of
"no valid sigs" - dkim.cpp: added dkim_error_str function to return DKIM error
- dkim.h: added DKIM_EVP_SIGN_FAILURE, DKIM_EVP_DIGEST_FAILURE
definitions for EVP signing and digest failures - dkimsign.cpp: check for EVP sign and digest failures
- dkimsign.cpp: fixed a= tag to "ed25519-sha256"
- dkimverify.cpp: fixed verification of ed25519 signature without ASN.1
structure - dkimverify.cpp: fixed multi-signature verfication (rsa+ed25519)
- dkim.cpp: fixed usage strings
- dkimverify.cpp: Fixed SIGSEGV with missing k= tag in DKIM txt record
- dkimverify.cpp: use error routine only for EVP functions failure
- dkimsign.cpp: fixed compiler warning of use of uninitialized variable
- use Replaces, Conflicts in spec,control
- dkim.cpp: Added -X option to have colon seperated list of headers to be
excluded from DKIM signing. - dkim.cpp: Added env variable EXCLUDE_DKIMSIGN to exclude headers from
DKIM signing - dkim.cpp, dkimsigin.cpp: Exclude Arc-Authentication-Results from DKIM
signing - dkim.h: Added error code DKIM_BAD_IDENTITY for invalid identity domain
- dkimverify.cpp, dkim.cpp: use new error code DKIM_BAD_IDENTITY for
invalid identity domain (i= tag) - dkimsign.cpp: Use strrchr instead of strchr for extracting domain
- dkim.h: re-arranged DKIM error codes.
libsrs2
- Sun Mar 03 2024 12:20:16 +0000 Manvendra Bhangui [email protected] 1.0.18-1.1%{?dist}
Release 1.0.18-1.1 Start 05/06/2004 End 08/09/2022
- First Release
- FreeBSD, Darwin Port
- added debuginfo package
- updated configure.ac
- updated srs man page
indimail-mta 3.0.6
ChangeLogs
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
- Fixed maildir.c bug which breaks maildirserial. Skip non-regular files
- New program printass to print entries in users/cdb, users/assign file
- moved repository form here to there.
indimail-mta
- Mon Jan 01 2024 13:32:49 +0000 Manvendra Bhangui [email protected] 3.0.6-1.2%{?dist}
Release 3.0.6-1.1 Start 25/10/2023 End 01/01/2024
- use matchregex.h from /usr/include/qmail
- svctool: fixed create_smtp argument check
- svctool: added /etc/clamd.d to backup.conf
- mail_acl.c, qregex.c, smtpd.c, uacl.c: use matchregex.h from
/usr/include/qmail - qmail-queue.c: added feature to negate regexp match for archive feature
- create_services.in: added --secureauth option for smtp port 587
- create_services.in: added --setuser-priv option for slowq service
- autoresponder.c, indimail-spamfilter.c: rewind descriptor 0 regardless of
MAKE_SEEKABLE setting - qmail-spamfilter.c: added HAMEXITCODE, UNSUREEXITCODE
- qmail-spamfilter.c: Fixed working of globalspamredirect + REJECTSPAM
- do_scan.c, generic.c, getqueue.c, mailfilter.c, qhpsi.c,
qmail-qmqpc.c: replace hard-coded exit values with constants from qmail.h - qmulti.c: unset env variables queue_env, QUEUEPROG to prevent recursion
- qmulti.c: refactored code to handle qmail-queue consistently
- indimail-mta.spec, Makefile, ETC: added backup.conf for svctool backups
- svctool: skip comments in backup.conf file
- filterit_sub.c, qmail-queue.c, smtpd.c, qregex.c, bug - error in regexp
treated as match - test-indimail-mta: added test case to test invalid regex expression
- envrules.c, mail_acl.c, do_match.c: moved do_match to do_match.c
- use QREGEX to use regexp, else wildmat for control files accesslist,
mailarchive (qmail-smtpd, qmail-queue) - qmail-send.c, slowq-send.c, qmta-send.c: Set QREGEX env variable if qregex
control file has non-zero qregex - envrules.c, getDomainToken.c, qmail-queue.c, qregex.c: Use value of QREGEX
to use matchregex() - smtpd.c: Use do_match for matching host in badhost
- getDomainToken.c: restore original environment on no match when processing
dkimkeys - qregex.c: fix wildmat when pattern file is missing
- smtpd.c: fix nodnscheck for helo/ehlo
- test-indimail-mta: added badhelo test
- smtpd.c: fixed control filename for blackholedrcpt, blackholedrcptpatterns
- qmail.c: fixed NULLQUEUE
- tests/test-indimail-mta: added test for blackholedrcpt, blackholdsender
- test-indimail-mta: added test for nodnscheck
- qmail-dkim.c: Added env variable EXCLUDE_DKIMSIGN to exclude headers from
DKIM signing - qmail-dkim.c: Added Arc-Authentication-Results header to list of headers
excluded from DKIM signing - atrn.c: use auto_libexec for atrn script
- smtpd.c: Use TCP6LOCALPORT for smtp_portif TCPLOCALPORT is not set
- etrn.c, etrn.h: moved hostname validation to valid_hname.c
- atrn.c, etrn.c: lock dir/seriallock instead of doing it in atrn/etrn scripts
- create_service, indimail-mta.spec: use infifo service in ODMR service for auth
- svctool: add STRIP_DOMAIN env variable for local authentication by sys-checkpwd
- smtpd.c, etrn.sh, atrn.sh: refactored ETRN, ATRN code
- etrn.sh: use ipauth as IP address whitelist
- etrn.sh: use ipauth before mx check
- qmta-send.c: BUG: flagchan wasn't initialized in process_todo()
- rd-remote.c: Added remote mail redirector
- envrules.c, mail_acl.c: Fix for invalid rules
- spawn-filter.c: setup qmail-local, qmail-remote arguments after envrules
to allow envrules to set/modify QLOCAL, QREMOTE env variables - qlocal_upgrade: removed forced update of QMAILLOCAL, QMAILREMOTE env
variables for qmail-send service - rd-remote: added report for qmail-rspawn for maildir delivery
- report.c, rd-remote.c: added comment on report format for qmail-rspawn
- etrn.c, atrn.c: use users/cdb to get autoturn directory
etrn.c, atrn.c: pass etrn/atrn argument, autoturn dir and domain dir
as arguments to libexec/etrn, libexec/atrn - etrn.sh, atrn.sh: read .qmail-domain-default to get Maildir directory
- maildirsmtp: use PORT env variable if set as the SMTP port
- maildirserial.c: removed use of my_puts(), put() functions
- BUG: maildir.c: skip non-regular in append() function to prevent breaking
maildirserial - serialsmtp: fix skip SMTP QUIT when three args are provided
- smtpd.c: allow ODMR protocol on none ODMR ports
- smtpd.c: use atrnaccess control file for local users to access atrn domains
- test-indimail-mta: added test for ETRN, ATRN
- printass.c: added program to print entries from users/assign, users/cdb
- smtpd.c: allow CHECKSENDER to work for local users without virtualdomains
loaded - test-indimail-mta: added test for AUTOTURN
- qmail-inject.c: do domainqueue on the recipient domain instead of the
sender domain - qmta-send.c: write pid to queue/lock/pid for identity
- spawn.c: added -4 error code for unable to fork
- qmail-lspawn.c: refactored code for setting PWSTRUCT environment variable
- sendmail.c: added -r option to set mailx return path
- qmail-send.c, slowq-send.c: added concept of half-detached/full-detached
mode - slowq-send.c: use value of TODO_PROCESSOR env variable to run todo
processor - renamed cronlist.q to indimail-mta.cron
- qmail-send.c, slowq-send.c: terminate todo process when spawn/clean
process terminates - qmta-send.c, slowq-send.c, qmail-send.c, todo-proc.c: log pid during
startup. - todo-proc.c: handle qmail-clean termination
- qscheduler.c: Handle EINTR for mq_receive().
- 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 - qmail.h: Added compile time definitions for DEATH, OSSIFIED
- svctool: added --death argument to configure max time in secs that
qmail-queue can run - svctool: create DEATH, OSSIFIED variables as global variables
- svctool: added option to set env variable ALLOW_BARELF for qmail-smtpd to
convert bare LF into CRLF - smtpd.c: Convert bare LF into CRLF if env variable ALLOW_BARELF is set
- qlocal_upgrade.in: Fix symbolic link TLS_CIPHER_LIST in
control/global_vars to point to control/servercipherlist - svctool: use split from conf-split, bigtodo=0 when creating queue
- qlocal_upgrade: fixed copying cron config
- qmail-send.c, slowq-send.c: return from exit_todo if flagtodoalive is 0
- smtpd.c, PKGBUILD.in, indimail-mta.spec.in: moved repository to indimail
org - qmail-showctl.c: updated control file list
- svctool: fix symbolic links clientcert.pem, scan.conf
- Makefile: fix compilation error for forward, filterit
- renamed cronlist.q, cronlist.i to indimail-mta.cron, indimail.cron
daemontools
- Mon Jan 01 2024 13:32:49 +0000 Manvendra Bhangui [email protected] 1.1.3-1.1%{?dist}
Release 1.1.3-1.1 Start 27/04/2023 End 01/01/2024
- reduce sleep to 1 when service being waited for hasn't started
- minisvc.in: synced daemontools/minisvc, indimail-mta/svctool create_svscan
function - supervise.c: fixed waitpid returning EINVAL on OSX
- supervise.c: disable warning message if pid does not exist
- svscan.c: turn on verbose, silent using env variables VERBOSE, SILENT
- minisvc.in: skip indimail-mta variables when creating svscan service
- docker-entrypoint: removed redundant inlookup fix of creating named pipes
- runpod: Fixed typo
- svps.in: display svscan not running if svscan is not up
- docker_entrypoint.sh: use start_apache2 for openSUSE tumbleweed
- svps: added option to display up/down time in days, hours, mins, secs
- daemontools.spec, debian/preinst, debian/prerm, debian/postrm: handle
missing tai64n, tai64nlocal - minisvc.in: added missing definitions for usefsync, usefdatasync,
usesyncdir
ucspi-tcp
- Mon Jan 01 2024 13:32:51 +0000 Manvendra Bhangui [email protected] 1.1.3-1.7%{?dist}
Release 1.1.3-1.1 Start 27/04/2023 End 01/01/2024
- tcpclient.c, dotls.c: use strerr_tls for tls errors
- tcpclient.c, dotls.c, tcpserver.c: use TLS_CIPHER_LIST, TLS_CIPHER_SUITE
to set ciphers - tcpserver.c: display ip, pid in printstatus
- tcpserver.c: skip displaying IP in printstatus for sigchild
- tcpserver.c: fixed TCPLOCALPORT not getting set
libdkim2
- Mon Jan 01 2024 13:32:50 +0000 Manvendra Bhangui [email protected] 1.0-1.1%{?dist}
Release 1.7-1.1 Start 01/02/2023 End 14/11/2023
- new function DKIMSignReplaceHash to alter current Hash method
- dkim.cpp: Generate dkim-signature for each -s option passed on command
line - dkimverify.cpp: return actual signature error in ProcessHeaders instead of
"no valid sigs" - dkim.cpp: added dkim_error_str function to return DKIM error
- dkim.h: added DKIM_EVP_SIGN_FAILURE, DKIM_EVP_DIGEST_FAILURE
definitions for EVP signing and digest failures - dkimsign.cpp: check for EVP sign and digest failures
- dkimsign.cpp: fixed a= tag to "ed25519-sha256"
- dkimverify.cpp: fixed verification of ed25519 signature without ASN.1
structure - dkimverify.cpp: fixed multi-signature verfication (rsa+ed25519)
- dkim.cpp: fixed usage strings
- dkimverify.cpp: Fixed SIGSEGV with missing k= tag in DKIM txt record
- dkimverify.cpp: use error routine only for EVP functions failure
- dkimsign.cpp: fixed compiler warning of use of uninitialized variable
- use Replaces, Conflicts in spec,control
- dkim.cpp: Added -X...
indimail-mta 3.0.5
Release 3.0.5 Date: Tue Oct 17 2023 18:34:04 IST
DNF / YUM / APT / Arch Binary Downloads
Open Build Service Binary Download
COPR DNF/YUM repository for Redhat related distributions
Docker / Podman Containers
ChangeLog
Release 3.0.5-1.1 Start 11/09/2023 End 17/10/2023
Release Highlights
- svctool: fixed path/MAXDAEMONS in tcpserver run scripts - major bug which prevented tcpserver reaching concurrency > 40
- filterit: New filterit command to implement filters
filterit - qmail-lspawn: added filterit and envdir internal command
qmail-lspawn - refactored and tested CHECKSENDER code
- added feature to hide IP addresses in Received headers by setting HIDE_IP environment variable refactored and tested SPF code
- Bugfix SRS code
- Updated test-indimail-mta with additional tests (SPF, SRS, CHECKSENDER, CHECKRECIPIENT, etc)
indimail-mta
- 11/09/2023
- cdb-database: allow comments in input file
- svctool: localiphost incorrectly configured with IP instead of hostname
- qmail-showctl.c: fixed descriptions for localiphost, outgoingip
- 13/09/2023
- maildirdeliver.c: BUG. Remove NULL character appended to rpline, dtline
- updated dot-qmail, maildirdeliver, qmail-command man pages
- 14/09/2023
- svctool: fixed path/MAXDAEMONS in tcpserver run scripts [major]
- 15/09/2023
- preline.c: moved check for env variables after getopt
- 17/09/2023
- rspamstat.sh: Fixed division by zero when total=0
- qmail-local: added internal filter command for dot-qmail [major]
- filterit: added external filter command for dot-qmail [major]
- 19/09/2023
- filterit_sub.c: fixed multiple invocation of filterit_sub1()
- updated RCS logs for qmail-local.c, indimail-mta.spec, Makefile, filterit.c, filterit_sub.c
- test-indimail-mta: added tests for internal and external filterit command
- svctool: prevent dangling symbolic links in global_vars
- filterit_sub.c, forward.c: added X-Forwarded-To, X-Forwarded-For headers
- filterit_sub.c, forward.c: include hassrs.h to enable SRS
- qmail-lspawn.c: set supplementary groups for user if SETUSER_PRIVILEGES is defined
- qmail-lspawn.c: New exit code QLX_UIDGID for uid, gid, group setting errors
- svctool: added --setuser-priv option to make qmail-lspawn set supplementary groups when running qmail-local
- 20/09/2023
- indimail-mta.spec, qlocal_upgrade: pass --setuser-priv to svctool for qmail-send service
- qmail-local.c: added X-Forwarded-To, X-Forwarded-For headers when forwarding
- qmail-local, svctool: added SANITIZE_ENV to clear environment variables for dot-qmail commands
- added '%' option in dot-qmail to add env variables from a directory
- 23/09/2023
- svctool: Skip MYSQL_OPT_RECONNECT for mysql version > 8.0.34
- qmail-local.c: added MESSID to the environment variables to be preserved
- 24/09/2023
- spf.c: refactored code
- spf.h: removed reference to dead/not working spf explanation URLs
- spfquery.c: exit with return value of spfcheck()
- tests/test-indimail-mta: added spf tests
- 27/09/2023
- svctool: clear temporary files /tmp/hostip.*
- 30/09/2023
- svctool: added --chksender option to enable CHECKSENDER
- qmail-lspawn.c: skip setuser_privileges for non-etc-passwd users
- 02/10/2023
- smtpd.c: Fix (double) error message for unsupported AUTH method
- smtpd.c: Fix SEGV when decoding SRS recipient address [major]
- svctool: make QmailHOME, INDIMAILDIR configurable through env variable
- autoresponder.c: decode SRS return path address
- srs.c: fix srs_result len due to stralloc_0()
- tests/tests-indimail-mta: Added tests for SRS
- qmail-inject.c, qmail-local.c, qmail-send.c, qmta-send.c, slowq-send.c, smtpd.c: Fixed copying srs_result
- 03/10/2023
- qmail-lspawn.c: use env variable QMAILGETPW to execute alternate qmail-getpw
- spawn-filter.c: use env variable QLOCAL, QREMOTE to execute alternate qmail-local, qmail-remote
- 05/10/2023
- maildir.c, maildirserial.c, serialqmtp.c, serialsmtp.c: updated coding style
- 07/10/2023
- 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
- qmail-smtpd.c: added env variable HIDE_HOST to be displayed with -v option
- 16/10/2023
- svctool: added --secureauth option to create env variable SECURE_AUTH for SMTP service on port 587
- indimail-mta.spec, debian/indimail-mta-postinst: added --secureauth option for smtp service on port 587
- smtpd.c: pass flag=2 to err_nogateway for checksender
- 17/10/2023
- qmta-send.c: fixed path for qmail-lspawn, qmail-rspawn, qmail-clean
ucspi-tcp
- 14/09/2023
- tcpserver.c: display ip, pid in printstatus
- 27/09/2023
- tcpserver.c: skip displaying IP in printstatus for sigchild
daemontools
- No Changes
libdkim2
- No Changes
libsrs2
- No Changes
indimail-mta 3.0.4
indimail-mta now has a test script test-indimail-mta to test all major functions of indimail virtualdomains. From now on, each and every release will be made post successful tests using the test script.
DNF / YUM / APT / Arch Binary Downloads
Open Build Service Binary Download
Docker / Podman Containers
ChangeLogs
indimail-mta
- Fri Sep 08 2023 11:58:03 +0000 Manvendra Bhangui [email protected] 3.0.4-1.1%{?dist}
Release 3.0.4-1.4 Start 24/04/2023 End 08/09/2023
- svctool: when replacing in recontrol, use exact match
- qmail-send.c, qmta-send.c, slowq-send.c, qsutil.c, delivery_rate.c: Use NULL instead of 0 for null pointer
- custom_error.c: removed use of static variables as function is noreturn
- svctool: synced daemontools/minisvc, indimail-mta/svctool create_svscan function
- svctool: added --config=selinux option to create selinux module from .te file
- indimail-mta.te: updated selinux rules
- create_services: allow creation of mysql db even if indimail is not installed
- skip creation of indimail user, database if mysql_user is null
- Fixes for amazon linux in indimail-mta.spec
- set_environment.c: skip local env variable processing of .defaultqueue if SKIP_LOCAL_ENVIRONMENT is set
- qmail-showctl.c: restore HOME env variable after env_clear
- dknewkey: allow non-root user to execute dknewkey
- indimail-mta.spec, debian/indimail-mta.postinst, create_services: create defaultqueue parameters without DKIM signing
- svctool:updated for pwdlookup, inlookup changes for using /run, /var/run
- svctool: fixes for clamd service
- indimail-mta.spec, debian/*: add timestamps to installation logs
- svctool: added --config=nssd option to create nssd config file
- qsutil.c: removed extra / from defaultdelivery control filename path
- svctool: fix MySQL db creation for MariaDB 11.x
- qmail-remote.c, smtpd.c, qmail-greyd.c, mail_acl.c, starttls.c: use NULL instead of 0 for null pointer
- mail_acl.c: fixed incorrect call to out()
- dossl.c: fixed potential SIGSEGV
- svctool: set permission of logrotate.mysql to mysql:mysql
- condredirect.c, condtomaildir.c: added -r reverse option to forward when program fails instead of when program succeeds.
- dnstlsarr.c: refactored code to reduce loc
- auto-uid.c, auto-gid.c: replaced outs() with subprintf
- ldap-checkpwd.c, sys-checkpwd.c: replaced out() with subprintf()
- qmail-rm.c: replaced out(), logerr() with subprintf()
- whois.c: replaced logerr(), logerrf() with subprintf()
- sys-checkpwd.c: Fixed out of memory error for POSTAUTH
- create_services: fixed typo for mysql_pass in create_services
- smtpd.c: renamed check_recipient_cdb() to recipients_ext()
- svctool: use mariadb-admin if present instead of mysqladmin
- svctool: fixed nodnscheck update in recontrol
- svctool: put max supported protocol in tls[client|server]method
- queue-fix.c: added argument for -b option to specify bigtodo or nobigtodo
- qmail-remote.c: BUG qmail-remote trying SMTP AUTH when it shouldn't
[25] https://sourceforge.net/p/indimail/support-requests/25/ - drate.c: added missing call to uidinit()
- smtpd.c: refactored error logging using die_read, die_write
- sslerator.c: use strerr_tls for tls errors
- recipients.c: allow any number of arguments for pluggable address verification module
- smtpd.c: use sleep before sending message to client
- test-recipients.c: handle all exit codes of pavm
- smtpd.c: initialize few left out variables in smtp_init
- qmail-local.c: display program/command if crashed in logs
- svctool: preserve permission of control files in recontrol
- dossl.c: use clientcipherlist for tlsv1_2 and below, clientciphersuite for tlsv1_3 and above
- dossl.c: use TLS_CIPHER_LIST for tlsv1_2 and below, TLS_CIPHER_SUITE for tlsv1_3 and above
- dossl.c: use SSL_set_cipher_list for tlsv1_2 and below, SSL_set_ciphersuits for tlsv1_3 and above.
- dossl.c: return 0 for connnection/negotiation failure in do_tls() for qmail-remote to retry connection in non-tls mode
- qmail-remote.c: removed unused function perm_tlslcientmethod()
- qmail-remote.c: BUG: Fixed wrong usage of quit()
- qmail-remote.c: retry failed TLS/SSL connection attempt with non-TLS connection (point 52)
- qlocal_uprade.in: move tlsclientciphers to clientcipherlist, move tlsserverciphers to servercipherlist
- smtpd.c: use servercipherlist for tlsv1_2 and below, serverciphersuite for tlsv1_3 and above
- smtpd.c: use TLS_CIPHER_LIST for tlsv1_2 and below, TLS_CIPHER_SUITE for tlsv1_3 and above
- smtpd.c, qmail-remote.c: No defaults for missing tlsservermethod, tlsclientmethod
- qmail-smtpd.c: added TLS_CIPHER_SUITE env variables in print_details
- sslerator.c: let default ciphers be set by tls_init()
- sslerator.c: use TLS_CIPHER_LIST for tlsv1_2 and below, TLS_CIPHER_SUITE for tlsv1_3 and above
- svctool: renamed tlsclientciphers, tlsserverciphers to clientcipherlist, servercipherlist for TLSv1_2
- svctool: added clientciphersuite, serverciphersuite control files for TLSv1_3
- svctool: link TLS_CIPHER_LIST to servercipherlist, TLS_CIPHER_SUITE to serverciphersuite as default CIPHERS for TLSv1_2, TLSv1_3
- smtpd.c, dossl.c: new feature Min:Max format for tlsclientmethod, tlservermethod
- smtpd.c: changed location of flagbarfspf check
- smtpd.c, dossl.c: new feature Min:Max format for tlsclientmethod, tlservermethod
- smtpd.c: changed location of flagbarfspf check
- test-indimail-mta: use default ciphers set by svctool
- qmail-remote.c: BUG from 52: fixed extra connect being made for servers without STARTTLS capability
- dossl.c: return 2 for tls connection/negotiation failure
- Makefile, indimail-mta.spec, PLUGINS: removed example plugin
- debian/rules: added -fno-lto flag
- tests/test-indimail-mta: added test for qmail-remote to do STARTTLS and SMTPS
- qregex.h, matchregex.[c.h]: moved matchregex.c, matchregex.h to libqmail
- dk-filter.sh: Added missing NODKIMKEY feature to turn off dkimkeyfn
- surbfilter.c: Log debug messages on descriptor 5
- surblqueue: Redirect debug messages from surbfilter to SURBL_DEBUG_FN if set
- smtpd.c: Use last line to set error message from error strings returned by qmail_close()
- surblfilter.c: display the SURBL blocked uri in message
- qfrontend: make libexecdir, controldir configurable using env variables
- qmail-qfilter: BUG FIX: qmail-multi, qmail-queue wasn't getting executed
daemontools
- Fri Sep 08 2023 11:58:03 +0000 Manvendra Bhangui [email protected] 1.1.3-1.1%{?dist}
Release 1.1.3-1.1 Start 27/04/2023 End XX/XX/XXXX
- reduce sleep to 1 when service being waited for hasn't started
- minisvc.in: synced daemontools/minisvc, indimail-mta/svctool create_svscan function
- supervise.c: fixed waitpid returning EINVAL on OSX
- supervise.c: disable warning message if pid does not exist
- svscan.c: turn on verbose, silent using env variables VERBOSE, SILENT
- minisvc.in: skip indimail-mta variables when creating svscan service
- docker-entrypoint: removed redundant inlookup fix of creating named pipes
- runpod: Fixed typo
- svps.in: display svscan not running if svscan is not up
- docker_entrypoint.sh: use start_apache2 for openSUSE tumbleweed
- svps: added option to display up/down time in days, hours, mins, secs
ucspi-tcp
- Fri Sep 08 2023 11:58:04 +0000 Manvendra Bhangui [email protected] 1.1.3-1.1%{?dist}
Release 1.1.3-1.1 Start 27/04/2023 End XX/XX/XXXX
- tcpclient.c, dotls.c: use strerr_tls for tls errors
- tcpclient.c, dotls.c, tcpserver.c: use TLS_CIPHER_LIST, TLS_CIPHER_SUITE to set ciphers
libdkim2
- No Changes
libsrs2
- No Changes
indimail-mta 3.0.3
Date: Sun Apr 23 2023 17:51:54 +0000
DNF / YUM / APT / Arch Binary Downloads
Open Build Service Binary Download
Docker / Podman Containers
Release Highlights
daemontools
- terminate all childs if TERMINATE_SESSION is set
- set process group of child when SETGPID is set
- set sticky bit on run file to run in subreaper mode
indimail-mta - ability to set environment variables usig dkimkeys and facilitate multi-signature generation (RSA/ED25519)
- Many new mrtg graphs added
ucspi-tcp - ability to pass username or uid in -u option in tcpserver
- ability to pass multiple groups to -g in tcpserver
**libdkim - ability to alter Hash Method after DKIMSignInit
What's Changed
- added DKIMSignReplaceHash to alter Hash method by @mbhangui in #43
- Add privilege qcert for accessing certificates by qmaild, qmailr by @mbhangui in #44
Full Changelog: v3.0.2...v3.0.3
ChangeLog
daemontools
- 20/02/2023
- setuidgid.c: moved set_additional_groups function to libqmail
- 04/03/2023
- run_init.c: return -1 for name too long
- supervise.c: disable using /run if DISABLE_RUN env variable is set
- svok.c, svc.c, svstat.c: check for supervise/ok in original service dir before run filesystem
- svscan.c: unset use_run if /run, /var/run is missing
- svscan.c: skip directories starting with .
- supervise.c: cleanup supervise directory in service directory when using run fs
- 05/03/2023
- svscan.c: use TERMINATE_SESSION to terminate all children when running as session leader
- supervise.c: added exiting informational message
- svscan.c: check for dup2 errors.
- 06/03/2023
- supervise.c: fix termination by svc in subreaper mode
- supervise.c: handle SIGTERM to exit and terminate child
- supervise.c: set Process Group ID of child when SETPGID env variable is set
- 07/03/2023
- supervise.c: check for sticky bit on run on every restart
- 13/03/2023
- svps: added -t, --term option
- installer.c: changed string warning: to warn:
- qmailctl: supress echo when not running on terminal
- 21/03/2023
- svc: display system error for error opening supervise/control
- 31/03/2023
- setuidgid.c: fixed illegal free
- 02/04/2023
- supervise.c: pass the directory as the last arugment to ./run, ./shutdown, ./alert scripts.
- 03/04/2023
- qmailctl: use portable test -t to test for tty
- 22/04/2023
- supervise.c: ignore wait if service for which supervise should wait does
not exist.
** indimail-mta**
- 01/02/2023
- qmail-dkim.c, getDomainToken.c: use dkimkeys to set env variables. Can be used to facilitate rsa/ed25519 multi-signature generation
- qmail-dkim.c: use DKIMSignReplaceHash() to change signature encryption method
- 04/02/2023
- dk-filter.sh: refactored for multi-signature generation
- 05/02/2023
- dknewkey.sh: made key type case insensitive
- dknewkey.sh: removed newlines from public key records
- dknewkey.sh: added -e, --enforce option to disable testing mode for dkim key
- 07/02/2023
- qmail-qread.c: BUG: Fixed SIGSEGV
- qmail-qread.c: skip dynamic queue if DYNAMIC_QUEUE is not set
- 08/02/2023
- qmail-qread.c: auto determine dynamic queue using /dev/shm/qscheduler
- qscheduler.c: merged sigterm, die() functions
- getqueue.c: include stdint.h for uint32_t definition
- qmail-smtpd.c, qmail-qread.c, nowutc.c: fixed format string for subprintf
- hasstdarg.h: fixed HAVE_STDARG_H define
- qmail.h: added perm_error, temp_error macro to evaluate perm/temp errors
- qmail.c: use perm_error/temp_error from qmail.h to evaluate perm/temp error
- 11/02/2023
- dknewkey.sh: generate ed25519 public key without ASN.1 structure (skip first 12 bytes)
- 12/02/2023
- qmail-dkim.c: replaced exit code 70 with QQ_PID_FILE
- cdbget.c: added -n option for searching cdb created by cdb-database
- qmail-newu.c, cdb-database.c: refactored code
- dk-filter.sh, qmail-dkim.c: use VERBOSE variable to turn on debug for signature verification status on fd 2
- 13/02/2023
- removed yahoo domainkeys
- 14/02/2023
- cleanq.c, qhpsi.c, qscanq.c: renamed auto_uidc, auto_gidc to auto_uidv, auto_gidv
- dknewkey.sh: use qcerts group for certificate group permission
- get_uid.c: added qcerts group ID for certificate group permissionA
- get_uid.c: renamed auto_uidv, auto_gidv to auto_uidi, auto_gidi
- get_uid.c: added auto_gidc for qcerts group ID
- indimail-mta.spec: added group ID qcerts for certificate group permissions.
- perm_list.in: updated group ownership of certs, domainkeys directory to qcerts
- qlocal_upgrade.in: add group ID qcerts
- qlocal_upgrade.in: updated group id of certs to qcerts
- qlocal_upgrade.in: added qcerts as supplementary group for qmaild, qmailr and apache
- qmail-poppass.c, sql-database.c: renamed auto_uidv to auto_uidi, auto_gidv to auto_gidi
- qmail-showctl.c: renamed auto_uidv to auto_uidi, auto_uidc to auto_uidv, auto_gidv to auto_gidi
- qmail-showctl.c: added auto_uidc for qcerts group ID
- qmail-sql.c: renamed auto_uidv, auto_gidv to auto_uidi, auto_gidi
- smtpd.c: fix dossl function - return on error
- svctool.in: use tcpserver -u qmaild for running qmail-smtpd for qcerts supplememtary group
- svctool.in: create qcerts group ID and added qcerts as supplementary group for qmailr, qmaild, apache
- svctool.in: create certs with root:qcerts owner:group
- update_tmprsadh: create rsa/dh parameter files with root:qcerts owner:group
- 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
- svctool.in: run indisrvr with additional qcert group ID privilege
- 17/02/2023
- smtpd.c: reworded smtp errors
- smtpd.c: handle error code from commands() function
- qmail-dkim.c: added env variable NODKIMKEYS to disable reading of dkimkeys control file
- qmail-dkim.c: disable dkimkeys when doing DKIMSIGNEXTRA
- dk-filter.sh: set environment variables set in dkimkeys control file
- 18/02/2023
- sys-checkpwd.c: replaced strerr_warn with subprintf
- 19/02/2023
- dk-filter.sh: added unset variables feature of dkimkeys, for var=val when val is not set
- 20/02/2023
- smtpd.c: use plaintxtread for ssl connection to avoid abnormal exit during smtp auth
- svctool.in: run qmail-smtpd with qmail group privilege to access control/host.mysql
- 03/03/2023
- svctool.in: fixed libindimail control file generation
- svctool.in: fixed nooverwrite for qmail-send, slowq-send service
- create_services.in: run svctool only when running as uid 0
- 07/03/2023
- svctool.in: added --certdir option to override default certificate location when generating new certs
- 08/03/2023
- srsfilter.c: discard double, triple bounces
- qmta-send, slowq-send: Fixed makefile to enable SRS
- qmta-send.c, slowq-send.c: fixed but with handling SRS address
- 09/03/2023
- svctool.in: skip creation of .qmail aliases when --postmaster is not specified
- smtpd.c: fixed error "Non-existing DNS_MX: MAIL" for invalid batv signatures
- 10/03/2023
- qmail-remote.c: skip smtp_auth function if remote doesn't support authenticated smtp
- svctool.in: run imapd, pop3d with additional qcert group privilege for certificate access
- 11/03/2023
- smtpd.c: set SHUTDOWN env variable as an empty string for ODMR when childprog is not provided
- qmail-remote.c: display protocol as SMTPS when using TLS
- create_services.in, indimail-mta.spec, debian/indimail-mta.postinst.in: use --forceauthsmtp, --starttls options for odmr service on port 366
- svctool.in: Fixed setting AUTH variables (REQUIREAUTH, AUTHMODULES) for ODMR service
- 12/03/2023
- qmail-smtpd.c: change cwd using SYSCONFDIR env variable
- qmail-cdb.c: allow workdir to be overriden by SYSCONFDIR, CONTROLDIR env variables
- test-recipients.c: use env variable SYSCONFDIR to override /etc/indimail for user/recipients
- recipients.c: refactored recipients extension
- recipients.c: fixed bug with string comparisions
- 13/03/2023
- dknewkey.sh: use fold command to split public key string
- 17/03/2023
- svctool.in: fixed using sysconfdir for indimail.cnf
- 20/03/2023
- dknewkey.sh: new split_str function REF: sagredo.edu comment2961
- svctool: removed field mailing_list from vfilter table
- svctool: updated logging options for mysqld service
- svctool: create logrotate.mysql for rotating mysqld logs in cron
- svctool: use sysconfdir variable for indimail.cnf
- 21/03/2023
- svctool: new function do_exit to premature exit normally
- 26/03/2023
- autoresponder.c, doc/ChangeLog, qmail-qfilter.c, serialcmd.c, sslerator.c, sys-checkpwd.c: fixed code for wait_handler
- 28/03/2023
- qmail.c: replaced few left-over exit codes with constants from qmail.h
- qmail.c: new feature: QMAILQUEUE with one or more arguments
- qmulti.c: queue program can be specified on command line
- svctool.in: use qmail-dkim qmail-spamfilter chain in QMAILQUEUE
- svctool.in: override bogofilter.cf path with --sysconfdir
- 29/03/2023
- qlocal_upgrade.in: upgrade qmail-send, slowq-send service to use --setgroups
- 30/03/2023
- smtpd.c: replaced SSL_shutdown(), SSL_free() with ssl_free() to fix SIGSEGV in qmail/tls.c
- debian/rules: fixed typo qlocal_upgrade, qupgrade script names
- svctool: fixes for mariadb ssl setup (permissions)
- svctool: fix libindimail path on debian
- 01/04/2023
- indimail_stub.c: refactored getlibObj...
indimail-mta 3.0.2
Date: Mon Jan 30 2023 13:14:56 +0000
DNF / YUM / APT / Arch Binary Downloads
Open Build Service Binary Download
Docker / Podman Containers
Release Highlights
What's Changed
indimail-mta 3.0.2
- SRS decoding in qmail-smtpd avoiding the need to create virtualdomain for srs and .qmail-srs-default in /var/indimail/alias
- qmail-remote can use credentials stored in remote_auth.cdb using simple or wildcard assignments
- qmail-smtpd: display auth method used in logs when SECURE_AUTH is set
- sys-checkpwd.c: display auth method in logs if DEBUG is set
- qmail-dkim: recursively replace all '%' characters with domain
- qmail queue error codes by @mbhangui in #36
- 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
- refactored tls code by @mbhangui in #37
- TLS/SSL functions moved to dossl.c by @mbhangui in #38
- use varargs for log, output and other functions by @mbhangui in #39
- use subprintf (printf like function that can print to substdio). replaced qprintf with subprintf by @mbhangui in #40
- smtpd.c: added ssl cipher bits in Received header
- conf-cc Added flags to warn issues with variadic functions
- qmail-dkim: sign and verify ed25519 DKIM-Signature. added Ed25519-SHA256 cryptography method for DKIM by @mbhangui in #41
- qmail-dkim.c: added DKIMSIGNEXTRA, DKIMSIGNOPTIONSEXTRA env variables to insert additional signature
libdkim 1.6
- added rfc8463 ed25519 cryptographic method for signing and verification.
- removed allman legacy code
libqmail 1.1.2
- tls functions for indimail-mta, indimail-virtualdomains
- subprintf function - substdio equivalent of printf
- qsnprintf, qsprintf functions - equivalent of snprintf and sprintf functions using stralloc instead of fixed size buffer.
ucspi-tcp 1.1.1
- tcpserver, tcpclient, dotls: option to load ciphers from file
- tcpclient, tcpserver, dotls: set TLS_PROVIDER env variable for qmail-smtpd to insert into received header
- use tls functions from libqmail
daemontools 1.1.1
- added auto-start, auto-stop feature based on presence/absense of down file
- added subreaper functionality - ability to reap grandchilds
Full Changelog: v3.0.1...v3.0.2
indimail-mta
- 08/09/2022
- First change
- maildir_deliver.c: added comments
- 18/09/2022
- instcheck.in: use uininstaller only for ucspi-tcp
- INPUT, ETC: renamed DIR to DIRS
- 19/09/2022
- svctool: added scram, salted, TIMESTAMP column to indimail table
- create_services: run ischema -u to update indimail schema to current
- 25/09/2022
- qmail-send: added feature to disconnect from todo-proc
- todo-proc: added feature to disconnect from qmail-send
- 27/09/2022
- qmail-send.c, slowq-send.c: auto attach to todo-processor when there are no pending delivery jobs
- svctool: added --todo-proc option to create TODO_PROCESSOR env variable for external todo processor in slowq-send service
- indimail-mta.spec.in, create_services, debian-postinst: Create slowq-send service with todo processor turned on
- 28/09/2022
- dk-filter: remove '%' from filename if dkim key file not found
- 30/09/2022
- set owner to root for important directories
- 02/10/2022
- dknewkey.sh: refactored code
- dkfliter.sh: don't treat missng private key as error when DKIMSIGN has %.
- qmail-dk.c: fixed 'Private key file does not exist' for DKSIGN with '%'
- qmail-dkim.c: fixed 'Private key file does not exist' for DKIMSIGN with '%'
- 03/10/2022
- qscanq.c, qmail-dk.c, qmail-dkim.c: fixed return exit codes
- 04/10/2022
- qmail.c, qmail.h: set ERROR_FD to -1 to disable custom error
- qmail-queue.c: prefix qhpsi error messages with 'qhpsi: '
- 07/10/2022
- smtpd.c: fixed length of BATV signkey
- 08/10/2022
- smtpd.c: Set SPFRESULT env variable for qmail-queue frontend and qfilters
- 09/10/2022
- smtpd.c, qmail-inject.c: removed include wildmat.h
- sqlmatch.c: renamed check_db() to query_db().
- qmail-local.c: fixed localdomains restricted delivery feature
- 10/10/2022
- renamed qmail-control to indimail-control, qmail-srs to indimail-srs
- 12/10/2022
- srs.c: return -1 in setup() for control file open failure
- srs.c: added documentation
- smtpd.c: added SRS code to decode SRS addresses
- srs.c: added feature to set SRS parameters using environment variables
- 13/10/2022
- batv.h: added header to define constants for batv functions for use in qmail-smtpd, qmail-remote, batv frontent
- qmail-remote.c: refactored batv code
- qmail-smtpd.c: refactored batv code
- qmail-smtpd, qmail-remote: use batv prefix for batv control files
- qmail-smtpd, qmail-remote: allow batv parameters to be set via env variables
- renamed batv control files: signkey - batvkey, signkeystale, batvkeystale, nonsignhosts - batvnosignremote, nosignmyvdoms - batvnosignlocals
- 14/10/2022
- smtpd.c: corrected helocheck
- smtpd.c: display auth method used in logs when SECURE_AUTH is set
- spf.c, smtpd.c, spfquery.c: renamed variable for localhost from local to localhost
- 15/10/2022
- qmail-smtpd.c: updated control file list and env variable list
- smtpd.c: reorganized opening of control files in to functions - open_control_files1() and open_control_files2()
- 17/10/2022
- qmail-dkim.c, qmail-dk.c: replace all '%' characters with domain
- qmail.c, qmail.h: use exit code defines from qmail.h
- 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
- ofmipd.c: authorize mails using RELAYCLIENT
- 22/10/2022
- qmail-queue.c: treat auto_uidd as another uid for Received header
- smtpd.c, qmail-qmqpd.c, qmail-qmtpd.c, mini-smtpd.c: added program identifier to Received header
- 30/10/2022
- smtpd.c: removed skip setting STOREDKEY, SERVERKEY using GSASL_PASSWORD env variable
- sys-checkpwd.c: display auth method in logs if DEBUG is set
- qmail-daned.c, qmail-greyd.c, qmail-remote.c: replaced cdb_match() with cdb_matchaddr() in cdb_match.c
- cdb_match.c, cdb_match.h: added cdb_match(), cdb_matchaddr()
- ctrlenv.c: added -c option to clear existing env variables
- ctrlenv.c: moved cdb_match() function to cdb_match.c
- qmail-remote.c: fetch username password for authenticated smtp from remote_auth.cdb
- 31/10/2022
- cdb-database.c, ctrlenv.c: look at last colon when parsing data
- qmail-smtpd: do chdir /etc/indimail as default cwd
- svctool: PLUGIN0_dir - use /etc/indimail as cwd for smtpd plugin
- remove qmail-newmrh. Use qmail-cdb instead of qmail-newmrh
- qmail-cdb.c: added feature to create recipient.cdb from users/recipients making recipient-cdb redundant
- recipients.c: use control/recipients insead of user/recipients
- recipients.c: fix for SRS rewritten addresses.
- 01/11/2022
- added test-recipients, make-recipients programs
- 03/11/2022
- qmail-showctl.c: added remote_auth, recipients control file
- 05/11/2022
- svctool: added --enablecram option to enable CRAM authentication using encrypted password
- sys-checkpwd.c: Use ENABLE_CRAM env variable to enable CRAM authentication using encrypted password
- 07/11/2022
- create_services: removed domainkeys setup for new installations
- 08/11/2022
- qmail-remote.c: clear input buffer when trying next MX (Franz Sirl)
- 09/11/2022
- dk-filter.sh, make-recipients.sh, svctool.in: replaced deprecated egrep with grep -E
- 14/11/2022
- smtpd.c: set DISABLE_EXTRA_GREET environment variable to disable extra information in greeting
- svctool.in: when importing variables don't treat existing variables as error
- 23/11/2022
- config-fast: added command line options --destdir, --quiet, --verbose
- load_mysql.c, qmail-showctl.c, smtpd.c, svctool: renamed control file mysql_lib to libmysql
- qlocal_upgrade.sh: rename mysql_lib to libmysql on upgrade
- svctool.in: change invocation of config-fast for command line args
- svctool.in: create backup.conf config file in default_qmail_control
- 24/11/2022
- slowq-send.c, todo-proc.c: in todo-processor changed variable type to char when reading single byte from send process
- timeoutconn.c - Converted functions to ANSIC prototype
- 25/11/2022
- svctool: include output of --dumpconfig, --print-all-variables in backup
- 28/11/2022
- dknewkey.sh: list public, private key using ls
- 30/11/2022
- svctool.in: create servercert.rand file
- 02/12/2022
- qlocal_upgrade.in: add env variable AUTOSCAN for svscan if missing
- 03/12/2022
- svctool: do ssl/rsa setup for mysql/mariadb before creating indimail.cnf
- 07/12/2022
- svctool: fixes for MySQL db, ssl certificates creation
- 14/12/2022
- svctool: svscan run - check if /etc/indimail/resolv.conf exists before attempting mount --bind
- 18/12/2022
- autoresponder.c, qmail-qfilter.c, serialcmd.c, sslerator.c, sys-checkpwd.c: handle wait status in detail
- 20/12/2022
- dns.c: Fixed dns_txt(), dns_ptr() strsalloc_append
- spf.c: added ssa_free() to free strsalloc variable
- 21/12/2022
- spf.c: changed scope of strsalloc ssa variable to local
- dns.c: renamed dns_txtplus(), dns_ptrplus() as dns_txt(), dns_ptr()
- 22/12/2022
- smtpd.c: log timeouts, regex comp...
indimail-mta 3.0.1
Date: Thu, 08 Sep 2022 12:31:45 +0000
DNF / YUM / APT / Arch Binary Downloads
Open Build Service Binary Download
Docker / Podman Containers
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
- svctool: redirect envdir error message for missing dir to /dev/null
- 26/05/2022
- svctool: fix original value of me getting overwritten by config-fast
- 01/06/2022
- 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
- 06/06/2022
- swaks: updated to version 20201014.0
- 20/06/2022
- installer.c, svctool: fixes for OSX
- 01/07/2022
- instcheck.in: common instcheck for daemontools, ucspi-tcp, indimail-mta
- 03/07/2022
- svctool.in: fixed mysqld startup warnings
- svctool.in: unmount resolv.conf when svscan is shutdown
- 04/07/2022
- svctool.in: fixed qmail-smtpd, inlookup service script for Mac OSX
- 21/07/2022
- svctool.in: fixed error in mysql run script
- svctool.in: use /tmp/inquery as TMPDIR for courier-imap inlookup
- 26/07/2022
- smtpd.c: added AUTH CRAM-SHA224, CRAM-SHA384 methods
- 31/07/2022
- smtpd.c: added AUTH SCRAM-SHA-1, SCRAM-SHA-256 methods
- 04/08/2022
- smtpd.c: scram authentication with salt and stored/server keys
- svctool: create /tmp/inquery for pop3, imapd services
- 05/08/2022
- smtpd.c: display error if incorrect scram encryption level is used
- smtpd.c: added missing flush() statements
- 14/08/2022
- 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
- 15/08/2022
- smtpd.c: fixed channel binding logic
- smtpd.c: added option to disable SCRAM PLUS variants
- 17/08/2022
- 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
- 20/08/2022
- svctool: skip lead space, comments, blank lines when converting envfile to
envdir
- 21/08/2022
- 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
- 22/08/2022
- 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
- 23/08/2022
- 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
- 24/08/2022
- qmail-remote.c: fixed non SCRAM methods getting skipped
- 25/08/2022
- smtpd.c: fetch hexsalted and clear text passwords if available for SCRAM authentication
- 28/08/2022
- svctool.in: added IMAP_TLS variable for imaps variables
- 29/08/2022
- Makefile: warn libraries not linked, headers not included & avoid race conditions
- 02/09/2022
- qmail-remote: renamed SMTPROUTEFILE, QMTPROUTEFILE env variable to SMTPROUTESFILE, QMTPROUTESFILE
- 06/09/2022
- qmail-remote: fixed compilation on systems without TLS1_3_VERSION
- svctool: made gecos field for qmail users descriptive
daemontools
Release 1.1.0 Start 27/02/2021 End 08/09/2022
- 27/02/2021
- minisvc: added options to set, unset, remove env variables for supervised services
- minisvc: added --dumpconfig option
- updated minisvc man page
- 28/02/2021
- minisvc: use common functions dump_run_header, dump_log_header for generating run, log/run
- post install: save variables to .variables
- 07/04/2021
- svscan: run log supervise process with parent directory as argv2
- supervise: allow supervise for log process to run with three arguments
- 15/04/2021
- minisvc: take into account /run filesystem when enabling, disabling service
- 16/04/2021
- svscan: disable service in /run filesystem when service is disabled in /service
- minisvc: added checks when enabling, disabling service
- updated svscan man page
- 20/04/2021
- minisvc - make output less verbose with --silent parameter
- minisvc - honour --silent in export variables
- 27/04/2021
- supervise: do not treat error_exist as error for mkdir
- 28/04/2021
- systemd.override.conf: added systemd override unit file for systems without battery backed RTC
- minisvc - allow --force to override norefreshsvc flag for a service
- 30/04/2021
- remove zero bytes package_name-stat.override file
- 03/05/2021
- do systemctl daemon-reload after installing/removing svscan service
- timestamp.h: fix function prototype for timestamp()
- 06/05/2021
- minisvc: removed mixed use of space and tab
- 12/05/2021
- moved pathexec_run, pathexec_env to libqmail
- 16/05/2021
- minisvc: fixed TMPDIR creation
- 17/05/2021
- systemd.override.conf: added systemd-time-wait-sync.service in After=
- 06/06/2021
- supervise.c: indicate service name in logs, instead of just the pid when supervised service exits/crashes
- 22/06/2021
- added RestartSec & PrivateTmp to main unit file and override.conf
- 30/05/2021
- svscan_rc: implemented addtional rc commands
- envdir: handle new error code for recursive loops
- envdir: -c option to clear existing environment variables
- 03/07/2021
- moved prot.c, prot.h to libqmail
- 07/07/2021
- minisvc: added --print-variable option
- 12/07/2021
- envdir: added feature to process .envfile and .envdir as a file containing list of directories
- 13/07/2021
- daemontools.spec: removed /sbin/chkconfig from Requires
- 14/07/2021
- 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]
- 16/07/2021
- 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
- 22/07/2021
- minisvc: use --resolvconf option to generate /service/resolvconf service
- 23/07/2021
- minisvc: added option to add qmaill user and nofile group
- 24/07/2021
- minisvc: added --enable-service, --disable-service and --config=inittab
- minisvc: removed hardcoding of mount, umount
- supervise.c: display in logs if child is stopped
- 25/07/2021
- minisvc: install openrc script for alpine linux
- 26/07/2021
- svps: added --no-pager, -n option to disable pager
- 27/07/2021
- supervise: add feature to run ./init once before ./run
- svscan: set SERVICEDIR, PWD environment variable to service directory
- 28/07/2021
- minisvc: renamed rc script boot/svscan to boot/openrc for alpine
- qmailctl: fixed systemctl hang when stopping svscan using service command
- 29/07/2021
- daemontools.spec.in: added back /sbin/chkconfig in Requires
- 30/07/2021
- hier.c: added inotify.c
- 02/08/2021
- 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 per...
indimail-mta 3.0.0
Date: Wednesday 18 May 2022 01:41:34 PM IST
DNF / YUM / APT / Arch Binary Downloads
Open Build Service Binary Download
Docker / Podman Containers
Release Highlights
indimail-mta
- dynamic queue using POSIX message queue, shared memory
- New daemon qscheduler which replaced qmail-daemon
- Ability to group deliveries in chunks to improve delivery speed
- added qmonitor manage queues.
- added qtop program to monitor queue loads without using disk IO
- Made SPLIT, big todo configurable using env variables.
- added ability to disable a queue temporarily.
- openssl 3.0.0 port
daemontools
- 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
- replaced deprecated function SSL_CTX_use_RSAPrivateKey_file with SSL_CTX_use_PrivateKey_file for openssl 3.0.0
ChangeLog
indimail-mta
Release 3.0.0 Start 21/09/2021 End 17/05/2022
- 21/09/2021
- batv.c: refactored code. Return error type during validation
- added man pages for batv
- Fixed typos
- 04/10/2021
- svctool.in: removed not-needed QUERY_CACHE env variable from defaultqueue
- 20/10/2021
- qmail-send.c, qmail-todo.c, qmta-send: display program 'qmail-send' in
logs for identification - qmail-start.c, qmta-send.c, slowq-start.c: added queue directory as
argument for identification in ps list - smtpd.c: allow SMTP code to be configured when setting SHUTDOWN env
variable - qmail-cat.c: added SIGTERM handler to flush io
- 21/10/2021
- qmail-qread.c process_queue.c qmail-rm.c qmulti.c: eliminated extra
variables - qmail-daemon.c: made qstart, qcount variables global
- qmail-daemon.c: replaced execv with execvp
- 22/10/2021
- qmta-send.c: removed loglock code (not required for signle queue)
- qmail-send.c: change for ident argument to loglock_open()
- qsutil.[c,h]: added ident argument to loglock_open for identification in
logs - mini-smtpd.c: removed extra arguments passed to err_size()
- Makefile: added target rt.lib for qscheduler
- mini-smtpd.c: removed extra arguments passed to err_size()
- Makefile: added target for qscheduler
- added qscheduler for running dynamic queues
- conf-queue: added definition for QUEUE_MAX, QUEUE_LOAD
- 25/10/2021
- eliminated mktmpfd() function
- 02/11/2021
- qmail-send.c, slowq-send.c, qmail-todo.c: use argv0 for program name
- 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
- qmail-daemon.c: use sig_block(), sig_unblock() to prevent interruptions
- queue-fix.c: return exit status for queue-creation
- 05/12/2021
- rrt.c: fixed command line args for return-path, receipient
- qmail-send.c, qmail-todo.c, slowq-send.c: fixed argv0
- 13/12/2021
- added man page for multi-queue.7
- removed qmail-daemon
- 20/12/2021
- qlocal_upgrade.in: added command to fix qmail-send run script
- 31/12/2021
- qmail-todo.c, qmail-send.c, qmail-start.c: added compat mode option to
scan on lock/trigger in addition to message queue - qmail-qread.c: added -s option to display only counts with -c option
- 01/01/2022
- qmail-multi: Make queue directory as second argument to qmail-queue
- qscheduler.c: use control files msgqueuelen, msgqueuesize for configuring
POSIX message queue - qmail-queue.c: Minor formatting changes to Received lines
- 02/01/2022
- qmail-local.c, qmail-queue.c, qmail-todo.c, qmta-send.c, slowq-send.c
USE_FSYNC, USE_SYNCDIR consistent
- 04/01/2022
- qmail-inject.c, smtpd.c - configurable DATABYTES
- 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
- 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
- qscheduler.c: use log_out functions instead of strerr_warn for logging
messages - qmail-send.c: display pid when exiting
- qmail-todo.c, trigger.c, trigger.h: remove/add lock/trigger based on
dynamic/compat mode
- 24/01/2022
- autorepsonder.c: use prefix for qmail-inject
- qmail-showctl.c: use previx for svctool
- qmta-send.c: Replaced execv with execvp
- svctool: prevent overwriting servercert.cnf
- 06/02/2022
- svctool: create local queue variables if different from global variable
value
- 07/02/2022
- svctool: create CONFSPLIT, QUEUE_COUNT, QUEUE_BASE, QUEUE_START as global
vars
- 11/02/2022
- qmail-queue.c: New function read_control() to read extraqueue, quarantine,
removeheaders, envheaders, logheaders, mailarchive control files.
- 26/02/2022
- qmail-smtpd.c: fix ehlo greating for local connections
- 01/03/2022
- qmail-todo.c: renamed compat_mode variable to compat_mode_flag
- 02/03/2022
- qscheduler.c: continue to let current deliveries happen instead of exit
on error
- 05/03/2022
- use auto_prefix/bin or auto_prefix/sbin for binary paths
- qscheduler.c: Fix for mq_open. shm_open on FreeBSD
- qmail-send.c: shm_open with O_RDWR on FreeBSD
- 06/03/2022
- qmail-send.c, qscheduler.c: Use ftruncate on shared mem on FreeBSD
- qmail-send.c, qscheduler.c: unlink shared memory on exit
- qmail-smtpd.c: fix ehlo greating for local connections
- 06/03/2022
- create_services.in: fix for FreeBSD (date usage)
- dknewkey.sh: fix for FreeBSD (getopt usage)
- svctool.in: fix for FreeBSD (ln -sr)
- svctool.in: mount mqueuefs directory in qmail-send run script
- 08/03/2022
- qmail-dk.c, qmail-dkim.c, qmail-qfilter.c, qmulti.c: use custom_error()
from custom_error.c - qmail-queue.c, maildir_deliver.c: do not treat error_noent as an error
- 09/03/2022
- get_uid.c: use qendpwent(), qendgrent() when using functions from
qgetpwgr.c
- 10/03/2022
- matchup.c: update for qmail-send, qmail-todo, slowq-send, qmta-send,
qscheduler logs (qmailanalog)
- 12/03/2022
- qmail-qread.c: added -i option to display /qscheduler queue information:
dynamic queue information - qmail-multi.c: use static queue if /qscheduler shared memory doesn't exist
- 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. - slowq-send.c, qmta-send.c, qmail-todo.c: display bigtodo value in logs on
startup
- 16/03/2022
- qmail-send.c: added queue ident in logs for matchup (qmailanalog to handle
multi-queue) - matchup.c: handle multi-queue format
- qmail-lspawn.c: made copy_pwstruct return type void
- qmail-queue.c: added FASTQUEUE to bypass features for speeding delivery
- 20/03/2022
- qmail-todo.c: use mq_timedreceive() for TODO_CHUNK_SIZE to work
- qmail-lspawn.c: bypass indimail if AUTHSELF is not set
- qmail-showctl.c: -E option for displaying client env variables
- 24/03/2022
- qmta-send.c: added missing loading of concurrencylocal, concurrencyremote
- qmta-send.c: added holdjobs functionality
- 25/03/2022
- qmail-queue.c: handle multi-queue without qmail-multi helper
env variable is defined - qmail-inject.c: Display system error when qmail_open() fails
- qmail-qread.c: updated usage string
- 31/03/2022
- qmail-todo.c: use chunk_wait seconds to wait for message chunks
- malidir_deliver.c, qmail-local.c, qmail-send.c, qmta-send.c,
slowq-send.c: replace fsync() with fdatasync() - qmail.c: include error.h for errno. Save and restore errno
- getqueue.c, qmulti.c: removed starttime argument to queueNo_from_env(),
queueNo_from_shm() - getqueue.c: use arc4random() to randomly select queues
- added man pages for dnscname, dnsfq, dnsmxip, dnsptr
- maildir_deliver.c, qmail-local.c, qmail-queue.c, qmail-todo.c,
slowq-send.c, syncdir.c: replaced fsync() with fdatasync() - zoverall.sh: display time span in seconds if < 86400
- 03/04/2022
- qmail.c, qmail-dk.c, qmail-dkim.c, qmail-spamfilter.c, qmail-queue.c,
qmail-direct.c: refactored return codes for qmail_open() - pidopen: use 70 as return code for pidopen() failure
- qmail-direct.c, qmail-queue.c: use custom_error() for error messages
- qmail-queue.c: bypass getpeername() if fastqueue is set
- slowq-start.c, qmta-send.c: Use QUEUE_BASE,
queue_base control for setting base directory of queue
- 04/04/2022
- condtomaildir.c, maildir_deliver.c, maildirdeliver.c: use USE_FSYNC,
USE_FDATASYNC, USE_SYNCDIR to set sync to disk feature - qmail-direct.c, qmail-queue.c: refactored fastqueue and added setting of
fdatasync() - qmail-local.c, qmail-send.c, qmail-todo.c, slowq-send.c, qmta-send.c:
added setting of fdatasync() instead of fsync() - syncdir.c: added use_fdatasync to turn on fdatasync() instead of fsync()
- svctool: added option to set fdatasync
- syncdir.c: fix for missing fdatasync on OSX
- 06/04/2022
- create_services.in, indimail-mta.spec.in, debian/postinst.in,
PKGBUILD.in: set fsync, syncdir as global variables instead of local
variables - svctool.in: added setting of USE_FSYNC, USE_FDATASYNC, USE_SYNCDIR as
global variables - renamed qlocal_upgrade.sh to qlocal_upgrade, qupgrade.sh to qupgrade
- 07/04/20...
indimail-mta 2.14.0, daemontools 1.1, ucspi-tcp 1.1
Date: Saturday 17 July 2021 06:53:15 PM IST
DNF / YUM / APT / Arch Binary Downloads
Open Build Service Binary Download
Docker / Podman Containers
Release Highlights
indimail-mta
- alpine linux ready - openrc script, svctool, minisvc
- docker/podman images for docker/podman
- instant reconfiguration of domain for docker/podman containers
- use global variables directory /etc/indimail/control/global_vars for DEFAULT_DOMAIN, QMAILDEFAULTHOST
- installer can now install, uninstall and set permissions
- New control file dkimkeys to override DKIMKEY and allow domain specfic keys and selector
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
ucspi-tcp
- added SSL/TLS support in tcpclient
- added STARTTLS support in tcpclient for POP3s
- dotls transparent SSL/TLS wrapper for tcpserver
ChangeLog
indimail-mta
Release 2.14.0 Start 18/07/2021
- 18/07/2021
- autoresponder.c: conditional define of _XOPEN_SOURCE to avoid
compilation warning on alpine - Makefile: Fix compilation of qmail-rm target by check for fts lib
- qmail-qfilter.c: Corrected by using fcntl.h instead of sys/fcntl.h
- installer.c: fixed setting setuid/setgid bits by calling chmod after chown
- 19/07/2021
- svctool: fixes for alpine linux
- svctool: recoded create_users function
- qmail-daemon.c: exit 0 if flagexitasap is set
- Makefile, indimail-mta.spec: moved creation of indimail-mta-release to Makefile
- create_service, PKGBUILD.in: --norefreshsvc changed to --autorefresh
- ported create_users for alpine linux
- create_service: use tcprules to generate cdb. changed --norefreshsvc to --autorefresh
- tcpopen.c, Makefile: use hasrresvport.h to conditionally compile rresvport
- 20/07/2021
- queue-fix.c: fixed usage string
- create_services: fixed udplogger service not getting created
- create_services: use HOSTNAME env variable if set for default_domain (like svctool)
- create_services: create postmaster as alias/Maildir to prevent loop
- svctool: removed redundant option for inittab
- cronlist.in: fixed libexec path
- 21/07/2021
- indimail-mta.spec, debian/pre/post scripts: updated services for startup, shutdown on upgrade and norefresh list
- svctool: display commands when adding/removing alternatives
- svctool: fixed mysql socket setting
- 22/07/2021
- svctool: fixed setting mysqlPrefix on alpine
- svctool: use --resolvconf option to generate /service/resolvconf service
- svctool: use rc-update for addinng, deleting services on alpine
- 23/07/2021
- svctool: added --config=recontrol
- svctool: create DEFAULT_DOMAIN, QMAILDEFAULTHOST as a global variable
- svctool: added -l (nolastlog) option to linuxadduser
- 25/07/2021
- svctool: install openrc script for alpine linux
- svctool: link qmail-send, slowq-send variables with env variables with global_vars
- 26/07/2021
- svctool: link svscan, resolvconf, fetchmail, poppass env variables with global_vars
- qmail-send.c, qmail-todo.c, slowq-send.c qmta-send.c: log when log sighup, sigalrm is caught
- 27/07/2021
- svctool: create init script for inlookup service to allow indimail to control inlookup service
- 28/07/2021
- svctool: renamed rc script boot/svscan to boot/openrc for alpine
- 30/07/2021
- create_services: use rc-update to add delete services with openrc
- svctool: use stored procedure to remove users with null passwords
- 01/08/2021
- svctool: use HOSTNAME variable if set for mrtg service
- qupgrade.sh: added case for arch linux
- indimail-mta.spec, PKGBUILD, debian pre/post: skip service if dir doesn't exist
- svctool: allow default queue parameters for fetchmail service
- instcheck.c: do chmod after chown to prevent losing setuid bit
- 02/08/2021
- installer.c: added check (-c) and fix (-f) options to check, fix permissions after installation
- post removal scripts: remove indimail specfic logs instead of the entire log directory
- PKGBUILD: fix permissions of installed files in destdir
- Makefile: create directories using installer instead of Makefile
- PKGBUILD: replaced DESTDIR with pkgdir
- installer.c: set default permissions when mode=-1
- qf-smtp-ratelimit: multiply by 3600 to convert to hourly rate
- qf-log-subject: qmail-qfilter script to log subject in syslog
- 04/08/2021
- smtpd.c: disable help if DISABLE_HELP is defined
- installer.c: added -m option to ignore missing files
- indimail-mta.spec.in: added permission files for indimail-mta
- qf-smtp-ratelimit: replaced /bin/cat with exit 0 which does the same thing
- qfrontend: use control file control/qfilters to configure qmail-qfilter filters
- 05/08/2021
- installer.c: added -p option to create directories as needed
- installer.c: allow installation for missing source if -m is specified
- 08/08/2021
- svctool: fixed call to link_with_global in create_delivery, create_slowq
- svctool: fixed svscan run script generation
- svctool: enable svscan service in create_startup
- 11/08/2021
- qmail-remote.c: disable MXPS using DISABLE_MXPS
- qmail-remote.c: disable quoting (required for SMTP) when using MXPS
- smtpd.c: collapse multiple stralloc
- 13/08/2021
- qmail-remote.c: Fixed getting incorrect smtp code in get3() function
- qmail-send.c, slowq-send.c, ratelimit.c: turn off ratelimit if RATELIMIT_DIR is set but empty
- 15/08/2021
- svctool: display version, socket, port, database dir when creating mysql config
- 16/08/2021
- svctool: fixed create_fifologger function
- svctool: create mysql socket directory before creating mysql db
- 17/08/2021
- svctool: refactored --config=cert (added cert validity option)
- svctool: --check-certs now displays certificate details in addition to state of certificate
- 19/08/2021
- dknewkey: added options to print, remove, generate DKIM keys
- indimail-mta.spec, PKGBUILD.in, create_services.in, debian/indimail-mta.postinst - changes for modified dknewkey
- qmail-smtpd.c - disable VRFY using DISABLE_VRFY env variable
- 20/08/2021
- svctool, indimail-mta.spec, PKGBUILD, debian postinst: remove host component from default domain
- 21/08/2021
- matchregexex.c: handle regexec() error
- drate: added list option, added option to display time in UTC, added domain name validation
- 23/08/2021
- svctool: service specific DEFAULT_DOMAIN only if different from global DEFAULT_DOMAIN
- 24/08/2021
- dknewkey: check if domain exists in rcpthosts before creating a key for it
- drate: moved check_domain to libqmail
- 25/08/2021
- svctool: fixed value of CERTDIR in create_cert
- svctool: updated cipher list to fix warnings from testssl.sh from https://github.com/drwetter/testssl.sh
- 26/08/2021
- svctool: use /usr/local/etc/indimail/sv for servicedir on OSX/Darwin
- svctool: link global variables DEFAULT_DOMAIN, QMAILDEFAULTHOST to control files defaultdomain, defaulthost
- 28/08/2021
- 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
- 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
- qmail-dkim.c, qmail-dk.c, dk-filter.sh: Added control file dkimkeys to have domain specific private key, selector
- 30/08/2021
- include noreturn.h from libqmail defining macro no_return use no_return macro to declare funtions that do not return back to caller
-
- 05/09/2021
- changed permissions for dirs with 555 to 755
- 10/09/2021
- smtpd.c: removed setting of SPFRESULT env variable
- dknewkey.sh: changed owner/permissions of dkim private/public key pairs
- mini-smtpd.c, qmail-smtpd.c qmail-qmqpd.c, qmail-qmtpd.c, received.c: pass null remotehost to received when remotehost is unknown
- qmail-direct.c: replace qmail with indimail-mta in received header
- update_tmprsadh: added read permissions on certs for qmail group
- received.c: skip remotehost in received headers when value is unknown
- qmail-queue.c: updated received headers with more information
- svctool.in: run qmail-smtpd, qmail-poppass, inlookup as qmaild
- 12/09/2021
- svctool.in: set inlookup fifo permissions during startup
- sys-checkpwd.c: relinquish setuid privileges in pipe_exec()
- qmail-dk.c, qmail-dkim.c: restore gid after reading private key file
- 12/09/2021 - indimail-mta-2.14.0
daemontools
- 27/02/2...