masqmail

view NEWS @ 389:bc9a7845b53a

Refactoring and code layouting.
author markus schnalke <meillo@marmaro.de>
date Sat, 18 Feb 2012 13:43:30 +0100
parents 75f4a5676808
children 34c919a8d74e
line source
1 This NEWS file lists changes which may be important for you, especially
2 in regard to compatiblity in upgrades.
4 See ChangeLog file for more details and technical changes that don't
5 affect users directly.
7 The manual pages describe newly added options. Take them for reference.
10 0.3.4
12 - Reworked the route concept to be more general and have better
13 names: ``online_routes'' is now known as ``query_routes'' and the
14 ``local_net_route'' in now named ``permanent_routes''. Removed the idea
15 of the localnet because it is only part of the more general concept:
16 permanent routes. `local_nets' are now represented by `allowed_recipients'
17 in a permanent route. (See: examples/localnet.route) Now, there is no
18 more abiguity between `local' and `local net'. Run admin/config-transition
19 on your config to learn how to update it.
21 - Switched the default group for masqmail from `trusted' to `mail'.
23 - Fixed a problem with psb->remote_host, introduced in version 0.3.2
24 (changeset 412385b57dc4).
26 - Fixed a bug in matching of allowed recipients. Thanks to Juergen
27 Daubert for finding and reporting the issue.
29 - Configure options: Enabled auth support per default. Removed support
30 for openssl linking. It had been rarely used and could have caused
31 legal problems. We don't miss functionality here, because we already
32 have builtin MD5 support. Removed ident support, which is hardly useful
33 for masqmail.
35 - `local_hosts' now understands glob patterns like `*example.org'.
38 0.3.3
40 - Fixed a possible security problem, reported by John Lightsey. Unwanted
41 identity changes to the user root could have appeared.
43 - Fixed local-part only address patterns in route conditions, as already
44 described in the man page.
47 0.3.2
49 - Fixed an important bug with folded headers! In earlier versions mail
50 to many recipients may, in unpredictable cases, only have been
51 delivered to the ones on the first line. This is fixed now. Sorry for
52 the inconvenience.
54 - Reworked allowed and denied addrs for routes to be more consistent
55 and allow more flexible matching:
56 o allowed_mail_locals + allowed_return_paths -> allowed_senders
57 o not_allowed_mail_locals + not_allowed_return_paths -> denied_senders
58 o allowed_rcpt_domains -> allowed_recipients
59 o not_allowed_rcpt_domains -> denied_recipients
60 See man page masqmail.route(5).
62 - Reworked online_detect to the simpler online_query. Only pipe is
63 supported now. Use
64 online_query="/bin/cat /path/to/file"
65 instead of
66 online_detect=file
67 online_file=/path/to/file
68 and
69 online_query="/path/to/some/script foo"
70 instead of
71 online_detect=pipe
72 online_pipe="/path/to/some/script foo"
73 See man page masqmail.conf(5) and admin/config-transition.
75 - Removed protocol option from route config because it was somehow
76 redundant. Now, if `pipe' is set, the protocol will be pipe, otherwise
77 it'll be smtp.
79 - Now the Received headers are much friendlier to read. The header for
80 locally (i.e. non-SMTP) received mail is changed to the format postfix
81 uses.
83 - Several improvements to the man pages.
85 - Updated autoconf.
88 0.3.1
90 - Changed the SMTP greeting behavior to match RFC 2821 (always try EHLO
91 first). Now always an EHLO greeting is sent first, no matter what kind of
92 greeting text the server had sent. If the EHLO failes, an HELO greeting
93 is tried as fall back. This change will fix setups in which it hadn't
94 been possible to send mail because the server required AUTH but hadn't
95 said ``ESMTP'' in its greeting message. Thanks to inne for pointing me
96 on that. This fixes also Debian bug #349211.
98 - The postmaster address is now matched caseless, as required by RFC.
100 - -qo (without argument) is now considered obsolete. Its behavior (online
101 detect and send over the available route) is included in -q. One may
102 simply use -q instead. In the -qo case no local mail is sent, but why
103 would be not want to do so? -qo (without arg) is still working but will
104 likely change its behavior to something more useful in the future.
106 - Command line address arguments are now added to the recipient
107 list instead of substracted, when -t is used. This coveres a rare
108 corner-case. It is a change from exim's behavior to postfix's.
110 - Several changes were made related to the operation modes: The situation
111 within the modes was made clear (see man page of masqmail(8)). If more
112 than one mode is specified then masqmail aborts. For the default operation
113 mode ``accept messages on stdin'' the command line switch -bm was added
114 (similar to othe MTAs). If masqmail is called without arguments, the
115 version information is printed now.
117 - The command line option -m is recognized now (although ignored).
118 Unknown -oXXX options are ignored. Some software (like spost of nmh)
119 calls the MTA with -m. This is mainly a relict of old sendmail times
120 but needed for compatibility.
122 - The implementation of the command line option -oem had been
123 weird. Now specifying -oem or -oee results in a (some kind of dumb but)
124 logical behavior. Common users will probably not notice any difference.
125 The changes affect only the exit code of the corner-case: Calling masqmail
126 with -oem but without -oi/-i while submitting messages on stdin.
128 - Fixed the recognition of lists of unqualified addresses in headers
129 when using -t. E.g. `To: alice, bob'.
131 - Renamed the config file option `alias_local_caseless' to
132 `caseless_matching' because the option affects any address matching.
134 - Renamed the default route for the local network to
135 `default local_net_route'. This is only of interest for log/debug file
136 studies.
138 - Improved and updated the man page for masqmail(8), especially in
139 respect to -oem which appears to be wrongly implemented. Minor
140 improvements of debug messages.
143 0.3.0
145 - Start of the new development branch. Attention: Backward
146 compatibility with 0.2.x versions will *NOT* be maintained. Upgrading
147 from 0.2.x to 0.3.x will probably require manual adjustment of the
148 configuration. The script admin/config-tansition can be used to check
149 the config files for obsolete options.
151 - Removed POP3 support (also pop-before-smtp/smtp-after-pop). Use some
152 other POP3 client instead.
154 - Removed maildir support. Use an MDA, like procmail, to deliver to
155 maildir.
157 - Removed the built-in mserver functionality. Use the mservdetect
158 program instead. See masqmail.conf(5) under `online_pipe' for details.
160 - Removed --disable-smtp-server and --with-glib-static configure
161 options. We see no more need to not compile the SMTP server function.
162 For static linking, see docs/howto-static-linking.
164 - `host_name' is the only mandatory config option now. If you only set
165 host_name, then masqmail will:
166 o accept mail on the command line
167 o listen on the local port 25 for incoming mail
168 o deliver mail locally
169 o not know how to handle mail for remote destinations
170 Therefore you should set up at least one route configuration.
172 - Default values are available for: listen_addresses, local_hosts,
173 log_dir, spool_dir, mail_dir. See masqmail.conf(5) for the values.
175 - Mservdetect works much better now.
177 - Improved the documentation:
178 o Added setup guides
179 o Improved and simplified the example config
180 And removed the old manual because it is really outdated now.
182 - Renamed misc/ to devel/ and contrib/ to admin/. devel/ contains
183 stuff for developers of masqmail, admin/ contains stuff for people who
184 install, upgrade, and configure masqmail.
187 0.2.28
189 - Added STARTTLS support with external wrappers like OpenSSL. See
190 `wrapper' and `instant_helo' in masqmail.route(5) for examples how to
191 use it. `instant_helo' is a new route config option.
194 0.2.27
196 - Replaced contributed code with possible licensing problems with
197 alternatives. The MD5 implementation changed from the reference
198 implementation of RFC 1321 to the Public Domain implementation of
199 Solar Designer. The HMAC-MD5 implementation changed from the reference
200 implementation of RFC 2104 to an own implementation (ISC License).
202 - Added the authors of contributed parts to the AUTHORS file.
205 0.2.26
207 - Write a log message when the daemon starts up. Thanks to Juergen
208 Daubert.
210 - Fix handling of --with-liblockfile=no or --without-liblockfile for
211 configure script. Thanks to Nico Roeser.
213 - Improved the INSTALL file and some man pages. Thanks to Nico Roeser
214 Improved the documentation of the wrapper option of route files.
217 0.2.25
219 - Added server-side SMTP SIZE support. Thanks to Paolo.
221 - Masqmail will from now on:
222 o always remove Bcc: headers
223 o never create headers from envelope recipients
224 o add ``To: undisclosed-recipients:;'' if no recipient header (To:
225 or Cc:) is present in the mail
227 - Colons (`:') don't need to be quoted in the config file anymore.
228 Thanks to Paolo.
230 - Added checks for too long addresses in SMTP dialog. Thanks to Paolo.
232 - Moved rmail to sbin and added a man page for it.
234 - Added warnmsg.tpl.it. Thanks to Paolo.
236 - The tests do not get installed any longer. All on install created
237 dirs are removed on uninstall, except they contain generated data like
238 logs, spooled files, or configuration.
240 - Documented some, yet undocumented, config options. Several typo
241 fixes in man pages and code comments.
244 0.2.24
246 - This version keeps on logging after an restart of the deamon, for
247 instance when sending SIGHUP to the daemon process for rereading its
248 config.
250 - Now the daemon keeps the same process id when it receives SIGHUP to
251 reread the config.
253 - Mail messages with lines longer than 4096 characters do not get
254 truncated anymore.
256 - Fixed checking of the trusted group. Primary groups are now
257 detected too.
259 - Mservdetect's man page is now in section 1.
261 - An `rmail' command is now included and gets installed with
262 masqmail. See docs/uucp-setup for more information.
264 - Docs and thelike, that masqmail installs, is removed on uninstall
265 now.
268 0.2.23
270 - This release fixes a major bug in 0.2.22 which made online detection
271 by file unusable. Thanks to Juergen Daubert for reporting and providing
272 a patch.
274 - Masqmail installs to /usr/local by default now. Previously it
275 installed to /usr. To regain the old behavior, add
276 --prefix=/usr
277 to the configure call.
279 - Man pages get installed again; in 0.2.22 they were not. Again thanks
280 to Juergen Daubert. Docs and examples do get installed now too.
282 - Updated the docs. Moved the man pages from docs/ to man/. Added the
283 old manual from the old website to the distribution. Added a bug
284 reporting howto.
287 0.2.22
289 - Hello, I'm meillo, the new maintainer and developer of masqmail. Oku
290 handed masqmail over to me, because he wasn't active anymore.
292 - This release includes various fixes for problems in 0.2.21, mainly
293 based on bugs from Debian.
295 - Distribution specific data has been excluded from the distribution,
296 but is separately available on the project's website.
298 - Man pages will not be generated from xml sources in future, but the
299 nroff sources will be maintained directly.
301 - The default online status file is now
302 /var/run/masqmail/masqmail-route, as it already was in the Debian
303 package.
306 0.2.21
308 - Retrospective: Probably, this version was not published in the usual
309 way by oku. I (meillo) grabbed it from Debian's package archive. It does
310 not introduce new functions but fixes security problems, such as writing
311 log files as user `mail'. It also changes the location for pid files;
312 they are stored in /var/run/masqmail/ now.
315 0.2.18
317 - delivery warnings and failures are now also implemented if the
318 connection to a server fails. Because masqmail is designed for dialup
319 networks, a connection failure will merely generate a warning by default.
320 If you deliver in a local network and use the default local_net route,
321 this would generte a failure. You can change this behaviour by setting
322 'connect_error_fail' to either true or false in the route configurations.
324 0.2.17
326 - delivery warnings have been finally implemented: if delivery of a mail
327 fails temporarily, warning mail will be generated, informing the sender
328 of the problem. After some time, the mail will be handled as failing
329 permanently, and be bounced. New options: 'warn_intervals',
330 'max_defer_time' and 'warnmsg_file'.
332 - the message templates for failures and warnings will now be installed
333 into /usr/share/masqmail/tpl/, and no longer to /etc/masqmail/tpl/. The
334 default for the search path (options 'errmsg_file' and 'warnmsg_file'
335 has been changed accordingly.
337 - new option 'last_route'. See man 5 masqmail.route.
339 0.2.12
340 two new options have been added:
341 - do_pipelining will be used only in broken mail setups. Actually, I
342 implemented it only to test such a setup.
344 - helo_name for routes sets the helo_name. This may be useful for
345 eg. ssh tunneling, or if do_correcthelo does not work, because you are
346 behind a firewall.
348 - the old 'remote_port' option should not be used any more. Set the
349 port with mail_host="foo.bar.com:1234" in the route file instead.
351 0.2.11
353 - two new options have been added: do_save_envelope_to for the main
354 configuration and map_h_mail_followup_to_addresses for the route
355 files. See the man pages on purpose and usage.
357 - the route files can now be mode 0400, owned by root. Previous
358 versions had problems when sendmail was called directly by a
359 non-priviledged user, because the route files could not be read.
361 0.2.10
363 - this version should work on FreeBSD. At least I care now if it does not.
365 - masqmail now writes pid files to /var/run/, one for the smtp/queue
366 daemon and one for the get daemon. So you now know whom to kill ;-)
368 - much effort has been put into the Debian package, which now uses debconf.
370 0.2.7
372 - sorry for my reluctany in the last months...
373 - my email address is oku@masqmail.cx. I hope that I keep this for the rest
374 of my life...
376 0.2.6
378 - you can configure the prefered local delivery mechanism for each user. See
379 man page masqmail.conf (5), options mbox_default, mbox_users, mda_users and
380 maildir_users. BIT FAT NOTE: if you used an mda, set mbox_default = "mda"
381 (or use the mda_users option). Just setting mda is not enough any more.
383 - there are the allowed_return_paths and not_allowed_return_paths for the
384 route configurations, this enables better checking for return path addresses
385 than allowed_mail_locals. You can also use this to enable or disable messages
386 from null sender addresses (<>) using "<>".
387 note: this option has been there for quite a time... I just forgot to document it.
389 0.2.5
391 - simple relay checking: if you set do_relay=false in masqmail.conf, users
392 with a return path that is not local will get a 550 reply if they try to
393 deliver to a not local address. This is for users to force them to have a
394 proper configuration. It is _not_ to prevent spammers from using your MTA
395 as a relay, it can be easily forged! masqmail is not designed to be an always
396 accessible MTA for an internet site.
398 - added Maildir support. To use it, add --enable-maildir as ./configure
399 optiom. Currently, if enabled, all local deliveries are to Maildir
400 (in ~user/Maildir), and none to mailbox. This is preliminary, future versions
401 will be configurable (probably together with mda delivery).
403 0.2.4
405 - added -v option, this logs to stdout, so you see what happens when
406 calling masqmail from command line. This is not yet finished, and only
407 for fetching mails completed.
409 0.2.3
411 - new option lock_dir where locks will be put to. Defaults to the spool
412 dir with '/lock/' appended (if spool_dir is /var/spool/masqmail/, lock_dir
413 is /var/spool/masqmail/lock/).
415 - You can use the 'do_uidl_dele' option more reliably. The uidl list
416 will be written immediately after a message was fetched, so if you use the
417 do_uidl and do_uidl_dele option you can safely interrupt masqmail when it is
418 getting mail via pop3, and do not get the message again next time.
420 - there are a lot of new options for ./configure to customize masqmail
421 to your needs. See INSTALL.
423 - Uli Funcke sent a patch with the new options 'local_addresses' and
424 'not_local_addresses' for masqmail.conf. With these, you can declare single
425 email addresses as local, though they normally are not, and vice versa,
426 declare addresses as not local though normally they are (determined with
427 local_hosts). These options are not yet documented.
429 0.2.2
430 - with -go5m you can now run a get daemon, the command 'masqmail -go5m' will fetch
431 mail every five minutes, using the detected online configuration.
433 0.2.1
435 - there is a new option for the main conf: online_gets. Using this option,
436 you can retrieve mail with just calling masqmail -go, masqmail will detect
437 whether it is online (similar to connect_routes (which is now called
438 online_routes)).
440 0.2.0
442 This is the first release of he development branch of masqmail
444 - the default configuration is now /etc/masqmail/masqmail.conf
445 (as it already was for the debian package). The --with-conffile
446 option for configure has been replaced by the --with-confdir option.
448 - added delivery failure notices:
449 o you can customize your own delivery failure report, its
450 default location is /etc/masqmail/tpl/failmsg.tpl
451 o if a delivery via a route fails permanently (the server replied with a 5xx status)
452 the message will be bounced, if it is bounced, no further delivery will be attempted.
453 This is different to previous versions, where failed messages were kept in the queue until
454 it was finally delivered, deleted or forever.
456 - there is a new online detection method: pipe. This allows you more
457 flexibility to detect the current online status, eg. the DHCP status on notebooks.
459 This method will once replace the 'mserver' option,
460 you can already use the program mservdetect to use it:
462 online_method=pipe
463 online_pipe="/usr/bin/mservdetect localhost 222"
465 instead of
467 online_detect=mserver
468 mserver_iface="localhost:222"
470 0.1.9
472 - you can use pipes in routes to implement gateways to uucp, fax, sms etc.
473 The setup is similar to mda transport. See man pages.
475 - for each connection (connect_routes), you can now give a list of
476 route files, which will be used in the order given. You can use the
477 filter rules (allowed_* and not_allowed_* rules) within each route.
479 0.1.8
481 - for pop retrieval and smtp sending you can use a wrapper for eg. ssl
482 tunneling. See man pages.
484 - a user can delete his mail from the spool with -Mrm if received
485 locally, and if you configure with --enable-ident and set
486 ident_trusted_nets also if received via smtp.
488 - a backslash now works to escape characters in the configuration, so
489 you can now use quotes inside quotes. All other characters with a
490 leading backslash will be converted to itself (\a becomes a, \\
491 becomes \).
493 - you can now use an mda for local mails. The mda will be called
494 *after* alias expansion. See documentation for more.
496 0.1.0
497 - masqmail can now retrieve mail with pop3. See the manual on how to do that.
498 - supports now ESMTP AUTH as a client.
499 - when called with -qo (without a connection name), the online status
500 will be checked with the configured method.
502 0.0.10
503 - there is now alias support. Give the location of the alias file (usually /etc/aliases) with eg.
504 alias_file = "/etc/aliases"
505 - delivery to pipes is now possible, but only if it appears in an alias file. Example:
506 pipe: |/usr/bin/command
507 will expand the address pipe to "|/usr/bin/command" which invokes '/usr/bin/command'
508 as the user and group masqmail is running as.
509 - entries starting with '\' in alias files will not be exanded further
511 - changed permissions for queue runs again: got to be root, mail or in group trusted.
513 - some configuration parameters can be read from files, these are
514 allowed_mail_locals, not_allowed_mail_locals, allowed_rcpt_domains, not_allowed_rcpt_domains,
515 map_return_path_addresses, map_h_from_addresses, map_h_reply_to_addresses
516 any entry in these list beginning with a '/' are regarded as
517 filenames, the content of these will be put at that location. Entries
518 in these files are separated by new lines. Example:
519 in the route file you have:
520 map_h_from_addresses = "/etc/masqmail/hfrom.map"
521 and hfrom.map contains:
523 john: John Smith <jsmith@mail.academic.edu>
524 cmiller: "Charlie Miller" <cmiller@foo.com>
526 UPDATE (Jan 2000): The new home location of MasqMail is
527 http://www.innominate.org/~oku/masqmail/, the new email adress of the
528 author is Oliver Kurth <kurth@innominate.de>.
530 0.0.9
531 - see ChangeLog.
533 NOTE: The home location of MasqMail at
534 http://merlin.uni-sw.gwdg.de/~okurth/masqmail/ is uncertain from the
535 beginning of Nov. 1999! See http://www.freshmeat.net for new
536 announcements. I leave the university and begin a new job on Nov. 1st 1999
537 in Berlin :-).
539 0.0.8:
540 - there is now a FAQ page. See docs/faq.html.
541 - added allowed_rcpt_domains option for routes.
542 - added allowed_mail_locals and not_allowed_mail_locals options for routes.
543 - mailq now gives information about the time mails spent in the queue,
544 the message size and the received host.
546 0.0.7:
547 -bug fix release: for statements in two adjacent lines, the second was not recognized.
549 0.0.6:
550 - bug fix release: some MUAs (cucipop) saw the locally delivered mails
551 concatenated. (cucipop is not a MUA but a pop server, but it has to read the
552 mails).
554 0.0.5:
555 - fixed a bug that caused the headers to be lost under some circumstances.
556 - added expand_h_sender_domain option for routes.
557 - rewrote the libresolv part in configure. Should work better now.
559 0.0.4:
560 - MM should now recognize whether libresolv should be linked.
561 - added --with-logdir=LOGDIR and --with-spooldir=SPOOLDIR to set directories.
562 These will be created if not already existent.
563 - added --with-user=USER, --with-group=GROUP options to set user and group id
564 for MasqMail.
566 0.0.3:
567 - MasqMail can now deliver mails that are received at online
568 time immediately to the internet. See the options detect_online,
569 mserver_iface and online_file.
570 - You can define a route configuration for the local net. See option
571 local_net_route.