* 
Release @version@-@release@ Start 08/09/2021 End --/--/----
- 08/09/2022
01. authindi.c: hotfix: fix domain absent in assign causing AUTHFAILURE for
    system users 
- 12/09/2022
02. Fixed vpasswd usage
03. iauth.c, vmoduser.c, renameuser.c, sql_setpw.c, vsetpas.c: extract
    encrypted password from pw->pw_passwd starting with {SCRAM-SHA.*}
04. sql_setpw.c: fixed password struct getting overwritten with call to
    sql_getpw()
- 08/10/2022
05. vfilter_display.c: Fixed SIGSEGV
- 18/10/2022
06. postdel.c: added wrapper for postfix delivery to indimail virtualdomains.
- 20/10/2022
07. Converted function prototypes to ansic
- 22/10/2022
08. handlers.c: fixed out of bounds copy
09. get_localtime.c: use date822fmt() for local time
10. deliver_mail.c: Changed Received header to be consistent with qmail style
- 27/10/2022
11. valias_delete_domain.c: delete entries for alias instead of real domain
12. iadduser.c: add to hostcntrl only for distributed domains
13. is_user_present.c: make variables static to avoid clash
14. sql_deldomain.c, sql_deluser.c, sql_getpw.c, sql_passwd.c, sql_setpw.c,
    sql_setquota.c, sql_updateflag.c: refactored sql code into do_sql()
- 29/10/2022
15. vchkpass.c: fixed display of auth method in logs
- 02/11/2022
16. vadddomain.c, vadduser.c, vgroup.c: added feature to add scram password
    during user addition
17. vmoduser.c, vpasswd.c: set usage string depeding on gsasl availability
18. renameuser.c: restore scram password while renaming user
- 05/11/2022
19. vchkpass.c:  use ENABLE_CRAM to allow use of pw_passwd field of indimail,
    indibak for
- 22/11/2022
20. configure.ac: fixed typo
- 23/11/2022
21. load_mysql.c: renamed mysql_lib to libmysql

* Thu 08 Sep 2022 14:38:16 +0000 Manvendra Bhangui <indimail@indimail.org> 3.4.1-1.1%{?dist}
Release @version@-@release@ Start 14/02/2021 End 08/09/2022
======= Release Highlights ================================================
o added support for SCRAM authentication in password field (vpasswd, vmoduser)
o added support for CRAM authentication in password field (vpasswd, vmoduser)
o Converted man pages to markdown for indimail wiki
===========================================================================
- 12/02/2021
01. moved replacestr to libqmail
- 31/01/2022
02. setuserquota.c: fixed setting of quota=NOQUOTA
03. vmoduser.c: Fixed args passed to post handle
04. vmoduser.c: removed leftover debug statement
- 23/02/2022
05. deliver_mail.c: fix message failing with overquota error for users having
    unlimited quota
- 10/05/2022
06. moved tcpopen, tcpbind, udpopen, isnum, qdirname to libqmail
- 18/05/2022
07. tls.c: openssl 3.0.0 port
- 04/07/2022
08. ProcessInFifo.c: Fixed typo
- 16/07/2022
09. indimail-rpmlintrc, indimail-spec: fixes for openSUSE tumbleweed
- 31/07/2022
10. inquery.c: use TMPDIR for /tmp
11. indimail.spec: fixed service dir name for inlookup, indisrvr
- 04/08/2022
12. inquery.c: refactored code
13. authindi.c, vchkpass.c: authenticate using SCRAM salted password
14. ProcessInFifo.c, sql_getpw.c: fetch scram password
15. userinfo.c: display scram password if existing
16. indimail.h: added scram column to indimail/indibak tables
- 05/08/2022
17. iadduser.c: added encrypt_flag argument
18. dbinfo.c: replaced fprintf with strerr_warn1
19. configure.ac: added check for gsasl.h, libgsasl
20. ilocal_upgrade.sh: run schema update
21. added ischema program for schema updates to indimail database
22. indimail.spec: added ischema - schema update program for indimail database
23. ipasswd.[c,h]: added scram argument to update scram password
24. mgmtpass.c, mgmtpassfuncs.c: added encrypt_flag argument to mgmtsetpass()
25. proxylogin.c: added encrypt_flag argument to autoAddUser()
26. renameuser.c, vadduser.c: added encrypt_flag argument to iadduser()
27. sql_passwd.[c,h]: added scram argument to update scram password
28. vmoduser.c: reversed encrypt_flag setting for mkpasswd() change in
    encrypt_flag
29. vpasswd.c: added option to update scram passwords
30. variables.c: added ischema table, removed encrypt_flag global variable
31. indimail.h: added ischema table
32. gsasl_mkpasswd.c: added gsasl_mkpasswd() for updating scram passwords
33. iadduser.[c,h]: removed apop argument to iadduser()
34. sql_adduser: renamed apop argument to uid_flag
35. vadduser, vadddomain: removed apop argument to iadduser()
36. vgroup: added encrypt_flag argument to iadduser
37. renameuser.c: removed apop argument to iadduser()
- 06/08/2022
38. gsasl_mkpasswd.c: use gsasl_nonce() if sodium_random() function is missing
39. vpasswd.c: fix compilation when libgsasl is missing or of wrong version
40. configure.ac: Added check for sodium_random() function
- 07/08/2022
41. sql_setpw.[c,h]: added scram argument to set scram password
42. vadddomain.c, vadduser.c: Removed apop setting
43. vmoduser.c: added option to update scram passwords
44. vmoduser_handle.in: updated options to vmoduser
45. vmovuser.c, vreorg.c, vset_lastdeliver.c: updated for scram argument to
    sql_getpw()
46. gsasl_mkpasswd.[c.h]: added gsasl_mkpasswd_err() function
47. vpasswd.c, vmoduser.c: check return value of gsasl_mkpasswd() function
- 23/08/2022
48. vchkpass.c: display AUTH method as a string instead of a number
49. vpasswd.c, vmoduser.c: made setting hash method and scram method
    independent of each other
- 25/08/2022
50. gsasl_mkasswd.c, vpasswd.c, vmoduser.c: Make password compatible with
    CRAM & SCRAM
    1. store hex-encoded salted password for setting
       GSASL_SCRAM_SALTED_PASSWORD property in libgsasl.
    2. store clear text password for CRAM authentication
       methods
51. authindi.c, vchkpass.c: fetch clear text passwords for CRAM
    authentication
52. strToPw.c handle additional hex salted passwod and clear text password in
    pw_passwd field
53. strToPw.c: use colon_count to fix logic for cram/non-cram passwords
- 26/08/2022
54. incrypt.c: validate user input and use in_crypt from libqmail
- 27/08/2022
55. authindi.c, vchkpass.c: fixed logic for fetching clear txt password for
    cram methods
56. gsasl_mkpasswd.c: fixed null terminatin when docram was 0
- 28/08/2022
57. incrypt.c: added option to specify salt and hash method
58. mgmtpassfuncs.c: allow configureable salt size using env variable SALTSIZE
59. sql_passwd.c: set scram field to NULL when not given
60. userinfo.c: fixed display string for DES/un-encrypted password
61. vmoduser.c, vpasswd.c: fix compilation error for non gsasl build
- 08/09/2022 - Final release indimail-3.4.1
62. authindi.c: hotfix: fix domain absent in assign causing AUTHFAILURE for
    system users 

*
Release 3.4.0 Start 14/02/2021
======= Release Highlights ================================================
===========================================================================
- 23/02/2021
01. sql_adddomain.c,, sql_setpw.c : replaced CREATE TABLE statements with
    create_table() function
02. post install: save variables
- 03/03/2021
03. indisrvr.c, tls.c - renamed SSL_CIPHER to TLS_CIPHER_LIST
04. tls.c, tls.h, auth_admin.c - updated datatypes
05. tls.c, tls.h - added cafile argument to tls_init()
06. auth_admin.c - tls_init() changed for cafile argument
- 04/03/2021
07. auth_admin.c, tls.c - added option to match host with common name
08. adminclient.c - added -m option to match host with common name
09. adminclient.c - added -C option to specify cafile
10. proxylogin.c - added option to specify CAFILE and match host with common
    name
- 09/03/2021
11. tls.c, tls.h - refactored tls code
12. auth_admin.c, indisrvr.c: use functions from tls.c
- 10/03/2021
13. tls.c: use set_essential_fd() to avoid deadlock
- 10/03/2021
14. vpriv_insert.c: fixed SQL syntax error
- 14/03/2021
15. Changes for making code github action, added workflow for CI
16. indimail.h - allow inclusion without having mysql installed
- 30/04/2021
17. spec, postinst: fixed syntax error getting HOSTNAME
- 03/05/2021
18. RemoteBulkMail.c: added missing guarding braces
19. vdeloldusers.c: fix compiler warnings
20. tcplookup.c: initialize rfd, wfd
- 26/05/2021
21. tcpopen.c: treat access on socket other than ENOENT as error
- 09/06/2021
22. inquerytest.c: BUG - Fixed SIGSEGV
23. ProcessInFifo.c: BUG: Fixed read failing on fifo because of O_NDELAY flag
24. inquerytest: use fifo read to ensure inlookup service is ready to serve
    requests.
- 11/06/2021
25. indisrvr.c, ismaildup.c, runcmmd.c, vfilter: replaced MakeArgs with
    makeargs from libqmail
26. deliver_mail.c, ismaildup.c, vdelivermail.c, vfilter.c: replaced
    makeseekable with mktempfile from libqmail
- 08/07/2021
27. printdir.c vadduser.c vbulletin.c vcfilter.c vdeluser.c vdominfo.c
    vmoduser.c vmoveuser.c vrenameuser.c vreorg.c add check for
    misconfigured assign file
28. add_domain_assign.c valiasinfo.c: removed QMAILDIR setting through env
    variable
29. initsvc.c: removed LIBEXECDIR setting through env variable
30. controlfiles.i: added mcdinfo, mailalert.cfg
31. vacation.c: fixed argument handling
32. add_vacation.c: added missing error handling
33. removed sq_vacation
- 13/07/2021
34. indimail.spec: removed chkconfig from Requires
- 18/07/2021 - indimail-3.4.0
- 21/07/2021
35. adminCmmd.c, monkey.c: conditional compilation (alpine linux)
36. tcpopen.c: deprecated rresvport
37. configure.ac: check for asm/ioctl.h, rresvport function
38. authpgsql.c default.configure doc/ChangeLog incrypt.c
    passwd_policy.c proxylogin.c userinfo.c vchkpass.c
    vlimit.c vsetpass.c: conditionally define _XOPEN_SOURCE
39. default.configure: use /usr/local/etc/indimail/sv as
    servicedir for darwin/freebsd
- 27/07/2021
40. deliver_mail.c findhost.c LoadDbInfo.c Login_Tasks.c parse_email.c
    smtp_port.c vdelivermail.c vfilter.c set default domain using
    vset_default_domain
41. ProcessInFifo.c: use getEnvConfigStr to set default domain
42. vset_default_domain.c: changed vset_default_domain to return
    default domain
- 31/07/2021
43. PKGBUILD.in: Added missing variable definitions
- 01/08/2021
44. PKGBUILD.in: added missing variable _sysconfdir
45. indimail-mta.spec, indimail-postinst: install mrtg service only if mrtg
    binary is present
46. spec, PKGBUILD, debian pre/post: skip service if dir doesn't exist
- 02/08/2021
47. PKGBUILD: Fix permissions for directories
- 04/08/2021
48. indimail.spec, Makefile.am: removed r_mkdir, evalulate function
- 16/08/2021
49. indimail.spec: fixed noproxy variable
- 18/08/2021
50. vget_ip_map.c: create ip_alias_map table if absent
- 20/08/2021
51. indimail.spec, PKGBUILD, debian post scripts: removed host compoment from
    default domain
- 21/08/2021
52. moved no_of_days.[c,h] to libqmail
- 24/08/2021
53. vadddomain: added check for domain name validity
- 30/08/2021
54. clearopensmtp.c, handlers.c, inquerytest.c, osh.h: mark functions not
    returning as __attribute__ ((noreturn))
- 01/09/2021
55. indimail.spec: removed use of chrpath
- 05/09/2021
56. changed permissions for dirs with 555 to 755
- 11/09/2021
57. add_user_assign.c, is_alias_domain.c, make_user_dir.c,
    sql_adduser.c: use getEnvConfig for domain directory
58. is_alias_domain: on system error, return -1 instead of exit
59. get_real_domain.c: corrected wrong variable used for domain director
60. inlookup.c: fixed wrong assignment of strnum2 for pid
61. sql_insertaliasdomain.c: fixed missing round brace in sql statement
62. FifoCreate.c: set permission mode of inquery fifo from FIFO_MODE env variable
- 12/09/2021 - indimail-3.4.0

* Sunday 14 February 2021 11:34:04 PM IST
Release 3.3 Start 06/09/2020
- 13/09/2020
01. create_rpm: added --release option
02. indimail.spec: added explicit dependency of indimail-devel on libindimail version
03. renamed ChangeLog.indimail to ChangeLog
04. Shortened README-indimail after moving document to online wiki
- 14/09/2020
05. Removed Provides: indimail-libs, libindimail from indimail package. Now
    available only in libindimail package
- 17/09/2020
07. FreeBSD fixes fo vfstabNew.c, vadddomain.c, ProcessInFifo.c,
    pathToFilesystem.c, get_localtime.c, Makefile.am, configure.ac,
    default.configure
- 19/09/2020
09. initsvc: enable and start services for FreeBSD
- 28/09/2020
10. vsetpass.c, vchkpass.c, authpgsql.c, authindi.c print authmodule name in
    error logs/debug statements
11. pipe_exec.c: display authmodule being executed in debug statements
12. vsetpass.c, vchkpass.c, authpgsql.c, authindi.c, pipe_exec.c added pid
    error logs/debug statements
- 29/09/2020
13. authindi: execute next module when already authenticated by previous
    module
- 01/10/2020
14. authindi.c, check_quota.c, indisrvr.c, ismaildup.c, lockfile.c, monkey.c,
    osh.c, proxylogin.c, sslerator.c fixed compiler warnings
15. bulletin.c: initialize len variable
16. crc.c, configure.ac, inlookup.c, ProcessInFifo.c - Darwin Port
17. spam.c: initialize pos variable
18. vdeloldusers.c: initialize activecount variable
- 04/10/2020
19. add_user_assign.c: BUG: wrong variable passed to do_assign2()
20. authindi.c: use AUTHADDR to determine if we are already authenticated
21. initsvc.c: changed Label for launchd unit file to org.indimail.svscan
22. Makefile.am: bypass linux specific code on Darwin
- 05/10/2020
23. uninstall iauth.so, docs and post handle scripts
24. Makefile.am: Set LDPATH for libqmail path (Darwin)
25. initsvc: Fix for FreeBSD
- 11/10/2020
26. fix for empty DISTRIB_ID on openSUSE, Suse causes indimail.[te][fc] to be
    missed out in the build.
27. ProcessInFifo.c: replace deprecated sys_siglist with strsignal
28. configure.ac: added check for strsignal function
- 12/10/2020
29. recalc_quota.c: maildirquota problem: strnum2 variable wasn't getting set
30. configure.ac: set LDFLAGS -pie on Linux (primarily for openSUSE builds)
31. indimail.spec: fixed DISTRIB_ID and DISTRIB_VERSION for openSUSE, SLES
    builds
32. no_of_days.c: fixed no of days variabel getting clobbered due to use of
    stralloc_copyb() instead of stralloc_catb()
- 13/10/2020
33. authindi.c: use _exit(2) as no buffers need to be flushed
34. get_assign.c, islocalif.c: added missing alloc_free
35. userinfo.c, vlimit.c: initialize struct tm for strptime() value too big
    error
36. added debuginfo package
37. vget_lastauth.c: null terminate ipaddr
38: GetSMTProute.c, vreorg.c: fixed infinite loop
39. skip_relay.c: new logic for terminating a line
- 16/10/2020
40. postinstallation: update smtp authmodule with vchkpass                      
41. postinstallation: update imap/pop3, proxy imap/pop3 authmodule with authindi
- 18/10/2020
42. indimail.h: added last_error_len field to dbinfo to keep track of allocated_length
    of last_error field
43. count_dir.c, dbload.c. get_assigh.c, inquery.c, islocalif.c, vdelfiles.c
    use alloc() instead of alloc_re()
44. LoadDbInfo.c: initialize last_error_len field of dbinfo
45. load_mysql.c: renamed closeLibrary() to incloseLibrary()
44. sql_getall.c: use allo_re() only for expansion
45. sq_vacation.c: drop supplementary privilges before setuid()
- 19/10/2020
46. vbulletin.c, SendWelcomeMail.c, RemoteBulkMail.c, iadddomain.c,
    bulletin.c, bulk_mail.c use /var/indomain/domains for domain/bulk_mail
47. indimail.spec: fixed rplint error with unstripped binary or object
- 20/10/2020
48. vdelivermail.c: skip creation of maildirfolder file for user's Maildir (INBOX)
- 14/11/2020
49. indimail.spec: turn off lto
50. indimail.spec: turn on openSUSE permissions
- 17/11/2020
51. removed sslerator
52. indimail.spec: stop/start svscan on upgrade
- 21/11/2020
53. packaging: shutdown specific indimaail services instead of entire svscan
    service
54. handlers.c: use execv() instead of execute() in i_mount() function
- 11/01/2021
55. indimail.spec: use redhat-lsb-core for centos8
- 19/01/2021
56. authindi.c: added uid, gid in debug log
- 26/01/2021
57. sql_init.c, UserInLookup.c, sqlOpen_user.c, findmdahost.c, bulletin.c,
    clear_open_smtp.c: renamed sql_init() to in_sql_init() to avoid clash with
    dovecot sql authentication driver
58. vchkpass: support dovecot checkpassword implementation
59. vchkpass: set HOME, userdb_uid, userdb_gid, EXTRA env variables for
    dovecot
60. pam-checkpwd.c: env variable NATIVE_CHECKPASSWORD to comply exactly with
    checkpassword protocol
- 02/02/2021
61. fstabChangeCounter.c: fix SIGSEGV, wrong variable used
62. sql_active.c: use create_table() to create MySQL table
63. tcpbind.c: fix bind on unix domain sockets
- 07/02/2021
64. New program tcplookup - TCP/IP frontend to inlookup
65. inquery.c, inlookup.c, ProcessInFifo.c - handle TCP/IP request under
    tcpclient/tcpserver
- 24/02/2021
66. tcplookup.c: include <stdlib.h> for srand()
