masqmail

view NEWS @ 343:9149d893eb52

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