meillo@48: This ChangeLog file summarizes the (implementation) changes from the meillo@48: technical view. meillo@41: meillo@41: The code repository log file provides the changes in full detail. meillo@41: meillo@41: Have a look at the NEWS file for a summary of the changes in a less meillo@41: technical speach and with focus on compatibility. meillo@41: meillo@41: meillo@336: 0.3.3 Sat, 27 Aug 2011 18:35:34 +0200 meillo@336: * Fixed a possible security problem, reported by John Lightsey. See meillo@336: Debian bug #638002. The return value of seteuid() calls was handled meillo@336: wrong or not at all. Now, the (already available) set_euidgid() meillo@336: function is used when possible. Additionally, removed the unnecessary meillo@336: identity change when writing into an already open file descriptor. meillo@336: * Added debug level 9 for msgs to stderr during reading config. meillo@336: meillo@324: 0.3.2 Fri, 03 Jun 2011 10:14:33 +0200 meillo@324: * Fixed an important bug with folded headers! The folded lines meillo@324: of a long header would be ignored in unpredictable cases. meillo@324: Also fixed another problem with folded headers and meillo@324: g_strconcat() in spool read. meillo@324: * Reworked allowed and denied addrs for routes to be more meillo@324: consistent and allow more flexible matching: meillo@324: - allowed_mail_locals + allowed_return_paths -> meillo@324: allowed_senders meillo@324: - not_allowed_mail_locals + not_allowed_return_paths -> meillo@324: denied_senders meillo@324: - allowed_rcpt_domains -> allowed_recipients meillo@324: - not_allowed_rcpt_domains -> denied_recipients meillo@324: * Reworked online_detect to the simpler online_query. Only meillo@324: pipe is supported now. Use meillo@324: online_query="/bin/cat /path/to/file" meillo@324: instead of meillo@324: online_detect=file meillo@324: online_file=/path/to/file meillo@324: and meillo@324: online_query="/path/to/some/script foo" meillo@324: instead of meillo@324: online_detect=pipe meillo@324: online_pipe="/path/to/some/script foo" meillo@324: See man page masqmail.conf(5) and admin/config-transition. meillo@324: * Removed protocol option from route config because it was meillo@324: somehow redundant. Now, if `pipe' is set, the protocol will meillo@324: be pipe, otherwise it'll be smtp. That's just natural. meillo@324: * Bugfix: off-by-one in pipe aliases meillo@324: * Null-terminated the decoded base64 strings. meillo@324: * Now the Received: headers are much friendlier to read. The meillo@324: header for locally (i.e. non-SMTP) received mail is changed meillo@324: to the format postfix uses. meillo@324: * Replaced header_fold() with a better implementation and meillo@324: improved the (yet) unused function header_fold(). meillo@324: * Made protocol names upper case, like RFC 5321 requires them. meillo@324: * Several improvements to the man pages. meillo@324: * As always: various refactoring. meillo@324: * Ran aclocal and autoconf. meillo@324: * Added a description of how I create a masqmail release. meillo@324: meillo@291: 0.3.1 Wed, 08 Dec 2010 18:03:04 -0300 meillo@253: * smtp_out.c: changed the SMTP greeting behavior to match RFC meillo@253: 2821 (always try EHLO first). Thanks to inne for pointing me meillo@253: on that. See also Debian bug #349211 meillo@253: * fail_msg.c: postmaster is now matched caseless, as meillo@253: required by RFC meillo@287: * cmdline arguments are now added to the recipient list instead meillo@287: of substracted, when -t is used meillo@287: * print version if called without arguments (see commit message meillo@287: or code) meillo@287: * added -bm for mode accept (it's the default but the other MTAs meillo@287: have it too) meillo@287: * calling masqmail as `newaliases' is now recognized meillo@291: * mark -qo (without argument) obsolete (see man page) meillo@253: * refactored the cmdline argument processing (-m is recognized, meillo@253: unknown -oXXX options are ignored now and some corner-cases meillo@253: covered) meillo@287: * operation modes are now enforced exclusive, fail otherwise meillo@287: * -q and -qo are non-exclusive meillo@258: * fixed -oem by removing it ;-) (see NEWS and docs/oem-option) meillo@287: * heavy refactoring in parse.c and deliver.c, plus various meillo@287: other refactoring meillo@287: * fixed `To: alice, bob' with -t. If rcpt headers contained meillo@287: an unqualified address followed by more addresses, they were meillo@287: not recognized. meillo@253: * created new functions manipulate_queue() and run_queue() meillo@253: and moved code from main() meillo@253: * replaced the loop-based alias_expand() with a new one that meillo@253: wraps the recursive alias_one() meillo@253: * removed ADDR_FLAG_NOEXPAND as it is not needed anymore meillo@287: * removed ACC_DEL_RCPTS because it's always used together with meillo@287: ACC_RCPT_FROM_HEAD meillo@287: * s/EXIT_SUCCESS/0/ && s/EXIT_FAILURE/1/ meillo@253: * made addr_isequal() and addr_isequal_parent() more flexible, meillo@253: thus making addr_isequal_alias() needless and removed meillo@253: * merged rcptlist_with_one_of_hostlist() and meillo@253: rcptlist_with_addr_is_local() into split_rcpts() meillo@256: * removed the obsolete pos argument from time_interval() meillo@253: * renamed the default route for the local net to meillo@253: `default local_net_route' meillo@253: * renamed `alias_local_caseless' to `caseless_matching' because meillo@253: it does not only affect the matching of local parts of aliases meillo@253: anymore but is used anywhere where address matching is meillo@253: performed meillo@253: * renamed conf.alias_local_cmp to conf.localpartcmp meillo@253: * minor improvements of debug messages meillo@287: * heavily improved and updated man/masqmail.8 meillo@253: * several, mostly cosmetic, cleanups meillo@253: meillo@230: 0.3.0 Fri, 23 Jul 2010 21:58:25 +0200 meillo@230: * new development branch meillo@230: (Attention: No backward compatibility guaranteed.) meillo@230: * removed POP3 support (also pop-before-smtp/smtp-after-pop) meillo@230: * removed maildir support meillo@230: * removed built-in mserver functionality meillo@230: * removed, already deprecated, `remote_port' config option meillo@230: * removed --disable-smtp-server and --with-glib-static meillo@230: configure options meillo@230: * exit if host_name is not set in conf file meillo@230: * local_hosts defaults to `localhost;foo;foo.example.org' now meillo@230: (generated from the value of host_name, here it would have meillo@230: been `foo.example.org') meillo@230: * listen on `localhost:25' now if listen_addresses is not set meillo@230: in the conf file. To not listen at all, set listen_addresses meillo@230: to the empty string. meillo@230: * set default values for log_dir, spool_dir, mail_dir meillo@230: * improved mservdetect meillo@230: * build resolvtest tool now, the code was already there meillo@230: * added setup guides meillo@230: * improved and simplified the example config meillo@230: * removed the old manual because it is really outdated now meillo@230: * better debug logging of outgoing SMTP dialogs meillo@230: * renamed misc/ to devel/ and contrib/ to admin/ meillo@230: * added admin/config-transition, to check for and inform about meillo@230: obsolete config options meillo@230: meillo@230: 0.2.28 Fri, 23 Jul 2010 09:58:56 +0200 meillo@230: * added STARTTLS support with external wrappers like openssl. meillo@230: Added a new route config option `instant_helo' therefore. meillo@230: * added misc/list-versions meillo@230: meillo@230: 0.2.27 Sun, 18 Jul 2010 22:40:04 +0200 meillo@230: * replaced the MD5 implementation with the one of Solar meillo@230: Designer meillo@230: * replaced hmac_md5.c with an own implementation of RFC 2104 meillo@230: * added authors of contributed parts to AUTHORS meillo@230: meillo@230: 0.2.26 Sun, 18 Jul 2010 10:28:43 +0200 meillo@230: * write a log message when the daemon starts up. Thanks to meillo@230: Juergen Daubert. meillo@230: * added a missing #include to local.c. Thanks to meillo@230: Dominik Lang (phil). meillo@230: * improved documentation of `wrapper' in route files meillo@230: * fix handling of --with-liblockfile=no or meillo@230: --without-liblockfile. Thanks to Nico Roeser. meillo@230: * documentation improvements in the INSTALL file and some man meillo@230: pages. Thanks to Nico Roeser. meillo@230: * added misc/update-manpage-date, a development helper script meillo@230: to update the date and version in man pages meillo@159: meillo@149: 0.2.25 Thu, 08 Jul 2010 00:49:36 +0200 meillo@126: * added server-side SMTP SIZE support. Thanks to Paolo. meillo@126: * always remove Bcc: headers from now on meillo@126: * never create headers from envelope recipients from now on meillo@126: * add ``To: undisclosed-recipients:;'' if no recipient header meillo@126: is present meillo@143: * added checks for too long addresses in SMTP dialog. Thanks meillo@143: to Paolo. meillo@126: * allow colons (`:') unquoted in config file. Thanks to Paolo. meillo@126: * new warnmsg.tpl.it. Thanks to Paolo. meillo@126: * don't install the tests any longer meillo@149: * remove all installed dirs but no generated data (logs, meillo@149: spooled files, config) meillo@126: * removed the ACC_NO_RECVD_HDR because it is never used meillo@126: * changed name ACC_NODOT_TERM to ACC_DOT_IGNORE for better meillo@126: understanding meillo@143: * fixed max_size_delete meillo@143: * added Paolo's mailq.wmbiffrc meillo@126: * better debugging output. Thanks to Paolo. meillo@143: * documented some, yet undocumented, config options meillo@126: * improved documentation of -t option meillo@149: * moved rmail to sbin and added man page for rmail(8) meillo@126: * several typo fixes in man pages and code comments meillo@143: * gen-dist: don't distribute mercurial files meillo@126: meillo@94: 0.2.24 Mon, 21 Jun 2010 10:07:32 +0200 meillo@77: * removed dead code in child.c meillo@77: * fixed closing of log files on receival of SIGHUP. See commit meillo@77: message and http://bugs.debian.org/536060 . meillo@77: * the daemon does reparent to init anymore if init is already meillo@77: its parent. This situation appears on SIGHUP receival. meillo@77: * fixed correct processing of mails with data lines longer meillo@77: 4096 chars. See commit message for details. meillo@94: * various refactoring meillo@94: * fixed is_ingroup() to check for the primary group of users meillo@94: * moved man page of mservdetect to section 1 meillo@94: * added rmail script from postfix which is a bit better than meillo@94: calling masqmail as rmail. See docs/uucp-setup meillo@94: * permissions.c describes how to make another group (e.g. meillo@94: `uucp') trusted meillo@94: * uninstall target removes now docs and thelike meillo@94: * minor updates in the documentation meillo@77: meillo@69: 0.2.23 Sun, 30 May 2010 21:00:44 +0200 meillo@53: * fixed inverted condition for undefined online_file. Thanks to meillo@53: Juergen Daubert. meillo@69: * masqmail installs to /usr/local by default now. Previously it meillo@69: installed to /usr. meillo@69: * man pages get installed again. Again thanks to Juergen Daubert. meillo@69: Docs and examples do get installed now too. meillo@69: * updated the docs. Moved the man pages from docs/ to man/. meillo@69: Added the old manual from the old website to the distribution. meillo@69: * reworked the test cases completely. meillo@69: * updated the README file and added a bug report howto meillo@53: * fixed dist-gen (wrong paths for md5sum) meillo@53: meillo@48: 0.2.22 Thu, 20 May 2010 21:19:56 +0200 meillo@41: * new maintainer: markus schnalke . See NEWS. meillo@41: * fixed expanding of $prefix for template files. Thanks to Johann meillo@41: Felix Soden. meillo@41: * fixed delivery with empty or non-existent alias files. meillo@41: Thanks to Marcos Dione. meillo@41: * fixed empty or only-whitespace connection names. meillo@41: * fixed typos, reported by Reuben Thomas. meillo@41: * corrected man page about /etc/aliases. Thanks to Alexis. meillo@41: * further corrections and improvements in man pages. Man pages will meillo@41: be maintained in the nroff code directly in future. meillo@41: * removed distribution specific data from repo. It is now separately meillo@41: available on the website. meillo@41: * changed default online status file to /var/run/masqmail/masqmail-route meillo@41: * removed trigraph warnings meillo@41: meillo@30: 0.2.21 Mon, 07 Nov 2005 14:09:21 -0800 meillo@30: * do not use shell when executing sub programs (security fix) meillo@30: * do not accept backtick in email adresses (security fix) meillo@30: * write log files as 'mail' user (security fix) meillo@41: * use /var/run/masqmail/ for pid files meillo@0: 0.2.20 Mon, 19 May 2003 21:14:06 +0200 meillo@0: * fixed a segfaulting bug in spool.c caused by folded headers meillo@0: * regard connect_error_fail when failing for pipes (Debian Bug #186364) meillo@0: * hopefully fixed uid/gid problem in peidopen.c meillo@0: 0.2.19 Wed, 12 Mar 2003 21:33:53 +0100 meillo@0: * fixed a bug in addr_string (set buffer = NULL if g_free'd buffer) meillo@0: 0.2.18 Fri, 06 Dec 2002 14:57:41 +0100 meillo@0: * new option connect_error_fail meillo@0: * install /var/{log,spool} before subdirs, so meillo@0: they get correct ownerships, if installing to a tmp. directory meillo@0: Thx to Juergen Daubert. meillo@0: * failure notices and warnings also if connection fails meillo@0: 0.2.17 Thu, 28 Nov 2002 14:59:24 +0100 meillo@0: * fixed errors in man page masqmail.conf.5 about online_detect meillo@0: Thx to Juergen Daubert. meillo@0: * fixed a segfaulting bug in accept.c on pop retrieval, if there meillo@0: is no return_path in the mail and Sender: is empty. meillo@0: Thx to Olaf Buddenhagen for debug information. meillo@0: * implemented 'last_route' option meillo@0: * moved *.tpl to /usr/share/masqmail/tpl (from /etc/masqmail/tpl) meillo@0: * french translation of warnmsg.tpl by Rémi Denis-Courmont meillo@0: * added delivery warn messages for deferals meillo@0: new options: 'warn_intervals', 'warnmsg_file', 'max_defer_time' meillo@0: * warn/fail also if remote SMTP server replies with 4xx or 5xx meillo@0: just after EHLO/HELO (yes, that was a bug) meillo@0: * removed a few -Wall warnings. Thanks to Juergen Daubert. meillo@0: 0.2.16 Tue, 12 Nov 2002 17:27:13 +0100 meillo@0: * fixed debugging, which has been broken in 0.2.15 meillo@0: 0.2.15 Wed, 06 Nov 2002 12:19:55 +0100 meillo@0: * added french translation of delivery failure message template. meillo@0: Thanks to Rémi Denis-Courmont meillo@0: * accept -f "" without segfaulting. Thanks to Ralf Friedl. meillo@0: * fixed buffer overflows in conf.c. Thanks to Damian M Gryski. meillo@0: * read conf file _after_ dropping privileges meillo@0: 0.2.14 Sat, 26 Oct 2002 14:40:49 +0200 meillo@0: * corrected html version of documentation meillo@0: * include masqmail.8 man page (was garbled in 0.2.13) meillo@0: * small lintian fixes for Debian meillo@0: 0.2.13 Wed, 23 Oct 2002 20:54:39 +0200 meillo@0: * fixed a possible buffer overflow (IMHO not exploitable) Thanks to Anonymous. meillo@0: 0.2.12 Wed, 23 Oct 2002 18:57:42 +0200 meillo@0: * new do_pipelining option (to switch it off if necessary) meillo@0: * new helo_name option for route meillo@0: * fixed remote_port option (but marked it as deprecated) meillo@0: * swapped setegid/seteuid in maildir_out() meillo@0: * try again on EAGAIN failure for local delivery via mbox meillo@0: 0.2.11: meillo@0: * make it possible for *.route file to have mode 600, owned by root. meillo@0: Thx to Juergen Daubert for noticing. meillo@0: * do not choke on trailing blanks after comments in conf file. Anonymous meillo@0: again. meillo@0: * try again on EAGAIN failure for local delivery via mda meillo@0: * fixed a potential buffer overflow in conf.c. Thanks to Anonymous meillo@0: again. meillo@0: * set umask 066 for log files. Thanks to Anonymous. meillo@0: * implemented map_h_mail_followup_to_addresses meillo@0: * fixed a bug: masqmail -t with empty body caused weird meillo@0: errors. Thanks to Anonymous. meillo@0: * added do_save_envelope_to option meillo@0: 0.2.10: meillo@0: * fixed a small bug in mserver.c (atoi) (Thanks to Gert Ohme) meillo@0: * allow ';' in rval also if rval is unqoted meillo@0: * write pidfiles to /var/run/masqmail{,-get}.pid meillo@0: * now runs on freebsd without leaving zombies meillo@0: * use setjmp() in readsock.c for timeouts meillo@0: 0.2.9: meillo@0: * attempts to make it compile on freebsd meillo@0: - works, but leaves zombies behind (will be done next release, I hope) meillo@0: * removed some bashisms from configure.ac meillo@0: * fixed segfault when called with -t under some circumstances meillo@0: * some fixes about locking when fetching mail (yes, 0 _is_ a valid fd...) meillo@0: * some speedups for uidl handling, and do not bloat log files any more meillo@0: 0.2.8: meillo@0: * use flock() for locking in retrieving mails (get.c) meillo@0: * can use /etc/mailname as host_name (for Debian) meillo@0: * added ESMTP LOGIN meillo@0: * made uidl handling even more safe meillo@0: 0.2.7: meillo@0: * fixed stupid locking bug meillo@0: * do not complain about 'unknown mode' when getting mail meillo@0: * added italian version of failmsg.tpl (by Paolo) meillo@0: * changed MIME boundaries in failmsg.tpl (Paolo) meillo@0: * applied patches from Paolo (Gabel - ): meillo@0: mostly replacing g_strdup_printf() with g_strdup(), a few ticks ('), meillo@0: changed SENDER_LOCAL environment variable and fixed missing '\' in meillo@0: debian/masqmail.ip-up meillo@0: 0.2.6: meillo@0: * rediscovered previously undocumented allowed_return_paths option for meillo@0: routes and made it usable for null sender addresses. meillo@0: * added mbox_default, and {mbox,mda,maildir}_users options meillo@0: * changes to vsnprintf function use in pop3_in.c and smtp_in.c (by egp) meillo@0: * fixes to ip-up/ip-down scripts (by Ben Low) meillo@0: * ENABLE_SMTP_SERVER define was incorrectly written as meillo@0: ENABLE_MODE_SMTP (by Ben Low) meillo@0: * fixed bug in get_header() in src/header.c (by egp) meillo@0: 0.2.5: meillo@0: * PowerPC fix for varargs functions meillo@0: * relay checking: if do_relay is set to false, do not allow non local meillo@0: to non local addresses meillo@0: * alias is always caseless for postmaster (disregarding meillo@0: alias_local_caseless option) meillo@0: * do not rebounce to postmaster meillo@0: * implemented Maildir support meillo@0: * rearranged append_file in local.c meillo@0: * use sysexits.h for correct error reply for failure messages (mda only) meillo@0: 0.2.4: meillo@0: * fixed uidl bug: uidl list was not written if a mail was not meillo@0: fetched because it was in the list meillo@0: * fixed bug in src/conf.c: g_free'd twice in destroy_route() meillo@0: * security fix, Debian Bug#102092: 'Privilege escalation in masqmail meillo@0: piped alias handling': fixed by using set[ug]id instead of sete[ug]id meillo@0: in peopen.c (noted by Colin Phipps) meillo@0: * limit count of children in pop3_in.c and wait for them meillo@0: * ignore SIGPIPE signal meillo@0: * docu updates by Uli Funcke meillo@0: * find path to masqmail via --prefix or --exec-prefix option for configure meillo@0: * implemented -v (log to stdout) option meillo@0: 0.2.3: meillo@0: * local_addresses and not_local_addreses option (patch by Uli Funcke) meillo@0: * replaced /usr/sbin/masqmail in fail_msg.c with /usr/sbin/sendmail meillo@0: * typo in man pages (noted by Sebastian Inacker) meillo@0: * hostnames can now begin with a digit (noted by CatcherInTheRye) meillo@0: * chdir to '/' (on some systems getcwd() failes when changing uid) meillo@0: * implemented lock_dir option meillo@0: * ignore EINVAL after fdatasync meillo@0: * configure option to link with libcrypto meillo@0: * configure option to disable resolver support meillo@0: * configure option to enable mserver support meillo@0: * configure option to disable smtp server meillo@0: * configure option to link glib statically meillo@0: * msg_count option for get configuration meillo@0: * bug fix: do not terminate if accept() return meillo@0: error (patch by Edouard G. Parmelan) meillo@0: * removed some files from package in meillo@0: debian (by Edouard G. Parmelan)) meillo@0: * mailrm alias (by Edouard G. Parmelan) meillo@0: * bug fix: removed superfluous g_free from meillo@0: dot_unlock() (by Edouard G. Parmelan) meillo@0: * write uidl list to temporary file first meillo@0: * write uidl list each time a message was retrieved meillo@0: (avoid duplicate mails when interupted) meillo@0: 0.2.2: meillo@0: * fix of Debian Bug#92894 by Gregor Hoffleit meillo@0: (correct error reply for lacking permissions) meillo@0: * fixed 'last line missing' bug meillo@0: * fixed spool locking bug: lock was deleted meillo@0: if unsuccessful (unlocking it) meillo@0: * added patch from Uli Funcke for log_user meillo@0: (user getting all delivered mail) meillo@0: * implemented get daemon meillo@0: * create lock file when getting mail meillo@0: * use tables for finding route and get lists meillo@0: 0.2.1: meillo@0: * expand_h_sender_address now defaults to true (as described in docs) meillo@0: * included documentation patch by Marc Herbert (masqmail call in ifup configuration) meillo@0: * complain to log if failure message template cannot be opened meillo@0: * errmsg_file defaults to /etc/masqmail/tpl/failmsg.tpl meillo@0: * corrected error message for insufficient permissions (Debian Bug #92894) meillo@0: * get mail depending on connection: -go option and online_get meillo@0: 0.2.0: meillo@0: * included the debian/ directory from the debian package. meillo@0: * added return_path option for get configuration meillo@0: * added max_messages option for get configuration meillo@0: * added independent program 'mservdetect', which can be used with meillo@0: online_detect=pipe as replacement for online_detect=mserver meillo@0: * added online detection method 'pipe' meillo@0: * replaced configure option --with-conffile with --with-confdir, default meillo@0: is now /etc/masqmail/ (/etc/masqmail/masqmail.conf for the conf file). meillo@0: * added do_uidl_dele option (delete messages in uid listing on server) meillo@0: * qualify address for get configuration. meillo@0: * better checking for valid From: address when retrieving mail via pop3 meillo@0: and this is used as the return path. meillo@0: * port number for mail_host in routes possible meillo@0: * introduce delivery failue notices meillo@0: * added addr_string() function for easy output of addresses meillo@0: * expire spool lock files after a while (currently 300s) meillo@0: * started development branch 0.2.x meillo@0: meillo@0: 0.1.12: meillo@0: * previous fix auf AUTH broke it - reverted it partially and fixed it again meillo@0: * bug fix in get.c: retrieval via pop from different server could cause mail to be lost meillo@0: 0.1.11: meillo@0: * bug fix in smtp_out.c: of AUTH methods supplied by server, only the first was recognized meillo@0: 0.1.10: meillo@0: * added support for IP address as mail_host in routes meillo@0: * include in masqmail.h to make it compile with glibc 2.2.2 meillo@0: 0.1.9: meillo@0: * fixed a few typos in man pages meillo@0: * ignore -v option meillo@0: * added patch from Bernhard Ehlers to program aliases runq, rmail, smtpd and in.smtpd meillo@0: * added patch from Edouard G. Parmelan to correct default directories to install meillo@0: * implemtented pipe, pipe_fromhack and pipe_fromline options meillo@0: for routes (for protocol 'pipe') meillo@0: * implememted 'pipe' protocol for routes meillo@0: * memset to 0 of configuration structures (it is safer and easier) meillo@0: * list of routes for each connection meillo@0: * do not be picky about EOF if locally received message is not terminated by a dot meillo@0: * speeded up accept.c for large messages (noted by Falko Flessner) meillo@0: 0.1.8: meillo@0: * security bug fix (Debian Bug#81079): if local address cannot be meillo@0: resolved, masqmail listened on an arbitrary port (fixed by Adel meillo@0: Belhouane) meillo@0: * bug fix: -d without argument caused segfault (Thanks to Jan Setzer) meillo@0: * added more help for configure meillo@0: * Iain Lea sent a spec file for Redhat. Thanks! meillo@0: * lines can now be indefinetely long for mail acception (well, nearly...) meillo@0: * implemented 'wrapper' options for routes and get configurations for ssl and maybe other purposes meillo@0: * unified read_sockline() for smtp_out.c, smtp_in.c, pop3_in.c, accept.c and mserver.c meillo@0: * escaping of quotes in configuration now possible and now works meillo@0: correctly in alias file (Edouard G. Parmelan sent a patch, but I fixed it differently) meillo@0: * kill -HUP seems to work now. meillo@0: * close all file descriptors >= 3 on start (patch by Edouard G. Parmelan) meillo@0: * replaced exit() with _exit where appropriate (children) meillo@0: * added pipe_fromhack and pipe_fromline options meillo@0: * added mda support and mda_fromhack and mda_fromline options meillo@0: * user can delete his own mail if received via smtp from one of ident_trusted_nets meillo@0: * bug fix in lookup.c: if the name that an MX points could not be resolved, delete entry meillo@0: * added expand_h_sender_address option. expend_h_sender_domain should be obsolete now. meillo@0: * unprivileged user can delete his own mail from queue if received locally meillo@0: * replaced popen() in local.c with peopen() from snippet from sourceforge. Fixed a bug there. meillo@0: 0.1.7: meillo@0: * debug option can be changed for privileged users only meillo@0: * fixed a security hole: -C option for unprivileged users now implies meillo@0: run_as_user and drops _all_ privileges meillo@0: * environment variables for pipe transport meillo@0: * wildcards for map_* options meillo@0: * rearranged interface handling, IP addresses now possible for meillo@0: listen_addresses and mserver_iface meillo@0: * beautified masqmail.c meillo@0: * revised uid and gid settings in spool.c and local.c (pipe transport) meillo@0: * optionally use ident protocol (RFC 1413) and store user id in spool file meillo@0: * proper spool file locking meillo@0: 0.1.6: meillo@0: * record user id in spool file (though it is not used anywhere) meillo@0: * command line option to remove messages from queue (-Mrm) meillo@0: * command line option for version information (-bV) meillo@0: 0.1.5: meillo@0: * implemented -F option meillo@0: * removed bug in accept.c (dot bug, noted by Andre Masloch) meillo@0: * location of main conf is now configurable with ./configure meillo@0: (suggested by Greger Hoffleit). Default is /etc/masqmail.conf. meillo@0: * remote_port defaults to 25 (noted by Andre Masloch) meillo@0: * docu fixes: remote_port documented and typo fix (noted by Andre Masloch. Again :-)) meillo@0: * do not return failure on exit on delivery if mail queue was empty (noted by Andre Masloch) meillo@0: * qualify -f address with host_name if unqualified (noted by Andre Masloch) meillo@0: 0.1.4: meillo@0: * Jens Askengren discovered a segfaulting bug when parsing headers. meillo@0: 0.1.3: meillo@0: * warn if pop/auth options are given, but compiled without support meillo@0: * fixed allowed_rcpt_domains option (was broken since 0.1.0, but nobody noticed) meillo@0: * exit with 1 if queue run fails for any reason (not for daemon) meillo@0: * fail if alias file cannot be read meillo@0: * better handling of SMTP SIZE error meillo@0: * implemented alias_local_caseless option (suggestion by Andre Masloch) meillo@0: * case insensitive domain matching (noted by Andre Masloch) meillo@0: * removed nearly all warnings if compiled with -Wall meillo@0: 0.1.2: meillo@0: * some changes in configure.in meillo@0: * continue if get conf could not be read. Thanks to Edouard G. Parmelan! meillo@0: * fixed another bug on pipe addresses in spool.c meillo@0: * Andre Masloch found a bug in spool.c which caused a segfault on pipe addresses. Thanks! meillo@0: 0.1.1: meillo@0: * Edouard G. Parmelan sent a patch for starting a queue run on start of daemon. Thanks! meillo@0: * rpm packages for SuSE meillo@0: * regard CFLAGS in Makefile.am meillo@0: * implemtented -g option meillo@0: * be more verbose in pop3_get.c meillo@0: * implemented -f option (set return path) meillo@0: * fixed bug: "no debug file, msg was:" in smtp_out.c when debugging was off meillo@0: * internal changes of smtp_out_log_failure() meillo@0: * removed 'no log file' error meillo@0: * complain if host name could not be resolved in connect.c meillo@0: * added option resolve_list for route and get configurations meillo@0: * removed bug in rcptlist_with_one_of_hostlist(): exited when meillo@0: list was empty meillo@0: 0.1.0: meillo@0: * included ESMTP AUTH support (as client), CRAM-MD5 only meillo@0: * included pop3 client support, with UIDL and APOP, single drop only meillo@0: * rearranged routing code: meillo@0: - messages will be deleted from spool earlier, as soon as they are delivered meillo@0: - unified online/offline delivery, making it more simple meillo@0: meillo@0: 0.0.13: meillo@0: * ignore set_h_{from,reply_to}_domain if map_h_{from,reply_to}_addresses meillo@0: is set and warn in logs about misconfiguration. meillo@0: * fail if there are no recipients meillo@0: * fixed bug: if called with -t, qualify recipient address with host_name meillo@0: * fixed bug: if called with -bi, no longer wait for message on stdin meillo@0: 0.0.12: meillo@0: * warn if spool file could not be deleted (Thanks to Alberto González meillo@0: Palomo) meillo@0: * fixed bug: set len for getsockname meillo@0: * fixed bug: set local_net_routes to NULL if there is no local net meillo@0: (noted by Frank Schnekenbuehl) meillo@0: * say 'mail queue is empty' if mail queue is empty (Thanks to meillo@0: Frank Schnekenbuehl) meillo@0: * fixed bug: setegid in local.c (was noted by both Michael Piefel and meillo@0: Alberto González Palomo) meillo@0: 0.0.11: meillo@0: * if Bcc: headers have been removed (-t option), and there is no To: meillo@0: or Cc: header,an empty Bcc: header will be created (RFC 822 meillo@0: compliance!) meillo@0: * fixed bug: if rcpts are given on command line To: headers were meillo@0: created, even if they already existed. This caused Bcc: recipient meillo@0: addresses to be revealed if they were given on the cmd line. meillo@0: Now a To: header is only created if there is no To:, Cc: or Bcc: meillo@0: header. Thanks to Richard Clamp for pointing this out. meillo@0: * fixed bug: segfault when -d option was given without arguments meillo@0: * fixed bug: segfault when configuration file not found meillo@0: 0.0.10: meillo@0: * removed -g option from Makefile meillo@0: * fixed bug: -odq did not work, was broken in some earlier version meillo@0: * addresses with leading '\' will not be expanded any further in aliases meillo@0: * pipe transport implemented meillo@0: * alias support implemented. meillo@0: * changed permissions for queue runs again: got to be root, meillo@0: mail or in group trusted. meillo@0: * some configuration parameters can be read from files meillo@0: * internal changes in routing logics/deliver code, preparing for meillo@0: aliases support. meillo@0: * Gregor Hoffleit sent another patch: use liblockfile if available meillo@0: (Debian!) and DESTDIR will be used. Also updated the NEWS file. Thanks meillo@0: again! meillo@0: * define fdatasync to fsync if not available. meillo@0: * lookup.c includes sys/types.h, some environments need this meillo@0: * fixed bug in RFC 822 parsing: name in brackets after address meillo@0: caused problems. Thanks to David Maslen. meillo@0: * values in tables without leading spaces meillo@0: 0.0.9: meillo@0: * anyone in group 'trusted' is now allowed to do queue runs. Thanks to meillo@0: Alberto Gonzalez Palomo for the suggestion. meillo@0: * changed umask for spool writing to 026. meillo@0: * removed silly 'no rcpt domain for this route' message meillo@0: * there is now a mailing list meillo@0: (see http://www.innominate.org/mailman/listinfo/masqmail) meillo@0: * Gregor Hoffleit sent a patch to make masqmail work with mutt (and meillo@0: balsa and any other MUA that uses the mutt libs): it now supports meillo@0: '--' in options. Thanks! meillo@0: * accept_message() supports flag ACC_NO_RECVD_HDR (but this is not meillo@0: used in masqmail). meillo@0: * accept_message() is no longer responsible for queuing, makes it meillo@0: easier to recycle the code for other projects (eg. jpilot-Mail) meillo@0: 0.0.8: meillo@0: * added a FAQ page. meillo@0: * removed all warnings, at least for egcs. Output of make looks meillo@0: pretty now ;-) meillo@0: * added allowed_mail_locals and not_allowed_mail_locals options for meillo@0: routes. meillo@0: * implemented folding und unfolding of headers (but currently used meillo@0: for the Received: header only). meillo@0: * corrected docs: should be 'online_detect', NOT 'detect_online'. meillo@0: * mailq now gives information about the time mails spent in the queue, meillo@0: the message size and the received host. meillo@0: * added allowed_rcpt_domains option for routes. meillo@0: * increased buffer size to 1024 for SMTP responses when delivering. meillo@0: * fixed minor bug: slash in unquoted strings in conf parsing was not meillo@0: allowed. meillo@0: 0.0.7: meillo@0: * fixed a bug in smtp_out.c: sock was tested before it was initialized. meillo@0: * fixed a bug in the configuration code: for statements in two meillo@0: adjacent lines, the second was not recognized. meillo@0: 0.0.6: meillo@0: * rewrote part of the configuration parsing code because it caused meillo@0: problems with reading config statements on multiple lines. meillo@0: * added a LF after each mail local mail spool file, as this meillo@0: seems to be required for some MUAs and especially cucipop when meillo@0: it reads mails. Otherwise mails seem to be concatenated. Thanks meillo@0: to Dale Perkel for pointing this out. meillo@0: 0.0.5: meillo@0: * added expand_h_sender_domain option (boolean, default: true) meillo@0: because some clients use the Sender: address as the sender address meillo@0: (though it should be the From: address). meillo@0: * changed configure script to better recognize whether libresolv meillo@0: should be linked or not. meillo@0: * fixed a nasty bug: if masqmail -q was called (or qo meillo@0: and a mail was not delivered), the headers were lost! Problem was an meillo@0: additional LF after received_host in the spool file. meillo@0: 0.0.4: meillo@0: * 'From' hack is now a 'From ' hack. meillo@0: * configure now accepts options --with-logdir=LOGDIR and meillo@0: --with-spooldir=SPOOLDIR. meillo@0: * the directories /var/masqmail and /var/spool/masqmail will now be meillo@0: created with make install; user and group will be set appropriately meillo@0: * configure now accepts options --with-user=USER and --with-group=GROUP meillo@0: * dove into autoconf: configure now recognizes libc5 and links with meillo@0: libresolv only for libc6 and defines getline for libc5 meillo@0: * fixed timeout code when sending. This was broken in some earlier meillo@0: version. meillo@0: 0.0.3: meillo@0: * fixed bug in spool write code: rcpt address was written incorrectly meillo@0: to spool file under some circumstances (with a LF). meillo@0: * added methods for online detection (file and mserver) and added code meillo@0: to deliver immediately when mail is received at online time. meillo@0: * too many changes to list: rearranged routing code, unified smtp meillo@0: deliveries to the local net with online deliveries, so now route meillo@0: configurations can be used for the local net. Also multiple messages meillo@0: per connection for the local net possible. And reduced code size. meillo@0: * fixed bug: if server does not use neither the esmtp size extension meillo@0: nor pipelining, output after MAIL FROM was not flushed. So MM waited meillo@0: forever for a response... meillo@0: 0.0.2: meillo@0: * fixed bug: euid was not set properly for local delivery meillo@0: * when debugging, it does not write the whole message to the log meillo@0: any more. meillo@0: * added 'From' hack meillo@0: * qualified address for return path and recipients is now required meillo@0: if not accepted locally, if locally accepted the addresses will be meillo@0: qualified with host_name. (Thereby fixed a seg fault bug) meillo@0: * added -i option (same as -oi) meillo@0: * added more header rewriting (set_ and map_ options) meillo@0: * fixed bug: potential seg fault when writing spool files because it meillo@0: was not read properly meillo@0: * multiple messages per connection now also if mail is sent directly meillo@0: (same for local_nets is still missing, but I will use routes for these meillo@0: anyway in the future) meillo@0: * the queue will now be read in random order meillo@0: * implemented multiple messages per connection (but only online meillo@0: and if mail_host is defined) meillo@0: * implemented rewriting of local parts in return path for online meillo@0: delivery meillo@0: * domain matching is no longer case sensitive (had to define meillo@0: _GNU_SOURCE so that I could use FNM_CASEFOLD for fnmatch) meillo@0: * added do_correct_helo option for routes meillo@0: * fixed bug: corrected retrying hosts if one failed (connect.c). meillo@0: 0.0.1: meillo@0: * fixed bug: seg fault when delivering online directly and there was meillo@0: more than one rcpt to a single host. meillo@0: * fixed bug: if mail was succesfully delivered in online mode to all meillo@0: rcpts, and if there were additional (local) rcpts for which the mail meillo@0: was not yet delivered, the mail was deleted from spool. meillo@0: * rearranged smtp_out.c to prepare for multiple messages per connection meillo@0: * log now shows the real host a message is sent to by SMTP (previously meillo@0: it was the one looked for, now it is the one that was found by DNS) meillo@0: * added NOOP, HELP and not recognized replies in smtp_in meillo@0: * fixed bug: forgot to close dup_sock in accept_connect (listen.c) meillo@0: * can now list the queue with the -bp option or when called as mailq meillo@0: * debug_level is now configurable and -d option added meillo@0: * corrected rfc821 address parsing and rearranged code meillo@0: 0.0.0: meillo@0: * initial release