masqmail

annotate ChangeLog @ 393:5e728dd64c1b

Various refactoring and code layouting in the second half of conf.c.
author markus schnalke <meillo@marmaro.de>
date Sat, 18 Feb 2012 18:48:19 +0100
parents 75f4a5676808
children 34c919a8d74e
rev   line source
meillo@48 1 This ChangeLog file summarizes the (implementation) changes from the
meillo@48 2 technical view.
meillo@41 3
meillo@41 4 The code repository log file provides the changes in full detail.
meillo@41 5
meillo@41 6 Have a look at the NEWS file for a summary of the changes in a less
meillo@41 7 technical speach and with focus on compatibility.
meillo@41 8
meillo@41 9
meillo@379 10 0.3.4 Wed, 18 Jan 2012 09:21:54 +0100
meillo@379 11 * Reworked the route concept. Better names: ``online_routes'' is now
meillo@379 12 known as ``query_routes'' and the ``local_net_route'' in now named
meillo@379 13 ``permanent_routes''. Removed the idea of the localnet because it
meillo@379 14 is only part of the more general concept: permanent routes. Removed
meillo@379 15 `local_nets'; they are now represented by allowed_recipients in a
meillo@379 16 permanent route. (See: examples/localnet.route) Now, there is no
meillo@379 17 more abiguity between `local' and `local net'. Run
meillo@379 18 admin/config-transition on your config to learn how to update it.
meillo@379 19 * Switched the default group for masqmail from `trusted' to `mail'.
meillo@379 20 * Fixed a problem with psb->remote_host, introduced in version 0.3.2
meillo@379 21 (changeset 412385b57dc4).
meillo@379 22 * Fixed a bug in matching of allowed recipients. Thanks to Juergen
meillo@379 23 Daubert for finding and reporting the issue.
meillo@379 24 * Enabled auth support per default.
meillo@379 25 * Removed support for openssl linking. It had been rarely used and
meillo@379 26 could have caused legal problems. We don't miss functionality here,
meillo@379 27 because we already have builtin MD5 support.
meillo@379 28 * Removed ident support. This had been discussed on the mailing list
meillo@379 29 in Oct 2011.
meillo@379 30 * `local_hosts' now understands glob patterns like `*example.org'.
meillo@379 31 * Lots of refactoring and removal of unused code.
meillo@379 32 * Smaller cleanups of the man pages.
meillo@379 33
meillo@338 34 0.3.3 Wed, 31 Aug 2011 08:38:13 +0200
meillo@336 35 * Fixed a possible security problem, reported by John Lightsey. See
meillo@336 36 Debian bug #638002. The return value of seteuid() calls was handled
meillo@336 37 wrong or not at all. Now, the (already available) set_euidgid()
meillo@336 38 function is used when possible. Additionally, removed the unnecessary
meillo@336 39 identity change when writing into an already open file descriptor.
meillo@336 40 * Added debug level 9 for msgs to stderr during reading config.
meillo@338 41 * Fixed local-part only address patterns in route conditions. The man
meillo@338 42 page claimed behavior that wasn't implemented up to now. Thanks to
meillo@338 43 Juergen Daubert for the bug report.
meillo@338 44 * Switched default listen address back from 127.0.0.1 to `localhost'.
meillo@338 45 Better be straight-forward than too clever.
meillo@336 46
meillo@324 47 0.3.2 Fri, 03 Jun 2011 10:14:33 +0200
meillo@324 48 * Fixed an important bug with folded headers! The folded lines
meillo@324 49 of a long header would be ignored in unpredictable cases.
meillo@324 50 Also fixed another problem with folded headers and
meillo@324 51 g_strconcat() in spool read.
meillo@324 52 * Reworked allowed and denied addrs for routes to be more
meillo@324 53 consistent and allow more flexible matching:
meillo@324 54 - allowed_mail_locals + allowed_return_paths ->
meillo@324 55 allowed_senders
meillo@324 56 - not_allowed_mail_locals + not_allowed_return_paths ->
meillo@324 57 denied_senders
meillo@324 58 - allowed_rcpt_domains -> allowed_recipients
meillo@324 59 - not_allowed_rcpt_domains -> denied_recipients
meillo@324 60 * Reworked online_detect to the simpler online_query. Only
meillo@324 61 pipe is supported now. Use
meillo@324 62 online_query="/bin/cat /path/to/file"
meillo@324 63 instead of
meillo@324 64 online_detect=file
meillo@324 65 online_file=/path/to/file
meillo@324 66 and
meillo@324 67 online_query="/path/to/some/script foo"
meillo@324 68 instead of
meillo@324 69 online_detect=pipe
meillo@324 70 online_pipe="/path/to/some/script foo"
meillo@324 71 See man page masqmail.conf(5) and admin/config-transition.
meillo@324 72 * Removed protocol option from route config because it was
meillo@324 73 somehow redundant. Now, if `pipe' is set, the protocol will
meillo@324 74 be pipe, otherwise it'll be smtp. That's just natural.
meillo@324 75 * Bugfix: off-by-one in pipe aliases
meillo@324 76 * Null-terminated the decoded base64 strings.
meillo@324 77 * Now the Received: headers are much friendlier to read. The
meillo@324 78 header for locally (i.e. non-SMTP) received mail is changed
meillo@324 79 to the format postfix uses.
meillo@324 80 * Replaced header_fold() with a better implementation and
meillo@324 81 improved the (yet) unused function header_fold().
meillo@324 82 * Made protocol names upper case, like RFC 5321 requires them.
meillo@324 83 * Several improvements to the man pages.
meillo@324 84 * As always: various refactoring.
meillo@324 85 * Ran aclocal and autoconf.
meillo@324 86 * Added a description of how I create a masqmail release.
meillo@324 87
meillo@291 88 0.3.1 Wed, 08 Dec 2010 18:03:04 -0300
meillo@253 89 * smtp_out.c: changed the SMTP greeting behavior to match RFC
meillo@253 90 2821 (always try EHLO first). Thanks to inne for pointing me
meillo@253 91 on that. See also Debian bug #349211
meillo@253 92 * fail_msg.c: postmaster is now matched caseless, as
meillo@253 93 required by RFC
meillo@287 94 * cmdline arguments are now added to the recipient list instead
meillo@287 95 of substracted, when -t is used
meillo@287 96 * print version if called without arguments (see commit message
meillo@287 97 or code)
meillo@287 98 * added -bm for mode accept (it's the default but the other MTAs
meillo@287 99 have it too)
meillo@287 100 * calling masqmail as `newaliases' is now recognized
meillo@291 101 * mark -qo (without argument) obsolete (see man page)
meillo@253 102 * refactored the cmdline argument processing (-m is recognized,
meillo@253 103 unknown -oXXX options are ignored now and some corner-cases
meillo@253 104 covered)
meillo@287 105 * operation modes are now enforced exclusive, fail otherwise
meillo@287 106 * -q and -qo are non-exclusive
meillo@258 107 * fixed -oem by removing it ;-) (see NEWS and docs/oem-option)
meillo@287 108 * heavy refactoring in parse.c and deliver.c, plus various
meillo@287 109 other refactoring
meillo@287 110 * fixed `To: alice, bob' with -t. If rcpt headers contained
meillo@287 111 an unqualified address followed by more addresses, they were
meillo@287 112 not recognized.
meillo@253 113 * created new functions manipulate_queue() and run_queue()
meillo@253 114 and moved code from main()
meillo@253 115 * replaced the loop-based alias_expand() with a new one that
meillo@253 116 wraps the recursive alias_one()
meillo@253 117 * removed ADDR_FLAG_NOEXPAND as it is not needed anymore
meillo@287 118 * removed ACC_DEL_RCPTS because it's always used together with
meillo@287 119 ACC_RCPT_FROM_HEAD
meillo@287 120 * s/EXIT_SUCCESS/0/ && s/EXIT_FAILURE/1/
meillo@253 121 * made addr_isequal() and addr_isequal_parent() more flexible,
meillo@253 122 thus making addr_isequal_alias() needless and removed
meillo@253 123 * merged rcptlist_with_one_of_hostlist() and
meillo@253 124 rcptlist_with_addr_is_local() into split_rcpts()
meillo@256 125 * removed the obsolete pos argument from time_interval()
meillo@253 126 * renamed the default route for the local net to
meillo@253 127 `default local_net_route'
meillo@253 128 * renamed `alias_local_caseless' to `caseless_matching' because
meillo@253 129 it does not only affect the matching of local parts of aliases
meillo@253 130 anymore but is used anywhere where address matching is
meillo@253 131 performed
meillo@253 132 * renamed conf.alias_local_cmp to conf.localpartcmp
meillo@253 133 * minor improvements of debug messages
meillo@287 134 * heavily improved and updated man/masqmail.8
meillo@253 135 * several, mostly cosmetic, cleanups
meillo@253 136
meillo@230 137 0.3.0 Fri, 23 Jul 2010 21:58:25 +0200
meillo@230 138 * new development branch
meillo@230 139 (Attention: No backward compatibility guaranteed.)
meillo@230 140 * removed POP3 support (also pop-before-smtp/smtp-after-pop)
meillo@230 141 * removed maildir support
meillo@230 142 * removed built-in mserver functionality
meillo@230 143 * removed, already deprecated, `remote_port' config option
meillo@230 144 * removed --disable-smtp-server and --with-glib-static
meillo@230 145 configure options
meillo@230 146 * exit if host_name is not set in conf file
meillo@230 147 * local_hosts defaults to `localhost;foo;foo.example.org' now
meillo@230 148 (generated from the value of host_name, here it would have
meillo@230 149 been `foo.example.org')
meillo@230 150 * listen on `localhost:25' now if listen_addresses is not set
meillo@230 151 in the conf file. To not listen at all, set listen_addresses
meillo@230 152 to the empty string.
meillo@230 153 * set default values for log_dir, spool_dir, mail_dir
meillo@230 154 * improved mservdetect
meillo@230 155 * build resolvtest tool now, the code was already there
meillo@230 156 * added setup guides
meillo@230 157 * improved and simplified the example config
meillo@230 158 * removed the old manual because it is really outdated now
meillo@230 159 * better debug logging of outgoing SMTP dialogs
meillo@230 160 * renamed misc/ to devel/ and contrib/ to admin/
meillo@230 161 * added admin/config-transition, to check for and inform about
meillo@230 162 obsolete config options
meillo@230 163
meillo@230 164 0.2.28 Fri, 23 Jul 2010 09:58:56 +0200
meillo@230 165 * added STARTTLS support with external wrappers like openssl.
meillo@230 166 Added a new route config option `instant_helo' therefore.
meillo@230 167 * added misc/list-versions
meillo@230 168
meillo@230 169 0.2.27 Sun, 18 Jul 2010 22:40:04 +0200
meillo@230 170 * replaced the MD5 implementation with the one of Solar
meillo@230 171 Designer
meillo@230 172 * replaced hmac_md5.c with an own implementation of RFC 2104
meillo@230 173 * added authors of contributed parts to AUTHORS
meillo@230 174
meillo@230 175 0.2.26 Sun, 18 Jul 2010 10:28:43 +0200
meillo@230 176 * write a log message when the daemon starts up. Thanks to
meillo@230 177 Juergen Daubert.
meillo@230 178 * added a missing #include <sys/stat.h> to local.c. Thanks to
meillo@230 179 Dominik Lang (phil).
meillo@230 180 * improved documentation of `wrapper' in route files
meillo@230 181 * fix handling of --with-liblockfile=no or
meillo@230 182 --without-liblockfile. Thanks to Nico Roeser.
meillo@230 183 * documentation improvements in the INSTALL file and some man
meillo@230 184 pages. Thanks to Nico Roeser.
meillo@230 185 * added misc/update-manpage-date, a development helper script
meillo@230 186 to update the date and version in man pages
meillo@159 187
meillo@149 188 0.2.25 Thu, 08 Jul 2010 00:49:36 +0200
meillo@126 189 * added server-side SMTP SIZE support. Thanks to Paolo.
meillo@126 190 * always remove Bcc: headers from now on
meillo@126 191 * never create headers from envelope recipients from now on
meillo@126 192 * add ``To: undisclosed-recipients:;'' if no recipient header
meillo@126 193 is present
meillo@143 194 * added checks for too long addresses in SMTP dialog. Thanks
meillo@143 195 to Paolo.
meillo@126 196 * allow colons (`:') unquoted in config file. Thanks to Paolo.
meillo@126 197 * new warnmsg.tpl.it. Thanks to Paolo.
meillo@126 198 * don't install the tests any longer
meillo@149 199 * remove all installed dirs but no generated data (logs,
meillo@149 200 spooled files, config)
meillo@126 201 * removed the ACC_NO_RECVD_HDR because it is never used
meillo@126 202 * changed name ACC_NODOT_TERM to ACC_DOT_IGNORE for better
meillo@126 203 understanding
meillo@143 204 * fixed max_size_delete
meillo@143 205 * added Paolo's mailq.wmbiffrc
meillo@126 206 * better debugging output. Thanks to Paolo.
meillo@143 207 * documented some, yet undocumented, config options
meillo@126 208 * improved documentation of -t option
meillo@149 209 * moved rmail to sbin and added man page for rmail(8)
meillo@126 210 * several typo fixes in man pages and code comments
meillo@143 211 * gen-dist: don't distribute mercurial files
meillo@126 212
meillo@94 213 0.2.24 Mon, 21 Jun 2010 10:07:32 +0200
meillo@77 214 * removed dead code in child.c
meillo@77 215 * fixed closing of log files on receival of SIGHUP. See commit
meillo@77 216 message and http://bugs.debian.org/536060 .
meillo@77 217 * the daemon does reparent to init anymore if init is already
meillo@77 218 its parent. This situation appears on SIGHUP receival.
meillo@77 219 * fixed correct processing of mails with data lines longer
meillo@77 220 4096 chars. See commit message for details.
meillo@94 221 * various refactoring
meillo@94 222 * fixed is_ingroup() to check for the primary group of users
meillo@94 223 * moved man page of mservdetect to section 1
meillo@94 224 * added rmail script from postfix which is a bit better than
meillo@94 225 calling masqmail as rmail. See docs/uucp-setup
meillo@94 226 * permissions.c describes how to make another group (e.g.
meillo@94 227 `uucp') trusted
meillo@94 228 * uninstall target removes now docs and thelike
meillo@94 229 * minor updates in the documentation
meillo@77 230
meillo@69 231 0.2.23 Sun, 30 May 2010 21:00:44 +0200
meillo@53 232 * fixed inverted condition for undefined online_file. Thanks to
meillo@53 233 Juergen Daubert.
meillo@69 234 * masqmail installs to /usr/local by default now. Previously it
meillo@69 235 installed to /usr.
meillo@69 236 * man pages get installed again. Again thanks to Juergen Daubert.
meillo@69 237 Docs and examples do get installed now too.
meillo@69 238 * updated the docs. Moved the man pages from docs/ to man/.
meillo@69 239 Added the old manual from the old website to the distribution.
meillo@69 240 * reworked the test cases completely.
meillo@69 241 * updated the README file and added a bug report howto
meillo@53 242 * fixed dist-gen (wrong paths for md5sum)
meillo@53 243
meillo@48 244 0.2.22 Thu, 20 May 2010 21:19:56 +0200
meillo@41 245 * new maintainer: markus schnalke <meillo@marmaro.de>. See NEWS.
meillo@41 246 * fixed expanding of $prefix for template files. Thanks to Johann
meillo@41 247 Felix Soden.
meillo@41 248 * fixed delivery with empty or non-existent alias files.
meillo@41 249 Thanks to Marcos Dione.
meillo@41 250 * fixed empty or only-whitespace connection names.
meillo@41 251 * fixed typos, reported by Reuben Thomas.
meillo@41 252 * corrected man page about /etc/aliases. Thanks to Alexis.
meillo@41 253 * further corrections and improvements in man pages. Man pages will
meillo@41 254 be maintained in the nroff code directly in future.
meillo@41 255 * removed distribution specific data from repo. It is now separately
meillo@41 256 available on the website.
meillo@41 257 * changed default online status file to /var/run/masqmail/masqmail-route
meillo@41 258 * removed trigraph warnings
meillo@41 259
meillo@30 260 0.2.21 Mon, 07 Nov 2005 14:09:21 -0800
meillo@30 261 * do not use shell when executing sub programs (security fix)
meillo@30 262 * do not accept backtick in email adresses (security fix)
meillo@30 263 * write log files as 'mail' user (security fix)
meillo@41 264 * use /var/run/masqmail/ for pid files
meillo@0 265 0.2.20 Mon, 19 May 2003 21:14:06 +0200
meillo@0 266 * fixed a segfaulting bug in spool.c caused by folded headers
meillo@0 267 * regard connect_error_fail when failing for pipes (Debian Bug #186364)
meillo@0 268 * hopefully fixed uid/gid problem in peidopen.c
meillo@0 269 0.2.19 Wed, 12 Mar 2003 21:33:53 +0100
meillo@0 270 * fixed a bug in addr_string (set buffer = NULL if g_free'd buffer)
meillo@0 271 0.2.18 Fri, 06 Dec 2002 14:57:41 +0100
meillo@0 272 * new option connect_error_fail
meillo@0 273 * install /var/{log,spool} before subdirs, so
meillo@0 274 they get correct ownerships, if installing to a tmp. directory
meillo@0 275 Thx to Juergen Daubert.
meillo@0 276 * failure notices and warnings also if connection fails
meillo@0 277 0.2.17 Thu, 28 Nov 2002 14:59:24 +0100
meillo@0 278 * fixed errors in man page masqmail.conf.5 about online_detect
meillo@0 279 Thx to Juergen Daubert.
meillo@0 280 * fixed a segfaulting bug in accept.c on pop retrieval, if there
meillo@0 281 is no return_path in the mail and Sender: is empty.
meillo@0 282 Thx to Olaf Buddenhagen for debug information.
meillo@0 283 * implemented 'last_route' option
meillo@0 284 * moved *.tpl to /usr/share/masqmail/tpl (from /etc/masqmail/tpl)
meillo@0 285 * french translation of warnmsg.tpl by Rémi Denis-Courmont
meillo@0 286 * added delivery warn messages for deferals
meillo@0 287 new options: 'warn_intervals', 'warnmsg_file', 'max_defer_time'
meillo@0 288 * warn/fail also if remote SMTP server replies with 4xx or 5xx
meillo@0 289 just after EHLO/HELO (yes, that was a bug)
meillo@0 290 * removed a few -Wall warnings. Thanks to Juergen Daubert.
meillo@0 291 0.2.16 Tue, 12 Nov 2002 17:27:13 +0100
meillo@0 292 * fixed debugging, which has been broken in 0.2.15
meillo@0 293 0.2.15 Wed, 06 Nov 2002 12:19:55 +0100
meillo@0 294 * added french translation of delivery failure message template.
meillo@0 295 Thanks to Rémi Denis-Courmont
meillo@0 296 * accept -f "" without segfaulting. Thanks to Ralf Friedl.
meillo@0 297 * fixed buffer overflows in conf.c. Thanks to Damian M Gryski.
meillo@0 298 * read conf file _after_ dropping privileges
meillo@0 299 0.2.14 Sat, 26 Oct 2002 14:40:49 +0200
meillo@0 300 * corrected html version of documentation
meillo@0 301 * include masqmail.8 man page (was garbled in 0.2.13)
meillo@0 302 * small lintian fixes for Debian
meillo@0 303 0.2.13 Wed, 23 Oct 2002 20:54:39 +0200
meillo@0 304 * fixed a possible buffer overflow (IMHO not exploitable) Thanks to Anonymous.
meillo@0 305 0.2.12 Wed, 23 Oct 2002 18:57:42 +0200
meillo@0 306 * new do_pipelining option (to switch it off if necessary)
meillo@0 307 * new helo_name option for route
meillo@0 308 * fixed remote_port option (but marked it as deprecated)
meillo@0 309 * swapped setegid/seteuid in maildir_out()
meillo@0 310 * try again on EAGAIN failure for local delivery via mbox
meillo@0 311 0.2.11:
meillo@0 312 * make it possible for *.route file to have mode 600, owned by root.
meillo@0 313 Thx to Juergen Daubert for noticing.
meillo@0 314 * do not choke on trailing blanks after comments in conf file. Anonymous
meillo@0 315 again.
meillo@0 316 * try again on EAGAIN failure for local delivery via mda
meillo@0 317 * fixed a potential buffer overflow in conf.c. Thanks to Anonymous
meillo@0 318 again.
meillo@0 319 * set umask 066 for log files. Thanks to Anonymous.
meillo@0 320 * implemented map_h_mail_followup_to_addresses
meillo@0 321 * fixed a bug: masqmail -t with empty body caused weird
meillo@0 322 errors. Thanks to Anonymous.
meillo@0 323 * added do_save_envelope_to option
meillo@0 324 0.2.10:
meillo@0 325 * fixed a small bug in mserver.c (atoi) (Thanks to Gert Ohme)
meillo@0 326 * allow ';' in rval also if rval is unqoted
meillo@0 327 * write pidfiles to /var/run/masqmail{,-get}.pid
meillo@0 328 * now runs on freebsd without leaving zombies
meillo@0 329 * use setjmp() in readsock.c for timeouts
meillo@0 330 0.2.9:
meillo@0 331 * attempts to make it compile on freebsd
meillo@0 332 - works, but leaves zombies behind (will be done next release, I hope)
meillo@0 333 * removed some bashisms from configure.ac
meillo@0 334 * fixed segfault when called with -t under some circumstances
meillo@0 335 * some fixes about locking when fetching mail (yes, 0 _is_ a valid fd...)
meillo@0 336 * some speedups for uidl handling, and do not bloat log files any more
meillo@0 337 0.2.8:
meillo@0 338 * use flock() for locking in retrieving mails (get.c)
meillo@0 339 * can use /etc/mailname as host_name (for Debian)
meillo@0 340 * added ESMTP LOGIN
meillo@0 341 * made uidl handling even more safe
meillo@0 342 0.2.7:
meillo@0 343 * fixed stupid locking bug
meillo@0 344 * do not complain about 'unknown mode' when getting mail
meillo@0 345 * added italian version of failmsg.tpl (by Paolo)
meillo@0 346 * changed MIME boundaries in failmsg.tpl (Paolo)
meillo@0 347 * applied patches from Paolo (Gabel - ):
meillo@0 348 mostly replacing g_strdup_printf() with g_strdup(), a few ticks ('),
meillo@0 349 changed SENDER_LOCAL environment variable and fixed missing '\' in
meillo@0 350 debian/masqmail.ip-up
meillo@0 351 0.2.6:
meillo@0 352 * rediscovered previously undocumented allowed_return_paths option for
meillo@0 353 routes and made it usable for null sender addresses.
meillo@0 354 * added mbox_default, and {mbox,mda,maildir}_users options
meillo@0 355 * changes to vsnprintf function use in pop3_in.c and smtp_in.c (by egp)
meillo@0 356 * fixes to ip-up/ip-down scripts (by Ben Low)
meillo@0 357 * ENABLE_SMTP_SERVER define was incorrectly written as
meillo@0 358 ENABLE_MODE_SMTP (by Ben Low)
meillo@0 359 * fixed bug in get_header() in src/header.c (by egp)
meillo@0 360 0.2.5:
meillo@0 361 * PowerPC fix for varargs functions
meillo@0 362 * relay checking: if do_relay is set to false, do not allow non local
meillo@0 363 to non local addresses
meillo@0 364 * alias is always caseless for postmaster (disregarding
meillo@0 365 alias_local_caseless option)
meillo@0 366 * do not rebounce to postmaster
meillo@0 367 * implemented Maildir support
meillo@0 368 * rearranged append_file in local.c
meillo@0 369 * use sysexits.h for correct error reply for failure messages (mda only)
meillo@0 370 0.2.4:
meillo@0 371 * fixed uidl bug: uidl list was not written if a mail was not
meillo@0 372 fetched because it was in the list
meillo@0 373 * fixed bug in src/conf.c: g_free'd twice in destroy_route()
meillo@0 374 * security fix, Debian Bug#102092: 'Privilege escalation in masqmail
meillo@0 375 piped alias handling': fixed by using set[ug]id instead of sete[ug]id
meillo@0 376 in peopen.c (noted by Colin Phipps)
meillo@0 377 * limit count of children in pop3_in.c and wait for them
meillo@0 378 * ignore SIGPIPE signal
meillo@0 379 * docu updates by Uli Funcke
meillo@0 380 * find path to masqmail via --prefix or --exec-prefix option for configure
meillo@0 381 * implemented -v (log to stdout) option
meillo@0 382 0.2.3:
meillo@0 383 * local_addresses and not_local_addreses option (patch by Uli Funcke)
meillo@0 384 * replaced /usr/sbin/masqmail in fail_msg.c with /usr/sbin/sendmail
meillo@0 385 * typo in man pages (noted by Sebastian Inacker)
meillo@0 386 * hostnames can now begin with a digit (noted by CatcherInTheRye)
meillo@0 387 * chdir to '/' (on some systems getcwd() failes when changing uid)
meillo@0 388 * implemented lock_dir option
meillo@0 389 * ignore EINVAL after fdatasync
meillo@0 390 * configure option to link with libcrypto
meillo@0 391 * configure option to disable resolver support
meillo@0 392 * configure option to enable mserver support
meillo@0 393 * configure option to disable smtp server
meillo@0 394 * configure option to link glib statically
meillo@0 395 * msg_count option for get configuration
meillo@0 396 * bug fix: do not terminate if accept() return
meillo@0 397 error (patch by Edouard G. Parmelan)
meillo@0 398 * removed some files from package in
meillo@0 399 debian (by Edouard G. Parmelan))
meillo@0 400 * mailrm alias (by Edouard G. Parmelan)
meillo@0 401 * bug fix: removed superfluous g_free from
meillo@0 402 dot_unlock() (by Edouard G. Parmelan)
meillo@0 403 * write uidl list to temporary file first
meillo@0 404 * write uidl list each time a message was retrieved
meillo@0 405 (avoid duplicate mails when interupted)
meillo@0 406 0.2.2:
meillo@0 407 * fix of Debian Bug#92894 by Gregor Hoffleit
meillo@0 408 (correct error reply for lacking permissions)
meillo@0 409 * fixed 'last line missing' bug
meillo@0 410 * fixed spool locking bug: lock was deleted
meillo@0 411 if unsuccessful (unlocking it)
meillo@0 412 * added patch from Uli Funcke for log_user
meillo@0 413 (user getting all delivered mail)
meillo@0 414 * implemented get daemon
meillo@0 415 * create lock file when getting mail
meillo@0 416 * use tables for finding route and get lists
meillo@0 417 0.2.1:
meillo@0 418 * expand_h_sender_address now defaults to true (as described in docs)
meillo@0 419 * included documentation patch by Marc Herbert (masqmail call in ifup configuration)
meillo@0 420 * complain to log if failure message template cannot be opened
meillo@0 421 * errmsg_file defaults to /etc/masqmail/tpl/failmsg.tpl
meillo@0 422 * corrected error message for insufficient permissions (Debian Bug #92894)
meillo@0 423 * get mail depending on connection: -go option and online_get
meillo@0 424 0.2.0:
meillo@0 425 * included the debian/ directory from the debian package.
meillo@0 426 * added return_path option for get configuration
meillo@0 427 * added max_messages option for get configuration
meillo@0 428 * added independent program 'mservdetect', which can be used with
meillo@0 429 online_detect=pipe as replacement for online_detect=mserver
meillo@0 430 * added online detection method 'pipe'
meillo@0 431 * replaced configure option --with-conffile with --with-confdir, default
meillo@0 432 is now /etc/masqmail/ (/etc/masqmail/masqmail.conf for the conf file).
meillo@0 433 * added do_uidl_dele option (delete messages in uid listing on server)
meillo@0 434 * qualify address for get configuration.
meillo@0 435 * better checking for valid From: address when retrieving mail via pop3
meillo@0 436 and this is used as the return path.
meillo@0 437 * port number for mail_host in routes possible
meillo@0 438 * introduce delivery failue notices
meillo@0 439 * added addr_string() function for easy output of addresses
meillo@0 440 * expire spool lock files after a while (currently 300s)
meillo@0 441 * started development branch 0.2.x
meillo@0 442
meillo@0 443 0.1.12:
meillo@0 444 * previous fix auf AUTH broke it - reverted it partially and fixed it again
meillo@0 445 * bug fix in get.c: retrieval via pop from different server could cause mail to be lost
meillo@0 446 0.1.11:
meillo@0 447 * bug fix in smtp_out.c: of AUTH methods supplied by server, only the first was recognized
meillo@0 448 0.1.10:
meillo@0 449 * added support for IP address as mail_host in routes
meillo@0 450 * include <time.h> in masqmail.h to make it compile with glibc 2.2.2
meillo@0 451 0.1.9:
meillo@0 452 * fixed a few typos in man pages
meillo@0 453 * ignore -v option
meillo@0 454 * added patch from Bernhard Ehlers to program aliases runq, rmail, smtpd and in.smtpd
meillo@0 455 * added patch from Edouard G. Parmelan to correct default directories to install
meillo@0 456 * implemtented pipe, pipe_fromhack and pipe_fromline options
meillo@0 457 for routes (for protocol 'pipe')
meillo@0 458 * implememted 'pipe' protocol for routes
meillo@0 459 * memset to 0 of configuration structures (it is safer and easier)
meillo@0 460 * list of routes for each connection
meillo@0 461 * do not be picky about EOF if locally received message is not terminated by a dot
meillo@0 462 * speeded up accept.c for large messages (noted by Falko Flessner)
meillo@0 463 0.1.8:
meillo@0 464 * security bug fix (Debian Bug#81079): if local address cannot be
meillo@0 465 resolved, masqmail listened on an arbitrary port (fixed by Adel
meillo@0 466 Belhouane)
meillo@0 467 * bug fix: -d without argument caused segfault (Thanks to Jan Setzer)
meillo@0 468 * added more help for configure
meillo@0 469 * Iain Lea sent a spec file for Redhat. Thanks!
meillo@0 470 * lines can now be indefinetely long for mail acception (well, nearly...)
meillo@0 471 * implemented 'wrapper' options for routes and get configurations for ssl and maybe other purposes
meillo@0 472 * unified read_sockline() for smtp_out.c, smtp_in.c, pop3_in.c, accept.c and mserver.c
meillo@0 473 * escaping of quotes in configuration now possible and now works
meillo@0 474 correctly in alias file (Edouard G. Parmelan sent a patch, but I fixed it differently)
meillo@0 475 * kill -HUP seems to work now.
meillo@0 476 * close all file descriptors >= 3 on start (patch by Edouard G. Parmelan)
meillo@0 477 * replaced exit() with _exit where appropriate (children)
meillo@0 478 * added pipe_fromhack and pipe_fromline options
meillo@0 479 * added mda support and mda_fromhack and mda_fromline options
meillo@0 480 * user can delete his own mail if received via smtp from one of ident_trusted_nets
meillo@0 481 * bug fix in lookup.c: if the name that an MX points could not be resolved, delete entry
meillo@0 482 * added expand_h_sender_address option. expend_h_sender_domain should be obsolete now.
meillo@0 483 * unprivileged user can delete his own mail from queue if received locally
meillo@0 484 * replaced popen() in local.c with peopen() from snippet from sourceforge. Fixed a bug there.
meillo@0 485 0.1.7:
meillo@0 486 * debug option can be changed for privileged users only
meillo@0 487 * fixed a security hole: -C option for unprivileged users now implies
meillo@0 488 run_as_user and drops _all_ privileges
meillo@0 489 * environment variables for pipe transport
meillo@0 490 * wildcards for map_* options
meillo@0 491 * rearranged interface handling, IP addresses now possible for
meillo@0 492 listen_addresses and mserver_iface
meillo@0 493 * beautified masqmail.c
meillo@0 494 * revised uid and gid settings in spool.c and local.c (pipe transport)
meillo@0 495 * optionally use ident protocol (RFC 1413) and store user id in spool file
meillo@0 496 * proper spool file locking
meillo@0 497 0.1.6:
meillo@0 498 * record user id in spool file (though it is not used anywhere)
meillo@0 499 * command line option to remove messages from queue (-Mrm)
meillo@0 500 * command line option for version information (-bV)
meillo@0 501 0.1.5:
meillo@0 502 * implemented -F option
meillo@0 503 * removed bug in accept.c (dot bug, noted by Andre Masloch)
meillo@0 504 * location of main conf is now configurable with ./configure
meillo@0 505 (suggested by Greger Hoffleit). Default is /etc/masqmail.conf.
meillo@0 506 * remote_port defaults to 25 (noted by Andre Masloch)
meillo@0 507 * docu fixes: remote_port documented and typo fix (noted by Andre Masloch. Again :-))
meillo@0 508 * do not return failure on exit on delivery if mail queue was empty (noted by Andre Masloch)
meillo@0 509 * qualify -f address with host_name if unqualified (noted by Andre Masloch)
meillo@0 510 0.1.4:
meillo@0 511 * Jens Askengren discovered a segfaulting bug when parsing headers.
meillo@0 512 0.1.3:
meillo@0 513 * warn if pop/auth options are given, but compiled without support
meillo@0 514 * fixed allowed_rcpt_domains option (was broken since 0.1.0, but nobody noticed)
meillo@0 515 * exit with 1 if queue run fails for any reason (not for daemon)
meillo@0 516 * fail if alias file cannot be read
meillo@0 517 * better handling of SMTP SIZE error
meillo@0 518 * implemented alias_local_caseless option (suggestion by Andre Masloch)
meillo@0 519 * case insensitive domain matching (noted by Andre Masloch)
meillo@0 520 * removed nearly all warnings if compiled with -Wall
meillo@0 521 0.1.2:
meillo@0 522 * some changes in configure.in
meillo@0 523 * continue if get conf could not be read. Thanks to Edouard G. Parmelan!
meillo@0 524 * fixed another bug on pipe addresses in spool.c
meillo@0 525 * Andre Masloch found a bug in spool.c which caused a segfault on pipe addresses. Thanks!
meillo@0 526 0.1.1:
meillo@0 527 * Edouard G. Parmelan sent a patch for starting a queue run on start of daemon. Thanks!
meillo@0 528 * rpm packages for SuSE
meillo@0 529 * regard CFLAGS in Makefile.am
meillo@0 530 * implemtented -g <name> option
meillo@0 531 * be more verbose in pop3_get.c
meillo@0 532 * implemented -f option (set return path)
meillo@0 533 * fixed bug: "no debug file, msg was:" in smtp_out.c when debugging was off
meillo@0 534 * internal changes of smtp_out_log_failure()
meillo@0 535 * removed 'no log file' error
meillo@0 536 * complain if host name could not be resolved in connect.c
meillo@0 537 * added option resolve_list for route and get configurations
meillo@0 538 * removed bug in rcptlist_with_one_of_hostlist(): exited when
meillo@0 539 list was empty
meillo@0 540 0.1.0:
meillo@0 541 * included ESMTP AUTH support (as client), CRAM-MD5 only
meillo@0 542 * included pop3 client support, with UIDL and APOP, single drop only
meillo@0 543 * rearranged routing code:
meillo@0 544 - messages will be deleted from spool earlier, as soon as they are delivered
meillo@0 545 - unified online/offline delivery, making it more simple
meillo@0 546
meillo@0 547 0.0.13:
meillo@0 548 * ignore set_h_{from,reply_to}_domain if map_h_{from,reply_to}_addresses
meillo@0 549 is set and warn in logs about misconfiguration.
meillo@0 550 * fail if there are no recipients
meillo@0 551 * fixed bug: if called with -t, qualify recipient address with host_name
meillo@0 552 * fixed bug: if called with -bi, no longer wait for message on stdin
meillo@0 553 0.0.12:
meillo@0 554 * warn if spool file could not be deleted (Thanks to Alberto González
meillo@0 555 Palomo)
meillo@0 556 * fixed bug: set len for getsockname
meillo@0 557 * fixed bug: set local_net_routes to NULL if there is no local net
meillo@0 558 (noted by Frank Schnekenbuehl)
meillo@0 559 * say 'mail queue is empty' if mail queue is empty (Thanks to
meillo@0 560 Frank Schnekenbuehl)
meillo@0 561 * fixed bug: setegid in local.c (was noted by both Michael Piefel and
meillo@0 562 Alberto González Palomo)
meillo@0 563 0.0.11:
meillo@0 564 * if Bcc: headers have been removed (-t option), and there is no To:
meillo@0 565 or Cc: header,an empty Bcc: header will be created (RFC 822
meillo@0 566 compliance!)
meillo@0 567 * fixed bug: if rcpts are given on command line To: headers were
meillo@0 568 created, even if they already existed. This caused Bcc: recipient
meillo@0 569 addresses to be revealed if they were given on the cmd line.
meillo@0 570 Now a To: header is only created if there is no To:, Cc: or Bcc:
meillo@0 571 header. Thanks to Richard Clamp for pointing this out.
meillo@0 572 * fixed bug: segfault when -d option was given without arguments
meillo@0 573 * fixed bug: segfault when configuration file not found
meillo@0 574 0.0.10:
meillo@0 575 * removed -g option from Makefile
meillo@0 576 * fixed bug: -odq did not work, was broken in some earlier version
meillo@0 577 * addresses with leading '\' will not be expanded any further in aliases
meillo@0 578 * pipe transport implemented
meillo@0 579 * alias support implemented.
meillo@0 580 * changed permissions for queue runs again: got to be root,
meillo@0 581 mail or in group trusted.
meillo@0 582 * some configuration parameters can be read from files
meillo@0 583 * internal changes in routing logics/deliver code, preparing for
meillo@0 584 aliases support.
meillo@0 585 * Gregor Hoffleit sent another patch: use liblockfile if available
meillo@0 586 (Debian!) and DESTDIR will be used. Also updated the NEWS file. Thanks
meillo@0 587 again!
meillo@0 588 * define fdatasync to fsync if not available.
meillo@0 589 * lookup.c includes sys/types.h, some environments need this
meillo@0 590 * fixed bug in RFC 822 parsing: name in brackets after address
meillo@0 591 caused problems. Thanks to David Maslen.
meillo@0 592 * values in tables without leading spaces
meillo@0 593 0.0.9:
meillo@0 594 * anyone in group 'trusted' is now allowed to do queue runs. Thanks to
meillo@0 595 Alberto Gonzalez Palomo for the suggestion.
meillo@0 596 * changed umask for spool writing to 026.
meillo@0 597 * removed silly 'no rcpt domain for this route' message
meillo@0 598 * there is now a mailing list
meillo@0 599 (see http://www.innominate.org/mailman/listinfo/masqmail)
meillo@0 600 * Gregor Hoffleit sent a patch to make masqmail work with mutt (and
meillo@0 601 balsa and any other MUA that uses the mutt libs): it now supports
meillo@0 602 '--' in options. Thanks!
meillo@0 603 * accept_message() supports flag ACC_NO_RECVD_HDR (but this is not
meillo@0 604 used in masqmail).
meillo@0 605 * accept_message() is no longer responsible for queuing, makes it
meillo@0 606 easier to recycle the code for other projects (eg. jpilot-Mail)
meillo@0 607 0.0.8:
meillo@0 608 * added a FAQ page.
meillo@0 609 * removed all warnings, at least for egcs. Output of make looks
meillo@0 610 pretty now ;-)
meillo@0 611 * added allowed_mail_locals and not_allowed_mail_locals options for
meillo@0 612 routes.
meillo@0 613 * implemented folding und unfolding of headers (but currently used
meillo@0 614 for the Received: header only).
meillo@0 615 * corrected docs: should be 'online_detect', NOT 'detect_online'.
meillo@0 616 * mailq now gives information about the time mails spent in the queue,
meillo@0 617 the message size and the received host.
meillo@0 618 * added allowed_rcpt_domains option for routes.
meillo@0 619 * increased buffer size to 1024 for SMTP responses when delivering.
meillo@0 620 * fixed minor bug: slash in unquoted strings in conf parsing was not
meillo@0 621 allowed.
meillo@0 622 0.0.7:
meillo@0 623 * fixed a bug in smtp_out.c: sock was tested before it was initialized.
meillo@0 624 * fixed a bug in the configuration code: for statements in two
meillo@0 625 adjacent lines, the second was not recognized.
meillo@0 626 0.0.6:
meillo@0 627 * rewrote part of the configuration parsing code because it caused
meillo@0 628 problems with reading config statements on multiple lines.
meillo@0 629 * added a LF after each mail local mail spool file, as this
meillo@0 630 seems to be required for some MUAs and especially cucipop when
meillo@0 631 it reads mails. Otherwise mails seem to be concatenated. Thanks
meillo@0 632 to Dale Perkel for pointing this out.
meillo@0 633 0.0.5:
meillo@0 634 * added expand_h_sender_domain option (boolean, default: true)
meillo@0 635 because some clients use the Sender: address as the sender address
meillo@0 636 (though it should be the From: address).
meillo@0 637 * changed configure script to better recognize whether libresolv
meillo@0 638 should be linked or not.
meillo@0 639 * fixed a nasty bug: if masqmail -q was called (or qo <name>
meillo@0 640 and a mail was not delivered), the headers were lost! Problem was an
meillo@0 641 additional LF after received_host in the spool file.
meillo@0 642 0.0.4:
meillo@0 643 * 'From' hack is now a 'From ' hack.
meillo@0 644 * configure now accepts options --with-logdir=LOGDIR and
meillo@0 645 --with-spooldir=SPOOLDIR.
meillo@0 646 * the directories /var/masqmail and /var/spool/masqmail will now be
meillo@0 647 created with make install; user and group will be set appropriately
meillo@0 648 * configure now accepts options --with-user=USER and --with-group=GROUP
meillo@0 649 * dove into autoconf: configure now recognizes libc5 and links with
meillo@0 650 libresolv only for libc6 and defines getline for libc5
meillo@0 651 * fixed timeout code when sending. This was broken in some earlier
meillo@0 652 version.
meillo@0 653 0.0.3:
meillo@0 654 * fixed bug in spool write code: rcpt address was written incorrectly
meillo@0 655 to spool file under some circumstances (with a LF).
meillo@0 656 * added methods for online detection (file and mserver) and added code
meillo@0 657 to deliver immediately when mail is received at online time.
meillo@0 658 * too many changes to list: rearranged routing code, unified smtp
meillo@0 659 deliveries to the local net with online deliveries, so now route
meillo@0 660 configurations can be used for the local net. Also multiple messages
meillo@0 661 per connection for the local net possible. And reduced code size.
meillo@0 662 * fixed bug: if server does not use neither the esmtp size extension
meillo@0 663 nor pipelining, output after MAIL FROM was not flushed. So MM waited
meillo@0 664 forever for a response...
meillo@0 665 0.0.2:
meillo@0 666 * fixed bug: euid was not set properly for local delivery
meillo@0 667 * when debugging, it does not write the whole message to the log
meillo@0 668 any more.
meillo@0 669 * added 'From' hack
meillo@0 670 * qualified address for return path and recipients is now required
meillo@0 671 if not accepted locally, if locally accepted the addresses will be
meillo@0 672 qualified with host_name. (Thereby fixed a seg fault bug)
meillo@0 673 * added -i option (same as -oi)
meillo@0 674 * added more header rewriting (set_ and map_ options)
meillo@0 675 * fixed bug: potential seg fault when writing spool files because it
meillo@0 676 was not read properly
meillo@0 677 * multiple messages per connection now also if mail is sent directly
meillo@0 678 (same for local_nets is still missing, but I will use routes for these
meillo@0 679 anyway in the future)
meillo@0 680 * the queue will now be read in random order
meillo@0 681 * implemented multiple messages per connection (but only online
meillo@0 682 and if mail_host is defined)
meillo@0 683 * implemented rewriting of local parts in return path for online
meillo@0 684 delivery
meillo@0 685 * domain matching is no longer case sensitive (had to define
meillo@0 686 _GNU_SOURCE so that I could use FNM_CASEFOLD for fnmatch)
meillo@0 687 * added do_correct_helo option for routes
meillo@0 688 * fixed bug: corrected retrying hosts if one failed (connect.c).
meillo@0 689 0.0.1:
meillo@0 690 * fixed bug: seg fault when delivering online directly and there was
meillo@0 691 more than one rcpt to a single host.
meillo@0 692 * fixed bug: if mail was succesfully delivered in online mode to all
meillo@0 693 rcpts, and if there were additional (local) rcpts for which the mail
meillo@0 694 was not yet delivered, the mail was deleted from spool.
meillo@0 695 * rearranged smtp_out.c to prepare for multiple messages per connection
meillo@0 696 * log now shows the real host a message is sent to by SMTP (previously
meillo@0 697 it was the one looked for, now it is the one that was found by DNS)
meillo@0 698 * added NOOP, HELP and not recognized replies in smtp_in
meillo@0 699 * fixed bug: forgot to close dup_sock in accept_connect (listen.c)
meillo@0 700 * can now list the queue with the -bp option or when called as mailq
meillo@0 701 * debug_level is now configurable and -d option added
meillo@0 702 * corrected rfc821 address parsing and rearranged code
meillo@0 703 0.0.0:
meillo@0 704 * initial release