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