* Wed May 18 2022 11:49:42 +0000 Manvendra Bhangui <indimail-mta@indimail.org> 3.0.0-1.1%{?dist}
Release 3.0.0 Start 21/09/2021 End 18/05/2022
- batv.c: refactored code. Return error type during validation
- added man pages for batv
- Fixed typos
- svctool.in: removed not-needed QUERY_CACHE env variable from defaultqueue
- 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
- 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
- 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
- eliminated mktmpfd() function
- 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
- qmail-daemon.c: use sig_block(), sig_unblock() to prevent interruptions
- queue-fix.c: return exit status for queue-creation
- rrt.c: fixed command line args for return-path, receipient
- qmail-send.c, qmail-todo.c, slowq-send.c: fixed argv0
- added man page for multi-queue.7
- removed qmail-daemon
- qlocal_upgrade.in: added command to fix qmail-send run script
- 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
- 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
- qmail-local.c, qmail-queue.c, qmail-todo.c, qmta-send.c, slowq-send.c
  USE_FSYNC, USE_SYNCDIR consistent
- 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
- 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
- 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
- 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
- svctool: create local queue variables if different from global variable
  value
- svctool: create CONFSPLIT, QUEUE_COUNT, QUEUE_BASE, QUEUE_START as global
  vars
- qmail-queue.c: New function read_control() to read extraqueue, quarantine,
  removeheaders, envheaders, logheaders, mailarchive control files.
- qmail-smtpd.c: fix ehlo greating for local connections
- qmail-todo.c: renamed compat_mode variable to compat_mode_flag
- qscheduler.c: continue to let current deliveries happen instead of exit
  on error
- 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
- 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
- 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
- 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
- get_uid.c: use qendpwent(), qendgrent() when using functions from
  qgetpwgr.c
- matchup.c: update for qmail-send, qmail-todo, slowq-send, qmta-send,
  qscheduler logs (qmailanalog)
- 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
- 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
- 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
- qmta-send.c: added missing loading of concurrencylocal, concurrencyremote
- qmta-send.c: added holdjobs functionality
- 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
- 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
- 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
- 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
- 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
- indimail-mta.spec.in: added glibc-static in BuildRequires for non RHEL,
  non-suse, non-sles distributions
- Makefile: link resolv library dynamically
- qmail-todo.c, slowq-send.c, qmta-send.c, qmail-send.c: display queuedir
  in logs on startup
- do_rate.c: return 2 if rate definition is missing or is invalid
- delivery_rate.c: set do_ratelimit only if rate definition existss
- slowq-send.c: set delayed flag = 0 for new jobs
- process_queue.c: flush subfdout to fix out of band err messages
- qmail-qread.c: display queues configured
- getqueue.c, qmail-send.c, qmail-qread.c: added feature to disable a queue
  and skip disabled queues
- matchup.c: skip qscheduler load messages in logs
- added qmonitor
- qmonitor.c: use getEnvConfigDouble() to set threshold from QUEUE_LOAD env
  variable
- control.c, control.h: added control_writefile(), control_readint()
  functions
- qscheduler.c: added ability to decrease queue count
- qscheduler.c: added -n option to keep queue count static
- qscheduler.c: do not restart qmail-send when terminated due to empty queue
- qmail-send.c, slowq-send.c, qmail-todo.c: display pid in logs on exit
- qscheduler.c: added function to update queue counts in shared memory
- qscheduler.c: display local+remote load on receipt of message queue by
  send_qload()
- matchup.c: fixed field postion of 'exiting' for slowq-send, qmta-send
  logs
- svctool: added /usr/local/bin/bash as a valid shell
- use tcpopen, udpopen from libqmail
- whois.c: replaced strstr.c with str_str from libqmail
- udplcient.c: use headers from standard include path
- batv.c, smtpd.c, sslerator.c, qmail-remote.c, starttls.c: openssl 3.0.0
  port
- svctool: use realpath to resolve full path of /etc/resolv.conf
- update_tmprsadh: added --mxbits argument to specify max bits
- smtpd.c: fixed reading of dh parameters.
- smtpd.c: added SSL_BITS to set RSA, DH pem file to be read
