Commit | Line | Data |
---|---|---|
05ea1abf | 1 | SENDMAIL RELEASE NOTES |
598332b0 | 2 | @(#)RELEASE_NOTES 8.6.9.3 (Berkeley) %G% |
05ea1abf EA |
3 | |
4 | This listing shows the version of the sendmail binary, the version | |
5 | of the sendmail configuration files, the date of release, and a | |
6 | summary of the changes in that release. | |
7 | ||
4ba98f0c | 8 | 8.6.9/8.6.9 94/04/19 |
7611cf34 EA |
9 | Do all mail delivery completely disconnected from any terminal. |
10 | This provides consistency with daemon delivery and | |
11 | may have some security implications. | |
12 | Make sure that malloc doesn't get called with zero size, | |
13 | since that fails on some systems. Reported by Ed | |
14 | Hill of the University of Iowa. | |
15 | Fix multi-line values for $e (SMTP greeting message). Reported | |
16 | by Mike O'Connor of Ford Motor Company. | |
17 | Avoid syserr if no NIS domain name is defined, but the map it | |
18 | is trying to open is optional. From Win Bent of USC. | |
19 | Changes for picky compilers from Ed Gould of Digital Equipment. | |
20 | Hesiod support for UDB from Todd Miller of the University of | |
21 | Colorado. Use "hesiod" as the service name in the U | |
22 | option. | |
23 | Fix a problem that failed to set the "authentic" host name (that | |
24 | is, the one derived from the socket info) if you called | |
25 | sendmail -bs from inetd. Based on code contributed by | |
26 | Todd Miller (this problem was also reported by Guy Helmer | |
27 | of Dakota State University). This also fixes a related | |
598332b0 EA |
28 | problem reported by Liudvikas Bukys of the University of |
29 | Rochester. | |
7611cf34 EA |
30 | Parameterize "nroff -h" in all the Makefiles so people with |
31 | variant versions can use them easily. Suggested by | |
32 | Peter Collinson of Hillside Systems. | |
33 | SMTP "MAIL" commands with multiple ESMTP parameters required two | |
34 | spaces between parameters instead of one. Reported by | |
35 | Valdis Kletnieks of Virginia Tech. | |
36 | Reduce the number of system calls during message collection by | |
37 | using global timeouts around the collect() loop. This | |
38 | code was contributed by Eric Wassenaar. | |
39 | If the initial hostname name gathering results in a name | |
40 | without a dot (usually caused by NIS misconfiguration) | |
41 | and BIND is compiled in, directly access DNS to get | |
42 | the canonical name. This should make life easier for | |
43 | Solaris systems. If it still can't be resolved, and | |
44 | if the name server is listed as "required", try again | |
45 | in 30 seconds. If that also fails, exit immediately to | |
46 | avoid bogus "config error: mail loops back to myself" | |
47 | messages. | |
48 | Improve the "MAIL DELETED BECAUSE OF LACK OF DISK SPACE" error | |
49 | message to explain how much space was available and | |
50 | sound a bit less threatening. Suggested by Stan Janet | |
51 | of the National Institute of Standards and Technology. | |
52 | If mail is delivered to an alias that has an owner, deliver any | |
53 | requested return-receipt immediately, and strip the | |
54 | Return-Receipt-To: header from the subsequent message. | |
55 | This prevents a certain class of denial of service | |
56 | attack, arguably gives more reasonable semantics, and | |
57 | moves things more towards what will probably become a | |
58 | network standard. Suggested by Christopher Davis of | |
59 | Kapor Enterprises. | |
60 | Add a "noreceipts" privacy flag to turn off all return receipts | |
61 | without recompiling. | |
62 | Avoid printing ESMTP parameters as part of the error message | |
63 | if there are errors during parsing. This change is | |
64 | purely cosmetic. | |
65 | Avoid sending out error messages during the collect phase of | |
66 | SMTP; there is an MVS mailer from UCLA that gets | |
67 | confused by this. Of course, I think it's their bug.... | |
68 | Check for the $j macro getting undefined, losing a dot, or getting | |
69 | lost from $=w in the daemon before accepting a connection; | |
70 | if it is, it dumps state, prints a LOG_ALERT message, | |
71 | and drops core for debugging. This is an attempt to | |
72 | track down a bug that I thought was long since gone. | |
73 | If you see this, please forward the log fragment to | |
74 | sendmail@CS.Berkeley.EDU. | |
75 | Change OLD_NEWDB from a #ifdef to a #if so it can be turned off | |
76 | with -DOLD_NEWDB=0 on the command line. From Christophe | |
77 | Wolfhugel. | |
78 | Instead of trying to truncate the listen queue for the server | |
79 | SMTP port when the load average is too high, just close | |
80 | the port completely and reopen it later as needed. | |
81 | This ensures that the other end gets a quick "connection | |
82 | refused" response, and that the connection can be | |
83 | recovered later. In particular, some socket emulations | |
84 | seem to get confused if you tweak the listen queue | |
85 | size around and can never start listening to connections | |
86 | again. The down side is that someone could start up | |
87 | another daemon process in the interim, so you could | |
88 | have multiple daemons all not listening to connections; | |
89 | this could in turn cause the sendmail.pid file to be | |
90 | incorrect. A better approach might be to accept the | |
91 | connection and give a 421 code, but that could break | |
92 | other mailers in mysterious ways and have paging behaviour | |
93 | implications. | |
94 | Fix a glitch in TCP-level debugging that caused flag 16.101 to | |
95 | set debugging on the wrong socket. From Eric Wassenaar. | |
96 | When creating a df* temporary file, be sure you truncate any | |
97 | existing data in the file -- otherwise system crashes | |
98 | and the like could result in extra data being sent. | |
99 | DOC: Replace the CHANGES-R5-R8 readme file with a paper in the | |
100 | doc directory. This includes some additional | |
101 | information. | |
102 | CONFIG: change UUCP rules to never add $U! or $k! on the front | |
103 | of recipient envelope addresses. This should have been | |
104 | handled by the $&h trick, but broke if people were | |
105 | mixing domainized and UUCP addresses. They should | |
106 | probably have converted all the way over to uucp-uudom | |
107 | instead of uucp-{new,old}, but the failure mode was to | |
108 | loop the mail, which was bad news. | |
109 | Portability fixes: | |
110 | Newer BSDI systems (several people). | |
111 | Older BSDI systems from Christophe Wolfhugel. | |
112 | Intergraph CLIX, from Paul Southworth of CICNet. | |
113 | UnixWare, from Evan Champion. | |
114 | NetBSD from Adam Glass. | |
115 | Solaris from Quentin Campbell of the University of | |
116 | Newcastle upon Tyne. | |
117 | IRIX from Dean Cookson and Bill Driscoll of Mitre | |
118 | Corporation. | |
119 | NCR 3000 from Kevin Darcy of Chrysler Corporation. | |
120 | SunOS (it has setsid() and setvbuf() calls) from | |
121 | Jonathan Kamens of OpenVision Technologies. | |
122 | HP-UX from Tor Lillqvist. | |
123 | New Files: | |
124 | src/Makefile.CLIX | |
125 | src/Makefile.NCR3000 | |
126 | doc/changes/Makefile | |
127 | doc/changes/changes.me | |
128 | doc/changes/changes.ps | |
129 | ||
88d64753 EA |
130 | 8.6.8/8.6.6 94/03/21 |
131 | SECURITY: it was possible to read any file as root using the | |
132 | E (error message) option. Reported by Richard Jones; | |
133 | fixed by Michael Corrigan and Christophe Wolfhugel. | |
134 | ||
f1b59013 EA |
135 | 8.6.7/8.6.6 94/03/14 |
136 | SECURITY: it was possible to get root access by using wierd | |
137 | values to the -d flag. Thanks to Alain Durand of | |
138 | INRIA for forwarding me the notice from the bugtraq | |
139 | list. | |
140 | ||
05ea1abf EA |
141 | 8.6.6/8.6.6 94/03/13 |
142 | SECURITY: the ability to give files away on System V-based | |
143 | systems proved dangerous -- don't run as the owner | |
144 | of a :include: file on a system that allows giveaways. | |
145 | Unfortunately, this also applies to determining a | |
146 | valid shell. | |
147 | IMPORTANT: Previous versions weren't expiring old connections | |
148 | in the connection cache for a long time under some | |
149 | circumstances. This could result in resource exhaustion, | |
150 | both at your end and at the other end. This checks the | |
151 | connections for timeouts much more frequently. From | |
152 | Doug Anderson of NCSC. | |
153 | Fix a glitch that snuck in that caused programs to be run as | |
154 | the sender instead of the recipient if the mail was | |
155 | from a local user to another local user. From | |
156 | Motonori Nakamura of Kyoto University. | |
157 | Fix "wildcard" on /etc/shell matching -- instead of looking | |
158 | for "*", look for "/SENDMAIL/ANY/SHELL/". From | |
159 | Bryan Costales of ICSI. | |
160 | Change the method used to declare the "statfs" availability; | |
161 | instead of HASSTATFS and/or HASUSTAT with a ton of | |
162 | tweaking in conf.c, there is a single #define called | |
163 | SFS_TYPE which takes on one of six values (SFS_NONE | |
164 | for no statfs availability, SFS_USTAT for the ustat(2) | |
165 | syscall, SFS_4ARGS for a four argument statfs(2) call, | |
166 | and SFS_VFS, SFS_MOUNT, or SFS_STATFS for a two argument | |
167 | statfs(2) call with the declarations in <sys/vfs.h>, | |
168 | <sys/mount.h>, or <sys/statfs.h> respectively). | |
169 | Fix glitch in NetInfo support that could return garbage if | |
170 | there was no "/locations/sendmail" property. From | |
171 | David Meyer of the University of Virginia. | |
172 | Change HASFLOCK from defined/not-defined to a 0/1 definition | |
173 | to allow Linux to turn it off even though it is a | |
174 | BSD-like system. | |
175 | Allow setting of "ident" timeout to zero to turn off the ident | |
176 | protocol entirely. | |
177 | Make 7-bit stripping local to a connection (instead of to a | |
178 | mailer); this allows you to specify that SMTP is a | |
179 | 7-bit channel, but revert to 8-bit should it advertise | |
180 | that it supports 8BITMIME. You still have to specify | |
181 | mailer flag 7 to get this stripping at all. | |
182 | Improve makesendmail script so it handles more cases automatically. | |
183 | Tighten up restrictions on taking ownership of :include: files | |
184 | to avoid problems on systems that allow you to give away | |
185 | files. | |
186 | Fix a problem that made it impossible to rebuild the alias | |
187 | file if it was on a read-only file system. From | |
188 | Harry Edmon of the University of Washington. | |
189 | Improve MX randomization function. From John Gardiner Myers | |
190 | of CMU. | |
191 | Fix a minor glitch causing a bogus message to be printed (used | |
192 | %s instead of %d in a printf string for the line number) | |
193 | when a bad queue file was read. From Harry Edmon. | |
194 | Allow $s to remain NULL on locally generated mail. I'm not | |
195 | sure this is necessary, but a lot of people have complained | |
196 | about it, and there is a legitimate question as to whether | |
197 | "localhost" is legal as an 822-style domain. | |
198 | Fix a problem with very short line lengths (mailer L= flag) in | |
199 | headers. This causes a leading space to be added onto | |
200 | continuation lines (including in the body!), and also | |
201 | tries to wrap headers containing addresses (From:, To:, | |
202 | etc) intelligently at the shorter line lengths. Problem | |
203 | Reported by Lars-Johan Liman of SUNET Operations Center. | |
204 | Log the real user name when logging syserrs, since these can have | |
205 | security implications. Suggested by several people. | |
206 | Fix address logging of cached connections -- it used to always | |
207 | log the numeric address as zero. This is a somewhat | |
208 | bogus implementation in that it does an extra system | |
209 | call, but it should be an inexpensive one. Fix from | |
210 | Motonori Nakamura. | |
211 | Tighten up handling of short syslog buffers even more -- there | |
212 | were cases where the outgoing relay= name was too long | |
213 | to share a line with delay= and mailer= logging. | |
214 | Limit the overhead on split envelopes to one open file descriptor | |
215 | per envelope -- previously the overhead was three | |
216 | descriptors. This was in response to a problem reported | |
217 | by P{r (Pell) Emanuelsson. | |
218 | Fixes to better handle the case of unexpected connection closes; | |
219 | this redirects the output to the transcript so the info | |
220 | is not lost. From Eric Wassenaar. | |
221 | Fix potential string overrun if you macro evaluate a string that | |
222 | has a naked $ at the end. Problem noted by James Matheson | |
223 | <jmrm@eng.cam.ac.uk>. | |
224 | Make default error number on $#error messages 553 (``Requested | |
225 | action not taken: mailbox name not allowed'') instead of | |
226 | 501 (``Syntax error in parameters or arguments'') to | |
227 | avoid bogus "protocol error" messages. | |
228 | Strip off any existing trailing dot on names during $[ ... $] | |
229 | lookup. This prevents it from ending up with two dots | |
230 | on the end of dot terminated names. From Wesley Craig | |
231 | of the University of Michigan and Bryan Costales of ICSI. | |
232 | Clean up file class reading so that the debugging information is | |
233 | more informative. It hadn't been using setclass, so you | |
234 | didn't see the class items being added. | |
235 | Avoid core dump if you are running a version of sendmail where | |
236 | NIS is compiled in, and you specify an NIS map, but | |
237 | NIS is not running. Fix from John Oleynick of | |
238 | Rutgers. | |
239 | Diagnose bizarre case where res_search returns a failure value, | |
240 | but sets h_errno to a success value. | |
241 | Make sure that "too many hops" messages are considered important | |
242 | enough to send an error to the Postmaster (that is, the | |
243 | address specified in the P option). This fix should | |
244 | help problems that cause the df file to be left around | |
245 | sometimes -- unfortunately, I can't seem to reproduce | |
246 | the problem myself. | |
247 | Avoid core dump (null pointer reference) on EXPN command; this | |
248 | only occurred if your log level was set to 10 or higher | |
249 | and the target account was an alias or had a .forward file. | |
250 | Problem noted by Janne Himanka. | |
251 | Avoid "denial of service" attacks by someone who is flooding your | |
252 | SMTP port with bad commands by shutting the connection | |
253 | after 25 bad commands are issued. From Kyle Jones of | |
254 | UUNET. | |
255 | Fix core dump on error messages with very long "to" buffers; | |
256 | fmtmsg overflows the message buffer. Fixed by trimming | |
257 | the to address to 203 characters. Problem reported by | |
258 | John Oleynick. | |
259 | Fix configuration for HASFLOCK -- there were some spots where | |
260 | a #ifndef was incorrectly #ifdef. Pointed out by | |
261 | George Baltz of the University of Maryland. | |
262 | Fix a typo in savemail() that could cause the error message To: | |
263 | lists to be incorrect in some places. From Motonori | |
264 | Nakamura. | |
265 | Fix a glitch that can cause duplicate error messages on split | |
266 | envelopes where an address on one of the lists has a | |
267 | name server failure. Fix from Voradesh Yenbut of the | |
268 | University of Washington. | |
269 | Fix possible bogus pointer reference on ESMTP parameters that | |
270 | don't have an ``=value'' part. | |
271 | CNAME loops caused an error message to be generated, but also | |
272 | re-queued the message. Changed to just re-queue the | |
273 | message (it's really hard to just bounce it because | |
274 | of the wierd way the name server works in the presence | |
275 | of CNAME loops). Problem noted by James M.R.Matheson | |
276 | of Cambridge University. | |
277 | Avoid giving ``warning: foo owned process doing -bs'' messages | |
278 | if they use ``MAIL FROM:<foo>'' where foo is their true | |
279 | user name. Suggested by Andreas Stolcke of ICSI. | |
280 | Change the NAMED_BIND compile flag to be a 0/1 flag so you can | |
281 | override it easily in the Makefile -- that is, you can | |
282 | turn it off using -DNAMED_BIND=0. | |
283 | If a gethostbyname(...) of an address with a trailing dot fails, | |
284 | try it without the trailing dot. This is because if | |
285 | you have a version of gethostbyname() that falls back | |
286 | to NIS or the /etc/hosts file it will fail to find | |
287 | perfectly reasonable names that just don't happen to | |
288 | be dot terminated in the hosts file. You don't want to | |
289 | strip the dot first though because we're trying to ensure | |
290 | that country names that match one of your subdomains get | |
291 | a chance. | |
292 | PRALIASES: fix bogus output on non-null-terminated strings. | |
293 | From Bill Gianopoulos of Raytheon. | |
294 | CONFIG: Avoid rewriting anything that matches $w to be $j. | |
295 | This was in code intended to only catch the self-literal | |
296 | address (that is, [1.2.3.4], where 1.2.3.4 is your | |
297 | IP address), but the code was broken. However, it will | |
298 | still do this if $M is defined; this is necessary to | |
299 | get client configurations to work (sigh). Note that this | |
300 | means that $M overrides :mailname entries in the user | |
301 | database! Problem noted by Paul Southworth. | |
302 | CONFIG: Fix definition of Solaris help file location. From | |
303 | Steve Cliffe <steve@gorgon.cs.uow.edu.au>. | |
304 | CONFIG: Fix bug that broke news.group.USENET mappings. | |
305 | CONFIG: Allow declaration of SMTP_MAILER_MAX, FAX_MAILER_MAX, | |
306 | and USENET_MAILER_MAX to tweak the maximum message | |
307 | size for various mailers. | |
308 | CONFIG: Change definition of USENET_MAILER_ARGS to include argv[0] | |
309 | instead of assuming that it is "inews" for consistency | |
310 | with other mailers. From Michael Corrigan of UC San Diego. | |
311 | CONFIG: When mail is forwarded to a LOCAL_RELAY or a MAIL_HUB, | |
312 | qualify the address in the SMTP envelope as user@{relay|hub} | |
313 | instead of user@$j. From Bill Wisner of The Well. | |
314 | CONFIG: Fix route-addr syntax in nullrelay configuration set. | |
315 | CONFIG: Don't turn off case mapping of user names in the local | |
316 | mailer for IRIX. This was different than most every other | |
317 | system. | |
318 | CONFIG: Avoid infinite loops on certainly list:; syntaxes in | |
319 | envelope. Noted by Thierry Besancon | |
320 | <besancon@excalibur.ens.fr>. | |
321 | CONFIG: Don't include -z by default on uux line -- most systems | |
322 | don't want it set by default. Pointed out by Philippe | |
323 | Michel of Thomson CSF. | |
324 | CONFIG: Fix some bugs with mailertables -- for example, if your | |
325 | host name was foo.bar.ray.com and you matched against | |
326 | ".ray.com", the old implementation bound %1 to "bar" | |
327 | instead of "foo.bar". Also, allow "." in the mailertable | |
328 | to match anything -- essentially, take over SMART_HOST. | |
329 | This also moves matching of explicit local host names | |
330 | before the mailertable so they don't have to be special | |
331 | cased in the mailertable data. Reported by Bill | |
332 | Gianopoulos of Raytheon; the fix for the %1 binding | |
333 | problem was contributed by Nicholas Comanos of the | |
334 | University of Sydney. | |
335 | CONFIG: Don't include "root" in class $=L (users to deliver | |
336 | locally, even if a hub or relay exists) by default. | |
337 | This is because of the known bug where definition of | |
338 | both a LOCAL_RELAY and a MAIL_HUB causes $=L to ignore | |
339 | both and deliver into the local mailbox. | |
340 | CONFIG: Move up bitdomain and uudomain handling so that they | |
341 | are done before .UUCP class matching; uudomain was | |
342 | reported as ineffective before. This also frees up | |
343 | diversion 8 for future use. Problem reported by Kimmo | |
344 | Suominen. | |
345 | CONFIG: Don't try to convert dotted IP address (e.g., [1.2.3.4]) | |
346 | into host names. As pointed out by Jonathan Kamens, | |
347 | these are often used because either the forward or reverse | |
348 | mapping is broken; this translation makes it broken again. | |
349 | DOC: Clarify $@ and $: in the Install & Op Guide. From Kimmo | |
350 | Suominen. | |
351 | Portability fixes: | |
352 | Unicos from David L. Kensiski of Sterling Sofware. | |
353 | DomainOS from Don Lewis of Silicon Systems. | |
354 | GNU m4 1.0.3 from Karst Koymans of Utrecht University. | |
355 | Convex from Kimmo Suominen <kim@tac.nyc.ny.us>. | |
356 | NetBSD from Adam Glass <glass@sun-lamp.cs.berkeley.edu>. | |
357 | BSD/386 from Tony Sanders of BSDI. | |
358 | Apollo from Eric Wassenaar. | |
359 | DGUX from Doug Anderson. | |
360 | Sequent DYNIX/ptx 2.0 from Tim Wright of Sequent. | |
361 | NEW FILES: | |
362 | src/Makefile.DomainOS | |
363 | src/Makefile.PTX | |
364 | src/Makefile.SunOS.5.1 | |
365 | src/Makefile.SunOS.5.2 | |
366 | src/Makefile.SunOS.5.x | |
367 | src/mailq.1 | |
368 | cf/ostype/domainos.m4 | |
369 | doc/op/Makefile | |
370 | doc/intro/Makefile | |
371 | doc/usenix/Makefile | |
372 | ||
9f8f2626 EA |
373 | 8.6.5/8.6.5 94/01/13 |
374 | Security fix: /.forward could be owned by anyone (the test | |
375 | to allow root to own any file was backwards). From | |
376 | Bob Campbell at U.C. Berkeley. | |
377 | Security fix: group ids were not completely set when programs | |
378 | were invoked. This caused programs to have group | |
379 | permissions they should not have had (usually group | |
380 | daemon instead of their own group). In particular, | |
381 | Perl scripts would refuse to run. | |
382 | Security: check to make sure files that are written are not | |
383 | symbolic links (at least under some circumstances). | |
384 | Although this does not respond to a specific known | |
385 | attack, it's just a good idea. Suggested by | |
386 | Christian Wettergren. | |
387 | Security fix: if a user had an NFS mounted home directory on | |
388 | a system with a restricted shell listed in their | |
389 | /etc/passwd entry, they could still execute any | |
390 | program by putting that in their .forward file. | |
391 | This fix prevents that by insisting that their shell | |
392 | appear in /etc/shells before allowing a .forward to | |
393 | execute a program or write a file. You can disable | |
394 | this by putting "*" in /etc/shells. It also won't | |
395 | permit world-writable :include: files to reference | |
396 | programs or files (there's no way to disable this). | |
397 | These behaviours are only one level deep -- for | |
398 | example, it is legal for a world-writable :include: | |
399 | file to reference an alias that writes a file, on | |
400 | the assumption that the alias file is well controlled. | |
401 | Security fix: root was not treated suspiciously enough when | |
402 | looking into subdirectories. This would potentially | |
403 | allow a cracker to examine files that were publically | |
404 | readable but in a non-publically searchable directory. | |
405 | Fix a problem that causes an error on QUIT on a cached | |
406 | connection to create problems on the current job. | |
407 | These are typically unrelated, so errors occur in | |
408 | the wrong place. | |
409 | Reset CurrentLA in sendall() -- this makes sendmail queue | |
410 | runs more responsive to load average, and fixes a | |
411 | problem that ignored the load average in locally | |
412 | generated mail. From Eric Wassenaar. | |
413 | Fix possible core dump on aliases with null LHS. From | |
414 | John Orthoefer of BB&N. | |
415 | Revert to using flock() whenever possible -- there are just | |
416 | too many bugs in fcntl() locking, particularly over | |
417 | NFS, that cause sendmail to fail in perverse ways. | |
418 | Fix a bug that causes the connection cache to get confused | |
419 | when sending error messages. This resulted in | |
420 | "unexpected close" messages. It should fix itself | |
421 | on the following queue run. Problem noted by | |
598332b0 | 422 | Liudvikas Bukys of the University of Rochester. |
9f8f2626 EA |
423 | Include $k in $=k as documented in the Install & Op Guide. |
424 | This seems odd, but it was documented.... From | |
425 | Michael Corrigan of UCSD. | |
426 | Fix problem that caused :include:s from alias files to be | |
427 | forced to be owned by root instead of daemon | |
428 | (actually DefUid). From Tim Irvin. | |
429 | Diagnose unrecognized I option values -- from Mortin Forssen | |
430 | of the Chalmers University of Technology. | |
431 | Make "error" mailer work consistently when there is no error | |
432 | code associated with it -- previously it returned OK | |
433 | even though there was a real problem. Now it assumes | |
434 | EX_UNAVAILABLE. | |
435 | Fix bug that caused the last header line of messages that had | |
436 | no body and which were terminated with EOF instead of | |
437 | "." to be discarded. Problem noted by Liudvikas Bukys. | |
438 | Fix core dump on SMTP mail to programs that failed -- it tried | |
439 | to go to a "next MX host" when none existed, causing | |
440 | a core dump. From der Mouse at McGill University. | |
441 | Change IDENTPROTO from a defined/not defined to a 0/1 switch; | |
442 | this makes it easier to turn it off (using | |
443 | -DIDENTPROTO=0 in the Makefile). From der Mouse. | |
444 | Fix YP_MASTER_NAME store to use the unupdated result of | |
445 | gethostname() (instead of myhostname(), which tries | |
446 | to fully qualify the name) to be consistent with | |
447 | SunOS. If your hostname is unqualified, this fixes | |
448 | transfers to slave servers. Bug noted by Keith | |
449 | McMillan of Ameritech Services, Inc. | |
450 | Fix Ultrix problem: gethostbyname() can return a very large | |
451 | (> 500) h_length field, which causes the sockaddr | |
452 | to be trashed. Use the size of the sockaddr instead. | |
453 | Fix from Bob Manson of Ohio State. | |
454 | Don't assume "-a." on host lookups if NAMED_BIND is not | |
455 | defined -- this confuses gethostbyname on hosts | |
456 | file lookups, which doesn't understand the trailing | |
457 | dot convention. | |
458 | Log SMTP server subprocesses that die with a signal instead | |
459 | of from a clean exit. | |
460 | If you don't have option "I" set, don't assume that a DNS | |
461 | "host unknown" message is authoritative -- it | |
462 | might still be found in /etc/hosts. | |
463 | Fix a problem that would cause Deferred: messages to be sent | |
464 | as the subject of an error message, even though the | |
465 | actual cause of a message was more severe than that. | |
466 | Problem noted by Chris Seabrook of OSSI. | |
467 | Fix race condition in DBM alias file locking. From Kyle | |
468 | Jones of UUNET. | |
469 | Limit delivery syslog line length to avoid bugs in some | |
470 | versions of syslog(3). This adds a new compile time | |
471 | variable SYSLOG_BUFSIZE. From Jay Plett of Princeton | |
472 | University, which is in turn derived from IDA. | |
473 | Fix quotes inside of comments in addresses -- previously | |
474 | it insisted that they be balanced, but the 822 spec | |
475 | says that they should be ignored. | |
476 | Dump open file state to syslog upon receiving SIGUSR1 (for | |
477 | debugging). This also evaluates ruleset 89, if set | |
478 | (with the null input), and logs the result. This | |
479 | should be used sparingly, since the rewrite process | |
480 | is not reentrant. | |
481 | Change -qI, -qR, and -qS flags to be case-insensitive as | |
482 | documented in the Bat Book. | |
483 | If the mailer returned EX_IOERR or EX_OSERR, sendmail did not | |
484 | return an error message and did not requeue the message. | |
485 | Fix based on code from Roland Dirlewanger of | |
486 | Reseau Regional Aquarel, Bordeaux, France. | |
487 | Fix a problem that caused a seg fault if you got a 421 error | |
488 | code during some parts of connection initialization. | |
489 | I've only seen this when talking to buggy mailers on | |
490 | the other end, but it shouldn't give a seg fault in | |
491 | any case. From Amir Plivatsky. | |
492 | Fix core dump caused by a ruleset call that returns null. | |
493 | Fix from Bryan Costales of ICSI. | |
494 | Full-Name: field was being ignored. Fix from Motonori Nakamura | |
495 | of Kyoto University. | |
496 | Fix a possible problem with very long input lines in setproctitle. | |
497 | From P{r Emanuelsson. | |
498 | Avoid putting "This is a warning message" out on return receipts. | |
499 | Suggested by Douglas Anderson. | |
500 | Detect loops caused by recursive ruleset calls. Suggested by | |
501 | Bryan Costales. | |
502 | Initialize non-alias maps during alias rebuilds -- they may be | |
503 | needed for parsing. Problem noted by Douglas Anderson. | |
504 | Log sender address even if no message was collected in SMTP | |
505 | (e.g., if all RCPTs failed). Suggested by Motonori | |
506 | Nakamura. | |
507 | Don't reflect the owner-list contents into the envelope sender | |
508 | address if the value contains ", :, /, or | (to avoid | |
509 | illegal addresses appearing there). | |
510 | Efficiency hack for toktype macro -- from Craig Partridge of | |
511 | BB&N. | |
512 | Clean up DNS error printing so that a host name is always | |
513 | included. | |
514 | Remember to set $i during queue runs. Reported by Stephen | |
515 | Campbell of Dartmouth University. | |
516 | If ${HOSTALIASES} is set, use it during canonification so that | |
517 | headers are properly mapped. Reported by Anne Bennett | |
518 | of Concordia University. | |
519 | Avoid printing misleading error message if SMTP mailer (not | |
520 | using [IPC]) should die on a core dump. | |
521 | Avoid incorrect diagnosis of "file 1 closed" when it is caused | |
522 | by the other end closing the connection. From | |
523 | Dave Morrison of Oracle. | |
524 | Improve several of the error messages printed by "mailq" | |
525 | to include a host name or other useful information. | |
526 | Add NetInfo preliminary support for NeXT systems. From Vince | |
527 | DeMarco. | |
528 | Fix a glitch that sometimes caused :include:s that pointed to | |
529 | NFS filesystems that were down to give an "aliasing/ | |
530 | forwarding loop broken" message instead of queueing | |
531 | the message for retry. Noted by William C Fenner of | |
532 | the NRL Connection Machine Facility. | |
533 | Fix a problem that could cause a core dump if the input sequence | |
534 | had (or somehow acquired) a \231 character. | |
535 | Make sure that route-addrs always have <angle brackets> around | |
536 | them in non-SMTP envelopes (SMTP envelopes already do | |
537 | this properly). | |
538 | Avoid wierd headers on unbalanced punctuation of the form: | |
539 | ``Joe User <user)'' -- this caused reference to the | |
540 | null macro. Fix from Rick McCarty of IO.COM. | |
541 | Fix a problem that caused an alias "user: user@local.host" to | |
542 | not have the QNOTREMOTE bit set; this caused configs | |
543 | to act as if FEATURE(notsticky) was defined even when | |
544 | it was not. The effect of the problem was to make it | |
545 | very hard to to set up satellite sites that had a few | |
546 | local accounts, with everything else forwarded to a | |
547 | corporate hub. Reported by Detlef Drewanz of the | |
548 | University of Rostock and Mark Frost of NCD. | |
549 | Change queuing to not call rulesets 3, {1 or 2}, 4 on header | |
550 | addresses. This is more efficient (fewer name server | |
551 | calls) and fixes certain unusual configurations, such | |
552 | as those that have ruleset 4 do something that is | |
553 | non-idempotent unless a mailer-specific ruleset did | |
554 | something else. Problem reported by Brian J. Coan | |
555 | of the Institute for Global Communications. | |
556 | Fix the "obsolete argument" routine in main to better understand | |
557 | new arguments. For example, if you used ``sendmail | |
558 | -C config -v -q'' it would choke on the -q because | |
559 | the -C would stop looking for old-format arguments. | |
560 | Fix the code that was intended to allow two users to forward their | |
561 | mail to the same program and have them appear unique. | |
562 | Portability fixes for: | |
563 | SCO UNIX from Murray Kucherawy. | |
564 | SCO Open Server 3.2v4 from Philippe Brand. | |
565 | System V Release 4 from Rick Ellis and others. | |
566 | OSF/1 from Steve Campbell. | |
567 | DG/UX from Ben Mesander of the USGS and Bryan Curnutt | |
568 | of Stoner Associates. | |
569 | Motorola SysV88 from Kevin Johnson of Motorola. | |
570 | Solaris 2.3 from Casper H.S. Dik of the University | |
571 | of Amsterdam and John Caruso of University | |
572 | of Maryland. | |
573 | FreeBSD from Ollivier Robert. | |
574 | NetBSD from Adam Glass. | |
575 | TitanOS from Kate Hedstrom of Rutgers University. | |
576 | Irix from Bryan Curnutt. | |
577 | Dynix from Jim Davis of the University of Arizona. | |
578 | RISC/os. | |
579 | Linux from John Kennedy of California State University | |
580 | at Chico. | |
581 | Solaris 2.x from Tony Boner of the U.S. Air Force. | |
582 | NEXTSTEP 3.x from Vince DeMarco. | |
583 | HP-UX from various people. NOTA BENE: the location | |
584 | of the config file has moved to /usr/lib | |
585 | to match the HP-UX version of sendmail. | |
586 | CONFIG: Don't do any recipient rewriting on relay mailer; | |
587 | since this is intended only for internal use, the | |
588 | usual RFC 821/822/1123 rules can be relaxed. The | |
589 | main point of this is to avoid munging (ugh) UUCP | |
590 | addresses when relaying internally. | |
591 | CONFIG: fix typo in mailer/uucp.m4 that mutilates list:; | |
592 | syntax addresses delivered via UUCP. Solution | |
593 | provided by Peter Wemm. | |
594 | CONFIG: fix thumb-fumble in default UUCP relaying in ruleset | |
595 | zero; it caused double @ signs in addresses. From | |
596 | Irving Reid of the University of Toronto. | |
597 | CONFIG: Portability fixes for SCO Unix 3.2 with TCP/IP 1.2.1 | |
598 | from Markku Toijala of ICL Personal Systems Oy. | |
599 | CONFIG: Add trailing "." on pseudo-domains for consistency; | |
600 | this fixes a problem (noted by Al Whaley of Sunnyside) | |
601 | that made it hard to recognize your own pseudodomain | |
602 | names. | |
603 | CONFIG: catch "@host" syntax errors (i.e., null local-parts) | |
604 | rather than letting them get "local configuration | |
605 | error"s. Problem noted by John Gardiner Myers. | |
606 | CONFIG: add uucp-uudom mailer variant, based on code posted | |
607 | by Spider Boardman <spider@Orb.Nashua.NH.US>; this | |
608 | has uucp-dom semantics but old UUCP syntax. This | |
609 | also permits "uucp-old" as an alias for "uucp" and | |
610 | "uucp-new" as a synonym for "suucp" for consistency. | |
611 | CONFIG: add POP mailer support (from Kimmo Suominen | |
612 | <kim@grendel.lut.fi>). | |
613 | CONFIG: drop CSNET_RELAY support -- CSNET is long gone. | |
614 | CONFIG: fix bug caused with domain literal addresses (e.g., | |
615 | ``[128.32.131.12]'') when FEATURE(allmasquerade) | |
616 | was set; it would get an additional @masquerade.host | |
617 | added to the address. Problem noted by Peter Wan | |
618 | of Georgia Tech. | |
619 | CONFIG: make sure that the local UUCP name is in $=w. From | |
620 | Jim Murray of Stratus. | |
621 | CONFIG: changes to UUCP rewriting to simulate IDA-style "V" | |
622 | mailer flag. Briefly, if you are sending to host | |
623 | "foo", then it rewrites "foo!...!baz" to "...!baz", | |
624 | "foo!baz" remains "foo!baz", and anything else has | |
625 | the local name prepended. | |
626 | CONFIG: portability fixes for HP-UX. | |
627 | DOC: several minor problems fixed in the Install & Op Guide. | |
628 | MAKEMAP: fix core dump problem on lines that are too long or | |
629 | which lack newline. From Mark Delany. | |
630 | MAILSTATS: print sums of columns (total messages & kbytes | |
631 | in and out of the system). From Tom Ferrin of UC | |
632 | San Francisco Computer Graphics Lab. | |
633 | SIGNIFICANT USER- OR SYSAD-VISIBLE CHANGES: | |
634 | On HP-UX, /etc/sendmail.cf has been moved to | |
635 | /usr/lib/sendmail.cf to match HP sendmail. | |
636 | Permissions have been tightened up on world-writable | |
637 | :include: files and accounts that have shells | |
638 | that are not listed in /etc/shells. This may | |
639 | cause some .forward files that have worked | |
640 | before to start failing. | |
641 | SIGUSR1 dumps some state to the log. | |
642 | NEW FILES: | |
643 | src/Makefile.DGUX | |
644 | src/Makefile.Dynix | |
645 | src/Makefile.FreeBSD | |
646 | src/Makefile.Mach386 | |
647 | src/Makefile.NetBSD | |
648 | src/Makefile.RISCos | |
649 | src/Makefile.SCO | |
650 | src/Makefile.SVR4 | |
651 | src/Makefile.Titan | |
652 | cf/mailer/pop.m4 | |
653 | cf/ostype/bsdi1.0.m4 | |
654 | cf/ostype/dgux.m4 | |
655 | cf/ostype/dynix3.2.m4 | |
656 | cf/ostype/sco3.2.m4 | |
657 | makemap/Makefile.dist | |
658 | praliases/Makefile.dist | |
659 | ||
fe9d9e06 EA |
660 | 8.6.4/8.6.4 93/10/31 |
661 | Repair core-dump problem (write to read-only memory segment) | |
662 | if you fall back to the return-to-Postmaster case in | |
663 | savemail. Problem reported by Richard Liu. | |
664 | Immediately diagnose bogus sender addresses in SMTP. This | |
665 | makes quite certain that crackers can't use this | |
666 | class of attack. | |
667 | Reliability Fix: check return value from fclose() and fsync() | |
668 | in a few critical places. | |
669 | Minor problem in initsys() that reversed a condition for | |
670 | redirecting the output channel on queue runs. It's | |
671 | not clear this code even does anything. From Eric | |
672 | Wassenaar of the Dutch National Institute for Nuclear | |
673 | and High-Energy Physics. | |
674 | Fix some problems that caused queue runs to do "too much work", | |
675 | such as double-reading the Errors-To: header. From | |
676 | Eric Wassenaar. | |
677 | Error messages on writing the temporary file (including the | |
678 | data file) were getting suppressed in SMTP -- this | |
679 | fix causes them to be properly reported. From Eric | |
680 | Wassenaar. | |
681 | Some changes to support AF_UNIX sockets -- this will only | |
682 | really become relevant in the next release, but some | |
683 | people need it for local patches. From Michael | |
684 | Corrigan of UC San Diego. | |
685 | Use dynamically allocated memory (instead of static buffers) | |
686 | for macros defined in initsys() and settime(); since | |
687 | these can have different values depending on which | |
688 | envelope they are in. From Eric Wassenaar. | |
689 | Improve logging to show ctladdr on to= logging; this tells you | |
690 | what uid/gid processes ran as. | |
691 | Fix a problem that caused error messages to be discarded if | |
692 | the sender address was unparseable for some reason; | |
693 | this was supposed to fall back to the "return to | |
694 | postmaster" case. | |
695 | Improve aliaswait backoff algorithm. | |
696 | Portability patches for Linux (8.6.3 required another header | |
697 | file) (from Karl London) and SCO UNIX. | |
698 | CONFIG: patch prog mailer to not strip host name off of envelope | |
699 | addresses (so that it matches local again). From | |
700 | Christopher Davis. | |
701 | CONFIG: change uucp-dom mailer so that "<>" translates to $n; | |
702 | this prevents uux from seeing lines with null names like | |
703 | ``From Sat Oct 30 14:55:31 1993''. From Motonori | |
704 | Nakamura of Kyoto University. | |
705 | CONFIG: handle <list:;> syntax correctly. This isn't legal, but | |
706 | it shouldn't fail miserably. From Motonori Nakamura. | |
707 | ||
cff7cd2b EA |
708 | 8.6.3/8.6.3 93/10/24 |
709 | IMPORTANT FIX: Fix several problems that caused open files to | |
710 | be "lost" during queue runs; this overflowed the open | |
711 | file table on large runs. An assumption that fdopen | |
712 | always succeeds sometimes resulted in core dumps when | |
713 | this happens; sometimes the message is delivered twice, | |
714 | sometimes (probably) infinite times. This problem in | |
715 | various form was reported by P{r (Pell) Emanuelsson and | |
716 | Robert Campbell of U.C. Berkeley. | |
717 | Special diagnosis of EMFILE error conditions -- it now prints | |
718 | the known open file descriptors so you can figure out | |
719 | what is consuming so much resources. | |
720 | Fix a couple of problems caused by early address parsing | |
721 | errors -- one caused it to return a "this is only a | |
722 | warning" when it really wasn't, and the other started | |
723 | parsing through a random pointer. The first was | |
724 | noted by Eric Wassenaar. | |
725 | Fix an infinite loop problem caused by null components in the | |
726 | host signature. Problem noted by Jan Sorensen. | |
727 | Be sure to reset the "current date" when sending an error | |
728 | message -- PostMasterCopy messages were being sent | |
729 | with an old Date: header. | |
730 | Fix a problem that caused duplicated mail when sendmail was | |
731 | (1) compiled without HASFLOCK, (2) you are sending to | |
732 | an alias that has an owner-* alias, (3) you execute | |
733 | sendmail with -t flag, (4) you run in -odb mode, and | |
734 | (5) the sender specifies both the alias name and | |
735 | another alias [i.e., the envelope is split], then | |
736 | duplicate messages are sent. The problem description | |
737 | and one-line fix are from Motonori Nakamura of Kyoto | |
738 | University. | |
739 | Avoid a problem that causes error messages to be discarded | |
740 | in some cases -- this was the result of a "fix" to | |
741 | avoid duplicate error messages, but two are better | |
742 | than zero. Reported by Tim Rylance. | |
743 | Fix a minor botch in checkfd012() -- fix from Dave Hill of | |
744 | Computervision R&D Ltd. | |
745 | Remove "X-Authentication-Warning: <user> set sender to <address> | |
746 | using -f" entirely -- it is far too eager to include | |
747 | this, and it is confusing folks. I'll try to make it | |
748 | work "right" in 8.7. Problem noted by Yoshitaka | |
749 | Tokugawa of dit Co., Ltd. | |
750 | Fix a race condition with the errno value in tick() and | |
751 | reapchild() -- this caused occasional misdiagnosis | |
752 | of problems. Kyle Jones of UUNET helped this along. | |
753 | Repair rule loop-detection code. From Michael Corrigan of | |
754 | U.C. San Diego. | |
755 | Fix a problem that caused sender domain addition (C mailer | |
756 | flag to be ignored if you use -odq or use -odb with | |
757 | a high load average. Problem reported by Jim Murray | |
758 | of Stratus. | |
759 | Fix ident protocol on multi-homed machines. It was not | |
760 | always using the correct interface. Fix from J.R. | |
761 | Oldroyd of Opal. | |
762 | Previously, sendmail assumed that any SMTP greeting message | |
763 | that wasn't 2xx was a temporary failure -- it should | |
764 | only take 4xx as a temporary failure, and return a | |
765 | solid error message on anything else -- for example, | |
766 | to allow you to reject connections on a workstation | |
767 | that is MXed to a mail server. | |
768 | Portability enhancements for 386BSD/FreeBSD/NetBSD from | |
769 | Ollivier Robert. | |
770 | CONFIG: FEATURE(always_add_domain) didn't always add the domain; | |
771 | in particular, on local mail it modified the header sender | |
772 | but not the header recipient address(es). Reported by | |
773 | Jeffrey Honig of Cornell University. Also, strip | |
774 | any host from envelope recipient address(es), since | |
775 | local mailers don't understand host names -- this is | |
776 | to help mailertable entries. From Christopher Davis. | |
777 | CONFIG: masquerading didn't apply to addresses that already | |
778 | had a domain. This change replaces a local hostname | |
779 | by the masquerade name in the SMTP mailer (previously | |
780 | it only added the masquerade name if it didn't already | |
781 | have a domain name). Several people complained about | |
782 | this. | |
783 | ||
1f1a0c7e EA |
784 | 8.6.2/8.6.2 93/10/15 |
785 | Put a "successful delivery" message in the transcript for | |
786 | addresses that get return-receipts. | |
787 | Put a prominent "this is only a warning" message in warning | |
788 | messages -- some people don't read carefully enough | |
789 | and end up sending the message several times. | |
790 | Include reason for temporary failure in the "warning" return | |
791 | message. Currently, it just says "cannot send for | |
792 | four hours". | |
793 | Fix the "Original message received" time generated for | |
794 | returntosender messages. It was previously listed as | |
795 | the current time. Bug reported by Eric Hagberg of | |
796 | Cornell University Medical College. | |
797 | If there is an error when writing the body of a message, | |
798 | don't send the trailing dot and wait for a response | |
799 | in sender SMTP, as this could cause the connection to | |
800 | hang up under some bizarre circumstances. From Eric | |
801 | Wassenaar. | |
802 | Fix some server SMTP synchronization problems caused when | |
803 | connections fail during message collection. From | |
804 | Eric Wassenaar. | |
805 | Fix a problem that can cause srvrsmtp to reject mail if the | |
806 | name server is down -- it accepts the RCPT but rejects | |
807 | the DATA command. Problem reported by Jim Murray of | |
808 | Stratus. | |
809 | Fix a problem that can cause core dumps if the config file | |
810 | incorrectly resolves to a null hostname. Reported by | |
811 | Allan Johannesen of WPI. | |
812 | Non-root use of -C flag, dangerous -f flags, and use of -oQ | |
813 | by non-root users were not put into | |
814 | X-Authentication-Warning:s as intended because the | |
815 | config file hadn't set the PrivacyFlags yet. Fix | |
816 | from Sven-Ove Westberg of the University of Lulea. | |
817 | Under very odd circumstances, the alias file rebuild code | |
818 | could get confused as to whether a database was | |
819 | open or not. | |
820 | Check "vendor code" on the end of V lines -- this is | |
821 | intended to provide a hook for vendor-specific | |
822 | configuration syntax. (This is a "new feature", | |
823 | but I've made an exception to my rule in a belief | |
824 | that this is a highly exceptional case.) | |
825 | Portability fixes for DG/UX (from Douglas Anderson of NCSC), | |
826 | SCO Unix (from Murray Kucherawy), A/UX, and OSF/1 | |
827 | (from Jon Forrest of UC Berkeley) | |
828 | CONFIG: fix ``mailer:host'' form of UUCP relay naming. | |
829 | ||
df8cc2e6 EA |
830 | 8.6.1/8.6 93/10/08 |
831 | Portability fixes for A/UX and Encore UMAX V. | |
832 | Fix error message handling -- if you had a name server down | |
833 | causing an error during parsing, that message was never | |
834 | propogated to the queue file. | |
835 | ||
cb2e7bc6 EA |
836 | 8.6/8.6 93/10/05 |
837 | Configuration cleanup: make it easier to undo IDENTPROTO in | |
838 | conf.h (other systems have the same bug). | |
839 | If HASGETDTABLESIZE and _SC_OPEN_MAX are both defined, assume | |
840 | getdtablesize() instead of sysconf(); a disturbingly | |
841 | large number of systems defined _SC_OPEN_MAX in the | |
842 | header files but don't have the syscall. | |
843 | Another patch to really truly ignore MX records in getcanonname | |
844 | if trymx == FALSE. | |
845 | Fix problem that caused the "250 IAA25499 Message accepted for | |
846 | delivery" message to be omitted if there was an error | |
847 | in the header of the message (e.g., a bad Errors-To: | |
848 | line). Pointed out by Michael Corrigan of UCSD. | |
849 | Announce name of host we are chatting when we get errors; this | |
850 | is an IDA-ism suggested by Christophe Wolfhugel. | |
851 | Portability fixes for Alpha OSF/1 (from Anthony Baxter of the | |
852 | Australian Artificial Intelligence Institute), SCO Unix | |
853 | (from Murray Kucherawy of Hookup Communication Corp.), | |
854 | NeXT (from Vince DeMarco and myself), Linux (from | |
855 | Karl London <karl@borg.demon.co.uk>), BSDI (from | |
856 | Christophe Wolfhugel, and SVR4 on Dell (from Kimmo | |
857 | Suominen), AUX 3.0 on Macintosh, and ANSI C compilers. | |
858 | Some changes to get around gcc optimizer bugs. From Takahiro | |
859 | Kanbe. | |
860 | Fix error recovery in queueup if another tf file of the same | |
861 | name already exists. Problem stumbled over by Bill | |
862 | Wisner of The Well. | |
863 | Output YP_MASTER_NAME and YP_LAST_MODIFIED without null bytes. | |
864 | Problem noted by Keith McMillan of Ameritech Services. | |
865 | Deal with group permissions properly when opening .forward and | |
866 | :include: files. This relaxes the 8.1C restrictions | |
867 | slightly more. This includes proper setting of groups | |
868 | when reading :include: files, allowing you to read some | |
869 | files that you should be able to read but have previously | |
870 | been denied unless you owned them or they had "other" | |
871 | read permission. | |
872 | Make certain that $j is in $=w (after the .cf is read) so that | |
873 | if the user is forced to override some silly system, | |
874 | MX suppression will still work. | |
875 | Fix a couple of efficiency problems where newstr was double- | |
876 | calling expensive routines. In at least one case, it | |
877 | wasn't guaranteed that they would always return the | |
878 | same result. Problem noted by Christophe Wolfhugel. | |
879 | Fix null pointer dereference in putoutmsg -- only on an error | |
880 | condition from a non-SMTP mailer. From Motonori | |
881 | Nakamura. | |
882 | Macro expand "C" line class definitions before scanning so that | |
883 | "CX $Z" works. | |
884 | Fix problem that caused error message to be sent while still | |
885 | trying to send the original message if the connection | |
886 | is closed during a DATA command after getting an error | |
887 | on an RCPT command (pretty obscure). Problem reported | |
888 | by John Myers of CMU. | |
889 | Fix reply to NOOP to be 250 instead of 200 -- this is a long | |
890 | term bug. | |
891 | Fix a nasty bug causing core dumps when returning the "warning: | |
892 | cannot deliver for N hours -- will keep trying" message; | |
893 | it only occurred if you had PostMasterCopy set and | |
894 | only on some architectures. Although sendmail would | |
895 | keep trying, it would send error messages on each | |
896 | queue interval. This is an important fix. | |
897 | Allow u and g options to take user and group names respectively. | |
898 | Don't do a chdir into the queue directory in -bt mode to make | |
899 | ruleset testing a bit easier. | |
900 | Don't allow users to turn off logging (using -oL) on the command | |
901 | line -- command line can only raise, not lower, logging | |
902 | level. | |
903 | Set $u to the original recipient on the SMTP transaction or on | |
904 | the command line. This is only done if there is exactly | |
905 | one recipient. Technically, this does not meet the | |
906 | specs, because it does not guarantee a domain on the | |
907 | address. | |
908 | Fix a problem that dumped error messages on bad addresses if | |
909 | you used the -t flag. Problem noted by Josh Smith of | |
910 | Harvey Mudd College. | |
911 | Given an address such as ``<foo> <bar>'', auto-quote the first | |
912 | ``<foo>'' part, giving ``"<foo>" <bar>''. This is to | |
913 | avoid the problem of people who use angle brackets in | |
914 | their full name information. | |
915 | Fix a null pointer dereference if you set option "l", have | |
916 | an Errors-To: header in the message, and have Errors-To: | |
917 | defined in the config file H lines. From J.R. Oldroyd. | |
918 | Put YPCOMPAT on #ifdef NIS instead -- it's one less thing to get | |
919 | wrong when compiling. Suggested by Rick McCarty of TI. | |
920 | Fix a problem that could pass negative SIZE parameter if the | |
921 | df file got lost; this would cause servers to always | |
922 | give a temporary failure, making the problem even worse. | |
923 | Problem noted by Allan Johannesen of WPI. | |
924 | Add "ident" timeout (one of the "r" option selectors) for IDENT | |
925 | protocol timeouts (30s default). Requested by Murray | |
926 | Kucherawy of HookUp Communication Corp. to handle bogus | |
927 | PC TCP/IP implementations. | |
928 | Change $w default definition to be just the first component of | |
929 | the domain name on config level 5. The $j macro defaults | |
930 | to the FQDN; $m remains as before. This lets well-behaved | |
931 | config files use any of the short, long, or subdomain | |
932 | names. | |
933 | Add makesendmail script in src to try to automate multi-architecture | |
934 | builds. I know, this is sub-optimal, but it is still | |
935 | helpful. | |
936 | Fix very obscure race condition that can cause a queue run to | |
937 | get a queue file for an already completed job. This | |
938 | problem has existed for years. Problem noted by the | |
939 | long suffering Allan Johannesen of WPI. | |
940 | Fix a problem that caused the raw sender name to be passed to | |
941 | udbsender instead of the canonified name -- this caused | |
942 | it to sometimes miss records that it should have found. | |
943 | Relax check of name on HELO packet so that a program using -bs | |
944 | that claims to be itself works properly. | |
945 | Restore rewriting of $: part of address through 2, R, 4 in | |
946 | buildaddr -- this requires passing a lot of flags to get | |
947 | it right. Unlike old versions, this ONLY rewrites | |
948 | recipient addresses, not sender addresses. | |
949 | Fix a bug that caused core dumps in config files that cannot | |
950 | resolve /file/name style addresses. Fix from Jonathan | |
951 | Kamens of OpenVision Technologies. | |
952 | Fix problem with fcntl locking that can cause error returns to | |
953 | be lost if the lock is lost; this required fully | |
954 | queueing everything, dropping the envelope (so errors | |
955 | would get returned), and then re-reading the queue from | |
956 | scratch. | |
957 | Fix a problem that caused aliases that redefine an otherwise | |
958 | true address to still send to the original address | |
959 | if and only if the alias failed in certain bizarre | |
960 | ways (e.g, if they pointed at a list:; syntax address). | |
961 | Problem pointed out by Jonathan Kamens. | |
962 | Remove support for frozen configuration files. They caused | |
963 | more trouble than it was worth. | |
964 | Fix problem that can cause error messages to get ignored when | |
965 | using both -odb and -t flags. Problem noted by Rob | |
966 | McNicholas at U.C. Berkeley. | |
967 | Include all "normal" variations on hostname in $=w. For example, | |
968 | if the host name is vangogh.cs.berkeley.edu, $=w will | |
969 | contain vangogh, vangogh.cs, and vangogh.cs.berkeley.edu. | |
970 | Add "restrictqrun" privacy flag -- without this, anyone can run | |
971 | the queue. | |
972 | Reset SmtpPhase global on initial connection creation so that | |
973 | messages don't come out with stale information. | |
974 | Pass an "ext" argument to lockfile so that error/log messages | |
975 | will properly reflect the true filename being locked. | |
976 | Put all [...] address forms into $=w -- this eliminates the need | |
977 | for MAXIPADDR in conf.h. Suggested by John Gardiner | |
978 | Myers of CMU. | |
979 | Fix a bug that can cause qf files to be left around even after | |
980 | an SMTP RSET command. Problem and fix from Michael | |
981 | Corrigan. | |
982 | Don't send a PostMasterCopy to errors when the Precedence: is | |
983 | negative. Error reports still go to the envelope | |
984 | sender address. | |
985 | Add LA_SHORT for load averages. | |
986 | Lock sendmail.st file when posting statistics. | |
987 | Add "SendBufSize" and "RcvBufSize" suboptions to "O" option to | |
988 | set the size of the TCP send and receive buffers; if you | |
989 | run over a slow slip line you may need to set these down | |
990 | (although it would be better to fix the SLIP implementation | |
991 | so that it's not necessary to recompile every program | |
992 | that does bulk data transfer). | |
993 | Allow null defaults on $( ... $) lookups. Problem reported by | |
994 | Amir Plivatsky. | |
995 | Diagnose crufty S and V config lines. This resulted from an | |
996 | observation that some people were using the SITE macro | |
997 | without the SITECONFIG macro first, which was causing | |
998 | bogus config files that were not caught. | |
999 | Fix makemap -f flag to turn off case folding (it was turning it | |
1000 | on instead). THIS IS A USER VISIBLE CHANGE!!! | |
1001 | Fix a problem that caused multiple error messages to be sent if | |
1002 | you used "sendmail -t -oem -odb", your system uses fcntl | |
1003 | locking, and one of the recipient addresses is unknown. | |
1004 | Reset uid earlier in include() so that recursive .forwards or | |
1005 | :include:s don't use the wrong uid. | |
1006 | If file descriptor 0, 1, or 2 was closed when sendmail was | |
1007 | called, the code to recover the descriptor was broken. | |
1008 | This sometimes (only sometimes) caused problems with the | |
1009 | alias file. Fix from Motonori Nakamura. | |
1010 | Fix a problem that caused aliaswait to go into infinite recursion | |
1011 | if the @:@ metasymbol wasn't found in the alias file. | |
1012 | Improve error message on newaliases if database files cannot be | |
1013 | opened or if running with no database format defined. | |
1014 | Do a better estimation of the size of error messages when NoReturn | |
1015 | is set. Problem noted by P{r (Pell) Emanuelsson. | |
1016 | Fix a problem causing the "c" option (don't connect to expensive | |
1017 | mailers) to be ignored in SMTP. Problem noted and the | |
1018 | solution suggested by Robert Elz of Munnari University. | |
1019 | Improve connection caching algorithm by passing "[host]" to | |
1020 | hostsignature, which strips the square brackets and | |
1021 | returns the real name. This allows mailertable entries | |
1022 | to match regular entries. | |
1023 | Re-enable Return-Receipt-To: -- people seem to want this stupid | |
1024 | feature, even if it doesn't work right. | |
1025 | Catch and log attempts to try the "wiz" command in server SMTP. | |
1026 | This also ups the log level from LOG_NOTICE to LOG_CRIT. | |
1027 | Be more generous at assigning $z to the home directory -- do this | |
1028 | for programs that are specified through a .forward file. | |
1029 | Fix from Andrew Chang of Sun Microsystems. | |
1030 | Always save a fatal error message in preference to a non-fatal | |
1031 | error message so that the "subject" line of return | |
1032 | messages is the best possible. | |
1033 | CONFIG: reduce the number of quotes needed to quote configuration | |
1034 | parameters with commas: two quotes should work now, e.g., | |
1035 | define(ALIAS_FILE, ``/etc/aliases,/etc/aliases.local''). | |
1036 | CONFIG: class $=Z is a set of UUCP hosts that use uucp-dom | |
1037 | connections (domain-ized UUCP). | |
1038 | CONFIG: fix bug in default maps (-o must be before database file | |
1039 | name). Pointed out by Christophe Wolfhugel. | |
1040 | CONFIG: add FEATURE(nodns) to state that we are not relying on | |
1041 | DNS. This would presumably be used in UUCP islands. | |
1042 | CONFIG: add OSTYPE(nextstep) and OSTYPE(linux). | |
1043 | CONFIG: log $u in Received: line. This is in technical violation | |
1044 | of the standards, since it doesn't guarantee a domain | |
1045 | on the address. | |
1046 | CONFIG: don't assume "m" in local mailer flags -- this means that | |
1047 | if you redefine LOCAL_MAILER_FLAGS you will have to include | |
1048 | the "m" flag should you want it. Apparently some Solaris 2.2 | |
1049 | installations can't handle multiple local recipients. | |
1050 | Problem noted by Josh Smith. | |
1051 | CONFIG: add confDOMAIN_NAME to set $j (if undefined, $j defaults). | |
1052 | CONFIG: change default version level from 4 to 5. | |
1053 | CONFIG: add FEATURE(nullclient) to create a config file that | |
1054 | forwards all mail to a hub without ever looking at the | |
1055 | addresses in any detail. | |
1056 | CONFIG: properly strip mailer: information off of relays when | |
1057 | used to change .BITNET form into %-hack form. | |
1058 | CONFIG: fix a problem that caused infinite loops if presented | |
1059 | with an address such as "!foo". | |
1060 | CONFIG: check for self literal (e.g., [128.32.131.12]) even if | |
1061 | the reverse "PTR" mapping is broken. There's a better | |
1062 | way to do this, but the change is fairly major and I | |
1063 | want to hold it for another release. Problem noted by | |
1064 | Bret Marquis. | |
1065 | ||
1066 | 8.5/8.5 93/07/23 | |
1067 | Serious bug: if you used a command line recipient that was unknown | |
1068 | sendmail would not send a return message (it was treating | |
1069 | everything as though it had an SMTP-style client that | |
1070 | would do the return itself). Problem noted by Josh Smith. | |
1071 | Change "trymx" option in getcanonname() to ignore all MX data, | |
1072 | even during a T_ANY query. This actually didn't break | |
1073 | anything, because the only time you called getcanonname | |
1074 | with !trymx was if you already knew there were no MX | |
1075 | records, but it is somewhat cleaner. From Motonori | |
1076 | Nakamura. | |
1077 | Don't call getcanonname from getmxrr if you already know there | |
1078 | are no DNS records matching the name. | |
1079 | Fix a problem causing error messages to always include "The | |
1080 | original message was received ... from localhost". | |
1081 | The correct original host information is now included. | |
1082 | Previous change to cf/sh/makeinfo.sh doesn't port to Ultrix (their | |
1083 | version of "test" doesn't have the -x flag). Change it | |
1084 | to use -f instead. From John Myers. | |
1085 | CONFIG: 8.4 mistakenly set the default SMTP-style mailer to | |
1086 | esmtp -- it should be smtp. | |
1087 | CONFIG: send all relayed mail using confRELAY_MAILER (defaults | |
1088 | to "relay" (a variant of "smtp") if MAILER(smtp) is used, | |
1089 | else "suucp" if MAILER(uucp) is used, else "unknown"); | |
1090 | this cleans up the configs somewhat. This fixes a serious | |
1091 | problem that caused route-addrs to get mistaken as relays, | |
1092 | pointed out by John Myers. WARNING: this also causes | |
1093 | the default on SMART_HOST to change from "suucp" to | |
1094 | "relay" if you have MAILER(smtp) specified. | |
1095 | ||
33265b86 EA |
1096 | 8.4/8.4 93/07/22 |
1097 | Add option `w'. If you receive a message that comes to you because | |
1098 | you are the best (lowest preference) target of an MX, and | |
1099 | you haven't explicitly recognized the source MX host in | |
1100 | your .cf file, this option will cause you to try the target | |
1101 | host directly (as if there were no MX for it at all). If | |
1102 | `w' is not set, this case is a configuration error. | |
1103 | Beware: if `w' is set, senders may get bogus errors like | |
1104 | "message timed out" or "host unknown" for problems that | |
1105 | are really configuration errors. This option is | |
1106 | disrecommended, provided only for compatibility with | |
1107 | UIUC sendmail. | |
1108 | Fix a problem that caused the incoming socket to be left open | |
1109 | when sendmail forks after the DATA command. This caused | |
1110 | calling systems to wait in FIN_WAIT_2 state until the | |
1111 | entire list was processed and the child closed -- a | |
1112 | potentially prodigious amount of time. Problem noted | |
1113 | by Neil Rickert. | |
1114 | Fix problem (created in 6.64) that caused mail sent to multiple | |
1115 | addresses, one of which was a bad address, to completely | |
1116 | suppress the sending of the message. This changes | |
1117 | handling of EF_FATALERRS somewhat, and adds an | |
1118 | EF_GLOBALERRS flag. This also fixes a potential problem | |
1119 | with duplicate error messages if there is a syntax error | |
1120 | in the header of a message that isn't noticed until late | |
1121 | in processing. Original problem pointed out by Josh Smith | |
1122 | of Harvey Mudd College. This release includes quite a bit | |
1123 | of dickering with error handling (see below). | |
1124 | Back out SMTP transaction if MAIL gets nested 501 error. This | |
1125 | will only hurt already-broken software and should help | |
1126 | humans. | |
1127 | Fix a problem that broke aliases when neither NDBM nor NEWDB were | |
1128 | compiled in. It would never read the alias file. | |
1129 | Repair unbalanced `)' and `>' (the "open" versions are already | |
1130 | repaired). | |
1131 | Logging of "done" in dropenvelope() was incorrect: it would | |
1132 | log this even when the queue file still existed. Change | |
1133 | this to only log "done" (at log level 11) when the | |
1134 | queue file is actually removed. From John Myers. | |
1135 | Log "lost connection" in server SMTP at log level 20 if there | |
1136 | is no pending transaction. Some senders just close the | |
1137 | connection rather than sending QUIT. | |
1138 | Fix a bug causing getmxrr to add a dot to the end of unqualified | |
1139 | domains that do not have MX records -- this would cause | |
1140 | the subsequent host name lookup to fail. The problem | |
1141 | only occurred if you had FEATURE(nocanonify) set. | |
1142 | Problem noted by Rick McCarty of Texas Instruments. | |
1143 | Fix invocation of setvbuf when passed a -X flag -- I had | |
1144 | unwittingly used an ANSI C extension, and this caused | |
1145 | core dumps on some machines. | |
1146 | Diagnose self-destructive alias loops on RCPT as well as EXPN. | |
1147 | Previously it just gave an empty send queue, which | |
1148 | then gave either "Need RCPT (recipient)" at the DATA | |
1149 | (confusing, since you had given an RCPT command which | |
1150 | returned 250) or just dropped the email, depending on | |
1151 | whether you were running VERBose mode. Now it usually | |
1152 | diagnoses this case as "aliasing/forwarding loop broken". | |
1153 | Unfortunately, it still doesn't adequately diagnose | |
1154 | some true error conditions. | |
1155 | Add internal concept of "warning messages" using 6xx codes. | |
1156 | These are not reported only to Postmaster. Unbalanced | |
1157 | parens, brackets, and quotes are printed as 653 codes. | |
1158 | They are always mapped to 5xx codes before use in SMTP. | |
1159 | Clean up error messages to tell both the actual address that | |
1160 | failed and the alias they arose from. This makes it | |
1161 | somewhat easier to diagnose problems. Difficulty noted | |
1162 | by Motonori Nakamura. | |
1163 | Fix a problem that inappropriately added a ctladdr to addresses | |
1164 | that shouldn't have had one during a queue run. This | |
1165 | caused error messages to be handled differently during | |
1166 | a queue run than a direct run. | |
1167 | Don't print the qf name and line number if you get errors during | |
1168 | the direct run of the queue from srvrsmtp -- this was | |
1169 | just extra stuff for users to crawl through. | |
1170 | Put command line flags on second line of pid file so you can | |
1171 | auto-restart the daemon with all appropriate arguments. | |
1172 | Use "kill `head -1 /etc/sendmail.pid`" to stop the | |
1173 | daemon, and "eval `tail -1 /etc/sendmail.pid`" to | |
1174 | restart it. | |
1175 | Remove the ``setuid(getuid())'' in main -- this caused the | |
1176 | IDENT daemon to screw up. This required that I change | |
1177 | HASSETEUID to HASSETREUID and complicate the mode | |
1178 | changing somewhat because both Ultrix and SunOS seem | |
1179 | to have a bug causing seteuid() to set the saved uid | |
1180 | as well as the effective. The program test/t_setreuid.c | |
1181 | will test to see if your implementation of setreuid(2) | |
1182 | is appropriately functional. | |
1183 | The FallBackMX (option V) handling failed to properly identify | |
1184 | fallback to yourself -- most of the code was there, | |
1185 | but it wasn't being enabled. Problem noted by Murray | |
1186 | Kucherawy of the University of Waterloo. | |
1187 | Change :include: open timeout from ETIMEDOUT to an internal | |
1188 | code EOPENTIMEOUT; this avoids adding "during SmtpPhase | |
1189 | with CurHostName" in error messages, which can be | |
1190 | confusing. Reported by Jonathan Kamens of OpenVision | |
1191 | Technologies. | |
1192 | Back out setpgrp (setpgid on POSIX systems) call to reset the | |
1193 | process group id. The original fix was to get around | |
1194 | some problems with recalcitrant MUAs, but it breaks | |
1195 | any call from a shell that creates a process group id | |
1196 | different from the process id. I could try to fix | |
1197 | this by diddling the tty owner (using tcsetpgrp or | |
1198 | equivalent) but this is too likely to break other | |
1199 | things. | |
1200 | Portability changes: | |
1201 | Support -M as equivalent to -oM on Ultrix -- apparently | |
1202 | DECnet calls sendmail with -MrDECnet -Ms<HOST> -bs | |
1203 | instead of using standard flags. Oh joy. This | |
1204 | behaviour reported by Jon Giltner of University | |
1205 | of Colorado. | |
1206 | SGI IRIX -- this includes several changes that should | |
1207 | help other strict ANSI compilers. | |
1208 | SCO Unix -- from Murray Kucherawy of HookUp Communication | |
1209 | Corporation. | |
1210 | Solaris running the Sun C compiler (which despite the | |
1211 | documentation apparently doesn't define | |
1212 | __STDC__ by default). | |
1213 | ConvexOS from Eric Schnoebelen of Convex. | |
1214 | Sony NEWS workstations and Omron LUNA workstations from | |
1215 | Motonori Nakamura. | |
1216 | CONFIG: add confTRY_NULL_MX_LIST to set option `w'. | |
1217 | CONFIG: delete `C' and `e' from default SMTP mailers flags; | |
1218 | several people have made a good argument that this | |
1219 | creates more problems than it solves (although this | |
1220 | may prove painful in the short run). | |
1221 | CONFIG: generalize all the relays to accept a "mailer:host" | |
1222 | format. | |
1223 | CONFIG: move local processing in ruleset 0 into a new ruleset | |
1224 | 98 (8 on old sendmail). Domain literal [a.b.c.d] | |
1225 | addresses are also passed through this ruleset. | |
1226 | CONFIG: if neither SMART_HOST nor MAILER(smtp) were defined, | |
1227 | internet-style addresses would "fall off the end" of | |
1228 | ruleset zero and be interpreted as local -- however, | |
1229 | the angle brackets confused the recursive call. | |
1230 | These are now diagnosed as "Unrecognized host name". | |
1231 | CONFIG: USENET rules weren't included in S0 because of a mistaken | |
1232 | ifdef(`_MAILER_USENET_') instead of | |
1233 | ifdef(`_MAILER_usenet_'). Problem found by Rein Tollevik | |
1234 | of SINTEF RUNIT, Oslo. | |
1235 | CONFIG: move up LOCAL_RULE_0 processing so that it happens very | |
1236 | early in ruleset 0; this allows .mc authors to bypass | |
1237 | things like the "short circuit" code for local addresses. | |
1238 | Prompted by a comment by Bill Wisner of The Well. | |
1239 | CONFIG: add confSMTP_MAILER to define the mailer used (smtp or | |
1240 | esmtp) to send SMTP mail. This allows you to default | |
1241 | to esmtp but use a mailertable or other override to | |
1242 | deal with broken servers. This logic was pointed out | |
1243 | to me by Bill Wisner. Ditto for confLOCAL_MAILER. | |
1244 | Changes to cf/sh/makeinfo.sh to make it portable to SVR4 | |
1245 | environments. Ugly as sin. | |
1246 | ||
a938aa3d EA |
1247 | 8.3/8.3 93/07/13 |
1248 | Fix setuid problems introduced in 8.2 that caused messages | |
1249 | like "Cannot create qfXXXXXX: Invalid argument" | |
1250 | or "Cannot reopen dfXXXXXX: Permission denied". This | |
1251 | involved a new compile flag "HASSETEUID" that takes | |
1252 | the place of the old _POSIX_SAVED_IDS -- it turns out | |
1253 | that the POSIX interface is broken enough to break | |
1254 | some systems badly. This includes some fixes for | |
1255 | HP-UX. Also fixes problems where the real uid is | |
1256 | not reset properly on startup (from Neil Rickert). | |
1257 | Fix a problem that caused timed out messages to not report the | |
1258 | addresses that timed out. Error messages are also more | |
1259 | "user friendly". | |
1260 | Drop required bandwidth on connections from 64 bytes/sec to | |
1261 | 16 bytes/sec. | |
1262 | Further Solaris portability changes -- doesn't require the BSD | |
1263 | compatibility library. This also adds a new | |
1264 | "HASGETDTABLESIZE" compile flag which can be used if | |
1265 | you want to use getdtablesize(2) instead of sysconf(2). | |
1266 | These are loosely based on changes from David Meyer at | |
1267 | University of Oregon. This now seems to work, at least | |
1268 | for quick test cases. | |
1269 | Fix a problem that can cause duplicate error messages to be | |
1270 | sent if you are in SMTP, you send to multiple addresses, | |
1271 | and at least one of those addresses is good and points | |
1272 | to an account that has a .forward file (whew!). | |
1273 | Fix a problem causing messages to be discarded if checkcompat() | |
1274 | returned EX_TEMPFAIL (because it didn't properly mark | |
1275 | the "to" address). Problem noted by John Myers. | |
1276 | Fix dfopen to return NULL if the open failed; I was depending | |
1277 | on fdopen(-1) returning NULL, which isn't the case. This | |
1278 | isn't serious, but does result in wierd error diagnoses. | |
1279 | From Michael Corrigan. | |
1280 | CONFIG: add UUCP_MAX_SIZE M4 macro to set the maximum size of | |
1281 | messages sent through UUCP-family mailers. Suggested | |
1282 | by Bill Wisner of The Well. | |
1283 | CONFIG: if both MAILER(uucp) and MAILER(smtp) are specified, | |
1284 | include a "uucp-dom" mailer that uses domain-style | |
1285 | addressing. Suggested by Bill Wisner. | |
1286 | CONFIG: Add LOCAL_SHELL_FLAGS and LOCAL_SHELL_ARGS to match | |
1287 | LOCAL_MAILER_FLAGS and LOCAL_MAILER_ARGS. Suggested by | |
1288 | Christophe Wolfhugel. | |
1289 | CONFIG: Add OSTYPE(aix3). From Christophe Wolfhugel. | |
1290 | ||
bfe08ec1 EA |
1291 | 8.2/8.2 93/07/11 |
1292 | Don't drop out on config file parse errors in -bt mode. | |
1293 | On older configuration files, assume option "l" (use Errors-To | |
1294 | header) for back compatibility. NOTE: this DOES NOT | |
1295 | imply an endorsement of the Errors-To: header in any way. | |
1296 | Accept -x flag on AIX-3 as well as OSF/1. Why, why, why??? | |
1297 | Don't log errors on EHLO -- it isn't a "real" error for an old | |
1298 | SMTP server to give an error on this command, and | |
1299 | logging it in the transcript can be confusing. Fix | |
1300 | from Bill Wisner. | |
1301 | IRIX compatibility changes provided by Dan Rich | |
1302 | <drich@sandman.lerc.nasa.gov>. | |
1303 | Solaris 2 compatibility changes. Provided by Bob Cunningham | |
1304 | <bob@kahala.soest.hawaii.edu>, John Oleynick | |
1305 | <juo@klinzhai.rutgers.edu> | |
1306 | Debugging: -d17 was overloaded (hostsignature and usersmtp.c); | |
1307 | move usersmtp (smtpinit and smtpmailfrom) to -d18 to | |
1308 | match the other flags in that file. | |
1309 | Flush transcript before fork in mailfile(). From Eric Wassenaar. | |
1310 | Save h_errno in mci struct and improve error message display. | |
1311 | Changes from Eric Wassenaar. | |
1312 | Open /dev/null for the transcript if the create of the xf file | |
1313 | failed; this avoids at least one possible null pointer | |
1314 | reference in very wierd cases. From Eric Wassenaar. | |
1315 | Clean up statistics gathering; it was over-reporting because of | |
1316 | forks. From Eric Wassenaar. | |
1317 | Fix problem that causes old Return-Path: line to override new | |
1318 | Return-Path: line (conf.c needs H_FORCE to avoid | |
1319 | re-using old value). From Motonori Nakamura. | |
1320 | Fix broken -m flag in K definition -- even if -m (match only) | |
1321 | was specified, it would still replace the key with the | |
1322 | value. Noted by Rick McCarty of Texas Instruments. | |
1323 | If the name server timed out over several days, no "timed out" | |
1324 | message would ever be sent back. The timeout code | |
1325 | has been moved from markfailure() to dropenvelope() | |
1326 | so that all such failures should be diagnosted. Pointed | |
1327 | out by Christophe Wolfhugel and others. | |
1328 | Relax safefile() constraints: directories in an include or | |
1329 | forward path must be readable by self if the controlling | |
1330 | user owns the entry, readable by all otherwise (e.g., | |
1331 | when reading your .forward file, you have to own and | |
1332 | have X permssion in it; everyone needs X permission in | |
1333 | the root and directories leading up to your home); | |
1334 | include files must be readable by anyone, but need not | |
1335 | be owned by you. | |
1336 | If _POSIX_SAVED_IDS is defined, setuid to the owner before | |
1337 | reading a .forward file; this gets around some problems | |
1338 | on NFS mounts if root permission is not exported and | |
1339 | the user's home directory isn't x'able. | |
1340 | Additional NeXT portability enhancements from Axel Zinser. | |
1341 | Additional HP-UX portability enhancements from Brian Bullen. | |
1342 | Add a timeout around SMTP message writes; this assumes you can | |
1343 | get throughput of at least 64 bytes/second. Note that | |
1344 | this does not impact the "datafinal" default, which | |
1345 | is separate; this is just intended to work around | |
1346 | network clogs that will occur before the final dot | |
1347 | is sent. From Eric Wassenaar. | |
1348 | Change map code to set the "include null" flag adaptively -- | |
1349 | it initially tries both, but if it finds anything | |
1350 | matching without a null it never tries again with a | |
1351 | null and vice versa. If -N is specified, it never | |
1352 | tries without the null and creates new maps with a | |
1353 | null byte. If -O is specified, it never tries with | |
1354 | the null (for efficiency). If -N and -O are specified, | |
1355 | you get -NO (get it?) lookup at all, so this would | |
1356 | be a bad idea. If you don't specify either -N or -O, | |
1357 | it adapts. | |
1358 | Fix recognition of "same from address" so that MH submissions | |
1359 | will insert the appropriate full name information; | |
1360 | this used to work and got broken somewhere along the | |
1361 | way. | |
1362 | Some changes to eliminate some unnecessary SYSERRs in the | |
1363 | log. For example, if you lost a connection, don't | |
1364 | bother reporting that fact on the connection you lost. | |
1365 | Add some "extended debugging" flags to try to track down | |
1366 | why we get occassional problems with file descriptor | |
1367 | one being closed when execing a mailer; it seems to | |
1368 | only happen when there has been another error in the | |
1369 | same transaction. This requires XDEBUG, defined | |
1370 | by default in conf.h. | |
1371 | Add "-X filename" command line flag, which logs both sides of | |
1372 | all SMTP transactions. This is intended ONLY for | |
1373 | debugging bad implementations of other mailers; start | |
1374 | it up, send a message from a mailer that is failing, | |
1375 | and then kill it off and examine the indicated log. | |
1376 | This output is not intended to be particularly human | |
1377 | readable. This also adds the HASSETVBUF compile | |
1378 | flag, defaulted on if your compiler defines __STDC__. | |
1379 | CONFIG: change SMART_HOST to override an SMTP mailer. If you | |
1380 | have a local net that should get direct connects, you | |
1381 | will need to use LOCAL_NET_CONFIG to catch these hosts. | |
1382 | See cf/README for an example. | |
1383 | CONFIG: add LOCAL_MAILER_ARGS (default: `mail -d $u') to handle | |
1384 | sites that don't use the -d flag. | |
1385 | CONFIG: hide recipient addresses as well as sender addresses | |
1386 | behind $M if FEATURE(allmasquerade) is specified; this | |
1387 | has been requested by several people, but can break | |
1388 | local aliases. For example, if you mail to "localalias" | |
1389 | this will be rewritten as "localalias@masqueradehost"; | |
1390 | although initial delivery will work, replies will be | |
1391 | broken. Use it sparingly. | |
1392 | CONFIG: add FEATURE(domaintable). This maps unqualified domains | |
1393 | to qualified domains in headers. I believe this is | |
1394 | largely equivalent to the IDA feature of the same name. | |
1395 | CONFIG: use $U as UUCP name instead of $k. This permits you | |
1396 | to override the "system name" as your UUCP name -- | |
1397 | in particular, to use domain-ized UUCP names. From | |
1398 | Bill Wisner of The Well. | |
1399 | CONFIG: create new mailer "esmtp" that always tries EHLO | |
1400 | first. This is currently unused in the config files, | |
1401 | but could be used in a mailertable entry. | |
1402 | ||
c6447398 EA |
1403 | 8.1C/8.1B 93/06/27 |
1404 | Serious security bug fix: it was possible to read any file on | |
1405 | the system, regardless of ownership and permissions. | |
1406 | If a subroutine returns a fully qualified address, return it | |
1407 | immediately instead of feeding it back into rewriting. | |
1408 | This fixes a problem with mailertable lookups. | |
1409 | CONFIG: fix some M4 frotz (concat => CONCAT) | |
1410 | ||
1411 | 8.1B/8.1A 93/06/12 | |
1412 | Serious bug fix: pattern matching backup algorithm stepped by | |
1413 | two tokens in classes instead of one. Found by Claus | |
1414 | Assmann at University of Kiel, Germany. | |
1415 | ||
1416 | 8.1A/8.1A 93/06/08 | |
1417 | Another mailertable fix.... | |
1418 | ||
1419 | 8.1/8.1 93/06/07 | |
1420 | 4.4BSD freeze. No semantic changes. | |
1421 | ||
1422 | 6.65/6.34 93/06/06 | |
1423 | Fix some lintish problems. | |
1424 | Fix some cases where server SMTP behaved poorly when handed bogus | |
1425 | input, pointed out by Eric Wassenaar. | |
1426 | CONFIG: fix some more (sigh) mailertable bugs -- thanks to | |
1427 | Motonori Nakamura of Kyoto University (again). | |
1428 | ||
1429 | 6.64/6.33 93/06/05 | |
1430 | Don't send 050 (-v) information after the 250 response to a QUIT | |
1431 | command in srvrsmtp -- clients usually close the connection | |
1432 | at this point, and it causes bogus error messages. | |
1433 | Don't send messages that have errors on input (such as unbalanced | |
1434 | parentheses) during SMTP transactions, since a return | |
1435 | message has (probably) already been sent. | |
1436 | Give better diagnostics on timeouts during network reads, including | |
1437 | information similar to the SMTP phase. | |
1438 | Fix bug that caused SMTP messages to deliver synchronously; this | |
1439 | happened after the DATA 250, and hence caused reading the | |
1440 | next command to be delayed. | |
1441 | Ignore Errors-To: header unless 'l' (lower case el) header is | |
1442 | specified. The Errors-To: header violates RFC 1123. | |
1443 | Errors-To: was only needed to take the place of the | |
1444 | envelope sender in the days when most Unix mailers | |
1445 | didn't understand about the two kinds of senders. | |
1446 | Don't send warning messages in response to automatically generated | |
1447 | messages (that is, those From:<>). | |
1448 | CONFIG: fix some rather stupid typos in the mailertable code | |
1449 | pointed out by Motonori Nakamura of Kyoto University. | |
1450 | CONFIG: add confUSE_ERRORS_TO configuration option. | |
1451 | CONFIG: if ALWAYS_ADD_DOMAIN is selected, try to use $M | |
1452 | (masquerade name) instead of $j. | |
1453 | CONFIG: don't add dots to relay names (added in 6.29); it breaks | |
1454 | several things, and can be simulated by dot terminating | |
1455 | the names of relays. For example, use: | |
1456 | DBbit.net.relay. | |
1457 | (note the trailing dot). | |
1458 | ||
1459 | 6.63/6.32 93/06/01 | |
1460 | Fix prototypes to eliminate chars in argument lists -- some | |
1461 | compilers are pissy about this. | |
1462 | Log protocol ($r) and body type if set so we can determine if | |
1463 | the adaptive algorithms are working. | |
1464 | Pessimize on locking of database files (particularly for NEWDB | |
1465 | databases) during opens. There were problems with | |
1466 | processes opening the file while it was rebuilt; since | |
1467 | NEWDB caches heavily, the reader opened an empty file, | |
1468 | which is an error. If your system has the ability to | |
1469 | lock atomically on open, this works properly; otherwise, | |
1470 | there are race conditions. | |
1471 | Check mod time on .pag file instead of .dir in NDBM aliases | |
1472 | because the .dir file doesn't get updated for small | |
1473 | alias files. From John Gardiner Myers of CMU. | |
1474 | More Solaris portability -- it now compiles on Solaris, but | |
1475 | hangs up in gethostbyname(). | |
1476 | Move setting of RES_DEBUG flag before first myhostname() call | |
1477 | so we can see name server traffic on that call. | |
1478 | Fsync() queue files. | |
1479 | Fix a problem that causes -bi to try to rebuild maps other than | |
1480 | the alias file(s). | |
1481 | Fix a problem that caused udb to reject entries from any but | |
1482 | the first database listed. | |
1483 | Rearrange doc subdirectory for 4.4BSD release tape. | |
1484 | CONFIG: put $r into the Received line. This was an oversight. | |
1485 | CONFIG: fix typo (call to ruleset 99 should have been rulset 90). | |
1486 | CONFIG: move "auxiliary" subroutines to be in ruleset 90-99 | |
1487 | range -- in the long run, single digit rulesets may | |
1488 | become reserved for builtin use by sendmail. | |
1489 | CONFIG: fix major problem that causes host aliases (that is, | |
1490 | anything in $=w != $j) to not be recognized. This has | |
1491 | been around since 6.30. | |
1492 | ||
1493 | 6.62/6.31 93/05/28 | |
1494 | BETA RELEASE | |
1495 | Fix recursive syserr (if there is an error printing a syserr | |
1496 | message). This makes the code much less eager to consider | |
1497 | a write error as serious. This also includes some | |
1498 | heuristics to be clever about closed connections. | |
1499 | Lock NEWDB files during gets. This requires version 1.5 or later | |
1500 | of the db library. If you have an older version, you | |
1501 | can use -DOLD_NEWDB. This will go away in a few weeks. | |
1502 | Fix problem causing aliases that use host maps to get overwritten. | |
1503 | Do appropriate byte swapping on port numbers in ident protocol | |
1504 | code. Fix from Allan Johannesen of WPI. | |
1505 | Defer opening of map files to the same time as alias files so that | |
1506 | the daemon will tend to pick up new versions more promptly. | |
1507 | Prototype a bunch more functions. | |
1508 | Some Solaris 2.1 changes (still doesn't link though). | |
1509 | Try to simplify Makefiles by including more subordinate #defines | |
1510 | in conf.h (based on OS type). | |
1511 | CONFIG: check for domains if FEATURE(mailertable) is defined. | |
1512 | For example, if the host name is "knecht.cs.berkeley.edu" | |
1513 | it will search the following mailertable keys: | |
1514 | knecht.cs.berkeley.edu | |
1515 | .cs.berkeley.edu | |
1516 | .berkeley.edu | |
1517 | .edu | |
1518 | This could be used to replace the special relays for bitnet | |
1519 | and similar nets. | |
1520 | ||
1521 | 6.61/6.30 93/05/24 | |
1522 | Fix problem that prevented appending dots on canonified host | |
1523 | names. This breaks tons of config files -- very | |
1524 | important fix. | |
1525 | Fix improper pointer dereference in response to HELO command. | |
1526 | Fix core dump if debugging set in map_rewrite. | |
1527 | CONFIG: add FEATURE(always_add_domain) to always attach the | |
1528 | local domain (only impacts local mail). | |
1529 | CONFIG: try to avoid turning names into $j -- although | |
1530 | technically a host can only have one "canonical name", | |
1531 | it seems to be common practice to have several. | |
1532 | ||
1533 | 6.60/6.29 93/05/22 | |
1534 | Major change: merge alias databases with maps. This expands and | |
1535 | changes the map class interface but fixes a bunch of bugs. | |
1536 | The important user-visible change is that the file name | |
1537 | in a K line now does not include the ".db" extension; this | |
1538 | is added automatically. Also, the -d (NIS domain) flag is | |
1539 | missing from the K config line; use @domain instead. | |
1540 | When compiling, the *_MAP names are gone -- just compile | |
1541 | in NDBM, NEWDB, and/or NIS support. | |
1542 | Announce mailer/host/user triple on -bv flag -- from Brian | |
1543 | Bullen of Stirling University. | |
1544 | Don't send more than one line in response to HELO -- it confuses | |
1545 | Pony Express, which then behaves very badly. However, | |
1546 | this change does send two line 220 greetings, with the | |
1547 | second line reading "ESMTP spoken here". The usersmtp | |
1548 | module recognizes this and goes into ESMTP mode regardless | |
1549 | of the setting of the "a" mailer flag. Thus, "a" means | |
1550 | "always try EHLO". | |
1551 | AIX portability changes (thanks to Christophe Wolfhugel of | |
1552 | Herve Schauer Consultants (Paris) for providing me with | |
1553 | an INSA account for this purpose). Lightly tested. Use | |
1554 | -D_AIX3. This probably breaks compatibility with some | |
1555 | older systems (e.g., 4.2bsd) but still works on SunOS | |
1556 | 4.1.2, Ultrix 4.2A, HP-UX 8.07, OSF/1 T1.3, and AIX 3.2.3. | |
1557 | Fix a problem causing an error message loop if the output channel | |
1558 | is hosed. | |
1559 | Add the Makefiles that I use for various environments -- some are | |
1560 | Berkeley make versions and some are old make versions. | |
1561 | My makefile for the NeXT box has gotten lost, alas! | |
1562 | PRALIASES: support for printing NEWDB databases. From | |
1563 | Michael J. Corrigan of U.C. San Diego. | |
1564 | CONFIG: don't pass pseudo-domains to $[ ... $] (if you have | |
1565 | a wildcard MX it can have wierd results). From | |
1566 | Christophe Wolfhugel. | |
1567 | CONFIG: dot terminate relay hostnames in S0. From Christophe | |
1568 | Wolfhugel. | |
1569 | ||
1570 | 6.59/6.28 93/05/13 | |
1571 | Log version with SMTP daemon startup message. | |
1572 | Adjust setproctitle to work on NetBSD and BSD/386. | |
1573 | Fix null pointer reference in MX fallback code. | |
1574 | A bunch of minor fixes from Eric Wassenaar: | |
1575 | If deliver cannot execv the mailer, return EX_OSERR | |
1576 | instead of EX_TEMPFAIL (to give better | |
1577 | error messages). | |
1578 | Consistently malloc e_message. | |
1579 | Catch degenerate case of calling returntosender() | |
1580 | with an empty returnq. | |
1581 | MIME reformatting. | |
1582 | ||
1583 | 6.58/6.28 93/05/13 | |
1584 | Fix bug that can cause incorrect verbose display of user smtp | |
1585 | messages. | |
1586 | Disable SMTP VERB command if PRIV_NOEXPN is set (since this | |
1587 | could reveal the same information. | |
1588 | Allow failure when reading SMTP greeting message to go on to | |
1589 | next MX host. | |
1590 | Add "MIME-Version: 1.0" header if using MIME (this was NOT | |
1591 | included in RFC 1344, but Bill King of Allan-Bradley | |
1592 | Company forwarded me email from Nathaniel Borenstein | |
1593 | claiming that it was an inadvertent omission). | |
1594 | Don't use Content-Type: X-message-header. According to John | |
1595 | Myers of CMU, many MIME readers will completely ignore | |
1596 | the data if they don't recognize it. Instead, just | |
1597 | add a blank line to make it a legal (empty) message. | |
1598 | Fix problem causing dots to keep getting appended to cached | |
1599 | hostnames. This can cause buffer overrun conditions. | |
1600 | The problem was found by Erik Forsberg of Retix, | |
1601 | although I used a different bug fix than he provided. | |
1602 | Fix parsing of split header/envelope rewriting specs -- from | |
1603 | Eric Forsberg. | |
1604 | Fix from Eric Wassenaar to correct To: lists in error messages. | |
1605 | ||
1606 | 6.57/6.28 93/05/11 | |
1607 | Fix minor glitch causing extra ctladdrs to be output to queue | |
1608 | file. Just an annoyance. | |
1609 | Cache results of name server canonification lookups to avoid | |
1610 | backed up queue runs. | |
1611 | Major rewrite of alias.c: considerable cleanup, plus sample | |
1612 | (untested) support for NIS aliases. The "A" option | |
1613 | can now be a comma separated list (or be repeated) -- | |
1614 | that is, you can have multiple alias databases. Each | |
1615 | database can have the syntax ``class:file''; if no class | |
1616 | is specified, the "implicit" class is assumed. Implicit | |
1617 | searches through a list of compiled in types -- hash, | |
1618 | dbm, nis, and stab. Alias files are searched in the | |
1619 | order they are listed. For example: | |
1620 | OAhash:/etc/aliases.local,/etc/aliases | |
1621 | OAnis:mail.aliases@my.nis.domain | |
1622 | first searches the hash database /etc/aliases.local, | |
1623 | then the regular /etc/aliases database, then the NIS | |
1624 | map "mail.aliases" in the NIS domain "my.nis.domain". | |
1625 | If in Verbose mode (probably from VERB command) run SMTP job | |
1626 | in foreground and don't do RCPT optimizations. | |
1627 | Add udb :mailsender as equivalent to owner- for regular aliases. | |
1628 | Delete option 8; add option 7 that means the opposite. That is, | |
1629 | default to 8-bit mode; a special option is needed to | |
1630 | force sendmail into 7 bit mode. | |
1631 | Send error messages in encapsulated MIME format. | |
1632 | New compile flag "NIS" that turns on NIS alias and NIS map | |
1633 | support. | |
1634 | Add "j" option to send error messages in MIME (RFC 1341) | |
1635 | encapsulated message format per RFC 1344. The | |
1636 | syntax is pretty ugly if you don't have MIME-aware | |
1637 | user agents. | |
1638 | Clean up message handling (for display in mailq output). | |
1639 | New setproctitle implementation for 4.4bsd. | |
1640 | Create files (such as ~/dead.letter) using mode FileMode (the | |
1641 | F option value) instead of 0666. | |
1642 | Fix bug causing output of EXPN command to not be fully qualified. | |
1643 | This may cause some problems with UUCP addresses that | |
1644 | will require some config file assistance -- specifically, | |
1645 | the $: part has to include the host name for this output | |
1646 | to make sense. | |
1647 | Fix a problem that sometimes diagnosed errors and still sent the | |
1648 | message if the header syntax was bad. | |
1649 | Fix a bug that caused an error message to be emailed when sendmail | |
1650 | was operating in -bv mode. | |
1651 | Add "ListenQueueSize" keyword to daemon options option (OO) to | |
1652 | set the queue size parameter passed to listen(). You | |
1653 | will normally have to tweak your kernel to up this. | |
1654 | Strip spaces off of beginning of message-id before logging (in | |
1655 | case it was folded across lines). | |
1656 | Tweak compile flags in daemon.c -- there were some cases where | |
1657 | it wouldn't work without NETINET. | |
1658 | Change *file* mailer to output all the usual default headers | |
1659 | (From, Date, Message-Id). It gets used when sending | |
1660 | back error messages. | |
1661 | CONFIG: explicitly catch and diagnose list:; syntax in ruleset | |
1662 | zero -- this is not a valid recipient syntax according | |
1663 | to RFC 821. | |
1664 | CONFIG: add confMIME_FORMAT_ERRORS to send error messages in | |
1665 | MIME format. Defaults to on. | |
1666 | CONFIG: add SMTP_MAILER_FLAGS and UUCP_MAILER_FLAGS to augment | |
1667 | the flags for those mailers. | |
1668 | ||
1669 | 6.56/6.27 93/05/01 | |
1670 | Fix problem that causes the fallback mail to postmaster | |
1671 | (case ESM_POSTMASTER in savemail()) to not look at | |
1672 | aliases (ugh). | |
1673 | Some more HPUX tweaking (compile flag hpux => __hpux so it | |
1674 | still works in ANSI mode). | |
1675 | Don't try to flock non-regular files when mailing to a file. | |
1676 | In particular, this was a problem if you tried to | |
1677 | send to /dev/null. | |
1678 | Fix a wierd bug that can cause senders to be queued as | |
1679 | recipients if the name server is down when the mail | |
1680 | is initially sent. This hack just ignores sender | |
1681 | deletion (essentially, it sets the MeToo flag) if there | |
1682 | is a TEMPFAIL during processing of the sender address. | |
1683 | Obscure. | |
1684 | Fix a dangling else problem -- from Brian Bullen from University | |
1685 | of Stirling, UK. | |
1686 | Add the "b" mailer flag to force a blank line on the end of | |
1687 | messages. Some brilliant versions of /bin/mail insist | |
1688 | on this but do not add it themselves. | |
1689 | Add the "g" mailer flag to prevent user SMTP from sending | |
1690 | "MAIL From:<>". This is only intended to be a | |
1691 | transitional gesture, and should not be used if at | |
1692 | all possible. It appears that Berkeley and IDA | |
1693 | config files have always handled this properly; the | |
1694 | UK config kit apparently does not. | |
1695 | Don't lowercase and then capitalize header field names -- leave | |
1696 | them with original capitalization. Fixes from Bill | |
1697 | King of Allen-Bradley Company. | |
1698 | Further cleanup and improved reporting of error messages, | |
1699 | particularly conditions that cause messages to be | |
1700 | requeued for future delivery. | |
1701 | Tweak syslog priorities in some cases. | |
1702 | CONFIG: clean up route-addr on UUCP addresses. | |
1703 | ||
1704 | 6.55/6.25 93/04/27 | |
1705 | HPUX 8.07 compatibility changes in getla() -- I had to make | |
1706 | these changes to get it to work at Berkeley, although | |
1707 | others seem to have been working before (???). | |
1708 | Various patches to XLA code. | |
1709 | Fix problem that causes setuid bit on files to be ignored from | |
1710 | SMTP or in queue runs. Problem noted by Jason Ornstein | |
1711 | of Under The Wire, Inc. | |
1712 | Fix problem that can cause CNAMEs to be ignored. | |
1713 | Generalize getmxrr to match local host in $=w instead of a | |
1714 | single name passed in. | |
1715 | Some cleanup from Eric Wassenaar: | |
1716 | Use FileMailer instead of ProgMailer in two places. | |
1717 | Eliminate duplicate 8th-bit stripping in commaize. | |
1718 | Fix a problem with mis-parsing of backslash escapes | |
1719 | under some circumstances. | |
1720 | NIS map fix (was always including trailing null character) | |
1721 | from Mike Glendinning of Ingres UK. | |
1722 | Add "a" mailer flag to try using ESMTP. It tries the EHLO | |
1723 | command and if that fails falls back to regular SMTP. | |
1724 | Also parses EHLO option keywords. If host supports | |
1725 | SIZE extension, this is added to the MAIL FROM: | |
1726 | command. | |
1727 | Extend "b" option to include a second value which is the | |
1728 | maximum message size this server is willing to accept. | |
1729 | For example, a value of "10/1000000" says that there | |
1730 | must be ten blocks free, and sendmail will reject | |
1731 | any message larger than one megabyte. | |
1732 | Some portability hooks for NeXT (this could be applicable | |
1733 | to Mach in general). You have to create an empty | |
1734 | file called "unistd.h" to get it to compile. | |
1735 | Adjust config values (MAXLINE, MAXATOM, and PSBUFSIZE) to | |
1736 | be more generous. | |
1737 | Add X400-Received: to the list of headers tagged with H_TRACE | |
1738 | in conf.c. From Bill King, Allen-Bradley Co. | |
1739 | ||
1740 | 6.54/6.25 93/04/19 | |
1741 | Fix problem that caused redefinition of SMTP and QUEUE compile | |
1742 | flags. Pointed out by Jon Forrest of the Sequoia 2000 | |
1743 | project at Berkeley. | |
1744 | Properly handle \! hack -- it was treating host\!user as one | |
1745 | token (host!user) instead of three (host, !, user). | |
1746 | Fix from Eric Wassenaar of NIKHEF-H. | |
1747 | Fix compilation problem in getauthinfo() if IDENTPROTO is off. | |
1748 | Turn off DEFNAMES and DNSRCH when getting the hostsignature | |
1749 | (i.e., MX records) in level 1 configuration files; this | |
1750 | matches the old behaviour. From Motonori Nakamura of | |
1751 | Kyoto University. | |
1752 | Improve error message printing -- if sent through an alias, | |
1753 | error messages include the name of the alias in the | |
1754 | message. Unfortunately, in order to make this work | |
1755 | properly in queue runs, this changes the format of the | |
1756 | C line in the qf file. The relatively uselessness of | |
1757 | the previous information was pointed out to me by | |
1758 | Allan E Johannesen of WPI. | |
1759 | Add XLA compile flag to add hooks to Christophe Wolfhugel's | |
1760 | extended load average code. This is still in very early | |
1761 | form. For information regarding the guts of the xla | |
1762 | code, contact Christophe.Wolfhugel@grasp.insa-lyon.fr. | |
1763 | Additional hooks for detecting tempfails in rewriting rules | |
1764 | (that is, in map lookups). | |
1765 | ||
1766 | 6.53/6.25 93/04/15 | |
1767 | Properly diagnose ruleset zero returning null (instead of a mailer | |
1768 | triple). From Motonori Nakamura of Kyoto University. | |
1769 | More generalization of socket code for other protocols. | |
1770 | Shorten timeouts on reverse name lookups -- since they are done | |
1771 | during connection establishment, long timeouts here can | |
1772 | cause higher level timeouts. This mainly serves to accept | |
1773 | mail from hosts that do not have proper reverse (PTR) DNS | |
1774 | records set up. | |
1775 | Reset e_statmsg before each mailer invocation to avoid bogus | |
1776 | messages in the log. | |
1777 | Redefine $r, $s, and $_ in error envelopes so you don't get | |
1778 | incorrect cruft in the error message. Problem noted by | |
1779 | Motonori Nakamura of Kyoto University. | |
1780 | Fix a problem that can cause failure to return errors to Postmaster | |
1781 | in certain cases. From Motonori Nakamura. | |
1782 | Fix a problem that can cause some systems to give duplicate error | |
1783 | messages when a bad syntax address such as "<a" is presented | |
1784 | to an SMTP server. It doesn't seem to occur on all | |
1785 | machines. From Motonori Nakamura. | |
1786 | Default IDENTPROTO off for Ultrix and HPUX, which apparently have | |
1787 | the interesting "feature" that when they receive a "Host | |
1788 | unreachable" message they closes all open connections to | |
1789 | that host. However, some firewall gateways send this message | |
1790 | if you try to connect to an unauthorized port, such as the | |
1791 | IDENT port (113). Thus, no email can be received from such | |
1792 | hosts. There is some evidence that versions of Ultrix before | |
1793 | 4.3 do not have this problem. Thanks to Tom Ivar Helbekkmo | |
1794 | for pointing out this behaviour to me and to Michael Corrigan | |
1795 | of U.C. San Diego for informing me about the HPUX problem. | |
1796 | Allow IPC mailers to return a colon-separated list of hosts in the | |
1797 | $@ clause; these are searched in order as though they were | |
1798 | MX records. | |
1799 | When sending an error report, print the list of addresses tagged | |
1800 | as bad. Requested by Allan E Johannesen of WPI. | |
1801 | Change map function calls to return a status code. This gets | |
1802 | passed back as the result of rewrite. Parseaddr marks | |
1803 | the address as a QUEUEUP address if the return code is | |
1804 | EX_TEMPFAIL. All this to queue properly if the name | |
1805 | server is down. This code is not well tested. This code | |
1806 | changes the interface to map lookup functions (a fifth | |
1807 | parameter, int *statp, is added). Feature requested by | |
1808 | Dan Oscarsson. | |
1809 | Don't delete quotes (in the dequote map) if there are spaces in | |
1810 | the string, since this would cause them to be replaced by | |
1811 | the SpaceSub character. | |
1812 | Accept BODY=8BITMIME on SMTP MAIL command. This isn't advertised | |
1813 | because the 8BIT to 7BIT translation doesn't exist yet. | |
1814 | This does add a "bodytype" field to both envelope and | |
1815 | queue file and a -B command line flag to pass the type in | |
1816 | during direct invocations. | |
1817 | Discard return error messages only on responses to responses to | |
1818 | responses, not on responses to responses. That is, the | |
1819 | algorithm is to try return to sender, then return to | |
1820 | postmaster, then discard. Previously it discarded | |
1821 | immediately if the return to sender pass failed. | |
1822 | CONFIG: back out change to hide unqualified hostnames behind %-hack. | |
1823 | This screws up local aliases and .forward files. | |
1824 | CONFIG: add FEATURE(nocanonify) to turn off calls to $[ ... $]; | |
1825 | some sites only handle completely canonified names. | |
1826 | Requested by John Gardiner Myers of CMU. | |
1827 | CONFIG: some UUCP code was still included even if FEATURE(nouucp) | |
1828 | was specified. | |
1829 | ||
1830 | 6.52/6.24 93/04/10 | |
1831 | Clean up some minor glitches on error return messages pointed out | |
1832 | by Motonori Nakamura of Kyoto University. | |
1833 | Fix reply() to not reset SmtpReplyBuffer on fatal errors; this | |
1834 | was supposed to reset SmtpMsg Buffer. This makes the | |
1835 | client side code virtually useless. Reported by Allan | |
1836 | E Johannesen of WPI and Phil Brandenberger of Swarthmore. | |
1837 | Better debug messages if fuzzy is disabled, suggested by Allan | |
1838 | E Johannesen of WPI. | |
1839 | Offset SmtpReplyBuffer by four in usersmtp when checking for | |
1840 | loopback. From Eric Wassenaar. | |
1841 | Don't set $s until after runinchild in srvrsmtp -- otherwise | |
1842 | it gets cleared. From Eric Wassenaar. | |
1843 | Implement IDA-style $&x for deferred macro expansion. | |
1844 | More POSIX compatibility. | |
1845 | CONFIG: Hide unqualified hostnames behind %-hack using $s as the | |
1846 | actual sender. This is only done if $r is non-null, that | |
1847 | is, if this is not locally submitted mail. | |
1848 | CONFIG: Add FEATURE(bitdomain) allowing mapping of BITNET host | |
1849 | names to internet domains. A program contributed by | |
1850 | John Gardiner Myers of CMU to create the maps is included | |
1851 | in the contrib directory (in the "misc" tar file). | |
1852 | CONFIG: Add FEATURE(uucpdomain) for a similar mapping for UUCP | |
1853 | hosts. There is currently no tool to create this map. | |
1854 | ||
1855 | 6.51/6.23 93/04/04 | |
1856 | Add D= mailer flag to specify a path of possible working directories | |
1857 | in which to execute the mailer. This is intended for the | |
1858 | prog mailer; some shells can get upset if they don't have | |
1859 | access to the current directory. | |
1860 | Add RFC 1413 (IDENT) protocol support. This is only very loosely | |
1861 | tested. This adds a $_ macro to be the authenticated | |
1862 | info (in ``user@domain [address]'' form) and debug flag | |
1863 | 9 to trace the protocol. | |
1864 | Check for loopbacks in usersmtp instead of srvrsmtp -- there is no | |
1865 | reason for a local agent to not be talking to the localhost | |
1866 | (although the inverse is not true). | |
1867 | Add a few hooks for automated map rebuilding. This is certainly | |
1868 | not done yet. | |
1869 | CONFIG: Have prog mailer specify a path of ``D=$z:/'' -- that is, | |
1870 | user's home directory then the root. | |
1871 | CONFIG: Log RFC 1413 identification in Received: line. | |
1872 | ||
1873 | 6.50/6.22 93/04/01 | |
1874 | Fixes to requeueing code to make it compute priority, nrcpts, | |
1875 | and the like properly. | |
1876 | ||
1877 | 6.49/6.22 93/04/01 | |
1878 | Diagnose incorrect privacy flags. Suggested by Bryan Costales | |
1879 | of ICSI. | |
1880 | Some ANSI C fixes. | |
1881 | Arrange to quote backslashes as well as other special characters | |
1882 | in the phrase part of a route-addr. | |
1883 | Some fixes to FallBackMX code suggested by Motonori Nakamura of | |
1884 | Kyoto University. | |
1885 | More vigorous zeroing of CurHostAddr to avoid logging of bogus | |
1886 | host addresses when you are actually just printing | |
1887 | information from the MCI structure; problem noted by | |
1888 | Michael Corrigan of U.C. San Diego. | |
1889 | Don't ignore rest of queue if any job is not runnable. This can | |
1890 | also cause an incorrect job to be lost. Fix from | |
1891 | Eric Wassenaar. | |
1892 | Always respond "quickly" to RCPT command; do alias expansion and | |
1893 | the like later. This also means that mail for lists that | |
1894 | have errors will be acccepted, and an error sent back | |
1895 | later. This is done by instantiating the queue file | |
1896 | and then immediately running and requeueing it. | |
1897 | ||
1898 | 6.48/6.22 93/03/30 | |
1899 | Fix incorrect diagnosis of infinite loop in ruleset. Problem noted | |
1900 | by several people. | |
1901 | Improve information printed when infinite loops are discovered. | |
1902 | Zero CurHostAddr to fix erroneous internet addresses in log when no | |
1903 | addresses can be bound. Pointed out by Motonori Nakamura | |
1904 | of Kyoto University. | |
1905 | "Probe" SMTP connections using RSET instead of NOOP "just in case". | |
1906 | Suggested by John Gardiner Myers of CMU. | |
1907 | Don't warn about -f if you are setting sender to yourself. | |
1908 | ||
1909 | 6.47/6.22 93/03/29 | |
1910 | Fix incompatible call to endmailer in smtpquit which causes core | |
1911 | dumps. Noted by Allan E Johannesen of WPI. | |
1912 | HPUX portability changes from Michael J. Corrigan of UC San Diego. | |
1913 | Require MAIL before RCPT command in srvrsmtp.c. This had been | |
1914 | intentional from the 821 draft days when the order wasn't | |
1915 | clear, but is silly now. | |
1916 | Fix bug in nis_magic routine that was initializing parameters | |
1917 | incorrectly. Fix from Takahiro Kanbe of Fuji Xerox | |
1918 | Information Systems Co., Ltd. | |
1919 | Change default for PrivacyFlags in conf.c to 0 -- since it always | |
1920 | "or"s in new values, there was no way to turn off the | |
1921 | AuthWarning stuff. | |
1922 | Add O option to set SMTP daemon options. | |
1923 | Add V option to set fallback MX host. This always sorts at lower | |
1924 | priority than anything it gets from the name server. It | |
1925 | should only be used for environments with very bad network | |
1926 | connectivity. Requested by several people. | |
1927 | Log sending info. It's not clear this is a good idea. | |
1928 | CONFIG: fix typo in mailertable code. Noted by Phil Brandenberger | |
1929 | of Swarthmore. | |
1930 | CONFIG: add confDAEMON_OPTIONS and confFALLBACK_MX to set options | |
1931 | O and V, respectively. | |
1932 | ||
1933 | 6.46/6.21 93/03/26 | |
1934 | Fix botch in server SMTP that broke transactions that did not | |
1935 | use HELO first (like MH). Fix from Michael Corrigan | |
1936 | of U.C. San Diego. | |
1937 | Fall back to other MX records if there is an error anywhere | |
1938 | in delivery (actually on MAIL or DATA -- RCPT is harder). | |
1939 | Suggested by John Gardiner Myers and Motonori Nakamura. | |
1940 | Revert to non-prototypes -- it turns out that our ANSI C | |
1941 | compiler is more forgiving than most others about | |
1942 | mixing prototyped extern declarations with non-prototyped | |
1943 | function definitions. | |
1944 | Fix a problem with multi-word class matching pointed out by | |
1945 | Neil Rickert. Given: | |
1946 | CX b a.b.c | |
1947 | R$+ $=X $+ $: $1 < $2 > $3 | |
1948 | the input "user@a.b.c" failed instead of being properly | |
1949 | rewritten as "user@a.<b>.c". | |
1950 | Neil also convinced me that it was correct that $~ should match | |
1951 | only one token -- the problem is that it's always possible | |
1952 | to add another token, so $~ matches far too eagerly. | |
1953 | ||
1954 | 6.45/6.21 93/03/25 | |
1955 | Implement multi-word classes (properly!). | |
1956 | ||
1957 | 6.44/6.21 93/03/25 | |
1958 | Add X-Authentication-Warning: headers to clue users into possible | |
1959 | attempts to forge mail. This is on the authwarnings | |
1960 | privacy flag, but is the default. Suggested by Bryan | |
1961 | Costales of ICSI. | |
1962 | Pass default units for convtime in so they can be more reasonable. | |
1963 | Allow config files to always add a new Comments: header (i.e., | |
1964 | they will be added even if an old one already exists). | |
1965 | Suggested by Bryan Costales of ICSI. | |
1966 | Allow config files to delete an existing Return-Path: header. | |
1967 | These should only be added at final delivery. Suggested | |
1968 | by Bryan Costales of ICSI. | |
1969 | Some debugging additions. Suggested by Bryan Costales of ICSI. | |
1970 | Clean up logging of Family 0 addresses. Noted by David Muir | |
1971 | Sharnoff and others. | |
1972 | Add a "dequote" map class. This allows config files to strip | |
1973 | quotes off of addresses. Note that this is not a builtin | |
1974 | map, just a class -- so you have to define the map | |
1975 | using the K line. | |
1976 | Fix a bug in the queueup() loop getting a locked tf where in | |
1977 | very odd cases it can fall off the bottom and core dump. | |
1978 | Of course, it was P{r Emanuelsson who found it.... | |
1979 | Open a new transcript when splitting an envelope. Problem found | |
1980 | by Allan E Johannesen of WPI. | |
1981 | Improved error output in endmailer if the mailer core dumps. | |
1982 | CONFIG: Fix typo in UUCP mailer definition. | |
1983 | CONFIG: Default several of the new options on: eight bit input, | |
1984 | privacy flags set to "authwarnings", and message warning | |
1985 | set to 4h. | |
1986 | CONFIG: Use dequote map. | |
1987 | ||
1988 | 6.43/6.20 93/03/23 | |
1989 | Fix problem with assumption of an sa_len field in a generic | |
1990 | sockaddr -- it turns out that most vendors haven't | |
1991 | picked up this (very important) fix. | |
1992 | Change compilation flags for daemon code -- select one or both | |
1993 | of NETINET or NETISO, but don't ever set DAEMON manually. | |
1994 | CONFIG: add FEATURE(mailertable) to do IDA-style mailertables. | |
1995 | ||
1996 | 6.42/6.19 93/03/19 | |
1997 | Use Postmaster as default fallback return address, not root. | |
1998 | POSIX changes for file descriptor handling. | |
1999 | Diagnose errors writing new queue file. | |
2000 | If you change the owner using an owner- alias, also change the | |
2001 | error mode to EM_MAIL so that errors don't get dropped | |
2002 | into an inappropriate directory. Problem noted by | |
2003 | Allan E Johannesen of WPI. | |
2004 | If you are su'ed to root, send email as who you really are, not | |
2005 | as root. From Brian Kantor of U.C. San Diego. | |
2006 | Allow warning messages to be sent after a configurable interval | |
2007 | has passed without delivery. The message is sent only | |
2008 | once per envelope. This changes the format of the qf | |
2009 | file to have an F line, and the format of the T option | |
2010 | to accept take the format "return/warn" (both intervals). | |
2011 | Don't force all local names to lower case -- this was left over | |
2012 | from the wierd handling of case mapping on aliases. It | |
2013 | is now driven (as expected) by the "u" mailer flag. | |
2014 | Problem noted by P{r Emanuelsson. | |
2015 | Fix problem that caused headers on returned email to be trashed; | |
2016 | they were getting freed, but are still accessible via | |
2017 | BlankEnvelope. | |
2018 | Fix problem that caused bogus ids to be created on returned | |
2019 | mail. | |
2020 | Add support for ISO and other non-INET networking. This is by | |
2021 | no means finished yet. This does assume a lot of other | |
2022 | system support, like a version of gethostbyname that | |
2023 | returns non-AF_INET addresses. | |
2024 | CONFIG: change default on prog mailer to keep upper case in | |
2025 | user names (i.e., in the program command line). | |
2026 | CONFIG: strip trailing dots off of hosts in uucp mailer before | |
2027 | convert to bang format. | |
2028 | CONFIG: create new "relay" mailer for $R (LOCAL_RELAY) and $H | |
2029 | (MAIL_HUB) delivery that doesn't add local domain. Note | |
2030 | that this violates 821, but is probably "more correct" | |
2031 | for what we are trying to do. Problem pointed out by | |
2032 | Michael Graff of Iowa State. | |
2033 | ||
2034 | 6.41/6.18 93/03/18 | |
2035 | Clean up unnecessary creates of queue ids (i.e., empty qf files) | |
2036 | when not needed, such as when starting up an SMTP | |
2037 | connection. | |
2038 | Fix problem where split envelopes aren't instantiated in the queue. | |
2039 | This is quite a serious bug. | |
2040 | Owner- aliases had problems with leading spaces causing a | |
2041 | premature delimitation. | |
2042 | ||
2043 | 6.40/6.18 93/03/18 | |
2044 | Have ending 250 (after DATA) include the id; suggested by | |
2045 | Brian Kantor of UC San Diego. | |
2046 | Add logging on envelope splitting. | |
2047 | Change queue ids to have one more letter encoding the hour of | |
2048 | the day so that during a single day there is a greater | |
2049 | likelihood of uniqueness; requested by Brian Kantor. | |
2050 | ||
2051 | 6.39/6.18 93/03/18 | |
2052 | Fix minor compile problem if LOCKF is defined. | |
2053 | Define size of tobuf in conf.h. Observed by Toshinari Takahashi | |
2054 | of Toshiba. | |
2055 | Restore e_sender -- this is equivalent to e_from.q_paddr without | |
2056 | decorations such as angle brackets and comments. | |
2057 | OSF/1 on Alpha changes from Allan E Johannesen of WPI. | |
2058 | CONFIG: fix typo in S3 for list syntax (;: => :;). Thanks to | |
2059 | Christopher Hoover for noting the problem. | |
2060 | ||
2061 | 6.38/6.17 93/03/17 | |
2062 | Pass envelope to disconnect to avoid another use of CurEnv, which | |
2063 | can apparently end up being null at inopportune times. | |
2064 | Log "received from" as "relay=" for consistency (suggested by | |
2065 | John Gardiner Myers). | |
2066 | Fix major bug in header handling: if no From: line existed in | |
2067 | the header (so sendmail inserts one), and the sender is | |
2068 | an alias that has an owner, the From: line shows the | |
2069 | owner (as well as the envelope). Fixed by early binding | |
2070 | the headers (which will change debugging output). | |
2071 | HPUX portability patches from Michael J. Corrigan of UC San Diego. | |
2072 | Some attempts to adapt better to out of open file conditions. | |
2073 | Some changes to ctladdr handling in queue files. | |
2074 | ||
2075 | 6.37/6.17 93/03/16 | |
2076 | MAJOR CHANGE: delete e_sender and e_returnpath (why are these | |
2077 | different from e_from?) and $< macro. | |
2078 | Log correct IP address in relay= field even if the connection | |
2079 | times out. | |
2080 | Log "received from [RESPONSE]" on EF_RESPONSE messages (from | |
2081 | John Gardiner Myers). | |
2082 | Fixes to SysExMsg logging (sometimes just got "message: %s" | |
2083 | instead of "message: error message"), noted by Eric | |
2084 | Wassenaar. Also reported by Motonori Nakamura. | |
2085 | Improvements to MX piggybacking code, from Motonori Nakamura. | |
2086 | Fix case where CurHostName points to an auto variable that has | |
2087 | been deallocated (from Motonori Nakamura). | |
2088 | Fix bug causing newlines to be included in aliases if option | |
2089 | "n" (check alias RHS) is set; bug noted by David Muir | |
2090 | Sharnoff. | |
2091 | Fix problem causing user names that should be mapped to lower | |
2092 | case to not be mapped if they are sent during a queue | |
2093 | run. This greatly simplifies the case mapping code. | |
2094 | Problem noted by Allan E Johannesen of WPI. | |
2095 | Don't do recipient address rewriting in buildaddr. This | |
2096 | improperly did recipient rewriting on sender addresses, | |
2097 | and just seems bogus in general -- but the change could | |
2098 | break some .cf files. | |
2099 | Pass TZ envariable to child processes for System V. | |
2100 | CONFIG: allow LOCAL_RULE_1 and LOCAL_RULE_2 if you want to | |
2101 | define those rulesets. | |
2102 | KNOWN PROBLEM: I have seen some problems on SunOS that causes | |
2103 | the User Data Base to give errors on some addresses. I | |
2104 | have tracked the problem back at least as far as 93.02.15 | |
2105 | (version 6.22). Running with debugging on makes it | |
2106 | go away, so I conclude that it is referencing uninitialized | |
2107 | stack data. I haven't been able to track this down yet. | |
2108 | ||
2109 | 6.36/6.16 93/03/08 | |
2110 | Allow local mailer to specify $@host -- this lets you assign the | |
2111 | "foo" part of jgm+foo to $h for passing in to the local | |
2112 | mailer. | |
2113 | Additional debug printing in getcanonname (show query type). | |
2114 | Don't add the e_fromdomain on sender addresses -- this interacts | |
2115 | wierdly with the owner- code. | |
2116 | Improve delivery logging to not log obvious or meaningless stuff. | |
2117 | Include numeric IP address in Received: lines per RFC 1123 section | |
2118 | 5.2.8. | |
2119 | Fixed a bug in checking stat() return value if restrictmailq is | |
2120 | set. Also, check the entire group set instead of just the | |
2121 | primary group. Both from John Gardiner Myers. | |
2122 | Don't have usrerr automatically print errno, since this is often | |
2123 | misleading. | |
2124 | Use transienterror() in makeconnection after connect() fails and | |
2125 | in openmailer after execve() fails (from Eric Wassenaar). | |
2126 | Also moved transienterror() from util.c to conf.c. | |
2127 | Clean up from= logging on response messages. | |
2128 | Undo patch allowing prescan to return a null vector -- it breaks | |
2129 | too many things. | |
2130 | Config: FEATURE(notsticky) lets you use UDB for everything coming | |
2131 | in to the machine, even if it is specifically targetted | |
2132 | to this machine. Without it, UDB is bypassed if the user | |
2133 | name is fully qualified. | |
2134 | Config: fix another minor botch with <> (local mailer wasn't | |
2135 | mapping them properly). | |
2136 | ||
2137 | 6.35/6.15 93/03/05 | |
2138 | Fix getrealhostname to return null if sinlen <= 0 -- this can | |
2139 | occur if stdin is a pipe. | |
2140 | Avoid infinite loop in getcanonname if name server return | |
2141 | NO_DATA (for example). | |
2142 | Config: avoid having C flag qualify list syntax and error syntax. | |
2143 | ||
2144 | 6.34/6.14 93/03/05 | |
2145 | Fix logging in deliver to not pass too many parameters to Ultrix | |
2146 | versions of syslog. | |
2147 | Don't write the pid file until after the daemon has actually | |
2148 | opened and conditioned the connection. | |
2149 | Consider addresses "different" if their q_uids differ (so that | |
2150 | two users forwarding to the same program will be seen | |
2151 | as different, rather than the same). | |
2152 | Fix problem with bad parameters in main() -- they set ExitStat | |
2153 | but don't exit. | |
2154 | Fix null pointer references through RealHostName -- painfully | |
2155 | discovered by Allan E Johannesen of WPI. | |
2156 | Fix bug causing user@@localhost to core dump (yuch). | |
2157 | Config: don't put two @host.dom.ain on users in $=E in SMTP | |
2158 | mailer. Also, catch user@ (no host) in ruleset 0. | |
2159 | ||
2160 | 6.33/6.13 93/03/03 | |
2161 | Config: add confCW_FILE as the name of the cw configuration file | |
2162 | (defaults to /etc/sendmail.cw). From P{r Emanuelsson. | |
2163 | Allow prescan to return a pointer to an empty list -- this is | |
2164 | not an error. Also, clean up error reporting to avoid | |
2165 | double errors (prescan reports once, then the caller | |
2166 | reports again). | |
2167 | Changes to avoid trusting T_ANY queries -- run them, but if you | |
2168 | don't get the info you expected, do T_A and T_MX queries | |
2169 | anyhow. This also fixes an oversight where _res.options | |
2170 | bits were being ignored. | |
2171 | If PRIV_NOVRFY is set, use 252 response code instead of 502 per | |
2172 | RFC 1123 section 5.2.3. It's not 100% clear that this | |
2173 | is correct, but it probably works better with stupid | |
2174 | mailers that do a VRFY and only check the first digit. | |
2175 | ||
2176 | 6.32/6.12 93/03/02 | |
2177 | Fix uninitialized variable "protocol" in smtp code. | |
2178 | Include <unistd.h> in sendmail.h -- move towards POSIX/ANSI. | |
2179 | Additional hooks for RFC 1427 (ESMTP SIZE extension). This | |
2180 | includes requiring that enoughspace() know the system | |
2181 | block size, which will undoubtedly break most ports. | |
2182 | Trace flag 19 in use for srvrsmtp.c. | |
2183 | Additional logging -- notably the sending mailer name. This | |
2184 | also changes the delivery logging to strict field=value | |
2185 | syntax. | |
2186 | Fix some problems with messages getting sent even to addresses | |
2187 | that had been marked bad -- from Eric Wassenaar. | |
2188 | More WIDE changes: accept host name inside [...] as non-MXed | |
2189 | host. This is intended ONLY for use inside firewalled | |
2190 | environments, where the MX points at the gateway. | |
2191 | Change .cf file conventions so that mapping for <> addresses | |
2192 | don't have an @ in them (to avoid confusing the C mailer | |
2193 | flag). Pointed out by Neil Rickert. | |
2194 | Config extensions for Sam Leffler's FlexFAX software. | |
2195 | ||
2196 | 6.31/6.10 93/02/28 | |
2197 | Fix some more bugs in alias owner code -- there were some wierd | |
2198 | cases where an error in a non-aliased name would override | |
2199 | the return info in an aliased name with an owner. | |
2200 | Changes from WIDE Project, forwarded to me by Motonori Nakamura: | |
2201 | Log actual delivery host (after MX et al); from | |
2202 | yasuhiro@dcl.co.jp. | |
2203 | Log daemon startup. | |
2204 | Deliver Postmaster copies without a body. | |
2205 | Better logging of SMTP senders. | |
2206 | Send all program email as daemon even when local. | |
2207 | As requested in various forms from many people, accept -qIstring | |
2208 | to limit queue runs to jobs with queue-id matching string. | |
2209 | Similarly for -qRstring for recipients, -qSstring for | |
2210 | senders. | |
2211 | Initial hooks for ESMTP support (see RFC 1425). | |
2212 | Fixed a syntax error in the UUCP mailer specification that caused | |
2213 | core dumps on startup. | |
2214 | Check for missing A= or P= arguments in mailer definitions. | |
2215 | ||
2216 | 6.30/6.10 93/02/27 | |
2217 | Require FROZENCONFIG compilation flag to include frozen | |
2218 | configuration code. Frozen configuration is really | |
2219 | not a very good idea any more, particularly in shared | |
2220 | library environments. | |
2221 | Do better checking of errno after opens of :include: and .forward | |
2222 | files to defer delivery on network and other transient | |
2223 | errors. Suggestion from Craig Everhart. | |
2224 | Fix minor botch in read timeout macro processing. | |
2225 | Add FEATURE(nouucp) to config files for sites that know absolutely | |
2226 | nothing about UUCP. | |
2227 | Add built cf files to distribution tape and clarify how to build | |
2228 | them if you don't have the Berkeley make. | |
2229 | Some sizeof(long) portability changes for the Alpha, from Allan | |
2230 | E Johannesen. | |
2231 | Add "restrictmailq" privacy flag -- if set, only people in the same | |
2232 | group as your queue directory can print the queue. If you | |
2233 | set this, be sure you also restrict access to log files.... | |
2234 | Fix another bug in owner-list stuff that can cause data files to | |
2235 | be "lost". | |
2236 | Fix a bug with queue runs that cause forwards to yourself to go | |
2237 | into alias/forwarding loops. I'm still iffy about this | |
2238 | fix. | |
2239 | Fix from Eric Wassenaar for suppression of return message code. | |
2240 | ||
2241 | 6.29/6.9 93/02/24 | |
2242 | Fix yet another problem in alias owner code -- put the wrong return | |
2243 | address on the enclosed return-to-sender letter. | |
2244 | ||
2245 | 6.28/6.9 93/02/24 | |
2246 | Fix botch in alias owner code that caused it to not operate if the | |
2247 | error was detected locally. | |
2248 | ||
2249 | 6.27/6.9 93/02/24 | |
2250 | M_LOCAL => M_LOCALMAILER to avoid conflict with Ultrix include | |
2251 | file <sys/mount.h>. | |
2252 | Miscellaneous bug fixes from Eric Wassenaar: | |
2253 | sendmail -bv -t logs the from line even though in verify | |
2254 | mode only. | |
2255 | sendmail -v can go into queue mode if shouldqueue returns | |
2256 | TRUE. | |
2257 | Add route-addr pruning per RFC 1123 section 5.3.3. This can be | |
2258 | disabled using the "R" option. | |
2259 | Delete (always undocumented) -R flag (save original recipients); | |
2260 | there are ways to syslog(3) these now. | |
2261 | Clean up SMTP reply codes -- specify them as needed in the code, | |
2262 | instead of in conf.c -- this was needed during the NCP to | |
2263 | TCP transition, but seems silly now. This also changes | |
2264 | parameters to message and nmessage. | |
2265 | Have mailstats read the .cf file to find the sendmail.st file and | |
2266 | get text versions of mailer names. An initial version of | |
2267 | this code was provided by Tuominen Keijo (although the | |
2268 | comments indicate the good bits were written by "E.V."). | |
2269 | Add yet more System V compatibility hacks. | |
2270 | Fix bug in VRFY code (assumes everything must be a local user). | |
2271 | Allow specification of any of the hard-wired pathnames in the | |
2272 | Makefile. | |
2273 | Delete concept of "trusted users" -- this really didn't provide | |
2274 | any security anyway, and caused some problems. | |
2275 | Delete last vestige of support for the word "at" as an equivalent | |
2276 | to the character "@". | |
2277 | Propagate owner-foo alias information into the envelope sender. | |
2278 | Based on code from John Gardiner Myers. This is a major | |
2279 | semantic change -- beware! | |
2280 | Allow $@ on LHS to indicate "match zero" -- this is used to match | |
2281 | the null expression. | |
2282 | ||
2283 | 6.26/6.8 93/02/21 | |
2284 | Don't "lose" queue runs. Very important fix from (who else?) | |
2285 | Eric Wassenaar. | |
2286 | Completely reset state on RSET command -- from Eric Wassenaar. | |
2287 | Send error messages and return receipts using an envelope sender | |
2288 | of <> regardless of the setting of $n. Rewriting rules | |
2289 | can undo this if they feel the necessity, as might be | |
2290 | needed for networks that don't understand the syntax. | |
2291 | This is permitted by RFC 821 section 3.6 and required by | |
2292 | RFC 1123 section 5.3.3. THIS REQUIRES VERSION 4 CONFIG | |
2293 | FILES because the rulesets must be able to parse <> | |
2294 | properly. | |
2295 | Don't ever send error messages to "<>" -- they will get sent to | |
2296 | the local postmaster or dumped in /usr/tmp/dead.letter | |
2297 | instead. Per RFC 1123 section 5.3.3. | |
2298 | Explicitly check for email to yourself as a dotted quad. You | |
2299 | have to call $[ [ ... ] $] to get this. | |
2300 | Up the message timeout to five days per RFC 1123 section 5.3.1.1. | |
2301 | Make all read timeouts individually configurable, as strongly | |
2302 | recommended by RFC 1123 section 5.3.2. | |
2303 | Use f_bavail (blocks available to regular users) instead of f_bfree | |
2304 | (blocks available to superuser) in free block checks. | |
2305 | Change $d macro to be the current time, not the origination time, | |
2306 | since this is consistent with how it is used now. | |
2307 | Generalization of enoughspace from Eric Wassenaar covering | |
2308 | SGI, Apollo, HPUX, Ultrix, and SunOS. | |
2309 | Ignore process group signals -- some front ends can do this if | |
2310 | you kill a window too quickly. From Eric Wassenaar. | |
2311 | Change umask to 022. | |
2312 | ||
2313 | 6.25/6.8 93/02/20 | |
2314 | Close all cached connections before calling mailers and after | |
2315 | forking for delivery (caused double closes which resulted | |
2316 | in false errors). | |
2317 | Add FEATURE(redirect) in config files -- this allows you to alias | |
2318 | old addresses to a pointer to the new address that will | |
2319 | give a 551 error message, but not deliver the mail. | |
2320 | Some code changes to make the 551 errors look pretty. | |
2321 | Names of M4 program paths in config files have changed -- they | |
2322 | are all XXX_MAILER_PATH now, to match XXX_MAILER_FLAGS. | |
2323 | Fix a bug in the QSELFREF code having to do with empty .forward | |
2324 | files, reported by Eric Wassenaar. | |
2325 | Add option "p" (privacy flags); this allows you to tune how | |
2326 | picky the SMTP server will be. This also adds the | |
2327 | confPRIVACY_FLAGS M4 macro in the config files. | |
2328 | Add option "b" (minimum blocks free). If there are fewer than | |
2329 | this number of blocks free on the filesystem containing | |
2330 | the queue directory, the SMTP MAIL command will return | |
2331 | a 452 response and ask you to try again later. This | |
2332 | also adds the confMIN_FREE_BLOCKS M4 macro in the config | |
2333 | files. | |
2334 | Made VRFY just verify (doesn't expand aliases and .forward files); | |
2335 | EXPN does full expansion. RCPT in queue-only mode also | |
2336 | doesn't chase aliases and .forward. | |
2337 | ||
2338 | 6.24/6.7 93/02/19 | |
2339 | Increase the number of domain search entries in domain.c to allow | |
2340 | for the extra "" entry indicating the root domain. | |
2341 | Reported by Motonori Nakamura of Kyoto U. | |
2342 | Add a "SMART_HOST" in the configs for UUCP-connected sites that | |
2343 | want to forward all mail with extra "@"s to that site. | |
2344 | Also allows SMART_HOST, LOCAL_RELAY, and MAIL_HUB to | |
2345 | be specified as ``mailer:hostname'' to use an alternate | |
2346 | mailer. | |
2347 | Clarified and updated some wording in the Operations Guide. | |
2348 | Add the "c" mailer flag -- this suppresses all comment parts of | |
2349 | addresses (requested by John Curran of NEARnet). | |
2350 | Have -v print prompts in -bt mode even if stdin is not a terminal | |
2351 | (default behaviour is to be silent if not reading from | |
2352 | a terminal). Suggested by Bryan Costales, ICSI. | |
2353 | Move the metacharacters from C0 space (\001-\037) into C1 space | |
2354 | (\201-\237). This also fixes a bunch of potential bugs | |
2355 | with G1 characters (\240-\276) in headers relating to | |
2356 | negative numbers passed to isspace() et al. | |
2357 | Add YP_LAST_MODIFIED and YP_MASTER_NAME to DBM version of alias | |
2358 | database if YPCOMPAT is #defined. Enhancement from | |
2359 | Takahiro Kanbe of Fuji Xerox Information Systems Co., Ltd. | |
2360 | Add "list" Precedence (-30); this can be used with old sendmails | |
2361 | which will map to precedence 0 (which will return error | |
2362 | messages). Suggested by Stephen R. van den Berg. | |
2363 | Many bug fixes from Eric Wassenaar of the National Institute for | |
2364 | Nuclear and High-Energy Physics, Amsterdam: | |
2365 | Clear timeouts properly on open failures in include(). | |
2366 | Don't dereference through NULL if no home directory found. | |
2367 | Re-establish SIGCHLD signal on System 5 in reapchild(). | |
2368 | Avoid NULL pointer reference on -pFOO flag. | |
2369 | Properly handle backslash escapes in comments. | |
2370 | Correctly check reply status on SMTP NOOP command. | |
2371 | Properly save SMTP error message if peer gives | |
2372 | "Service Shutting Down" message. | |
2373 | Avoid writing to the transcript if it couldn't be opened. | |
2374 | Signal errors in SMTP children to parent properly. | |
2375 | Handle self references in a list more globally (include a | |
2376 | QSELFREF bit in the address flags). This enhancement | |
2377 | was suggested by Eric Wassenaar. | |
2378 | Use initgroups() in hpux, even though it's System-V based. The | |
2379 | HASINITGROUPS compile flag can set this on other systems. | |
2380 | This HPUX behaviour was pointed out by Eric Wassenaar. | |
2381 | ||
2382 | 6.23/6.6 93/02/16 | |
2383 | Clean up handling of LogLevel to make it easier to figure out | |
2384 | what's on what level. | |
2385 | Change log levels to have some consistency: | |
2386 | 1 serious system failures, security problems | |
2387 | 2 lost communications, protocol failures | |
2388 | 3 other serious failures | |
2389 | 4 minor errors | |
2390 | 5 message collection | |
2391 | 6 vrfy logging, creation of return-to-sender | |
2392 | 7 delivery failures | |
2393 | 8 delivery successes | |
2394 | 9 delivery tempfails (queue ups) | |
2395 | 10 database expansion | |
2396 | >64 debugging | |
2397 | Allow IDA-style separated processing on S= and R= in Mailer | |
2398 | definition lines. Note that rulesets 1 and 2 are | |
2399 | still used for both addresses as before. Bruce Lilly | |
2400 | gave a convincing argument that RFC976 insists on | |
2401 | this behaviour. | |
2402 | Added some time zones to arpatounix -- they may not be in the | |
2403 | standards, but they are in use. However, I may delete | |
2404 | arpatounix entirely -- there appears to be no reason | |
2405 | for it to exist. | |
2406 | Change to UUCP mailer (in cf directory) to try to do a saner job. | |
2407 | I'm still not certain about this mailer in general. | |
2408 | ||
2409 | 6.22/6.5 93/02/15 | |
2410 | Fix bug that prevents saving letters in ~/dead.letter. | |
2411 | Don't add angle brackets in VRFY command if angle brackets already | |
2412 | exist in the address. | |
2413 | Fix bogus error message in udbexpand. | |
2414 | Null terminate host buffers in buildaddr (broken in 6.21) -- | |
2415 | IMPORTANT FIX!! | |
2416 | ||
2417 | 6.21/6.5 93/02/15 | |
2418 | Fix another incorrect error message in alias.c, found by Azuma | |
2419 | Okamoto. | |
2420 | Fix a couple of problems in the more-configurable config files, | |
2421 | found by Tom Ivar Helbekkmo. | |
2422 | Fix problem with quoted :include: entries. | |
2423 | Don't duplicate the filename on verbose printing of .forward and | |
2424 | :include: contents. | |
2425 | Extend size of prescan buffer (to allow bigger addresses). Also, | |
2426 | detect some buffer overflows. | |
2427 | Log user SMTP protocol errors (log level 4). | |
2428 | ||
2429 | 6.20/6.4 93/02/14 | |
2430 | Fix another problem in the MCI state machine caused when there | |
2431 | were errors generated from the other end to commands | |
2432 | other than RCPT. | |
2433 | ||
2434 | 6.19/6.4 93/02/14 | |
2435 | Include load average support for DEC Alpha running OSF/1. | |
2436 | Fix multiple-response problem with errors in MAIL From: line. | |
2437 | Fix SMTP reply codes for invalid address syntaxes (give 501; | |
2438 | never give multiple error messages for a single message). | |
2439 | Fix problem where a cached connection timeout rejects all | |
2440 | later connects to that host. | |
2441 | Fix incorrect error message if alias.c is compiled with DBM only. | |
2442 | Additional changes to fix nested conditionals (from Bruce Lilly). | |
2443 | Recover more gracefully from operating system failures, particularly | |
2444 | NULL returns from openmailer (from Noritoshi Demizu, | |
2445 | OMRON Corporation). | |
2446 | Log forward, alias, and userdb expand operations on log level 10; | |
2447 | concept suggested by P{r (Pell) Emanuelsson. | |
2448 | Changes for HPUX 8.07 compatibility. | |
2449 | ||
2450 | 6.18/6.4 93/02/12 | |
2451 | Allow any config option to be set using an M4 define. | |
2452 | Change UNAME compile flag to HASUNAME for IDA compatibility | |
2453 | (besides, it's a better name). | |
2454 | Note in README that on SunOS it must be linked -Bstatic. | |
2455 | Fairly major change in domain.c to handle wildcard MX records | |
2456 | more rationally. NOTE: the "w" option (no wildcard MX | |
2457 | records match local domain) has been eliminated. | |
2458 | Fix some unset variable references pointed out by Bruce Lilly. | |
2459 | Fix host name in process titles when using cached connection. | |
2460 | ||
2461 | 6.17/6.3 93/01/28 | |
2462 | Fix System 5 compatibility changes to be compatible with the rest | |
2463 | of the world. | |
2464 | ||
2465 | 6.16/6.3 93/01/28 | |
2466 | Experimental fix for problem handling errors in the SMTP | |
2467 | protocol in conjunction with connection caching. | |
2468 | System 5 compatibility changes. | |
2469 | ||
2470 | 6.15/6.3 93/01/26 | |
2471 | Fix a bug that causes local mail delivered using -odq to be | |
2472 | eliminated as a duplicate (because it matched the | |
2473 | ctladdr, now passed in as a C line). These changes | |
2474 | are pretty tricky...... | |
2475 | ||
2476 | 6.14/6.3 93/01/25 | |
2477 | Add debugging for some MCI errors. | |
2478 | ||
2479 | 6.13/6.3 93/01/22 | |
2480 | Fix -e compatibility flag to take a value. | |
2481 | Fix a couple of minor compilation warnings on Sun cc. | |
2482 | Improve error messages in a few cases to be more self-explanatory. | |
2483 | ||
2484 | 6.12/6.3 93/01/21 | |
2485 | Fix yet-another problem with environment handling, pointed out | |
2486 | by Yoshitaka Tokugawa and Tom Ivar Helbekkmo. | |
2487 | Some heuristics to try to limit resource exhaustion problems | |
2488 | if a downstream host has been down for a long time. | |
2489 | Fix problem with incorrect host name being logged in "Connection | |
2490 | timed out" messages (from Tom Ivar Helbekkmo). | |
2491 | Fix some ANSI C problems (from Takahiro Kanbe). | |
2492 | Properly log message sender on returned mail during queue run. | |
2493 | Count number of recipients properly. | |
2494 | Fix a problem in yp map code. | |
2495 | Diagnose "message timed out" (from Motonori Nakamura). | |
2496 | ||
2497 | 6.11/6.3 93/01/20 | |
2498 | Fix problem with address delimitor inside quotes. | |
2499 | Define $k and $=k to be the UUCP name (from the uname call) | |
2500 | based on code from Bruce Lilly. | |
2501 | ||
2502 | 6.10/6.2 93/01/18 | |
2503 | Implement arpatounix (largely code from Bruce Lilly). | |
2504 | Log more info (suggested by John Myers). | |
2505 | Allow nested $?...$|...$. (inspired by code from Bruce Lilly of | |
2506 | Sony US). | |
2507 | POSIX compatibility (noted by Keith Bostic). | |
2508 | Handle SMTP MAIL command errors properly (urged by several people, | |
2509 | notably John Myers of CMU). | |
2510 | Do early diagnosis of .cf errors (notably referencing a RHS | |
2511 | substitution that isn't on the LHS). | |
2512 | Adjust checkpointing to better handle batched recipients, suggested | |
2513 | by John Myers. | |
2514 | Fix miscellaneous bugs. | |
2515 | (config files:) Implement MAIL_HUB for all local mail (to handle | |
2516 | NFS-mounted directories) as urged by Tom Ivar Helbekkmo | |
2517 | of the Norwegian School of Economics. | |
2518 | ||
2519 | 6.9/6.1 93/01/13 | |
2520 | Environment handling simplification/bug fix -- child processes | |
2521 | get a minimal, fixed environment. This avoids different | |
2522 | behaviour in queue runs. | |
2523 | Handle commas inside comments properly. | |
2524 | Properly limit large messages submitted in -obq mode. | |
2525 | ||
2526 | 6.8/6.1 93/01/10 | |
2527 | Check mtime of thaw file against .cf and sendmail binary, based on | |
2528 | code from John Myers. | |
2529 | ||
2530 | 6.7/6.1 93/01/10 | |
2531 | MX piggybacking, based on code from John Myers@CMU. | |
2532 | Allow checkcompat to return -1 to mean tempfail. | |
2533 | Bug fix in m_mno computation. | |
2534 | ||
2535 | 6.6/6.1 93/01/09 | |
2536 | Tuning of queueing functions as recommended by John Gardiner Myers. | |
2537 | Return mail headers (no body) on messages with negative precedence. | |
2538 | Minor other bug fixes. | |
2539 | ||
2540 | 6.5/6.1 93/01/03 | |
2541 | Fix botch causing queued headers to have ?XX? prefixes. | |
2542 | ||
2543 | 6.4/6.1 93/01/02 | |
2544 | Changes to recognize special mailer types (e.g., file) early. | |
2545 | ||
2546 | 6.3/6.1 93/01/01 | |
2547 | Pass timeouts to sfgets. | |
2548 | Check for control characters in addresses. | |
2549 | Fixed deferred error reporting. | |
2550 | Report duplicate aliases. | |
2551 | Handle mixed case recursive aliases. | |
2552 | Misc bug fixes. | |
2553 | ||
2554 | 6.2/6.1 92/12/30 | |
2555 | Put return-receipt-to on a conf.c flag (but don't set it). | |
2556 | Fix minor syslog problem. |