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 getlibObject() function
- 04/04/2023
- svctool: updated mrtg graphs
- 05/04/2023
- svctool: added --config=snmpdconf for creating /etc/indimail/snmpd.conf
- 06/04/2023
- svctool: added command to create /etc/indimail/snmpd.conf
- indimail-mta.spec: added /etc/indimail/favicon.base64 image for mrtg graphs
- svctool: --mrtg command - added favicon.png to mailmrtg/index.html
- 08/04/2023
- svctool: added mrtg graphs for inlookup queries
- 09/04/2023
- svctool: added mrtg graphs for inlookup cache hits and dnscache
- svctool: added mrtg graphs for qmta-send
- 16/04/2023
- svctool: fixed /var/indimail/mysqldb/ssl group permissions
- 17/04/2023
100.svctool: added set_mysql_ssl_permission function - 21/04/2023
101.svctool: set permissions for supervise/control for qscanq, inlookup service
102.svctool: reduce wait time for mysql service for pwdlookup, inlookup service
103.svctool: set client-key permission to 640 for mariadb - 23/04/2023
104.svctool: pass username and password argument for mysqldb creation
105.svctool: added qmail group to imap/pop3 run scripts for write access to tcp directory
libdkim
- 01/02/2023
- new function DKIMSignReplaceHash to alter current Hash method
- 04/02/2023
- 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"
- 11/02/2023
- 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
- 12/02/2023
- dkimverify.cpp: fixed multi-signature verfication (rsa+ed25519)
- 19/02/2023
- dkim.cpp: fixed usage strings
- 18/03/2023
- dkimverify.cpp: Fixed SIGSEGV with missing k= tag in DKIM txt record
- 28/03/2023
- dkimverify.cpp: use error routine only for EVP functions failure
- 06/04/2023
- dkimsign.cpp: fixed compiler warning of use of uninitialized variable
ucspi-tcp
- 13/02/2023
- dotls.c, tcpserver.c: added error message for tls_init failure
- tcpclient.c: added error message for tls_init, tls_session failures
- tcpserver.c: allow both user and uid to be passed to -u option. passing user enables setting of supplementary groups
- 20/02/2023
- tcpserver.c: add additional groups as a comma separated groups to -g
- 08/03/2023
- tcpclient.c: refactored wait handling
- 01/04/2023
- load_mysql.c: refactored getlibObject() function
- 08/04/2023
- tcpserver.c: fixed status not getting printed