* Mon Jan 30 2023 14:19:31 +0000 Manvendra Bhangui <indimail-mta@indimail.org> 3.0.2-1.1%{?dist}
Release 3.0.2-1.1 Start 08/09/2022 End 30/11/2023
- First change
- maildir_deliver.c: added comments
- instcheck.in: use uininstaller only for ucspi-tcp
- INPUT, ETC: renamed DIR to DIRS
- svctool: added scram, salted, TIMESTAMP column to indimail table
- create_services: run ischema -u to update indimail schema to current
- qmail-send: added feature to disconnect from todo-proc
- todo-proc: added feature to disconnect from qmail-send
- 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
- dk-filter: remove '%' from filename if dkim key file not found
- set owner to root for important directories
- 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 '%'
- qscanq.c, qmail-dk.c, qmail-dkim.c: fixed return exit codes
- qmail.c, qmail.h: set ERROR_FD to -1 to disable custom error
- qmail-queue.c: prefix qhpsi error messages with 'qhpsi: '
- smtpd.c: fixed length of BATV signkey
- smtpd.c: Set SPFRESULT env variable for qmail-queue frontend and qfilters
- 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
- renamed qmail-control to indimail-control, qmail-srs to indimail-srs
- 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
- 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
- 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
- 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()
- 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
- ofmipd.c: authorize mails using RELAYCLIENT
- 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
- 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
- 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.
- added test-recipients, make-recipients programs
- qmail-showctl.c: added remote_auth, recipients control file
- 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
- create_services: removed domainkeys setup for new installations
- qmail-remote.c: clear input buffer when trying next MX (Franz Sirl)
- dk-filter.sh, make-recipients.sh, svctool.in: replaced deprecated egrep
  with grep -E
- 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
- 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
- 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
- svctool: include output of --dumpconfig, --print-all-variables in backup
- dknewkey.sh: list public, private key using ls
- svctool.in: create servercert.rand file
- qlocal_upgrade.in: add env variable AUTOSCAN for svscan if missing
- svctool: do ssl/rsa setup for mysql/mariadb before creating indimail.cnf
- svctool: fixes for MySQL db, ssl certificates creation
- svctool: svscan run - check if /etc/indimail/resolv.conf exists before
  attempting mount --bind
- autoresponder.c, qmail-qfilter.c, serialcmd.c, sslerator.c,
  sys-checkpwd.c: handle wait status in detail
- dns.c: Fixed dns_txt(), dns_ptr() strsalloc_append
- spf.c: added ssa_free() to free strsalloc variable
- spf.c: changed scope of strsalloc ssa variable to local
- dns.c: renamed dns_txtplus(), dns_ptrplus() as dns_txt(), dns_ptr()
- smtpd.c: log timeouts, regex compilation error, Bare LF errors in error
  log
- smtpd.c: removed incorrect call to constmap_free()
- sslerator.c: refactored code
- sslerator.c: added options to specify cipher file, CA file and TLS method
- smtpd.c: use TLS_PROVIDER env variable to write TLS info in logs, headers
- smtpd.c: use env variable HOSTNAME, gethostname to set localhost
  variable
- 822date.c, 822print.c, 822received.c, maildirserial.c, new-inject.c,
  nowutc.c, ofmipd.c, parsedate.c, set_environment.c: removed
  auto_sysconfdir.h dependency
- dnstlsarr.c, qmail-daned.c: use tls.h from libqmail
- Makefile: removed ssl functions and auto_sysconfdir dependency for
  programs not using auto_sysconfdir
- tablematch.c: Set hints.ai_socktype to SOCK_STREAM
- qmail-remote.c: set default certificate dir to /etc/indimail/certs
- qmail-remote.c: use set_tls_method() from libqmail
- define variables used in qmail-daned, dnstlsarr as extern
- redefine saferead, safewrite to use tlsread, tlswrite from
  libqmail
- sslerator.c: replace internal TLS function with TLS functions
  from libqmail
- made global variables static
- fixed erroneous "out of memory" instead of "command too long"
  error
- changed default cert location to /etc/indimail/certs
- replace internal TLS function with TLS functions from
  libqmail
- added timeouts for connection accept
- replace set_tls_method() from libqmail
- made global variables static
- qmail-daned.c, udplogger.c: removed __USE_GNU
- fixed incorrect setting of smtptext
- qmail-remote.c: moved tls/ssl functions to dossl.c
- dossl.h: tls/ssl support functions for qmail-remote,
  qmail-daned, dnstlsarr
- qmail-remote, dnstlsarr, Makefile: Link with dossl.o
- Fixed compilation for non-tls
- shutdown ssl on smtp quit
- remove duplicate free of ssl object after tls_accept
- added -N option to allow client side renegotiation
- Use env variable CLIENT_RENEGOTIATION to allow client-side
  renegotiation.
- Makefile: moved parse_env function to parse_env.c
- indimail-mta.postinst.in: use AUTH=login as default for
  qmail-remote auth smtp
- moved setting relayhosts variable to get_relayhosts()
- added feature to set env variables from [q,s]mtproutes, remote_auth.cdb
- parse_env.h: added parse_env function
- fixed bug with AUTH PLAIN authentication
- use slog() with varargs for logging errors
- dossl.h: prototype change for quit function with varargs
- added varargs.h dependency for files using varargs
- qmail-greyd.c: logerr(), out() changed to have varargs
- starttls.c: quit() function changed to have varargs
- handle auth smtp error codes using decode_smtpauth_err()
  as per RFC4954
- Use env variable SMPTS to immediately start in encrypted
  mode
- qmta-send.c, slowq-send.c: use slog() function with varargs
  to log error messages
- use todo_log() function with varargs to communicate with
  todo process
- use slog() function with varargs to replace all log functions
- use todo_log() function with varargs to log messages to
  qmail-send
- changed function out() to match function in qmail-smtpd
- set remoteip variable before first use of logerr()
- make logerr safe by checking for remoteip
- documented macros
- changed SPF_DEFEXP to use open-spf.org/Why
- out() changed to have varargs
- folded Received header line to put date below
- added ssl cipher bits in Received header
- qmail-qread.c, qmail-smtpd.c, qmail-showctl.c, qmonitor.c:
  replaced qprintf with subprintf
- flags to warn issues with variadic functions
- added option to generate ed25519 DKIM keys
- dk-filter.sh: removed setting redundant -b option
- update verification message to include ED25519 failure
- fixed getopt setting to set ed25519 signing
- added DKIMSIGNEXTRA, DKIMSIGNOPTIONSEXTRA env variables to
  insert additional signature
  Final Release 3.0.2
