Mercurial > masqmail-0.2
comparison ChangeLog @ 0:08114f7dcc23 0.2.21
this is masqmail-0.2.21 from oliver kurth
author | meillo@marmaro.de |
---|---|
date | Fri, 26 Sep 2008 17:05:23 +0200 |
parents | |
children | 983a603c2ff2 |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:08114f7dcc23 |
---|---|
1 0.2.20 Mon, 19 May 2003 21:14:06 +0200 | |
2 * fixed a segfaulting bug in spool.c caused by folded headers | |
3 * regard connect_error_fail when failing for pipes (Debian Bug #186364) | |
4 * hopefully fixed uid/gid problem in peidopen.c | |
5 0.2.19 Wed, 12 Mar 2003 21:33:53 +0100 | |
6 * fixed a bug in addr_string (set buffer = NULL if g_free'd buffer) | |
7 0.2.18 Fri, 06 Dec 2002 14:57:41 +0100 | |
8 * new option connect_error_fail | |
9 * install /var/{log,spool} before subdirs, so | |
10 they get correct ownerships, if installing to a tmp. directory | |
11 Thx to Juergen Daubert. | |
12 * failure notices and warnings also if connection fails | |
13 0.2.17 Thu, 28 Nov 2002 14:59:24 +0100 | |
14 * fixed errors in man page masqmail.conf.5 about online_detect | |
15 Thx to Juergen Daubert. | |
16 * fixed a segfaulting bug in accept.c on pop retrieval, if there | |
17 is no return_path in the mail and Sender: is empty. | |
18 Thx to Olaf Buddenhagen for debug information. | |
19 * implemented 'last_route' option | |
20 * moved *.tpl to /usr/share/masqmail/tpl (from /etc/masqmail/tpl) | |
21 * french translation of warnmsg.tpl by Rémi Denis-Courmont | |
22 * added delivery warn messages for deferals | |
23 new options: 'warn_intervals', 'warnmsg_file', 'max_defer_time' | |
24 * warn/fail also if remote SMTP server replies with 4xx or 5xx | |
25 just after EHLO/HELO (yes, that was a bug) | |
26 * removed a few -Wall warnings. Thanks to Juergen Daubert. | |
27 0.2.16 Tue, 12 Nov 2002 17:27:13 +0100 | |
28 * fixed debugging, which has been broken in 0.2.15 | |
29 0.2.15 Wed, 06 Nov 2002 12:19:55 +0100 | |
30 * added french translation of delivery failure message template. | |
31 Thanks to Rémi Denis-Courmont | |
32 * accept -f "" without segfaulting. Thanks to Ralf Friedl. | |
33 * fixed buffer overflows in conf.c. Thanks to Damian M Gryski. | |
34 * read conf file _after_ dropping privileges | |
35 0.2.14 Sat, 26 Oct 2002 14:40:49 +0200 | |
36 * corrected html version of documentation | |
37 * include masqmail.8 man page (was garbled in 0.2.13) | |
38 * small lintian fixes for Debian | |
39 0.2.13 Wed, 23 Oct 2002 20:54:39 +0200 | |
40 * fixed a possible buffer overflow (IMHO not exploitable) Thanks to Anonymous. | |
41 0.2.12 Wed, 23 Oct 2002 18:57:42 +0200 | |
42 * new do_pipelining option (to switch it off if necessary) | |
43 * new helo_name option for route | |
44 * fixed remote_port option (but marked it as deprecated) | |
45 * swapped setegid/seteuid in maildir_out() | |
46 * try again on EAGAIN failure for local delivery via mbox | |
47 0.2.11: | |
48 * make it possible for *.route file to have mode 600, owned by root. | |
49 Thx to Juergen Daubert for noticing. | |
50 * do not choke on trailing blanks after comments in conf file. Anonymous | |
51 again. | |
52 * try again on EAGAIN failure for local delivery via mda | |
53 * fixed a potential buffer overflow in conf.c. Thanks to Anonymous | |
54 again. | |
55 * set umask 066 for log files. Thanks to Anonymous. | |
56 * implemented map_h_mail_followup_to_addresses | |
57 * fixed a bug: masqmail -t with empty body caused weird | |
58 errors. Thanks to Anonymous. | |
59 * added do_save_envelope_to option | |
60 0.2.10: | |
61 * fixed a small bug in mserver.c (atoi) (Thanks to Gert Ohme) | |
62 * allow ';' in rval also if rval is unqoted | |
63 * write pidfiles to /var/run/masqmail{,-get}.pid | |
64 * now runs on freebsd without leaving zombies | |
65 * use setjmp() in readsock.c for timeouts | |
66 0.2.9: | |
67 * attempts to make it compile on freebsd | |
68 - works, but leaves zombies behind (will be done next release, I hope) | |
69 * removed some bashisms from configure.ac | |
70 * fixed segfault when called with -t under some circumstances | |
71 * some fixes about locking when fetching mail (yes, 0 _is_ a valid fd...) | |
72 * some speedups for uidl handling, and do not bloat log files any more | |
73 0.2.8: | |
74 * use flock() for locking in retrieving mails (get.c) | |
75 * can use /etc/mailname as host_name (for Debian) | |
76 * added ESMTP LOGIN | |
77 * made uidl handling even more safe | |
78 0.2.7: | |
79 * fixed stupid locking bug | |
80 * do not complain about 'unknown mode' when getting mail | |
81 * added italian version of failmsg.tpl (by Paolo) | |
82 * changed MIME boundaries in failmsg.tpl (Paolo) | |
83 * applied patches from Paolo (Gabel - ): | |
84 mostly replacing g_strdup_printf() with g_strdup(), a few ticks ('), | |
85 changed SENDER_LOCAL environment variable and fixed missing '\' in | |
86 debian/masqmail.ip-up | |
87 0.2.6: | |
88 * rediscovered previously undocumented allowed_return_paths option for | |
89 routes and made it usable for null sender addresses. | |
90 * added mbox_default, and {mbox,mda,maildir}_users options | |
91 * changes to vsnprintf function use in pop3_in.c and smtp_in.c (by egp) | |
92 * fixes to ip-up/ip-down scripts (by Ben Low) | |
93 * ENABLE_SMTP_SERVER define was incorrectly written as | |
94 ENABLE_MODE_SMTP (by Ben Low) | |
95 * fixed bug in get_header() in src/header.c (by egp) | |
96 0.2.5: | |
97 * PowerPC fix for varargs functions | |
98 * relay checking: if do_relay is set to false, do not allow non local | |
99 to non local addresses | |
100 * alias is always caseless for postmaster (disregarding | |
101 alias_local_caseless option) | |
102 * do not rebounce to postmaster | |
103 * implemented Maildir support | |
104 * rearranged append_file in local.c | |
105 * use sysexits.h for correct error reply for failure messages (mda only) | |
106 0.2.4: | |
107 * fixed uidl bug: uidl list was not written if a mail was not | |
108 fetched because it was in the list | |
109 * fixed bug in src/conf.c: g_free'd twice in destroy_route() | |
110 * security fix, Debian Bug#102092: 'Privilege escalation in masqmail | |
111 piped alias handling': fixed by using set[ug]id instead of sete[ug]id | |
112 in peopen.c (noted by Colin Phipps) | |
113 * limit count of children in pop3_in.c and wait for them | |
114 * ignore SIGPIPE signal | |
115 * docu updates by Uli Funcke | |
116 * find path to masqmail via --prefix or --exec-prefix option for configure | |
117 * implemented -v (log to stdout) option | |
118 0.2.3: | |
119 * local_addresses and not_local_addreses option (patch by Uli Funcke) | |
120 * replaced /usr/sbin/masqmail in fail_msg.c with /usr/sbin/sendmail | |
121 * typo in man pages (noted by Sebastian Inacker) | |
122 * hostnames can now begin with a digit (noted by CatcherInTheRye) | |
123 * chdir to '/' (on some systems getcwd() failes when changing uid) | |
124 * implemented lock_dir option | |
125 * ignore EINVAL after fdatasync | |
126 * configure option to link with libcrypto | |
127 * configure option to disable resolver support | |
128 * configure option to enable mserver support | |
129 * configure option to disable smtp server | |
130 * configure option to link glib statically | |
131 * msg_count option for get configuration | |
132 * bug fix: do not terminate if accept() return | |
133 error (patch by Edouard G. Parmelan) | |
134 * removed some files from package in | |
135 debian (by Edouard G. Parmelan)) | |
136 * mailrm alias (by Edouard G. Parmelan) | |
137 * bug fix: removed superfluous g_free from | |
138 dot_unlock() (by Edouard G. Parmelan) | |
139 * write uidl list to temporary file first | |
140 * write uidl list each time a message was retrieved | |
141 (avoid duplicate mails when interupted) | |
142 0.2.2: | |
143 * fix of Debian Bug#92894 by Gregor Hoffleit | |
144 (correct error reply for lacking permissions) | |
145 * fixed 'last line missing' bug | |
146 * fixed spool locking bug: lock was deleted | |
147 if unsuccessful (unlocking it) | |
148 * added patch from Uli Funcke for log_user | |
149 (user getting all delivered mail) | |
150 * implemented get daemon | |
151 * create lock file when getting mail | |
152 * use tables for finding route and get lists | |
153 0.2.1: | |
154 * expand_h_sender_address now defaults to true (as described in docs) | |
155 * included documentation patch by Marc Herbert (masqmail call in ifup configuration) | |
156 * complain to log if failure message template cannot be opened | |
157 * errmsg_file defaults to /etc/masqmail/tpl/failmsg.tpl | |
158 * corrected error message for insufficient permissions (Debian Bug #92894) | |
159 * get mail depending on connection: -go option and online_get | |
160 0.2.0: | |
161 * included the debian/ directory from the debian package. | |
162 * added return_path option for get configuration | |
163 * added max_messages option for get configuration | |
164 * added independent program 'mservdetect', which can be used with | |
165 online_detect=pipe as replacement for online_detect=mserver | |
166 * added online detection method 'pipe' | |
167 * replaced configure option --with-conffile with --with-confdir, default | |
168 is now /etc/masqmail/ (/etc/masqmail/masqmail.conf for the conf file). | |
169 * added do_uidl_dele option (delete messages in uid listing on server) | |
170 * qualify address for get configuration. | |
171 * better checking for valid From: address when retrieving mail via pop3 | |
172 and this is used as the return path. | |
173 * port number for mail_host in routes possible | |
174 * introduce delivery failue notices | |
175 * added addr_string() function for easy output of addresses | |
176 * expire spool lock files after a while (currently 300s) | |
177 * started development branch 0.2.x | |
178 | |
179 0.1.12: | |
180 * previous fix auf AUTH broke it - reverted it partially and fixed it again | |
181 * bug fix in get.c: retrieval via pop from different server could cause mail to be lost | |
182 0.1.11: | |
183 * bug fix in smtp_out.c: of AUTH methods supplied by server, only the first was recognized | |
184 0.1.10: | |
185 * added support for IP address as mail_host in routes | |
186 * include <time.h> in masqmail.h to make it compile with glibc 2.2.2 | |
187 0.1.9: | |
188 * fixed a few typos in man pages | |
189 * ignore -v option | |
190 * added patch from Bernhard Ehlers to program aliases runq, rmail, smtpd and in.smtpd | |
191 * added patch from Edouard G. Parmelan to correct default directories to install | |
192 * implemtented pipe, pipe_fromhack and pipe_fromline options | |
193 for routes (for protocol 'pipe') | |
194 * implememted 'pipe' protocol for routes | |
195 * memset to 0 of configuration structures (it is safer and easier) | |
196 * list of routes for each connection | |
197 * do not be picky about EOF if locally received message is not terminated by a dot | |
198 * speeded up accept.c for large messages (noted by Falko Flessner) | |
199 0.1.8: | |
200 * security bug fix (Debian Bug#81079): if local address cannot be | |
201 resolved, masqmail listened on an arbitrary port (fixed by Adel | |
202 Belhouane) | |
203 * bug fix: -d without argument caused segfault (Thanks to Jan Setzer) | |
204 * added more help for configure | |
205 * Iain Lea sent a spec file for Redhat. Thanks! | |
206 * lines can now be indefinetely long for mail acception (well, nearly...) | |
207 * implemented 'wrapper' options for routes and get configurations for ssl and maybe other purposes | |
208 * unified read_sockline() for smtp_out.c, smtp_in.c, pop3_in.c, accept.c and mserver.c | |
209 * escaping of quotes in configuration now possible and now works | |
210 correctly in alias file (Edouard G. Parmelan sent a patch, but I fixed it differently) | |
211 * kill -HUP seems to work now. | |
212 * close all file descriptors >= 3 on start (patch by Edouard G. Parmelan) | |
213 * replaced exit() with _exit where appropriate (children) | |
214 * added pipe_fromhack and pipe_fromline options | |
215 * added mda support and mda_fromhack and mda_fromline options | |
216 * user can delete his own mail if received via smtp from one of ident_trusted_nets | |
217 * bug fix in lookup.c: if the name that an MX points could not be resolved, delete entry | |
218 * added expand_h_sender_address option. expend_h_sender_domain should be obsolete now. | |
219 * unprivileged user can delete his own mail from queue if received locally | |
220 * replaced popen() in local.c with peopen() from snippet from sourceforge. Fixed a bug there. | |
221 0.1.7: | |
222 * debug option can be changed for privileged users only | |
223 * fixed a security hole: -C option for unprivileged users now implies | |
224 run_as_user and drops _all_ privileges | |
225 * environment variables for pipe transport | |
226 * wildcards for map_* options | |
227 * rearranged interface handling, IP addresses now possible for | |
228 listen_addresses and mserver_iface | |
229 * beautified masqmail.c | |
230 * revised uid and gid settings in spool.c and local.c (pipe transport) | |
231 * optionally use ident protocol (RFC 1413) and store user id in spool file | |
232 * proper spool file locking | |
233 0.1.6: | |
234 * record user id in spool file (though it is not used anywhere) | |
235 * command line option to remove messages from queue (-Mrm) | |
236 * command line option for version information (-bV) | |
237 0.1.5: | |
238 * implemented -F option | |
239 * removed bug in accept.c (dot bug, noted by Andre Masloch) | |
240 * location of main conf is now configurable with ./configure | |
241 (suggested by Greger Hoffleit). Default is /etc/masqmail.conf. | |
242 * remote_port defaults to 25 (noted by Andre Masloch) | |
243 * docu fixes: remote_port documented and typo fix (noted by Andre Masloch. Again :-)) | |
244 * do not return failure on exit on delivery if mail queue was empty (noted by Andre Masloch) | |
245 * qualify -f address with host_name if unqualified (noted by Andre Masloch) | |
246 0.1.4: | |
247 * Jens Askengren discovered a segfaulting bug when parsing headers. | |
248 0.1.3: | |
249 * warn if pop/auth options are given, but compiled without support | |
250 * fixed allowed_rcpt_domains option (was broken since 0.1.0, but nobody noticed) | |
251 * exit with 1 if queue run fails for any reason (not for daemon) | |
252 * fail if alias file cannot be read | |
253 * better handling of SMTP SIZE error | |
254 * implemented alias_local_caseless option (suggestion by Andre Masloch) | |
255 * case insensitive domain matching (noted by Andre Masloch) | |
256 * removed nearly all warnings if compiled with -Wall | |
257 0.1.2: | |
258 * some changes in configure.in | |
259 * continue if get conf could not be read. Thanks to Edouard G. Parmelan! | |
260 * fixed another bug on pipe addresses in spool.c | |
261 * Andre Masloch found a bug in spool.c which caused a segfault on pipe addresses. Thanks! | |
262 0.1.1: | |
263 * Edouard G. Parmelan sent a patch for starting a queue run on start of daemon. Thanks! | |
264 * rpm packages for SuSE | |
265 * regard CFLAGS in Makefile.am | |
266 * implemtented -g <name> option | |
267 * be more verbose in pop3_get.c | |
268 * implemented -f option (set return path) | |
269 * fixed bug: "no debug file, msg was:" in smtp_out.c when debugging was off | |
270 * internal changes of smtp_out_log_failure() | |
271 * removed 'no log file' error | |
272 * complain if host name could not be resolved in connect.c | |
273 * added option resolve_list for route and get configurations | |
274 * removed bug in rcptlist_with_one_of_hostlist(): exited when | |
275 list was empty | |
276 0.1.0: | |
277 * included ESMTP AUTH support (as client), CRAM-MD5 only | |
278 * included pop3 client support, with UIDL and APOP, single drop only | |
279 * rearranged routing code: | |
280 - messages will be deleted from spool earlier, as soon as they are delivered | |
281 - unified online/offline delivery, making it more simple | |
282 | |
283 0.0.13: | |
284 * ignore set_h_{from,reply_to}_domain if map_h_{from,reply_to}_addresses | |
285 is set and warn in logs about misconfiguration. | |
286 * fail if there are no recipients | |
287 * fixed bug: if called with -t, qualify recipient address with host_name | |
288 * fixed bug: if called with -bi, no longer wait for message on stdin | |
289 0.0.12: | |
290 * warn if spool file could not be deleted (Thanks to Alberto González | |
291 Palomo) | |
292 * fixed bug: set len for getsockname | |
293 * fixed bug: set local_net_routes to NULL if there is no local net | |
294 (noted by Frank Schnekenbuehl) | |
295 * say 'mail queue is empty' if mail queue is empty (Thanks to | |
296 Frank Schnekenbuehl) | |
297 * fixed bug: setegid in local.c (was noted by both Michael Piefel and | |
298 Alberto González Palomo) | |
299 0.0.11: | |
300 * if Bcc: headers have been removed (-t option), and there is no To: | |
301 or Cc: header,an empty Bcc: header will be created (RFC 822 | |
302 compliance!) | |
303 * fixed bug: if rcpts are given on command line To: headers were | |
304 created, even if they already existed. This caused Bcc: recipient | |
305 addresses to be revealed if they were given on the cmd line. | |
306 Now a To: header is only created if there is no To:, Cc: or Bcc: | |
307 header. Thanks to Richard Clamp for pointing this out. | |
308 * fixed bug: segfault when -d option was given without arguments | |
309 * fixed bug: segfault when configuration file not found | |
310 0.0.10: | |
311 * removed -g option from Makefile | |
312 * fixed bug: -odq did not work, was broken in some earlier version | |
313 * addresses with leading '\' will not be expanded any further in aliases | |
314 * pipe transport implemented | |
315 * alias support implemented. | |
316 * changed permissions for queue runs again: got to be root, | |
317 mail or in group trusted. | |
318 * some configuration parameters can be read from files | |
319 * internal changes in routing logics/deliver code, preparing for | |
320 aliases support. | |
321 * Gregor Hoffleit sent another patch: use liblockfile if available | |
322 (Debian!) and DESTDIR will be used. Also updated the NEWS file. Thanks | |
323 again! | |
324 * define fdatasync to fsync if not available. | |
325 * lookup.c includes sys/types.h, some environments need this | |
326 * fixed bug in RFC 822 parsing: name in brackets after address | |
327 caused problems. Thanks to David Maslen. | |
328 * values in tables without leading spaces | |
329 0.0.9: | |
330 * anyone in group 'trusted' is now allowed to do queue runs. Thanks to | |
331 Alberto Gonzalez Palomo for the suggestion. | |
332 * changed umask for spool writing to 026. | |
333 * removed silly 'no rcpt domain for this route' message | |
334 * there is now a mailing list | |
335 (see http://www.innominate.org/mailman/listinfo/masqmail) | |
336 * Gregor Hoffleit sent a patch to make masqmail work with mutt (and | |
337 balsa and any other MUA that uses the mutt libs): it now supports | |
338 '--' in options. Thanks! | |
339 * accept_message() supports flag ACC_NO_RECVD_HDR (but this is not | |
340 used in masqmail). | |
341 * accept_message() is no longer responsible for queuing, makes it | |
342 easier to recycle the code for other projects (eg. jpilot-Mail) | |
343 0.0.8: | |
344 * added a FAQ page. | |
345 * removed all warnings, at least for egcs. Output of make looks | |
346 pretty now ;-) | |
347 * added allowed_mail_locals and not_allowed_mail_locals options for | |
348 routes. | |
349 * implemented folding und unfolding of headers (but currently used | |
350 for the Received: header only). | |
351 * corrected docs: should be 'online_detect', NOT 'detect_online'. | |
352 * mailq now gives information about the time mails spent in the queue, | |
353 the message size and the received host. | |
354 * added allowed_rcpt_domains option for routes. | |
355 * increased buffer size to 1024 for SMTP responses when delivering. | |
356 * fixed minor bug: slash in unquoted strings in conf parsing was not | |
357 allowed. | |
358 0.0.7: | |
359 * fixed a bug in smtp_out.c: sock was tested before it was initialized. | |
360 * fixed a bug in the configuration code: for statements in two | |
361 adjacent lines, the second was not recognized. | |
362 0.0.6: | |
363 * rewrote part of the configuration parsing code because it caused | |
364 problems with reading config statements on multiple lines. | |
365 * added a LF after each mail local mail spool file, as this | |
366 seems to be required for some MUAs and especially cucipop when | |
367 it reads mails. Otherwise mails seem to be concatenated. Thanks | |
368 to Dale Perkel for pointing this out. | |
369 0.0.5: | |
370 * added expand_h_sender_domain option (boolean, default: true) | |
371 because some clients use the Sender: address as the sender address | |
372 (though it should be the From: address). | |
373 * changed configure script to better recognize whether libresolv | |
374 should be linked or not. | |
375 * fixed a nasty bug: if masqmail -q was called (or qo <name> | |
376 and a mail was not delivered), the headers were lost! Problem was an | |
377 additional LF after received_host in the spool file. | |
378 0.0.4: | |
379 * 'From' hack is now a 'From ' hack. | |
380 * configure now accepts options --with-logdir=LOGDIR and | |
381 --with-spooldir=SPOOLDIR. | |
382 * the directories /var/masqmail and /var/spool/masqmail will now be | |
383 created with make install; user and group will be set appropriately | |
384 * configure now accepts options --with-user=USER and --with-group=GROUP | |
385 * dove into autoconf: configure now recognizes libc5 and links with | |
386 libresolv only for libc6 and defines getline for libc5 | |
387 * fixed timeout code when sending. This was broken in some earlier | |
388 version. | |
389 0.0.3: | |
390 * fixed bug in spool write code: rcpt address was written incorrectly | |
391 to spool file under some circumstances (with a LF). | |
392 * added methods for online detection (file and mserver) and added code | |
393 to deliver immediately when mail is received at online time. | |
394 * too many changes to list: rearranged routing code, unified smtp | |
395 deliveries to the local net with online deliveries, so now route | |
396 configurations can be used for the local net. Also multiple messages | |
397 per connection for the local net possible. And reduced code size. | |
398 * fixed bug: if server does not use neither the esmtp size extension | |
399 nor pipelining, output after MAIL FROM was not flushed. So MM waited | |
400 forever for a response... | |
401 0.0.2: | |
402 * fixed bug: euid was not set properly for local delivery | |
403 * when debugging, it does not write the whole message to the log | |
404 any more. | |
405 * added 'From' hack | |
406 * qualified address for return path and recipients is now required | |
407 if not accepted locally, if locally accepted the addresses will be | |
408 qualified with host_name. (Thereby fixed a seg fault bug) | |
409 * added -i option (same as -oi) | |
410 * added more header rewriting (set_ and map_ options) | |
411 * fixed bug: potential seg fault when writing spool files because it | |
412 was not read properly | |
413 * multiple messages per connection now also if mail is sent directly | |
414 (same for local_nets is still missing, but I will use routes for these | |
415 anyway in the future) | |
416 * the queue will now be read in random order | |
417 * implemented multiple messages per connection (but only online | |
418 and if mail_host is defined) | |
419 * implemented rewriting of local parts in return path for online | |
420 delivery | |
421 * domain matching is no longer case sensitive (had to define | |
422 _GNU_SOURCE so that I could use FNM_CASEFOLD for fnmatch) | |
423 * added do_correct_helo option for routes | |
424 * fixed bug: corrected retrying hosts if one failed (connect.c). | |
425 0.0.1: | |
426 * fixed bug: seg fault when delivering online directly and there was | |
427 more than one rcpt to a single host. | |
428 * fixed bug: if mail was succesfully delivered in online mode to all | |
429 rcpts, and if there were additional (local) rcpts for which the mail | |
430 was not yet delivered, the mail was deleted from spool. | |
431 * rearranged smtp_out.c to prepare for multiple messages per connection | |
432 * log now shows the real host a message is sent to by SMTP (previously | |
433 it was the one looked for, now it is the one that was found by DNS) | |
434 * added NOOP, HELP and not recognized replies in smtp_in | |
435 * fixed bug: forgot to close dup_sock in accept_connect (listen.c) | |
436 * can now list the queue with the -bp option or when called as mailq | |
437 * debug_level is now configurable and -d option added | |
438 * corrected rfc821 address parsing and rearranged code | |
439 0.0.0: | |
440 * initial release |