BSD 4_3_Net_1 release
[unix-history] / sendmail / src / Version.c
/*
* Copyright (c) 1983 Eric P. Allman
* Copyright (c) 1988 Regents of the University of California.
* All rights reserved.
*
* Redistribution and use in source and binary forms are permitted
* provided that the above copyright notice and this paragraph are
* duplicated in all such forms and that any documentation,
* advertising materials, and other materials related to such
* distribution and use acknowledge that the software was developed
* by the University of California, Berkeley. The name of the
* University may not be used to endorse or promote products derived
* from this software without specific prior written permission.
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*/
#ifndef lint
static char sccsid[] = "@(#)version.c 5.61 (Berkeley) 9/20/88";
#endif /* not lint */
char Version[] = "5.61";
# ifdef COMMENT
SCCS/s.version.c:
D 5.61 88/09/20 22:15:19 eric 484 483 00000/00000/00023
add I option to insist on Internet domain server; add NAMED_BIND
compile option to compile in named routines.
D 5.60 88/06/30 15:00:04 bostic 483 482 00011/00009/00012
install approved copyright notice
D 5.59 88/03/13 19:53:40 bostic 482 481 00016/00010/00005
add Berkeley specific header
D 5.58 87/02/03 20:44:04 eric 481 479 00000/00000/00015
pass sending hostname correctly back via the $s macro (broken sometime
earlier); hack around some name server changes
D 5.57.1.1 86/12/17 16:08:34 eric 480 479 00000/00000/00015
hack around compiler bug that gets confused on isascii
D 5.57 86/10/23 10:11:10 eric 479 478 00000/00000/00015
Fix security bug allowing writing to arbitrary files; from Bart Miller
at U. Wisconsin.
D 5.56 86/10/14 18:06:05 eric 478 477 00000/00000/00015
don't let "locked job" messages remove transcript & lock
D 5.55 86/10/14 17:21:15 eric 477 476 00000/00000/00015
make sure that 0, 1, and 2 are open to avoid confusing syslog;
from Steve Schoch <schoch@orion.arpa>
D 5.54 86/07/21 12:21:11 bloom 476 475 00000/00000/00015
add MX support
D 5.53 86/06/30 16:20:56 bloom 475 474 00000/00000/00015
try multiple addresses in SMTP connect
D 5.52 86/05/06 18:04:16 bloom 474 473 00000/00000/00015
Fix problem with not closing sockets upon errors when opening connections
D 5.51 86/05/02 16:28:28 bloom 473 472 00000/00000/00015
statistics structure moved to its own header file so it may be used by
aux/mailstats
D 5.50 86/04/17 20:18:12 eric 472 471 00000/00000/00015
don't ignore aliasing during queue runs in conjunction with -bd
D 5.49 86/04/02 16:02:31 eric 471 470 00000/00000/00015
don't run around clearing EF_FATALERRS -- this often applies to another
address. Drop uid/gid check in sameaddr -- it causes more problems
than it fixes.
D 5.48 86/03/08 14:12:07 eric 470 469 00000/00000/00015
improve debugging in queue routines; don't output error addresses that
are duplicates or otherwise marked as "don't send"
D 5.47 86/03/08 09:28:15 eric 469 468 00000/00000/00015
do dbminit in a reasonable place
D 5.46 86/03/02 14:07:11 eric 468 467 00000/00000/00015
always ignore SIGCHLD in openmailer; get SccsId correct in alias.c
D 5.45 86/01/30 11:02:58 eric 467 466 00000/00000/00015
fix .forward files that include yourself; this was a bug in sameaddr
that may have caused some other problems
D 5.44 86/01/11 00:18:27 eric 466 465 00000/00000/00015
only check the RHS of aliases during newalias if the "n" option is set;
this option should probably be set if you are not running the nameserver
D 5.43 86/01/10 16:34:08 eric 465 464 00000/00000/00015
adjust WkTimeFact so that -q1h will lower relative priorities of
jobs over long periods, rather than leave them toward the top of the queue
D 5.42 86/01/10 15:49:40 eric 464 463 00000/00000/00015
allow multiple words per line in file classes; require a SCANF compilation
flag to use sscanf in F specs in order to reduce image size
D 5.41 86/01/09 15:19:09 eric 463 462 00000/00000/00015
apparently European timezones were wrong; thanks to Piet Beertema
<mcvax!piet@seismo.CSS.GOV> for this one
D 5.40 86/01/09 14:38:45 eric 462 461 00000/00000/00015
allow underscores in login names
D 5.39 86/01/05 18:49:01 eric 461 460 00000/00000/00015
rewrite reply-to and resent-reply-to; save errorqueueu in qf file;
some performance hacking; some alias handling cleanup; delete leading
spaces from SMTP lines
D 5.38 85/12/17 23:54:45 eric 460 459 00000/00000/00015
lint
D 5.37 85/12/17 21:35:28 eric 459 458 00000/00000/00015
patch to clearenvelope to avoid dereferencing garbage pointers
D 5.36 85/12/09 10:29:07 miriam 458 457 00000/00000/00015
Modify maphostname to do a gethostbyaddr if first character in name
is a bracket.
D 5.35 85/12/07 08:17:56 eric 457 456 00000/00000/00015
several small bugs: don't die if no environment, don't look in
ESM_DEADLETTER state in savemail; lowercase before getpwnam to
allow upper case regular names in alias file
D 5.34 85/11/22 11:38:09 miriam 456 455 00000/00000/00015
Distinguish between temporary failure types. Now will print the
message "Host Name Lookup Failure" when h_errno contains TRY_AGAIN error value.
D 5.33 85/11/22 08:27:48 eric 455 454 00000/00000/00015
give error if alias file cannot be opened; log a message when aliases
are rebuilt; consider addresses with different q_uid's different so
that two recipients forwarding to the same program will work
D 5.32 85/11/21 18:49:02 eric 454 453 00000/00000/00015
don't duplicate original envelope into error envelope
D 5.31 85/10/24 10:38:28 eric 453 452 00000/00000/00015
don't create a queue name in syserr; permit trailing blanks and quoted
commas in aliases.
D 5.30 85/10/19 09:55:01 eric 452 451 00000/00000/00015
strip spaces from ends of alias addresses so that blanks at end of line works
D 5.29 85/10/13 15:03:36 eric 451 450 00000/00000/00015
fix botch with reapchild getting queue runs before intended wait
D 5.28 85/09/30 21:34:39 eric 450 449 00000/00000/00015
clean up some aspects of error message display
D 5.27 85/09/30 21:06:04 eric 449 448 00000/00000/00015
fixes in setproctitle to avoid problems with titles longer than
argv + env
D 5.26 85/09/25 11:02:19 eric 448 447 00000/00000/00015
DO use Ruleset 4 when defining $f -- it's very necessary (fix for <>
will have to be done in configuration); pretty up mailq -v slightly
D 5.25 85/09/24 15:49:04 eric 447 446 00000/00000/00015
clean up queue output somewhat (push null jobs to end); set
SO_REUSEADDR and SO_KEEPALIVE on daemon sockets in the hopes of making
dead connections disappear faster
D 5.24 85/09/24 15:09:56 eric 446 445 00000/00000/00015
don't step on user environment
D 5.23 85/09/23 21:19:05 eric 445 444 00000/00000/00015
deliver directly in SMTP if VERB command has been issued; don't
externalize name using ruleset 4 when defining $f macro: this turns "<>"
into "", which confuses local mail
D 5.22 85/09/21 16:35:33 eric 444 443 00000/00000/00015
yet more cleanup to the process title code
D 5.21 85/09/21 16:24:06 eric 443 442 00000/00000/00015
don't include ctime as part of priority, since the value affects the results of
shouldqueue; we go back to adding ctime into the workcmpf in queue.c
D 5.20 85/09/21 15:52:02 eric 442 441 00000/00000/00015
change sign on WkTimeFact so that is closer to what most people want
D 5.19 85/09/21 15:01:31 eric 441 440 00000/00000/00015
fix silly botch in SMTP command decoding
D 5.18 85/09/21 14:45:53 eric 440 439 00000/00000/00015
clean up priority handling, making several of the parameters configurable:
y - WkRecipFact, z - WkClassFact, Z - WkTimeFact, Y - ForkQueueRuns; improve
process title labelling; finish "errors to postmaster" option
D 5.17 85/09/21 10:31:27 eric 439 438 00000/00000/00015
add -v mode to mailq to print priorities as well (this should be extended
in the future); fix some problems in the savemail state machine.
D 5.16 85/09/20 09:43:20 eric 438 437 00000/00000/00015
print cute labels on programs communicating with SMTP
D 5.15 85/09/19 23:16:24 eric 437 436 00000/00000/00015
label child processes more effectively
D 5.14 85/09/19 22:01:02 eric 436 435 00000/00000/00015
use rename instead of link/unlink
D 5.13 85/09/19 17:43:16 eric 435 434 00000/00000/00015
fix botch in clearenvelope
D 5.12 85/09/19 15:57:48 eric 434 433 00000/00000/00015
updates to make it possible to run the queue in one process; this
permits a database of host status to be built
D 5.11 85/09/19 13:41:13 eric 433 432 00000/00000/00015
lint
D 5.10 85/09/19 01:25:45 eric 432 431 00000/00000/00015
incorporate SMI changes -- still experimental
D 5.9 85/09/17 21:46:27 eric 431 430 00000/00000/00015
use SIGCHLD to catch processes as suggested by Serge Granik
D 5.8 85/09/17 19:24:39 eric 430 429 00000/00000/00015
facilities in syslog
D 5.7 85/09/03 20:08:54 eric 429 428 00000/00000/00015
increase MAXNAME and MAXLINE, as requested by Rick Adams, via
George Goble, via Kirk Smith, via Miriam Amos (why????)
D 5.6 85/09/03 19:50:17 eric 428 427 00000/00000/00015
Wander WIZ from weariful DEBUG to wonderful WIZ woption
D 5.5 85/06/17 18:53:09 eric 427 426 00000/00000/00015
From Bill Nowicki: fixes to the statistics
D 5.4 85/06/16 16:04:51 eric 426 425 00000/00000/00015
arrange for a useful error message if the mailer fork fails
D 5.3 85/06/15 18:52:11 eric 425 424 00000/00000/00015
fix overzealous removal of df file
D 5.2 85/06/08 10:30:59 eric 424 423 00000/00000/00015
lint for 4.3 release
D 5.1 85/06/07 15:19:18 dist 423 422 00013/00003/00002
Add copyright
D 4.56 85/06/02 10:54:52 eric 422 421 00000/00000/00005
plug another security hole with command line arguments
D 4.55 85/06/01 15:26:40 eric 421 420 00000/00000/00005
More changes from Bill Nowicki -- file closing and improved logging.
D 4.54 85/05/24 11:00:43 eric 420 419 00000/00000/00005
Changes from Bill Nowicki <sun!rose!nowicki> and Jay Lepreau <lepreau@utah-cs>:
Fix "bad file number" problem; improve error reporting; try to keep messages
closer to their original order. Also, drop "safe" mode in readcf since we
never run setuid when -C is specified.
D 4.53 85/05/15 20:26:44 eric 419 418 00000/00000/00005
reenable signals in an event that may be called to run the queue; this
allows hung connections to time out properly during a queue run. This
fix provided by Bill Nowicki.
D 4.52 85/05/06 20:06:04 eric 418 417 00000/00000/00005
check syscall return values in a few questions; thanks go to Ian Darwin's
rudely public ragging on this one.
D 4.51 85/04/29 22:48:37 eric 417 416 00000/00000/00005
lock alias file while rebuilding if flock system call available
D 4.50 85/04/28 10:46:11 eric 416 415 00000/00000/00005
stop collecting message on ferror(InChannel); changes to compile even
if DEBUG isn't defined; avoid sending nonstandard 050 messages unless
requested; recover from trashed DBM files; use recipient rewriting set
on user part after ruleset 0 completes
D 4.49 85/04/25 20:06:08 miriam 415 414 00000/00000/00005
Remove lib/libsys.a references - not used anymore.
D 4.48 85/04/20 15:14:15 eric 414 413 00000/00000/00005
don't assume that all apparently local senders have passwd entries
D 4.47 85/04/04 17:48:45 miriam 413 412 00000/00000/00005
Change serverity of LOG_ERR to LOG_MAIL so syslog will place in
appropriate log file.
D 4.46 85/02/15 09:28:10 eric 412 411 00000/00000/00005
fix some bugs with -C flag; one with queuing from Teus
D 4.45 85/02/14 22:43:42 eric 411 410 00000/00000/00005
"and" file mode bits with 0777
D 4.44 84/12/06 10:35:01 eric 410 409 00000/00000/00005
back out attempt to use flock in the queue -- we don't in gerneral have
an open file descriptor available.
D 4.43 84/12/05 23:16:18 eric 409 408 00000/00000/00005
Try to use flock call (this doesn't work because we don't always have an
open fd); security and performance fixes from Kirk Smith at Purdue; "a"
option is now the number of minutes to wait for "@:@" alias; fix bug in
$[ $] using -t; random cleanup
D 4.42 84/11/13 12:46:05 eric 408 407 00000/00000/00005
assorted optimizations (no functional changes)
D 4.41 84/09/18 19:53:05 eric 407 406 00000/00000/00005
fix multiline aliases
D 4.40 84/09/08 17:44:21 eric 406 405 00000/00000/00005
fix hostname mapping to be repeatable (as required by some .cf files).
D 4.39 84/08/11 23:19:30 eric 405 404 00000/00000/00005
Add $[ and $] as RHS operators to look up the contents and pass them
to maphostname; maphostname currently looks them up in /etc/hosts and
converts them to canonical form, but could be turned into a general
name server..... huzzah!!
D 4.38 84/08/11 17:56:24 eric 404 403 00000/00000/00005
changes from Tom Ferrin <ucsfcgl!tef>: don't drop messages on the floor
if no local mailer available; give real "errno" message in syserr.
D 4.37 84/08/11 17:50:27 eric 403 402 00000/00000/00005
Assorted changes from Guy Harris <rlgvax!guy>: mostly lint & USG
D 4.36 84/08/11 16:57:17 eric 402 401 00000/00000/00005
don't add ".ARPA" (or whatever net name) to names that already have
a dot in them; pull NetName out of initialized data space so that
it can be changed in frozen configuration files
D 4.35 84/08/11 16:54:59 eric 401 400 00000/00000/00005
Changes from Greg Couch <ucsfcgl!gregc> for V7 compatibility and
miscellaneous bug fixes; "clear" => "bzero" and "bmove" => "bcopy"
throughout for consistency; bzero is now in bcopy.c (these are
supplied by libc on 4.2bsd)
D 4.34 84/08/11 14:38:46 eric 400 399 00000/00000/00005
fixes from Liudvikas Bukys <bukys@rochester.ARPA>:
allow -M flag to be used more than once;
handle hosts where "gethostname" does not return the canonical name.
D 4.33 84/08/11 13:23:32 eric 399 398 00000/00000/00005
add E mailer flag to > escape From lines (for files)
D 4.32 84/08/05 11:01:18 eric 398 397 00000/00000/00005
add B option to set blank substitution character
D 4.31 84/08/05 10:14:14 eric 397 396 00000/00000/00005
alway reset uid and gid immediately if alternate config file
D 4.30 84/05/13 15:45:35 eric 396 395 00000/00000/00005
remove .mailcf hack -- it's been abused.
D 4.29 84/05/13 14:03:01 eric 395 394 00000/00000/00005
change "returnto" to "returnq" for PDP-11 compilers
D 4.28 84/03/17 16:26:58 eric 394 393 00000/00000/00005
always fold case on host names; fold case on the LHS of aliases
D 4.27 84/03/11 21:21:31 eric 393 392 00000/00000/00005
fix argument to gethostname left over from some old interface....
D 4.26 84/03/11 19:58:20 eric 392 391 00000/00000/00005
disable UPPER->lower case mapping in RHS's of aliases so that upper
case letters can be used in file names and as args to programs.
D 4.25 84/03/11 16:49:25 eric 391 390 00000/00000/00005
changes from Bill Nowicki <nowicki@diablo.ARPA> to avoid sending
errors if a connection is aborted;
changes from Greg Katz <katz@sri-tsc> to help with PDP-11 versions;
allow home network name to be changed;
change macro expansion character from $ to \001 so that $'s can be
used in headers (.cf unchanged).
D 4.24 83/12/27 22:52:50 eric 390 389 00000/00000/00005
don't close files immediately before exec of mailer so that we can log;
use FIOCLEX instead. Suggested by Tom Ferrin, UCSF CGL.
D 4.23 83/12/27 21:21:47 eric 389 388 00000/00000/00005
fix bug with un-DBM'ed alias files that adds a newline on the end of
the last entry in the alias; found by John Gilmore, SMI
D 4.22 83/11/26 18:52:55 eric 388 387 00000/00000/00005
fix SERIOUS bug allowing anyone to be "wiz" without a password
if the configuration was frozen
D 4.21 83/11/13 18:08:19 eric 387 386 00000/00000/00005
Fixes two nasty problems, both pointed out by Bill Nowicki at Stanford:
I/O errors on input in collect would cause infinite loops, and a protocol
error (or other error that would call smtpquit abnormally) would cause
core dumps
D 4.20 83/11/10 09:05:46 eric 386 385 00000/00000/00005
Be able to override the hostname in the configuration file when frozen
D 4.19 83/10/29 16:46:12 eric 385 384 00000/00000/00005
declare getpwnam in recipient.c for earlier systems
D 4.18 83/10/29 12:01:44 eric 384 383 00000/00000/00005
add newline to "deferred" message in usersmtp.c
D 4.17 83/10/23 17:16:56 eric 383 382 00000/00000/00005
handle dollar signs in headers properly
D 4.16 83/10/16 16:08:08 eric 382 381 00000/00000/00005
Postpone opening the alias DBM file until after the fork in srvrsmtp so
that the alias database is as current as possible; thanks to dagobah!efo
(Eben Ostby) for this one.
D 4.15 83/10/16 15:26:12 eric 381 380 00000/00000/00005
reset errno in parseaddr so that syserr gives a permanent error code and
no extraneous information about non-errors
D 4.14 83/10/02 15:31:56 eric 380 379 00000/00000/00005
Use old environment after the thaw; credit rhc for this.
D 4.13 83/10/01 16:57:57 eric 379 378 00000/00000/00005
clean up error handling in general; make sure that something gets logged
in the transcript if the connection cannot be established; clean up Teus
Hagen's mod to arpadate.c to match the sendmail coding style.
D 4.12 83/09/07 09:45:41 eric 378 377 00000/00000/00005
Increase timeout for greeting message to five minutes; remember to close
the connection properly if we get a failure during connection establishment.
D 4.11 83/09/05 15:02:48 eric 377 376 00000/00000/00005
Fix security hole caused by being able to freeze the configuration
without owning the .fc file.
D 4.10 83/09/05 14:33:54 eric 376 375 00000/00000/00005
Cut down the amount of bulk that is sent in SMTP error messages, by
trying to log only real errors in the transcript. -v mode is unchanged.
D 4.9 83/08/31 17:42:50 eric 375 374 00000/00000/00005
fix problem with timeouts caused by change in EINTR semantics in 4.2bsd;
add a two minute timeout on the greeting message in user smtp to detect
hung connections
D 4.8 83/08/28 15:38:15 eric 374 373 00000/00000/00005
set FIOCLEX on /dev/kmem file when getting load average
D 4.7 83/08/28 14:45:35 eric 373 372 00000/00000/00005
Refuse to talk to yourself (i.e., reject HELO packets with your own name).
Add two thresholds -- option 'x' is the load average at which messages are
queued rather than delivered (default 12); option 'X' is the load average
at which incoming TCP connections are refused (default 25).
D 4.6 83/08/21 15:40:13 eric 372 371 00000/00000/00005
Drop "Sender:" hack, since it doesn't work properly when relaying messages.
D 4.5 83/08/21 15:15:09 eric 371 370 00000/00000/00005
Insert a Sender: line if a From: line is specified and is different than
what we would insert; don't send back a separate error message if we have
diagnosed an error in a RCPT command; fix a *0 problem in some debug code.
D 4.4 83/08/06 10:37:57 eric 370 369 00000/00000/00005
Clear errno before trying connect in an attempt to track down EPERM
problems.
D 4.3 83/07/31 10:46:22 eric 369 368 00000/00000/00005
Add EX_NOPERM to sysexits.h for kre
D 4.2 83/07/27 22:56:44 eric 368 367 00000/00000/00005
Don't uppercase hostname in myhostname so that it can be used as a
UUCP name.
D 4.1 83/07/25 19:46:27 eric 367 366 00000/00000/00005
4.2 release version
D 3.347 83/07/13 10:38:17 eric 366 365 00000/00000/00005
Delete "load limiting" for SMTP connections (a bad ethernet board can
hang up all incoming mail); use sfgets in collect (same reason); check
for I/O error in collect (from Bill Nowicki); switch date format to
RFC822 style.
D 3.346 83/06/14 11:05:18 eric 365 364 00000/00000/00005
log the message-id only if non-null
D 3.345 83/06/11 20:59:30 eric 364 363 00000/00000/00005
%d => %ld in mailq for PDP-11's
D 3.344 83/06/11 19:28:58 eric 363 362 00000/00000/00005
MRs: 045
MRs: 240
don't rearrange input header lines; force Received: lines to be at the
beginning by always adding new header fields at the end of the header.
D 3.343 83/05/21 11:01:51 eric 362 361 00000/00000/00005
Miscellaneous changes for PDP-11's.
Always send to a login name before a full name.
D 3.342 83/05/20 11:50:16 eric 361 360 00000/00000/00005
MRs: 238
MRs: 239
Don't stack processes when VRFY fails.
Give an error message on multiple RCPT commands with a bad address.
D 3.341 83/05/18 11:57:09 eric 360 359 00000/00000/00005
Change WKTIMEFACT to be negative to force failing jobs to the end of the
queue rather than to the beginning, giving better overall performance --
as noted by Jay Lepreau. Also, clean up the format of the mailq output.
D 3.340 83/05/07 11:28:37 eric 359 358 00000/00000/00005
MRs: 237
Pass the size of the buffer to myhostname.
D 3.339 83/05/04 11:29:53 eric 358 357 00000/00000/00005
MRs: 235
fix botch in 3.338 -- arguments reversed
D 3.338 83/05/04 11:16:29 eric 357 356 00000/00000/00005
MRs: 235
Don't send domain-based UUCP addresses to UGLYUUCP hosts
D 3.337 83/05/01 14:27:55 eric 356 355 00000/00000/00005
MRs: 234
avoid core dumps on messages with very long header fields
D 3.336 83/04/30 15:14:51 eric 355 354 00000/00000/00005
lint
D 3.335 83/04/23 12:54:57 eric 354 353 00000/00000/00005
MRs: 230
Don't put Resent-*: lines in queue file to prevent outputing them
inappropriately in the sent message.
D 3.334 83/04/19 19:20:44 eric 353 352 00000/00000/00005
MRs: 228
Fix bug causing convtime to loop forever on "w" (week) specification.
D 3.333 83/04/17 17:19:04 eric 352 351 00000/00000/00005
MRs: 199
MRs: 218
MRs: 221
MRs: 224
put true current time on SMTP greeting message; drop >From hack (this belongs
in the mailer if needed); fix bogus errno problems (clear errno in many
places); fix *(0) problems
D 3.332 83/03/26 14:26:43 eric 351 350 00000/00000/00005
MRs: 213
MRs: 214
MRs: 215
increase buffer size in smtpmessage to avoid overflows; rewrite again with
ruleset three after appending from domain so that we can add the bracket
punctuation; changes from MRH for USG UNIX 5.0
D 3.331 83/03/19 14:25:33 eric 350 349 00000/00000/00005
MRs: 211
Don't have mail from su'ed people come from "daemon"
D 3.330 83/03/19 13:14:27 eric 349 348 00000/00000/00005
MRs: 147
Fix botch of putting incorrect full names on some addresses (usually
UNIX-to-UNIX Copy)
D 3.329 83/03/12 18:05:51 eric 348 347 00000/00000/00005
MRs: 196
take ECONNRESET (Connection reset by peer) as a temporary error during
connection initiation.
D 3.328 83/03/12 17:41:55 eric 347 346 00000/00000/00005
MRs: 208
Check for I/O error on close of temp file -- i.e., last buffer flush
D 3.327 83/03/12 15:40:05 eric 346 345 00000/00000/00005
MRs: 207
Don't artifically add a "from: $q" when running the queue -- this seems
to cause the from line in the qf file to be ignored.
D 3.326 83/03/10 00:48:02 eric 345 344 00000/00000/00005
MRs: 206
Delete colon on front of aliases
D 3.325 83/03/08 19:22:48 eric 344 343 00000/00000/00005
MRs: 205
Pass the delimiter character to parseaddr so that we can correctly
decide between comma and space
D 3.324 83/03/07 09:55:13 eric 343 342 00000/00000/00005
MRs: 203
Don't pass EX_TEMPFAIL code out (since we have already taken responsibility
for delivering the message anyway).
D 3.323 83/03/07 09:25:01 eric 342 341 00000/00000/00005
MRs: 202
Handle OLDSTYLE addresses properly with the -t flag; notice that tabs also
delimit addresses (as well as spaces)
D 3.322 83/03/06 16:30:29 eric 341 340 00000/00000/00005
MRs: 201
Handle messages with "Resent-xxx:" header lines properly (basically mark
the message as being resent); ignore incoming From: lines if their text
exactly matches our machine-readable address exactly -- this causes the
full name to be added when called from (e.g.) MH. Both of these mode are
to improve interaction with MH.
D 3.321 83/03/05 17:39:11 eric 340 339 00000/00000/00005
MRs: 200
Ignore delimiters (e.g., commas) inside quotes
D 3.320 83/02/26 15:32:31 eric 339 338 00000/00000/00005
MRs: 193
Don't log message-id mapping and from person in a queue run
D 3.319 83/02/26 15:06:05 eric 338 337 00000/00000/00005
MRs: 162
map host name for $w macro to upper case -- this is more conventional
D 3.318 83/02/26 11:51:43 eric 337 336 00000/00000/00005
MRs: 193
log queueid <=> message-id correspondence
D 3.317 83/02/25 21:20:20 eric 336 335 00000/00000/00005
MRs: 181
More attempts at insuring that everything goes through ruleset 4
D 3.316 83/02/24 20:03:04 eric 335 334 00000/00000/00005
MRs: 181
arrange to cleanup addresses using ruleset 4 before storing in ADDR struct
D 3.315 83/02/24 18:55:32 eric 334 333 00000/00000/00005
MRs: 162
MRs: 192
Fix bug in $w and $=w setup; truncate output to seven bits if the "limits"
flag is set to insure that nothing can be sent that looks like TELNET
protocol
D 3.314 83/02/20 12:29:15 eric 333 332 00000/00000/00005
MRs: 190
Avoid loops in the auto-closedown code
D 3.313 83/02/19 14:42:12 eric 332 331 00000/00000/00005
MRs: 188
Avoid core dumps on very long addresses in headers.
D 3.312 83/02/18 13:11:57 eric 331 330 00000/00000/00005
MRs: 183
Improve host verification -- put something in even if no HELO command given
D 3.311 83/02/18 12:44:13 eric 330 329 00000/00000/00005
MRs: 183
MRs: 185
MRs: 187
Add HELO hostname verification; give an error if a message terminates with
EOF rather than dot in SMTP mode; put in a catch for "Not owner" error on
connect -- see if we can find anything funny.
D 3.310 83/02/13 16:23:03 eric 329 328 00000/00000/00005
MRs: 182
fix clrbitmap to really clear the entire bitmap
D 3.309 83/02/10 10:00:49 eric 328 327 00000/00000/00005
MRs: 176
avoid core dump on return receipt processing; clean up return receipt
message.
D 3.308 83/02/08 10:50:24 eric 327 326 00000/00000/00005
MRs: 167
MRs: 172
MRs: 173
MRs: 174
clean up problems when QUEUE compile flag not defined; clean up hostname
code to run on non-4.1c systems; fix use of -oeq (quiet on errors) flag.
D 3.307 83/02/03 10:46:02 eric 326 325 00001/00001/00004
MRs: 160
Change version stamp to have no date (so that it looks nice as $v/$V)
D 3.306 83/02/03 10:29:15 eric 325 324 00000/00000/00005
MRs: 160
$e macro is now SMTP entry message (so that configuration version can
be included).
D 3.305 83/02/03 07:54:10 eric 324 323 00000/00000/00005
MRs: 168
Make mailer size limits a per-mailer parameter (M field in the mailer
descriptor)
D 3.304 83/02/02 12:53:10 eric 323 322 00000/00000/00005
MRs: 165
implement classes and mailer flags as a bit map; define new class 'w'
as the set of all hosts we are known by
D 3.303 83/02/01 20:47:34 eric 322 321 00000/00000/00005
MRs: 166
don't call printqueue() if queueing is turned off
D 3.302 83/01/18 20:38:09 eric 321 320 00000/00000/00005
pause() after reply error if 18.100 set -- so that Sam can try to track
down the state of the connection in the CMU-CS-A problem.
D 3.301 83/01/17 21:41:42 eric 320 319 00000/00000/00005
MRs: 158
Set the $w macro to the hostname if at all possible to allow generic
configuration tables.
D 3.300 83/01/17 12:31:10 eric 319 318 00000/00000/00005
MRs: 155
fix bug that caused "\r\n" string in TCP mailer definition to turn
into something else -- causing all TCP connections to hang.
D 3.299 83/01/17 09:32:18 eric 318 317 00000/00000/00005
MRs: 154
define a newline in "nullmailer" so that queue files get written with
newlines between the "H" lines.
D 3.298 83/01/16 22:08:47 eric 317 316 00000/00000/00005
put in socket debugging on a debug flag to help Sam find the CMU-CS-A
problem -- this probably won't work with early 4.1c systems.
D 3.297 83/01/16 17:24:29 eric 316 315 00000/00000/00005
MRs: 153
make the maximum number of simultaneous SMTP connections an option
D 3.296 83/01/16 13:14:04 eric 315 314 00000/00000/00005
MRs: 152
Change mailer spec to have labelled fields for future expansion.
**** This delta invalidates previous configuration files ****
D 3.295 83/01/15 17:40:49 eric 314 313 00000/00000/00005
MRs: 149
be sure everything gets appropriately externalized; canonname goes away,
since everything is now done by remotename
D 3.294 83/01/12 08:56:51 eric 313 312 00000/00000/00005
MRs: 144
fix date format to be truly RFC822
D 3.293 83/01/09 15:43:11 eric 312 311 00000/00000/00005
MRs: 139
fix CRLF problem when sending SMTP commands; make newstr() and crlf()
into macros
D 3.292 83/01/08 19:54:37 eric 311 310 00000/00000/00005
MRs: 143
release daemon resources when running the queue
D 3.291 83/01/08 13:49:08 eric 310 309 00000/00000/00005
MRs: 142
be sure to open a new transcript on every queue run; when returning
an SMTP transcript, only send the last half (i.e., that part which
describes the sending half).
D 3.290 83/01/06 18:21:54 eric 309 308 00000/00000/00005
MRs: 141
allow user-setable error codes in "error" mailer
D 3.289 83/01/06 18:09:01 eric 308 307 00000/00000/00005
MRs: 140
fix a botch in argument processing such that it used the last flag as
a recipient if there were no other recipients (e.g., with "-t")
D 3.288 83/01/06 12:05:54 eric 307 306 00000/00000/00005
MRs: 132
fix (one more time!) long line wrapping.....
D 3.287 83/01/06 10:46:17 eric 306 305 00000/00000/00005
MRs: 139
split up FULLSMTP flag -- now have "X" (M_XDOT, use hidden dot algorithm),
"p" (M_FROMPATH, use reverse-path in MAIL FROM:<> command), and "L"
(M_LIMITS, enforce SMTP line limits). I would like to change the format
of the mail defn one more time to make named fields so that it would
be more extensible.
D 3.286 83/01/05 20:30:10 eric 305 304 00000/00000/00005
MRs: 132
fix folded line output
D 3.285 83/01/05 17:57:11 eric 304 303 00000/00000/00005
MRs: 138
curiouser and curiouser..... a read error on the reply from a QUIT will
cause another QUIT command, and thus an fclose(NULL). Some sites seem
to be sending a 421 Shutting down and then closing without waiting for
the QUIT, so this happens....
D 3.284 83/01/05 10:19:04 eric 303 302 00000/00000/00005
MRs: 138
improve error recovery for bizarre SMTP cases; unfortunately CMU has
decided to start working again, so the strangest parts are untested.
D 3.283 83/01/04 19:53:55 eric 302 301 00000/00000/00005
MRs: 137
externalize $g macro using ruleset 4 also
D 3.282 83/01/04 18:52:08 eric 301 300 00000/00000/00005
MRs: 136
Don't try to drop our controlling TTY except when we are starting up a
daemon; this can cause UUCP jobs to hang waiting for carrier on a dialin
line (completely contrary to the intent). Many thanks to Keith Sklower
for pointing this one out. However, that damned parameter to disconnect()
has reappeared!
D 3.281 83/01/04 17:45:25 eric 300 299 00000/00000/00005
MRs: 135
Ignore SIGPIPE early (in main rather than in deliver) so that rude hosts
that close the connection early don't cause us to die -- in particular,
CMU-CS-A (nee CMU-10A) was doing this after the DATA command; the problem
went away quite mysteriously, so I have no idea why it happened
D 3.280 83/01/04 13:10:35 eric 299 298 00000/00000/00005
MRs: 129
MRs: 134
take EHOSTDOWN as a temporary failure; change the format of "deferred"
message to be consistent with other messages.
D 3.279 83/01/04 10:58:55 eric 298 297 00000/00000/00005
MRs: 133
fix botch that causes sendmail to core dump when there are large
numbers of requests
D 3.278 83/01/04 10:04:41 eric 297 296 00000/00000/00005
MRs: 132
Detect an internal error that seems to be occuring
D 3.277 83/01/03 18:01:33 eric 296 295 00000/00000/00005
MRs: 129
give more useful error messages (including the errno that caused
a temporary failure); reflect these messages out to mailq
D 3.276 83/01/03 14:02:28 eric 295 294 00000/00000/00005
MRs: 137
have canonname pass the address through ruleset four also
D 3.275 83/01/03 13:44:39 eric 294 293 00000/00000/00005
MRs: 131
take ENETUNREACH (Network unreachable) as a transient error -- this
probably isn't usually right, but it seem safer in the long run....
D 3.274 83/01/03 13:19:37 eric 293 292 00000/00000/00005
MRs: 129
print "request" instead of "requests" if there is only one request
D 3.273 83/01/03 13:03:01 eric 292 291 00000/00000/00005
MRs: 130
fix bug in commaize so that it won't core dump on every message (sigh);
process timeouts like normal errors so that they will get delivered to
the correct address (i.e., the Errors-To: address).
D 3.272 83/01/03 11:28:04 eric 291 290 00000/00000/00005
MRs: 129
fix botch in reading the queue that caused it to throw away the last
entry it read -- this was particulary obvious with only one entry in
the queue.
D 3.271 83/01/02 15:33:36 eric 290 289 00000/00000/00005
MRs: 124
Take errno 65, "Host is unreachable", to be a recoverable error
D 3.270 83/01/02 14:27:32 eric 289 288 00000/00000/00005
MRs: 129
clean up output of mailq mode
D 3.269 83/01/01 21:25:35 eric 288 287 00000/00000/00005
MRs: 123
Put CRLF on all lines in user SMTP. Pass this info down to
innumerable routines.
D 3.268 83/01/01 18:14:56 eric 287 286 00000/00000/00005
MRs: 122
Use a more resilient algorithm to handle the special case of an SMTP
connection that is going down spontaneously (with a 421 reply code)
D 3.267 83/01/01 16:02:43 eric 286 285 00000/00000/00005
MRs: 128
tag syserr's specially in the log so they can be grep'ed out easily
D 3.266 82/12/30 17:30:57 eric 285 284 00000/00000/00005
MRs: 114
don't bother timing out on *.cf and qf* file reads -- they are
really very vanilla
D 3.265 82/12/30 16:57:13 eric 284 283 00000/00000/00005
MRs: 113
close files 3 through 20 before startup to insure sufficient resources
D 3.264 82/12/29 17:39:27 eric 283 282 00000/00000/00005
MRs: 112
don't htons(sp->s_port) in makeconnection
D 3.263 82/12/24 08:14:55 eric 282 281 00000/00000/00005
MRs: 108
Change parse to parseaddr for BB&N TCP/IP implementation; clean up
comments in daemon.c to simplify the poor alternate protocol type.
D 3.262 82/12/14 19:23:23 eric 281 280 00000/00000/00005
MRs: 106
fix freeze mode to do something more interesting that refreezing (over
and over and over and .......)
D 3.261 82/12/14 16:57:16 eric 280 279 00000/00000/00005
MRs: 105
Add "print mail queue" mode (-bp flag or call as "mailq")
D 3.260 82/12/13 18:25:22 eric 279 278 00000/00000/00005
MRs: 085
The routine "sendto" is now a system call (yeuch!); change our sendto
to "sendtolist"
D 3.259 82/12/13 17:47:27 eric 278 277 00000/00000/00005
MRs: 085
NEW-IPC: convert to 4.1c
D 3.258 82/12/09 19:18:32 eric 277 276 00000/00000/00005
MRs: 036
MRs: 053
MRs: 064
Fix a bug triggered when we add the sender's "@domain" to an address
in the message body that is missing a domain -- we forgot to null
terminate the list.
D 3.257 82/12/09 11:19:09 eric 276 275 00000/00000/00005
MRs: 081
MRs: 095
MRs: 103
log read timeouts as syserrs; be able to match the inverse of a class
using the $~x syntax; don't add a full name during network forward operations
D 3.256 82/12/05 13:46:29 eric 275 274 00000/00000/00005
MRs: 092
Clear the envelope in the child in server SMTP to insure that our oh so
helpful parent doesn't delete our transcript; move the transcript and
temporary file pointers into the envelope; pass the envelope to other
routines in the holy war against global variables; split off envelope
routines from main.c to envelope.c
D 3.255 82/11/28 16:00:50 eric 274 273 00000/00000/00005
implement SMTP auto-shutdown on 421 codes; clean up some error processing
items, particularly in SMTP; don't reinstantiate error message bodies after
queueing; other minor changes. This is all cleanup from 3.253.
D 3.254 82/11/28 10:22:20 eric 273 272 00000/00000/00005
fix a number of problems left over from yesterday's delta. The big
triumph is being able to delete the parameter from disconnect().
D 3.253 82/11/28 00:22:21 eric 272 271 00000/00000/00005
Many changes resulting from a complete code readthrough. Most of these
fix minor bugs or change the internal structure for clarity, etc. There
should be almost no externally visible changes (other than some cleaner
error message printouts and the like).
D 3.252 82/11/24 18:44:28 eric 271 270 00000/00000/00005
lint it
D 3.251 82/11/24 17:15:30 eric 270 269 00000/00000/00005
MRs: 026
run SMTP jobs in a subprocess so that multiple jobs will work. This
delta also changes the envelope data structure so that flags are in
a bit map, and adjusts some of the semantics. The transcript is now
local to an envelope. A bunch of old code is deleted. A serious bug
was fixed in the "run in background" code. Etc., etc.
D 3.250 82/11/21 17:19:05 eric 269 268 00000/00000/00005
MRs: 026
preliminary hacks for multiple SMTP transactions per connection: make
assignment of multiple queue id's more efficient, make prefixes two
characters (e.g., qfAA99999), pass the file name to freeze and thaw,
add a mailer flag saying we are talking to one of our own kind.
D 3.249 82/11/20 12:43:29 eric 268 267 00000/00000/00005
MRs: 083
Accept user@[net.host.logical.imp] syntax
D 3.248 82/11/18 21:33:38 eric 267 266 00000/00000/00005
MRs: 080
Correctly run "sendmail -q" (had a reversed condition on QueueIntvl)
D 3.247 82/11/18 17:54:23 eric 266 265 00000/00000/00005
MRs: 079
Fix bug causing loops in sendto if there are scanner errors in addresses
D 3.246 82/11/18 08:56:27 eric 265 264 00000/00000/00005
MRs: 060
MRs: 073
disconnect input, output, signals, etc. when running in background
D 3.245 82/11/17 09:36:47 eric 264 263 00000/00000/00005
MRs: 060
split operation mode ("-bx" flag) and delivery mode ("d" option)
so that operation mode can apply to SMTP/daemon connections also.
D 3.244 82/11/14 15:34:59 eric 263 262 00000/00000/00005
MRs: 075
Explicitly inherit e_oldstyle from BlankEnvelope to MainEnvelope
D 3.243 82/11/14 15:14:00 eric 262 261 00000/00000/00005
MRs: 074
fix quote processing on program mailers
D 3.242 82/11/14 12:26:17 eric 261 260 00000/00000/00005
MRs: 072
Don't give an error message on unknown options
D 3.241 82/11/13 18:07:59 eric 260 259 00000/00000/00005
MRs: 021
MRs: 066
MRs: 069
MRs: 069
MRs: 070
MRs: 071
Clean up argument structure (-I=>-bi, -Z=>-bz). Add -bp stub to someday
print queue. Move compile conf into conf.h (still some stuff in the
Makefile). Assume -bp if called as "mailq" and -bi if called as
"newaliases". Drop old directory hack -- send out compat code instead.
Don't rebuild the alias file automatically unless the D option is set.
Clean up compilation flags.
D 3.240 82/11/07 16:14:44 eric 259 258 00000/00000/00005
MRs: 041
make all mailer output go to the transcript if running server smtp; this
has the effect of making some significant changes in the output structure
to handle such things as -em and -as together
D 3.239 82/11/07 15:31:50 eric 258 257 00000/00000/00005
MRs: 063
don't flag errors in setting dangerous options when -C is used
D 3.238 82/11/05 13:12:52 eric 257 256 00000/00000/00005
MRs: 062
arrange to freeze the configuration file for quick startup -- this
technique requires reprocessing the argv so that flag settings don't
get lost, and is really rather of a hack.
D 3.237 82/11/04 15:22:16 eric 256 255 00000/00000/00005
MRs: 019
don't unlink qf & df files on ^C
D 3.236 82/11/04 13:27:28 eric 255 254 00000/00000/00005
MRs: 037
put header conditionals into the .cf file
D 3.235 82/11/03 11:18:06 eric 254 253 00000/00000/00005
MRs: 059
don't strip quotes off of addresses during prescan
D 3.234 82/11/03 10:34:13 eric 253 252 00000/00000/00005
MRs: 058
Put the temporary file mode on the F option
D 3.233 82/11/03 09:49:15 eric 252 251 00000/00000/00005
MRs: 049
Arrange to strip quote bits in message header; move SPACESUB into
conf.c; change SpaceSub to unquoted dot
D 3.232 82/11/03 09:00:33 eric 251 250 00000/00000/00005
MRs: 056
Arrange for queue.c to aapt to systems w/o new directory code
D 3.231 82/10/31 13:47:06 eric 250 249 00000/00000/00005
MRs: 032
MRs: 051
Call ruleset 4 after doing per-mailer translation to convert from
internal to external form.
D 3.230 82/10/28 17:41:15 eric 249 248 00000/00000/00005
MRs: 039
MRs: 027
Put the "@:@" trick on the "a" option. Also, move TrustedUsers into
sendmail.h (it should have gone here in the first place!)
D 3.229 82/10/27 20:43:35 eric 248 247 00000/00000/00005
MRs: 044
strip out bcc: and resent-bcc: always
D 3.228 82/10/25 08:30:12 eric 247 246 00000/00000/00005
MRs: 040
Don't send closing protocol to SMTP if you haven't opened the
connection; this happens if checkcompat fails on the only recipient.
D 3.227 82/10/22 09:02:44 eric 246 245 00000/00000/00005
MRs: 023
part of a heuristic hill climbing algorithm to minimize the number of
IPC bugs that come crawling over me.
D 3.226 82/10/16 15:24:52 eric 245 244 00000/00000/00005
MRs: 027
Put list of login names able to use -f in the .cf file.
D 3.225 82/10/16 14:43:47 eric 244 243 00000/00000/00005
MRs: 007
Arrange for a wizards password (the W option). The SMTP KILL command
may only be issued if this option is set. This delta adds the "WIZ"
command, and changes _KILL => KILL, _DEBUG => DEBUG, _VERBOSE => VERB,
and _SHOWQ => SHOWQ.
D 3.224 82/10/16 13:43:28 eric 243 242 00000/00000/00005
MRs: 024
Fix debug statement in sendall
D 3.223 82/10/16 13:22:22 eric 242 241 00000/00000/00005
MRs: 010
Arrange for MD_FORK to work well with -v so that we can use it as the
default. This was really a separate bug, but I have just lumped it in
here -- the problem came up with stty tostop.
D 3.222 82/10/13 21:55:07 eric 241 240 00000/00000/00005
MRs: 023
Don't interrupt the process doing accepts (have a separate process
running the queue) to avoid a large pile of 4.1[abc] bugs. When
something more stable comes out, I will change this.
D 3.221 82/10/13 18:43:28 eric 240 239 00000/00000/00005
MRs: 022
Don't interpret <, >, (, or ) while in QST (quote state) during prescan
D 3.220 82/10/11 09:51:43 eric 239 238 00000/00000/00005
MRs: 016
have auto-queueups print a polite message in the log (rather than an
obnoxious "Temporary Failure"). Adds a new routine "logdelivery".
D 3.219 82/10/09 21:02:27 eric 238 237 00000/00000/00005
MRs: 005
force a queuename in returntosender to insure that everyone has a
queue name.
D 3.218 82/10/09 20:27:42 eric 237 236 00000/00000/00005
MRs: 003
Lock out interrupts during alias rebuild; add an alias "@:@" after
rebuild that we can check for to insure that the alias file is up to
date. Times out after five minutes (is this reasonable on ucbvax?)
and forces a rebuild. It shouldn't matter in the long run if two
people rebuild, so I think this is the right thing to do.
D 3.217 82/10/09 19:06:31 eric 236 235 00000/00000/00005
MRs: 002
Handle Reverse-Path in some reasonable way. You must put the 'X'
flag (M_FULLSMTP) in the local mailer's flags to get this line.
D 3.216 82/10/09 18:11:21 eric 235 234 00000/00000/00005
MRs: 013
print a status indication when a message is autoqueued, either from
a -bq flag or a NoConnect
D 3.215 82/10/09 17:22:35 eric 234 233 00000/00000/00005
MRs: 008
Force -v override of deferred connect
D 3.214 82/10/09 17:10:37 eric 233 232 00000/00000/00005
MRs: 004
Only put the "from" person on the error queue if an error actually
occured -- prevents many "duplicate supressed" messages, etc.
D 3.213 82/10/09 09:05:35 eric 232 231 00000/00000/00005
MRs: 001
implement an experimental forward-path algorithm by stripping off a
leading "@..." component and dropping it on the end.
D 3.212 82/10/07 08:52:47 eric 231 230 00000/00000/00005
try to come up with a workaround on some of the IPC problems relating to
interrupted accepts -- all this can go when everyone at Berkeley runs
unflakey IPC. Also, never use ruleset three alone -- involves changing
canonname again. Probably shouldn't do an auto-call of ruleset three now.
D 3.211 82/10/07 01:40:19 eric 230 229 00000/00000/00005
bother.... it takes time to close a socket
D 3.210 82/10/07 00:09:14 eric 229 228 00000/00000/00005
allow passing through multiple rewriting sets in test mode;
<ndir.h> => <dir.h> for maximum portability
D 3.209 82/10/06 11:45:40 eric 228 227 00000/00000/00005
add test mode (MD_TEST, -bt)
D 3.208 82/09/30 22:29:46 eric 227 226 00000/00000/00005
workaround in daemon accept code for 4.1a kernel bug: if an accept
gets an EINTR and then a valid accept before the interrupt returns,
the connection will be lost forever (at least, as I understand it).
D 3.207 82/09/26 17:04:24 eric 226 225 00000/00000/00005
Put more configuration into setoption; merge some of the argv processing
with this; move configuration information out of conf.c into the .cf
file. Since a lot of stuff will default to zero, a new .cf file is
required.
D 3.206 82/09/26 14:45:52 eric 225 224 00000/00000/00005
completely instantiate queue files for all mail, even if not needed;
fix a bug that would probably come up once every ten years in creating
the queue id. should merge argv flag processing with option processing.
D 3.205 82/09/24 19:39:25 eric 224 223 00000/00000/00005
change option implementation; define a bunch of interesting options.
D 3.204 82/09/24 09:38:36 eric 223 222 00000/00000/00005
arrange to be able to define options; put precedences in .cf file;
send errors to an Errors-To: field; fix a serious bug causing mail
to not be delivered to anyone if there were any errors.
D 3.203 82/09/22 10:50:47 eric 222 221 00000/00000/00005
don't put commas in non-address fields; have -bq clean up its temp files
D 3.202 82/09/21 10:15:00 eric 221 220 00000/00000/00005
get rid of double error returns; improve verbose mode output to be
standard format (even though verbose mode isn't standard); output
queue files with commas in headers to insure that the oldstyle stuff
doesn't get confused.
D 3.201 82/09/18 20:37:46 eric 220 219 00000/00000/00005
fix botch where it believes that a list is !oldstyle just because
it has an alias expansion in it.
D 3.200 82/09/16 20:25:01 eric 219 218 00000/00000/00005
drop ":...;" stuff -- it screws it up aliases; pass parameters to
subroutines (this also adds $@ and $: features to subr calls); check
overflow of "tobuf" on smtp deliveries, which caused core dumps on
large mailing lists
D 3.199 82/09/12 22:17:30 eric 218 217 00000/00000/00005
accept ": ... ;" syntax for groups if !oldstyle
D 3.198 82/09/12 16:44:03 eric 217 216 00000/00000/00005
change inheritance for macros in envelopes; be able to canonicalize
non-domained names by appending domain from sender; call ruleset 3
explicitly before doing other rulesets; some general cleanup.
D 3.197 82/09/11 17:18:16 eric 216 215 00000/00000/00005
don't assign $s to be the sending host (this mucks up Received:
lines) -- instead just use HELO messages; chdir into queue directory
and make all pathnames relative; be more conservative in creating
queue id's -- in the event you get file table overflows, etc.
D 3.196 82/09/08 23:55:46 eric 215 214 00000/00000/00005
fix stupid bug in wait code to dispose of "Interrupted system call" message
D 3.195 82/09/08 22:13:20 eric 214 213 00000/00000/00005
fix a nasty botch in 3.194 that killed SMTP in daemon mode. sigh......
D 3.194 82/09/08 21:20:05 eric 213 212 00000/00000/00005
try to avoid "Interrupted system call" on wait in deliver and on
writes; fix returned message to have proper sender; handle extra
mailer output more cleverly.
D 3.193 82/09/06 19:55:17 eric 212 211 00000/00000/00005
more hacking on oldstyle -- always assume sender fields are in new
style so that locally generated fields are edited correctly.
D 3.192 82/09/06 18:47:26 eric 211 210 00000/00000/00005
fix botch in "at"s in headers
D 3.191 82/09/06 18:24:40 eric 210 209 00000/00000/00005
fix botch in computing e_oldstyle
D 3.190 82/09/06 17:58:40 eric 209 208 00000/00000/00005
fix bug in scanner state machine that never let you out of quote state.
D 3.189 82/09/06 17:14:03 eric 208 207 00000/00000/00005
increase log level needed to print "entered" message.
D 3.188 82/09/06 17:00:23 eric 207 206 00000/00000/00005
user SMTP fixes to talk to ISI
D 3.187 82/09/06 16:24:51 eric 206 205 00000/00000/00005
install new state-driven scanner; make everyone use it, thus fixing
problems of quoted commas, etc.
D 3.186 82/09/05 18:08:58 eric 205 204 00000/00000/00005
change $g processing from a macro substitution per mailer to two sets
of rewriting rules per mailer -- one each for sender and recipient
fields; convert to NBS standard on Return-Receipt-To: and Precedence:
fields; clean up From: processing code and generalize it to all
sender fields; tune debugging code; clean up canonname.
**** This delta invalidates previous configuration files ****
D 3.185 82/09/05 11:48:27 eric 204 203 00000/00000/00005
add $* to match zero or more and $> to make a "subroutine" call; stick
in initial hooks for per-mailer rewriting; improve diagnostics in readcf,
including number lines; increase the number of rewriting sets.
D 3.184 82/09/01 10:24:00 eric 203 202 00000/00000/00005
log entering uid & pid; allow CANONUSER ($:) to abort a rewriting set.
D 3.183 82/08/31 17:46:56 eric 202 201 00000/00000/00005
increase MAXMAILERS to 25
D 3.182 82/08/31 10:05:56 eric 201 200 00000/00000/00005
clean up reply code processing some more; in particular, give more
detail in many messages. process connection failures correctly.
D 3.181 82/08/29 23:31:35 eric 200 199 00000/00000/00005
handle comments and quotes in headers; still doesn't deal with
backslashes however -- prescan should be cleaned up to deal with
this case. it turns out there are many bugs in prescan; it should
be extensively rewritten.
D 3.180 82/08/29 17:32:49 eric 199 198 00000/00000/00005
fix serious botch in SMTP reply code delta; change a bunch of
"Internal error" codes to a new "Remote protocol error" -- so that
I don't get blamed for things that other systems do.
D 3.179 82/08/29 16:52:31 eric 198 197 00000/00000/00005
do a better job at interpreting SMTP reply codes
D 3.178 82/08/29 15:52:20 eric 197 196 00000/00000/00005
give 554 message on syserr (instead of 451) if errno == 0; as it
was some permanent errors appeared transient
D 3.177 82/08/27 18:01:25 eric 196 195 00000/00000/00005
hack crackaddr to strip blanks off the end of a cracked address; this
happens because "u at h" becomes "$g " (with two spaces at the end).
this doesn't solve the general case (e.g., "u at h (me)" comes out as
"$g (me)", with three spaces), but does handle the ugliest case.
besides, the "at" syntax is supposed to go away.
D 3.176 82/08/27 16:01:58 eric 195 194 00000/00000/00005
simplify timeout code; allow multiple simultaneous queue runs so that
large messages don't freeze things up; fix EINTR problem in sfgets;
clean up canonname to be really correct; lots of misc. cleanup
D 3.175 82/08/27 11:11:40 eric 194 193 00000/00000/00005
release e_id after fork in daemon code; ignore events scheduled by
another process
D 3.174 82/08/25 23:18:24 eric 193 192 00000/00000/00005
assign a new queue id to all jobs coming in via TCP
D 3.173 82/08/25 21:22:10 eric 192 191 00000/00000/00005
sigh.... more fun and games in the daemon code to try to guess right.
D 3.172 82/08/25 19:44:33 eric 191 190 00000/00000/00005
recreate a socket after every failed accept()
D 3.171 82/08/25 16:19:23 eric 190 189 00000/00000/00005
apply ruleset 4 to rewrite addresses in the body of the message; fix
a clock.c bug that caused it to lose events; more time cleanup.
D 3.170 82/08/25 11:21:21 eric 189 188 00000/00000/00005
clean up time manipulation to always be current; assign job
id's earlier to make sure there is always one with a message.
D 3.169 82/08/25 10:46:27 eric 188 187 00000/00000/00005
log locked files in queuer; don't mistakenly start up two runqueue's
D 3.168 82/08/24 19:55:39 eric 187 186 00000/00000/00005
put queueup log messages on a higher logging level
D 3.167 82/08/24 19:41:32 eric 186 185 00000/00000/00005
log more info (on log level 11); try to detect wild accept loops;
some minor cleanup and debugging checks; fix NoConnect option to;
only apply to expensive mailers (regardless of sendqueue order)
D 3.166 82/08/24 10:27:46 eric 185 184 00000/00000/00005
clean up event handling so that events that do longjmp's don't turn
off all future events; diagnose reentry of main().
D 3.165 82/08/23 11:59:50 eric 184 183 00000/00000/00005
clean up queueing; log time in queue.
**** This delta invalidates mqueue files ****
D 3.164 82/08/23 09:23:54 eric 183 182 00000/00000/00005
allow continuation lines in .cf file (particularly in headers)
D 3.163 82/08/22 23:07:11 eric 182 181 00000/00000/00005
change $i to $j; $i is now queue id; put "Received:" format in .cf
file; minor cleanup
D 3.162 82/08/22 19:03:19 eric 181 180 00000/00000/00005
assign a unique id to each transaction that can be determined from
the queue file name.
D 3.161 82/08/21 17:54:37 eric 180 179 00000/00000/00005
move <> and forward path processing to .cf file; increase MAXATOMS
since some "comment" information may now be part of the address.
**** this installation requires a new sendmail.cf file ****
D 3.160 82/08/20 20:35:15 eric 179 178 00000/00000/00005
time stamp the SMTP greeting message; increase the buffer size in
syslog to prevent core dumps.
D 3.159 82/08/17 20:45:43 eric 178 177 00000/00000/00005
change Mail-From: to Received: for new SMTP spec (RFC821); handle
folded lines in queue files correctly.
D 3.158 82/08/17 16:19:10 eric 177 176 00000/00000/00005
rework header processing: do special purpose header munging in a
separate routine so that the queue run can do it also; parse From lines
in a fancy way, extracting the address part and turning it into a $g
macro; avoid reading and processing core files that end up in the queue
directory; check the queue directory name for legality; fix the verify
(-bv) option.
D 3.157 82/08/15 17:35:39 eric 176 175 00000/00000/00005
mark From: lines with the H_FROM bit; make VRFY work by adding the
QuickAbort flag; handle headers more cleverly in queue files -- this
seems to work, but I am frankly nervous. Note: this version
represents a flag day!-- old queues will not process properly.
D 3.156 82/08/15 11:58:25 eric 175 174 00000/00000/00005
output class rather than priority in log; accept zero intervals in
event scheduling; allow continuation lines in queue files (particularly
for headers); don't diagnose inappropriate errors when accepting a
connection; fix bug when reprocessing addresses that put garbage in
the header; some misc. debugging info (-d14 => commaize)
D 3.155 82/08/08 21:15:44 eric 174 173 00000/00000/00005
make "sleep" work correctly even in the face of other events; clean
up the queue processing: child queue runs now go away when done. more
debugging logging is needed to verify that this works right though.
D 3.154 82/08/08 17:05:19 eric 173 172 00000/00000/00005
move remotename() from deliver.c to parse.c; change default log level
to 9; put error versus success delivery on different log levels;
diagnose overlength lines in headers; more general event mechanism;
initial implementation of canonname; don't diagnose link errors in
queue, since another daemon could have grabbed it legitimately;
fix a problem in VRFY on bad addresses
D 3.153 82/08/08 01:00:25 eric 172 171 00000/00000/00005
change debug level to a debug vector; add levels on logging (and the
-L flag); change logging to be by message-id; elevate message-id;
some lint-type cleanup
D 3.152 82/08/07 11:13:15 eric 171 170 00000/00000/00005
Fix address rewriting so that multiple spaces and tabs work properly
D 3.151 82/07/31 16:57:49 eric 170 169 00000/00000/00005
don't give error on ETIMEDOUT on accept call; print errno properly
in syserr()
D 3.150 82/07/31 12:56:56 eric 169 168 00000/00000/00005
By default, just queue up the mail for most mailers and deliver
from the queue. This avoids the wild process problem in netnews
(or so we hope).
D 3.149 82/07/27 23:09:04 eric 168 167 00000/00000/00005
clean up semantics of daemon mode to facilitate use of other IPC;
move some code to main.c because it is not part of creating a
connection; if you can't create a socket assume there is another
sendmail running and exit; improve the verbose information in an
SMTP connection to make it more obvious which messages went which
way; don't attempt delivery if you get an error reading the queue file.
D 3.148 82/07/25 13:11:20 eric 167 166 00000/00000/00005
clean up error handling
D 3.147 82/07/22 01:23:15 eric 166 165 00000/00000/00005
new version of syslog that uses 4.2 IPC
D 3.146 82/07/20 19:39:15 eric 165 164 00000/00000/00005
be smarter about when to rerun the queue when you are in repeated
queue mode.
D 3.145 82/07/14 11:19:27 eric 164 163 00000/00000/00005
disconnect sendmail from the controlling tty in daemon mode.
D 3.144 82/07/14 11:00:33 eric 163 162 00000/00000/00005
arrange for MotherPid to be correct in daemon mode
D 3.143 82/07/14 10:46:00 eric 162 161 00000/00000/00005
fork automatically in daemon mode (but only if no debugging)
D 3.142 82/07/14 09:25:11 eric 161 160 00000/00000/00005
don't accidently unlink a null pointer in finis(); change the way
it decides whether to remove the temp file (you don't want to if you
are queueing it up); fix a bug in Apparently-To: that caused it to
output both pre- and post-expanded names (only output pre-expanded)
D 3.141 82/07/05 20:56:24 eric 160 159 00000/00000/00005
flush fatal error flag before returning error messages to avoid error
message loop; improve debugging: flush transcript before doing things
that might take a long time, add some info to debug messages; extend
configuration on timeouts so that text of error message is in conf.c
D 3.140 82/07/05 18:49:49 eric 159 158 00000/00000/00005
add "Apparently-To:" field if no recipients are in the header.
D 3.139 82/07/05 13:21:21 eric 158 157 00000/00000/00005
count Mail-From: lines to get a hop count, giving error as
appropriate after collection; don't attempt delivery of message if
errors occur before or during collection; fix a bug in -as mode
(non-daemon SMTP).
D 3.138 82/07/05 12:37:23 eric 157 156 00000/00000/00005
check for errors before opening a daemon connection
D 3.137 82/07/05 12:22:02 eric 156 155 00000/00000/00005
split off clock stuff from util.c so that vacation will compile
D 3.136 82/07/05 12:02:53 eric 155 154 00000/00000/00005
put timeouts on net reads
D 3.135 82/07/02 20:52:46 eric 154 153 00000/00000/00005
arrange to not lose temporary queue control files (tf files)
if you interrupt a queue run process.
D 3.134 82/07/02 10:00:16 eric 153 152 00000/00000/00005
be paranoid about resetting the "FatalErrors" flag -- always reset
after forking for daemon or queue mode. This will prevent false error
return delivery.
D 3.133 82/07/02 09:43:39 eric 152 151 00000/00000/00005
take special care in outputing error messages to the transcript;
a little bit of paranoia never hurt a mail system.
D 3.132 82/06/30 22:39:22 eric 151 150 00000/00000/00005
open a separate transcript in the child of a daemon.
D 3.131 82/06/26 14:53:40 eric 150 149 00000/00000/00005
clean up error messages on SMTP temporary failures resulting from
failure to connect properly.
D 3.130 82/06/26 13:53:35 eric 149 148 00000/00000/00005
more debug information; fix dependencies in makefile
D 3.129 82/06/26 13:10:41 eric 148 147 00000/00000/00005
lint
D 3.128 82/06/26 12:33:39 eric 147 146 00000/00000/00005
take environment variable "NAME" to determine what your full name
is; this is overridden by -F.
D 3.127 82/06/26 11:56:51 eric 146 145 00000/00000/00005
add _kill command to SMTP. this is probably dangerous in the
outside world.
D 3.126 82/06/25 19:38:24 eric 145 144 00000/00000/00005
add debugging information to server smtp code: _debug to set
Debug, _verbose to set verbose, and _showq to show the send queue
(already existant, just a name change)
D 3.125 82/06/23 12:12:19 eric 144 143 00000/00000/00005
check prescan return values in remotename
D 3.124 82/06/19 21:14:18 eric 143 142 00000/00000/00005
remember to put a newline at the end of the UGLYUUCP line
D 3.123 82/06/19 21:09:10 eric 142 141 00000/00000/00005
get rid of comment lines when storing rewriting rules
D 3.122 82/06/19 20:47:23 eric 141 140 00000/00000/00005
improve SMTP error reporting
D 3.121 82/06/18 11:58:31 eric 140 139 00000/00000/00005
believe host name on SMTP "HELO" line
D 3.120 82/06/17 10:44:38 eric 139 138 00000/00000/00005
fix botch in -Q flag (sets AliasFile rather than QueueDir)
D 3.119 82/06/16 14:51:16 eric 138 137 00000/00000/00005
allow connection refused as a temporary error; make sure there is
always someone to return the mail to on error
D 3.118 82/06/16 14:29:20 eric 137 136 00000/00000/00005
fix botch in outputing "recipient" type lines (e.g., To:)
D 3.117 82/06/07 23:53:26 eric 136 135 00000/00000/00005
allow multiple connections; call putline to output FULL_SMTP
lines (to limit line lengths, etc.); involves adding an asm.sed script
to the makefile
D 3.116 82/06/07 07:54:55 eric 135 134 00000/00000/00005
make transcripts verbose always; misc. message cleanup, etc.
D 3.115 82/06/07 07:06:13 eric 134 133 00000/00000/00005
strip out xlate stuff -- this belongs at a different level
D 3.114 82/06/06 23:13:08 eric 133 132 00000/00000/00005
avoid loops by not sending to owner-owner-* -- just send to
owner-owner instead
D 3.113 82/06/06 23:05:17 eric 132 131 00000/00000/00005
implement alias owner feature. this actually works for any user.
basically, if the alias owner-xxx exists, errors sending to xxx will be
sent to that alias rather than to the sender.
D 3.112 82/05/31 19:03:47 eric 131 130 00000/00000/00005
make temp files the correct modes in all cases
D 3.111 82/05/31 18:49:50 eric 130 129 00000/00000/00005
pass lint. notice that definitions in llib-lc have changed for
alarm() and sleep() calls {arg was unsigned, is now int}.
D 3.110 82/05/31 17:10:51 eric 129 128 00000/00000/00005
eliminate -V, -D, -p flags in favor of a single flag "-bx"
(be in mode x).
D 3.109 82/05/31 15:35:57 eric 128 127 00000/00000/00005
don't output SMTP/FTP error codes in transcript file
D 3.108 82/05/31 15:32:18 eric 127 126 00000/00000/00005
finish implementing envelopes. it's not completely clear to me that
this is really the way to go, but it seems clearly better than what
i had before. this delta includes many other minor changes, so it
should probably not be blithely removed.
D 3.107 82/05/30 10:25:35 eric 126 125 00000/00000/00005
add M_FULLSMTP (``X'' flag in .cf file) for eventual implementation
of full SMTP. This version must support such garbage as line limits,
address length limits, return-path, etc.
D 3.106 82/05/29 20:00:30 eric 125 124 00000/00000/00005
allow the user with name "daemon" to send mail as anyone s/he wants.
D 3.105 82/05/22 02:05:48 eric 124 123 00000/00000/00005
add "junk mail" -- error responses are never returned.
D 3.104 82/05/22 01:38:07 eric 123 122 00000/00000/00005
add "envelopes" to contain the basic information needed as control
info for each message. currently there is only one envelope -- this
being the obvious stupid conversion. later there will be separate
envelopes for error messages, return receipts, etc.
D 3.103 82/05/20 17:46:07 eric 122 121 00000/00000/00005
add dfopen as a "determined fopen" -- it retries if it gets recoverable
errors. we use it for returning mail (to dead.letter) and creating the
temp file. the whole idea is to avoid dropping things on the floor on
heavily loaded systems. this is untested, since it seems impossible to
fill up the inode or file tables on this VAX (but it works if the open
succeeds).
D 3.102 82/05/15 12:29:36 eric 121 120 00000/00000/00005
add the 'R' flag to mailers, saying to rewrite the recipient addresses
to be relative to the recipient. This makes reply code easy, but
confuses user mail programs that are expecting to have to rewrite
recipient addresses. In general, the receiving host must be "smart"
for this to work.
D 3.101 82/05/06 20:21:14 eric 120 119 00000/00000/00005
allow socket number on [IPC] connections -- eventually this
could be used to handle other low-level protocols.
D 3.100 82/03/27 20:15:12 eric 119 118 00000/00000/00005
delete neat remotename feature, because it doesn't work right in
UUCPland -- and breaks stupid hosts. 'Twill be fixed, I promise. Time
must be spent figuring out how to define the civilized versus the
uncivilized world.
D 3.99 82/03/27 19:57:44 eric 118 117 00000/00000/00005
compensate for bug in getlogin: can return the empty string ("")
for certain error conditions rather than the NULL pointer.
D 3.98 82/03/22 22:37:54 eric 117 116 00000/00000/00005
continue the impossible task of tracking Bill Joy
D 3.97 82/03/22 22:10:44 eric 116 115 00000/00000/00005
more cleanup for new 4.2 system configuration and some more fixes
for vanilla V7
D 3.96 82/03/20 18:13:01 eric 115 114 00000/00000/00005
take % as an acceptable name terminator in GECOS field
("in-care-of") -- for TEF%UCSFCGL
D 3.95 82/03/20 16:12:27 eric 114 113 00000/00000/00005
16 bit changes -- should have no effect on VAX binaries to
speak of.
D 3.94 82/03/06 16:11:49 eric 113 112 00000/00000/00005
get queue scanning working correctly in conjunction with daemon mode
D 3.93 82/03/06 15:35:49 eric 112 111 00000/00000/00005
have daemon mode assume SMTP mode
D 3.92 82/03/06 15:08:24 eric 111 110 00000/00000/00005
give correct error message in SMTP if some of the addresses are not ok
D 3.91 82/03/06 14:52:22 eric 110 109 00000/00000/00005
arrange to be able to accept a connection from any host.
D 3.90 82/03/06 14:15:55 eric 109 108 00000/00000/00005
collapse special character processing into macro processing for
simplicity of code.
D 3.89 82/03/06 12:09:18 eric 108 107 00000/00000/00005
clean up error handling in IPC case; fix a minor bug in headers in
queueing code; make SMTP mail multi user per connect.
D 3.88 82/03/05 10:45:48 eric 107 106 00000/00000/00005
remove silly $U dependency in UGLYUUCP code
D 3.87 82/03/05 10:13:06 eric 106 105 00000/00000/00005
include direct connect on outgoing mail if the pathname is "[IPC]" --
this gives minimal number of processes for ethernet mail.
D 3.86 82/02/27 12:29:31 eric 105 104 00000/00000/00005
more work on after $g translate rewriting
D 3.85 82/02/27 11:37:42 eric 104 103 00000/00000/00005
implement "return receipt requested".
D 3.84 82/02/27 09:51:36 eric 103 102 00000/00000/00005
improve rewriting of "after $g translate" to correspond to the
real world.....
D 3.83 82/02/26 21:56:10 eric 102 101 00000/00000/00005
implement daemon mode
D 3.82 82/02/26 19:02:33 eric 101 100 00000/00000/00005
default to OldStyle headers -- this turns out to be needed so that it
will work right when running as a server.
D 3.81 82/02/22 19:59:16 eric 100 99 00000/00000/00005
some hacks to make the ethernet community happier -- .cf changes only
D 3.80 82/02/22 19:32:12 eric 99 98 00000/00000/00005
be much more clever about splitting up addresses when doing header
rewriting. become NewStyle automatically based on heuristics; this
makes some other addresses work, although there are conceivably
sites that this could break. Perhaps we should default to OldStyle?
I don't think this would break anything.
D 3.79 82/02/20 16:56:02 eric 98 97 00000/00000/00005
output names in a nice comma-separated fashion in messages -- this
opens up other possibilities
D 3.78 82/02/20 12:59:46 eric 97 96 00000/00000/00005
expand macros in rewriting rules early to allow multi-word macros to
be processed correctly.
D 3.77 82/02/20 12:12:09 eric 96 95 00000/00000/00005
add the -c flag, to cause sendmail to just queue messages that are for
mailers that are expensive; a later instantiation can come around and
send them in a batch. Also, pass macro definitions through the
queueing code so that macros can be expanded later rather than sooner;
this is important for destination dependent macros such as $g.
D 3.76 82/02/04 20:31:21 eric 95 94 00000/00000/00005
add host aliasing; add -p flag. this version doesn't yet know about
replacing the text of the host alias into the message however. syntax
is grotty: "/hostmatch:%s@newhost" or whatever.
D 3.75 82/01/23 14:21:06 eric 94 93 00000/00000/00005
add M_UGLYUUCP flag; only catch names with leading slash as filenames;
let the user redefine their full name; don't pass -r or -f to uux.
D 3.74 82/01/10 21:57:33 eric 93 92 00000/00000/00005
cleanup from cbosgd (Mark Horton) testing; some internals, mostly
configuration. This tries to make the configuration file (cf.m4) be
much more general, but I fear it is doomed to failure -- it may be
better to just tell people to roll their own.
D 3.73 82/01/05 09:59:19 eric 92 91 00000/00000/00005
fix botch in UGLYUUCP code -- gave "remote from <dest>" instead of
"remote from <source>"
D 3.72 82/01/01 18:39:43 eric 91 90 00000/00000/00005
know about all known Berknet host names so that we can handle the "."
notation happily in the full name representation.
D 3.71 82/01/01 18:27:15 eric 90 89 00000/00000/00005
send to dead.letter using sendto/recipient/deliver mechanism rather
than mailfile; this fixes a bug with the "from" name and seems like
a better abstraction.
D 3.70 81/12/06 12:39:10 eric 89 88 00002/00000/00003
cleanup so it will go through lint without any fancy grep -v's;
change the way SCCS Id's are handled.
D 3.69 81/12/05 14:14:06 eric 88 87 00000/00000/00003
insert SMTP "Mail-From:" line.
D 3.68 81/12/05 11:53:41 eric 87 86 00000/00000/00003
put the SMTP and queueing code on compilation flags so that sendmail
will fit on non-ID PDP-11's (ugh); put the ugly UUCP hack on a
compilation flag also to emphasize that it sucks eggs; makefile
cleanup.
D 3.67 81/11/27 21:37:05 eric 86 85 00000/00000/00003
this is a stupid hack to put "remote from <host>" lines on the From
lines going to UUCP mail. someday i hope to rip out this stupidity.
it is triggered by any mailer named "uucp" -- it ought to be a special
flag, but i refuse to legitimize antique hacky mistakes.
D 3.66 81/11/22 19:17:45 eric 85 84 00000/00000/00003
Edit queue control files when running queue (assuming there are still
recipients left). Also, modify the MsgPriority to be the absolute
number (not the Priority: value); this allows us to include aging into
the priority algorithm.
D 3.65 81/11/21 18:42:47 eric 84 83 00000/00000/00003
change the send queue to be only one queue instead of one per mailer.
this is slightly inefficient but simpler. also, pass this queue
around so we can have multiple send queues. this makes VRFY work.
D 3.64 81/11/21 16:38:29 eric 83 82 00000/00000/00003
convert to SMTP draft 3 -- finishing touches. Punt on the VRFY/
EXPN commands for now; they aren't required anyhow. Move the fullname
into the address structure so it can be inherited.
D 3.63 81/11/11 20:24:07 eric 82 81 00000/00000/00003
integrate user SMTP into sendmail itself. If there is no $u arg
in the mailer argument list, SMTP is run. This can be used directly
over the Ethernet or to any clever mailer. We still need to edit
spooled control files to remove recipients that have been successfully
sent during queue processing.
D 3.62 81/11/08 13:00:21 eric 81 80 00000/00000/00003
know about SMTP over TCP. The current SMTP user is not clever
enough to deal with multiple users at one host. To fix this we will
have to speak some smart protocol between sendmail and the mailer --
maybe SMTP??
D 3.61 81/11/07 15:41:39 eric 80 79 00000/00000/00003
clean up to compile & work on ARPAVAX; move stat file to
/usr/lib/sendmail.st; fix bug in syserr with error codes
D 3.60 81/10/31 22:12:47 eric 79 78 00000/00000/00003
drop old NCP stuff for ARPANET handling; fix some bugs in error
messages with multiple recipients in SMTP; clean up error handling
D 3.59 81/10/27 12:24:51 eric 78 77 00000/00000/00003
experimental version combining queueing with daemon operation.
I'm sure this doesn't work -- if only because the wait()s are funny.
D 3.58 81/10/27 10:50:52 eric 77 76 00000/00000/00003
More queueing cleanup: implement timeouts (still one-stage),
properly implement priorities (didn't work before), and miscellaneous
cleanup.
D 3.57 81/10/26 14:22:34 eric 76 75 00000/00000/00003
Install new experimental queueing facility -- one stage timeout,
etc. This version is still quite incomplete. It needs to reorder
the queue after some interval, do two-stage timeout, take option
info from the queue file instead of the command line, read the
sender's .mailcf file, etc. Some of this is useful for SMTP also.
D 3.56 81/10/23 19:38:09 eric 75 74 00000/00000/00003
Eliminate magic MN_LOCAL and MN_PROG; change q_mailer item in ADDRESS
to be pointer to mailer rather than index.
D 3.55 81/10/22 10:25:29 eric 74 73 00000/00000/00003
move stats file to /usr/lib; put location of sendmail.hf in conf.c
D 3.54 81/10/22 09:43:48 eric 73 72 00000/00000/00003
take fullname from /etc/passwd if Smtp mode and sender name
is indeed local. Also accepts names more often; this is probably
a disaster for sender verification.
D 3.53 81/10/22 09:14:30 eric 72 71 00000/00000/00003
implement HELP and MRSQ -- MRSQ is a partial implementation
of old MTP -- in particular, To: fields in MAIL commands are not yet
implemented. The "message" routine now takes first args of the form
"999-" to specify continuation.
D 3.52 81/10/20 11:36:24 eric 71 70 00000/00000/00003
clean up the SMTP stuff some more
D 3.51 81/10/19 22:27:17 eric 70 69 00000/00000/00003
implement SMTP mode -- doesn't support source routing or the
HELP command, and doesn't give the correct code on VRFY or forwarding.
Maybe someday....
D 3.50 81/10/17 16:58:04 eric 69 68 00000/00000/00003
initial prep to put in Daemon mode
D 3.49 81/10/12 10:04:19 eric 68 67 00000/00000/00003
throw in some "errno = 0;"'s to make syserr's more accurate;
take any -f flag if debug mode and uid==euid.
D 3.48 81/10/08 22:55:37 eric 67 66 00000/00000/00003
ignore interrupts and hangups while calling mailer.
D 3.47 81/10/08 09:13:30 eric 66 65 00000/00000/00003
fix botch in backup code during rewriting
D 3.46 81/10/06 19:12:57 eric 65 64 00000/00000/00003
change rewriting rules to use $N on RHS to match LHS, and include
$=X (class match) in the matching; this will allow us to match the
proposed "user.host@domain" syntax as well as the old syntax, by
putting the known domains into a class to disambiguate.
D 3.45 81/10/02 11:05:21 eric 64 63 00000/00000/00003
arrange to give the correct "from" person on error messages.
D 3.44 81/10/02 10:07:38 eric 63 62 00000/00000/00003
use ruleset 2 to rewrite names after the $g translate (to fix some
forwarding problems; do a read check in putmessage (just in case
the temp file disappeared); some general cleanup.
D 3.43 81/09/30 10:00:20 eric 62 61 00000/00000/00003
fix the <> syntax, convert "at" to "@" in from addresses also,
plus some minorness to get the multi-machine case going nicely.
D 3.42 81/09/29 18:22:25 eric 61 60 00000/00000/00003
change processing of From: person; basically, this mod deletes the
Original-From: line if redundant with the generated From: line, uses
the Original-From: line for the From: line if possible, and a host of
other such trivialities.
D 3.41 81/09/29 14:59:00 eric 60 59 00000/00000/00003
fix hash function computation for symbol table on 16-bit machines
D 3.40 81/09/28 19:17:29 eric 59 58 00000/00000/00003
enable aliases to self-reference themselves correctly.
D 3.39 81/09/24 10:30:44 eric 58 56 00000/00000/00003
changes to work under a V6 system -- mostly compilation flags
D 3.38.1.1 81/09/23 18:23:19 eric 57 56 00000/00000/00003
break some configuration into conf.h -- simplifies makefile changes
on different machines. But there are still conditional libraries, so
this may not be a good idea.....
D 3.38 81/09/23 09:52:23 eric 56 55 00000/00000/00003
fix bug in file modes when mailing to files that didn't exist before;
add an 'F' line to the .cf file that will read class entries from
another file, given a scanf string to do the parsing.
D 3.37 81/09/22 13:24:25 eric 55 54 00000/00000/00003
fix problem with using macros in rules; change configuration to send
different flags when destined for arpanet vs. berknet hosts, etc.
D 3.36 81/09/22 11:33:29 eric 54 53 00000/00000/00003
finally make suppression of sender in mailing lists work -- this version
also works correctly on simple aliases.
D 3.35 81/09/21 18:49:53 eric 53 52 00000/00000/00003
fix suppression of from address in mailing lists.
D 3.34 81/09/20 10:46:32 eric 52 51 00000/00000/00003
don't let a mailer ever execute as root (that should solve the
security problems!) -- essentially just map root into someone else.
Adds yet another configuration variable (should this be in the .cf file?
D 3.33 81/09/16 20:04:26 eric 51 50 00000/00000/00003
take underscore as well as space to separate parts of a person's
full name. Dot notation should be made to work someday also.
D 3.32 81/09/16 17:16:19 eric 50 49 00000/00000/00003
have .forward ownership stick harder than :include: ownership:
this prevents cretins from using writable root files for nastiness.
all this is pointless if /usr/lib/aliases is writable though....
D 3.31 81/09/16 16:39:44 eric 49 48 00000/00000/00003
be REALLY clever and inherit uid/gid from owner of :include:
files also... solves problem of alias to non-secure file
D 3.30 81/09/16 16:24:19 eric 48 47 00000/00000/00003
last delta was too paranoid -- this increases the number of
cases that work (but is still safe -- I hope)
D 3.29 81/09/16 16:08:08 eric 47 46 00000/00000/00003
run as the user forwarding mail after a .forward operation;
fix a bug in .forwarding that caused recursive expansion;
restrict mail to programs, files, and with :include: for security
reasons.
D 3.28 81/09/14 12:41:28 eric 46 45 00000/00000/00003
check MAXATOM overflow; increase MAXATOM value
D 3.27 81/09/14 12:19:23 eric 45 44 00000/00000/00003
fix but in mailers that only take one address at a time
D 3.26 81/09/12 17:34:05 eric 44 43 00000/00000/00003
match on full name for local users
D 3.25 81/09/12 15:48:57 eric 43 42 00000/00000/00003
change From: processing to reduce the number of Original-From:
lines; change allocation of global variables.
D 3.24 81/09/07 14:12:48 eric 42 41 00000/00000/00003
fix up umask; allow setuid on files to take recipient owner;
factor some configuration info into conf.c
D 3.23 81/09/07 12:33:38 eric 41 40 00000/00000/00003
add auto-rebuild on alias database; fix some aliasing bugs;
add statistics to rebuild; slight code restructuring; change
version handling one last (?) time
D 3.22 81/09/07 10:23:04 eric 40 39 00000/00000/00003
add NOTUNIX compile flag to turn off UNIX "From " line processing
D 3.21 81/09/06 19:50:23 eric 39 38 00000/00000/00003
cleanup, commenting, linting, etc.
D 3.20 81/09/06 14:23:20 eric 38 37 00000/00000/00003
improve "version:" entry in makefile; fix -em (mail back errors) option
D 3.19 81/09/06 10:29:49 eric 37 36 00000/00000/00003
fix $u argument processing bug (happened in uucp); .cf file cleanup
D 3.18 81/08/31 21:22:39 eric 36 35 00000/00000/00003
collect mail statistics; minor configuration changes
D 3.17 81/08/31 12:11:57 eric 35 34 00000/00000/00003
allow "error" as a net name to print error messages
D 3.16 81/08/29 19:16:24 eric 34 33 00000/00000/00003
drop unnecessary H_FORCE bits in conf.c; delete H_DELETE
(since H_ACHECK can be used with a zero mask field)
D 3.15 81/08/27 11:42:58 eric 33 32 00000/00000/00003
on -t, use argument list as a supress list
D 3.14 81/08/25 16:06:37 eric 32 31 00000/00000/00003
change handling of <LWSP> characters; remove special
"at" processing (put it in .cf file)
D 3.13 81/08/24 14:05:39 eric 31 30 00000/00000/00003
Add "-t" option to read To:, Cc:, and Bcc: lines to get recipients
D 3.12 81/08/23 12:08:53 eric 30 29 00000/00000/00003
plug assorted security holes
D 3.11 81/08/22 17:52:06 eric 29 28 00000/00000/00003
Arrange to pull full name out of From line if found; includes
Original-From: hacking (oh so ugly). There's got to be a better way
to do this...
D 3.10 81/08/22 14:45:27 eric 28 27 00000/00000/00003
fix UNIX From line parsing problem; add $b macro to get
correct dates; fix mail-to-file problem; define basic macros
before cracking arguments so that -D is more useful
D 3.9 81/08/21 18:51:33 eric 27 26 00000/00000/00003
return transcript even if no message was collected
D 3.8 81/08/21 18:23:53 eric 26 25 00000/00000/00003
drop M_FINAL, add $y=ttyname, rename some constants
D 3.7 81/08/20 15:19:50 eric 25 24 00000/00000/00003
internal cleanup & minor improvements
D 3.6 81/08/18 11:40:37 eric 24 23 00000/00000/00003
allow :include: specs
D 3.5 81/08/17 11:02:12 eric 23 22 00000/00000/00003
implement hashing in symbol table and add more headers, from
BB&N Report No. ICST/CBOS - 80/2, "Specification of a Draft Message
Format Standard (Draft Report)", prepared for NBS.
D 3.4 81/08/09 19:08:25 eric 22 21 00000/00000/00003
put mailer definitions into configuration file
D 3.3 81/03/28 11:52:37 eric 21 20 00003/00001/00000
change format of Version to be suitable for internal use
D 3.2 81/03/20 09:45:43 eric 20 19 00001/00001/00000
change name (again); from postbox to sendmail
D 3.1 81/03/07 14:27:18 eric 19 18 00001/00001/00000
----- delivermail ==> postbox -----
D 2.8 81/02/28 11:54:11 eric 18 17 00000/00000/00001
install VAX mpx file logging
D 2.7 81/02/05 08:01:25 eric 17 16 00000/00000/00001
always issued a delivermail error message regardless of M_QUIET
D 2.6 81/01/10 14:28:41 eric 16 15 00000/00000/00001
include ArpaLocal; flush output on errors; allow
"user" "at" "host" as separate parameters; etc.
D 2.5 81/01/08 23:57:31 eric 15 14 00000/00000/00001
fixed botch in at => @ translation
D 2.4 81/01/08 19:37:22 eric 14 13 00000/00000/00001
fixed several bugs in parser; translate <lwsp> into quoted .
D 2.3 80/12/06 17:33:32 eric 13 12 00000/00000/00001
fix ^D botch in maketemp; allow "eric:eric,i.eric"
D 2.2 80/11/20 19:57:57 eric 12 11 00000/00000/00001
make dates be taken as date sent rather than date delivered
D 2.1 80/11/05 11:00:06 eric 11 10 00000/00000/00001
release 2
D 1.10 80/10/28 23:52:38 eric 10 9 00000/00000/00001
fixed ANOTHER bug in aliasing (this is getting dull....)
D 1.9 80/10/27 19:28:30 eric 9 8 00000/00000/00001
fix alias bug; count message sizes; map stderr->stdout; misc.
D 1.8 80/10/21 12:58:43 eric 8 7 00000/00000/00001
install dbm stuff + fix quoting bugs
D 1.7 80/10/18 16:48:51 eric 7 6 00000/00000/00001
cleanup for dbm stuff: Error => Errors; move local host
detection into parse; misc cleanup
D 1.6 80/10/15 10:24:24 eric 6 5 00000/00000/00001
deal with disk overflows
D 1.5 80/10/11 20:10:44 eric 5 4 00000/00000/00001
fixed problem with sizeof MsgId == 0
D 1.4 80/10/11 18:55:35 eric 4 3 00000/00000/00001
cleanup to simplify distribution
D 1.3 80/10/11 13:49:55 eric 3 2 00000/00000/00001
accept multi-line fields in headers
D 1.2 80/10/11 13:37:53 eric 2 1 00000/00000/00001
test
D 1.1 80/10/11 13:34:43 eric 1 0 00001/00000/00000
code versions:
alias.o:
alias.c 5.16 (Berkeley) 7/14/88 (without DBM)
arpadate.o:
arpadate.c 5.9 (Berkeley) 6/30/88
clock.o:
clock.c 5.6 (Berkeley) 6/30/88
collect.o:
collect.c 5.4 (Berkeley) 6/30/88
conf.o:
conf.c 5.17 (Berkeley) 6/30/88
convtime.o:
convtime.c 5.3 (Berkeley) 6/30/88
daemon.o:
daemon.c 5.27 (Berkeley) 9/20/88 (with daemon mode)
deliver.o:
deliver.c 5.23 (Berkeley) 9/20/88
domain.o:
domain.c 5.16 (Berkeley) 9/20/88 (with name server)
envelope.o:
envelope.c 5.15 (Berkeley) 6/30/88
err.o:
err.c 5.9 (Berkeley) 6/30/88
headers.o:
headers.c 5.10 (Berkeley) 6/30/88
macro.o:
macro.c 5.5 (Berkeley) 6/30/88
main.o:
Copyright (c) 1988 Regents of the University of California.
main.c 5.21 (Berkeley) 9/20/88
sendmail.h 5.13 9/20/88
parseaddr.o:
parseaddr.c 5.9 (Berkeley) 6/30/88
queue.o:
queue.c 5.24 (Berkeley) 6/30/88 (with queueing)
readcf.o:
readcf.c 5.14 (Berkeley) 9/20/88
recipient.o:
recipient.c 5.12 (Berkeley) 6/30/88
savemail.o:
savemail.c 5.9 (Berkeley) 6/30/88
srvrsmtp.o:
srvrsmtp.c 5.22 (Berkeley) 6/30/88 (with SMTP)
stab.o:
stab.c 5.5 (Berkeley) 6/30/88
stats.o:
stats.c 5.10 (Berkeley) 6/30/88
sysexits.o:
sysexits.c 5.5 (Berkeley) 6/30/88
trace.o:
trace.c 5.5 (Berkeley) 6/30/88
usersmtp.o:
usersmtp.c 5.10 (Berkeley) 6/30/88 (with SMTP)
util.o:
util.c 5.9 (Berkeley) 12/17/86
# endif COMMENT