home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-03-08 | 24.4 KB | 1,019 lines |
- *** RELEASE_NOTES.OLD Fri Feb 10 09:55:32 1995
- --- RELEASE_NOTES Wed Mar 8 14:25:29 1995
- ***************
- *** 1,10 ****
- SENDMAIL RELEASE NOTES
- ! @(#)RELEASE_NOTES 8.6.10.2 (Berkeley) 2/10/95
-
- This listing shows the version of the sendmail binary, the version
- of the sendmail configuration files, the date of release, and a
- summary of the changes in that release.
-
- 8.6.10/8.6.10 95/02/10
- SECURITY: Diagnose bogus values to some command line flags that
- could allow trash to get into headers and qf files.
- --- 1,45 ----
- SENDMAIL RELEASE NOTES
- ! @(#)RELEASE_NOTES 8.6.11.1 (Berkeley) 3/8/95
-
- This listing shows the version of the sendmail binary, the version
- of the sendmail configuration files, the date of release, and a
- summary of the changes in that release.
-
- + 8.6.11/8.6.11 95/03/08
- + The ``possible attack'' message would be logged more often
- + than necessary if you are using Pine as a user agent.
- + The wrong host would be reported in the ``possible attack''
- + message when attempted from IDENT.
- + In some cases the syslog buffer could be overflowed when
- + reporting the ``possible attack'' message. This can
- + cause denial of service attacks. Truncate the message
- + to 80 characters to prevent this problem.
- + When reading the IDENT response a loop is needed around the
- + read from the network to ensure that you don't get
- + partial lines.
- + Password entries without any shell listed (that is, a null
- + shell) wouldn't match as "ok". Problem noted by
- + Rob McMahon.
- + When running BIND 4.9.x a problem could occur because the
- + _res.options field is initialized differently than it
- + was historically -- this requires that sendmail call
- + res_init before it tweaks any bits.
- + Fix an incompatibility in openxscript() between the file open mode
- + and the stdio mode passed to fdopen. This caused UnixWare
- + 2.0 to have conniptions. Fix from Martin Sohnius of
- + Novell Labs Europe.
- + Fix problem with static linking of local getopt routine when
- + using GNU's ld command. Fix from John Kennedy of
- + Cal State Chico.
- + It was possible to turn off privacy flags. Problem noted by
- + *Hobbit*.
- + Be more paranoid about writing files. Suggestions by *Hobbit*
- + and Liudvikas Bukys.
- + MAKEMAP: fixes for 64 bit machines (DEC Alphas in particular)
- + from Spider Boardman.
- + CONFIG: No changes (version number only, to keep it in sync
- + with the binaries).
- +
- 8.6.10/8.6.10 95/02/10
- SECURITY: Diagnose bogus values to some command line flags that
- could allow trash to get into headers and qf files.
- ***************
- *** 46,51 ****
- --- 81,88 ----
- some cases, buffers could get trashed by map lookups
- causing it to do unexpected things. This also simplifies
- some of the map code.
- + CONFIG: No changes (version number only, to keep it in sync
- + with the binaries).
-
- 8.6.9/8.6.9 94/04/19
- Do all mail delivery completely disconnected from any terminal.
- *** cf/m4/version.m4.OLD Fri Feb 10 08:14:41 1995
- --- cf/m4/version.m4 Sat Mar 4 08:42:38 1995
- ***************
- *** 32,39 ****
- # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- # SUCH DAMAGE.
- #
- ! VERSIONID(`@(#)version.m4 8.6.10.1 (Berkeley) 2/10/95')
- #
- divert(0)
- # Configuration version number
- ! DZ8.6.10
- --- 32,39 ----
- # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- # SUCH DAMAGE.
- #
- ! VERSIONID(`@(#)version.m4 8.6.11.1 (Berkeley) 3/4/95')
- #
- divert(0)
- # Configuration version number
- ! DZ8.6.11
- *** makemap/makemap.c.OLD Thu Feb 9 16:54:35 1995
- --- makemap/makemap.c Mon Mar 6 13:26:59 1995
- ***************
- *** 33,39 ****
- */
-
- #ifndef lint
- ! static char sccsid[] = "@(#)makemap.c 8.6 (Berkeley) 11/22/93";
- #endif /* not lint */
-
- #include <stdio.h>
- --- 33,39 ----
- */
-
- #ifndef lint
- ! static char sccsid[] = "@(#)makemap.c 8.6.1.1 (Berkeley) 3/6/95";
- #endif /* not lint */
-
- #include <stdio.h>
- ***************
- *** 66,72 ****
- struct
- {
- char *data;
- ! int size;
- } xx;
- };
-
- --- 66,72 ----
- struct
- {
- char *data;
- ! size_t size;
- } xx;
- };
-
- ***************
- *** 226,235 ****
- --- 226,239 ----
- #ifdef NEWDB
- case T_HASH:
- dbp.db = dbopen(mapname, mode, 0644, DB_HASH, NULL);
- + if (dbp.db != NULL)
- + (void) (*dbp.db->sync)(dbp.db, 0);
- break;
-
- case T_BTREE:
- dbp.db = dbopen(mapname, mode, 0644, DB_BTREE, NULL);
- + if (dbp.db != NULL)
- + (void) (*dbp.db->sync)(dbp.db, 0);
- break;
- #endif
-
- *** src/READ_ME.OLD Thu Feb 9 12:21:39 1995
- --- src/READ_ME Sun Mar 5 12:52:35 1995
- ***************
- *** 30,36 ****
- # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- # SUCH DAMAGE.
- #
- ! # @(#)READ_ME 8.61 (Berkeley) 4/17/94
- #
-
- This directory contains the source files for sendmail.
- --- 30,36 ----
- # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- # SUCH DAMAGE.
- #
- ! # @(#)READ_ME 8.61.1.1 (Berkeley) 3/5/95
- #
-
- This directory contains the source files for sendmail.
- ***************
- *** 666,671 ****
- --- 666,682 ----
- the flock() system call gives errors. If you are running .14,
- you must not use flock. You can do this with -DHASFLOCK=0.
-
- + Around the inclusion of bind-4.9.3 & linux libc-4.6.20, the
- + initialization of the _res structure changed. If /etc/hosts.conf
- + was configured as "hosts, bind" the resolver code could return
- + "Name server failure" errors. This is supposedly fixed in
- + later versions of libc (>= 4.6.29?), and later versions of
- + sendmail (> 8.6.10) try to work around the problem.
- +
- + Some older versions (< 4.6.20?) of the libc/include files conflict
- + with sendmail's version of cdefs.h. Deleting sendmail's version
- + on those systems should be non-harmful, and new versions don't care.
- +
- AIX
- This version of sendmail does not support MB, MG, and MR resource
- records, which are supported by AIX sendmail.
- ***************
- *** 869,872 ****
-
- Eric Allman
-
- ! (Version 8.61, last update 4/17/94 07:05:32)
- --- 880,883 ----
-
- Eric Allman
-
- ! (Version 8.61.1.1, last update 3/5/95 12:52:16)
- *** src/conf.c.OLD Thu Feb 9 12:21:59 1995
- --- src/conf.c Tue Mar 7 09:49:01 1995
- ***************
- *** 33,39 ****
- */
-
- #ifndef lint
- ! static char sccsid[] = "@(#)conf.c 8.89 (Berkeley) 4/18/94";
- #endif /* not lint */
-
- # include "sendmail.h"
- --- 33,39 ----
- */
-
- #ifndef lint
- ! static char sccsid[] = "@(#)conf.c 8.89.1.3 (Berkeley) 3/7/95";
- #endif /* not lint */
-
- # include "sendmail.h"
- ***************
- *** 1402,1409 ****
- int opterr = 1; /* if error message should be printed */
- int optind = 1; /* index into parent argv vector */
- #endif
- ! int optopt; /* character checked for validity */
- ! char *optarg; /* argument associated with option */
-
- #define BADCH (int)'?'
- #define EMSG ""
- --- 1402,1409 ----
- int opterr = 1; /* if error message should be printed */
- int optind = 1; /* index into parent argv vector */
- #endif
- ! int optopt = 0; /* character checked for validity */
- ! char *optarg = NULL; /* argument associated with option */
-
- #define BADCH (int)'?'
- #define EMSG ""
- ***************
- *** 1543,1548 ****
- --- 1543,1551 ----
- register char *p;
- extern char *getusershell();
-
- + if (shell == NULL || shell[0] == '\0')
- + return TRUE;
- +
- setusershell();
- while ((p = getusershell()) != NULL)
- if (strcmp(p, shell) == 0 || strcmp(p, WILDCARD_SHELL) == 0)
- ***************
- *** 1553,1558 ****
- --- 1556,1564 ----
- register FILE *shellf;
- char buf[MAXLINE];
-
- + if (shell == NULL || shell[0] == '\0')
- + return TRUE;
- +
- shellf = fopen(_PATH_SHELLS, "r");
- if (shellf == NULL)
- {
- ***************
- *** 2190,2195 ****
- --- 2196,2203 ----
- */
-
- #ifdef SOLARIS
- +
- + extern int h_errno;
-
- struct hostent *
- solaris_gethostbyname(name)
- *** src/daemon.c.OLD Thu Feb 9 17:28:51 1995
- --- src/daemon.c Tue Feb 28 15:40:25 1995
- ***************
- *** 37,45 ****
-
- #ifndef lint
- #ifdef DAEMON
- ! static char sccsid[] = "@(#)daemon.c 8.48.1.2 (Berkeley) 2/9/95 (with daemon mode)";
- #else
- ! static char sccsid[] = "@(#)daemon.c 8.48.1.2 (Berkeley) 2/9/95 (without daemon mode)";
- #endif
- #endif /* not lint */
-
- --- 37,45 ----
-
- #ifndef lint
- #ifdef DAEMON
- ! static char sccsid[] = "@(#)daemon.c 8.48.1.4 (Berkeley) 2/28/95 (with daemon mode)";
- #else
- ! static char sccsid[] = "@(#)daemon.c 8.48.1.4 (Berkeley) 2/28/95 (without daemon mode)";
- #endif
- #endif /* not lint */
-
- ***************
- *** 995,1000 ****
- --- 995,1002 ----
- int s;
- int i;
- EVENT *ev;
- + int nleft;
- + char ibuf[MAXNAME + 1];
- #endif
- static char hbuf[MAXNAME * 2 + 2];
- extern char *hostnamebyanyaddr();
- ***************
- *** 1030,1036 ****
- }
-
- /* create ident query */
- ! (void) sprintf(hbuf, "%d,%d\r\n",
- ntohs(RealHostAddr.sin.sin_port), ntohs(la.sin.sin_port));
-
- /* create local address */
- --- 1032,1038 ----
- }
-
- /* create ident query */
- ! (void) sprintf(ibuf, "%d,%d\r\n",
- ntohs(RealHostAddr.sin.sin_port), ntohs(la.sin.sin_port));
-
- /* create local address */
- ***************
- *** 1068,1094 ****
- }
-
- if (tTd(9, 10))
- ! printf("getauthinfo: sent %s", hbuf);
-
- /* send query */
- ! if (write(s, hbuf, strlen(hbuf)) < 0)
- goto closeident;
-
- /* get result */
- ! i = read(s, hbuf, sizeof hbuf);
- (void) close(s);
- clrevent(ev);
- ! if (i <= 0)
- goto noident;
- - if (hbuf[--i] == '\n' && hbuf[--i] == '\r')
- - i--;
- - hbuf[++i] = '\0';
-
- if (tTd(9, 3))
- ! printf("getauthinfo: got %s\n", hbuf);
-
- /* parse result */
- ! p = strchr(hbuf, ':');
- if (p == NULL)
- {
- /* malformed response */
- --- 1070,1103 ----
- }
-
- if (tTd(9, 10))
- ! printf("getauthinfo: sent %s", ibuf);
-
- /* send query */
- ! if (write(s, ibuf, strlen(ibuf)) < 0)
- goto closeident;
-
- /* get result */
- ! p = &ibuf[0];
- ! nleft = sizeof(ibuf - 1);
- ! while ((i = read(s, p, nleft)) > 0)
- ! {
- ! p += i;
- ! nleft -= i;
- ! }
- (void) close(s);
- clrevent(ev);
- ! if (i < 0 || p == &ibuf[0])
- goto noident;
-
- + if (*--p == '\n' && *--p == '\r')
- + p--;
- + *++p = '\0';
- +
- if (tTd(9, 3))
- ! printf("getauthinfo: got %s\n", ibuf);
-
- /* parse result */
- ! p = strchr(ibuf, ':');
- if (p == NULL)
- {
- /* malformed response */
- *** src/deliver.c.OLD Sun Mar 5 08:28:25 1995
- --- src/deliver.c Sun Mar 5 14:55:38 1995
- ***************
- *** 33,39 ****
- */
-
- #ifndef lint
- ! static char sccsid[] = "@(#)deliver.c 8.84.1.1 (Berkeley) 2/10/95";
- #endif /* not lint */
-
- #include "sendmail.h"
- --- 33,39 ----
- */
-
- #ifndef lint
- ! static char sccsid[] = "@(#)deliver.c 8.84.1.3 (Berkeley) 3/5/95";
- #endif /* not lint */
-
- #include "sendmail.h"
- ***************
- *** 1181,1186 ****
- --- 1181,1192 ----
- extern char **environ;
- extern int DtableSize;
-
- + if (e->e_lockfp != NULL)
- + {
- + fclose(e->e_lockfp);
- + e->e_lockfp = NULL;
- + }
- +
- /* child -- set up input & exec mailer */
- (void) setsignal(SIGINT, SIG_IGN);
- (void) setsignal(SIGHUP, SIG_IGN);
- ***************
- *** 2176,2183 ****
- --- 2182,2197 ----
- {
- /* child -- actually write to file */
- struct stat stb;
- + struct stat fsb;
- MCI mcibuf;
- + int oflags = O_WRONLY|O_APPEND;
-
- + if (e->e_lockfp != NULL)
- + {
- + fclose(e->e_lockfp);
- + e->e_lockfp = NULL;
- + }
- +
- (void) setsignal(SIGINT, SIG_DFL);
- (void) setsignal(SIGHUP, SIG_DFL);
- (void) setsignal(SIGTERM, SIG_DFL);
- ***************
- *** 2184,2190 ****
- --- 2198,2209 ----
- (void) umask(OldUmask);
-
- if (stat(filename, &stb) < 0)
- + {
- stb.st_mode = FileMode;
- + oflags |= O_CREAT|O_EXCL;
- + }
- + else if (bitset(0111, stb.st_mode))
- + exit(EX_CANTCREAT);
- mode = stb.st_mode;
-
- /* limit the errors to those actually caused in the child */
- ***************
- *** 2191,2198 ****
- errno = 0;
- ExitStat = EX_OK;
-
- - if (bitset(0111, stb.st_mode))
- - exit(EX_CANTCREAT);
- if (ctladdr != NULL)
- {
- /* ignore setuid and setgid bits */
- --- 2210,2215 ----
- ***************
- *** 2232,2241 ****
- }
- FileName = filename;
- LineNumber = 0;
- ! f = dfopen(filename, O_WRONLY|O_CREAT|O_APPEND, FileMode);
- if (f == NULL)
- {
- message("554 cannot open: %s", errstring(errno));
- exit(EX_CANTCREAT);
- }
-
- --- 2249,2268 ----
- }
- FileName = filename;
- LineNumber = 0;
- ! f = dfopen(filename, oflags, FileMode);
- if (f == NULL)
- {
- message("554 cannot open: %s", errstring(errno));
- + exit(EX_CANTCREAT);
- + }
- + if (fstat(fileno(f), &fsb) < 0 ||
- + !bitset(O_CREAT, oflags) &&
- + (stb.st_nlink != fsb.st_nlink ||
- + stb.st_dev != fsb.st_dev ||
- + stb.st_ino != fsb.st_ino ||
- + stb.st_uid != fsb.st_uid))
- + {
- + message("554 cannot write: file changed after open");
- exit(EX_CANTCREAT);
- }
-
- *** src/domain.c.OLD Thu Feb 9 12:21:48 1995
- --- src/domain.c Mon Mar 6 16:03:01 1995
- ***************
- *** 36,44 ****
-
- #ifndef lint
- #if NAMED_BIND
- ! static char sccsid[] = "@(#)domain.c 8.19 (Berkeley) 3/11/94 (with name server)";
- #else
- ! static char sccsid[] = "@(#)domain.c 8.19 (Berkeley) 3/11/94 (without name server)";
- #endif
- #endif /* not lint */
-
- --- 36,44 ----
-
- #ifndef lint
- #if NAMED_BIND
- ! static char sccsid[] = "@(#)domain.c 8.19.1.1 (Berkeley) 3/6/95 (with name server)";
- #else
- ! static char sccsid[] = "@(#)domain.c 8.19.1.1 (Berkeley) 3/6/95 (without name server)";
- #endif
- #endif /* not lint */
-
- ***************
- *** 709,714 ****
- --- 709,715 ----
- fname = getenv("HOSTALIASES");
- if (fname == NULL || (fp = fopen(fname, "r")) == NULL)
- return NULL;
- + setbuf(fp, NULL);
- while (fgets(buf, sizeof buf, fp) != NULL)
- {
- for (p = buf; p != '\0' && !(isascii(*p) && isspace(*p)); p++)
- *** src/envelope.c.OLD Thu Feb 9 12:21:46 1995
- --- src/envelope.c Tue Feb 28 13:25:41 1995
- ***************
- *** 33,39 ****
- */
-
- #ifndef lint
- ! static char sccsid[] = "@(#)envelope.c 8.34 (Berkeley) 4/14/94";
- #endif /* not lint */
-
- #include "sendmail.h"
- --- 33,39 ----
- */
-
- #ifndef lint
- ! static char sccsid[] = "@(#)envelope.c 8.34.1.1 (Berkeley) 2/28/95";
- #endif /* not lint */
-
- #include "sendmail.h"
- ***************
- *** 489,495 ****
- if (fd < 0)
- syserr("!Can't open /dev/null");
- }
- ! e->e_xfp = fdopen(fd, "w");
- if (e->e_xfp == NULL)
- {
- syserr("!Can't create transcript stream %s", p);
- --- 489,495 ----
- if (fd < 0)
- syserr("!Can't open /dev/null");
- }
- ! e->e_xfp = fdopen(fd, "a");
- if (e->e_xfp == NULL)
- {
- syserr("!Can't create transcript stream %s", p);
- *** src/main.c.OLD Fri Feb 10 09:40:49 1995
- --- src/main.c Sun Mar 5 10:10:07 1995
- ***************
- *** 39,45 ****
- #endif /* not lint */
-
- #ifndef lint
- ! static char sccsid[] = "@(#)main.c 8.55.1.3 (Berkeley) 2/10/95";
- #endif /* not lint */
-
- #define _DEFINE
- --- 39,45 ----
- #endif /* not lint */
-
- #ifndef lint
- ! static char sccsid[] = "@(#)main.c 8.55.1.7 (Berkeley) 3/5/95";
- #endif /* not lint */
-
- #define _DEFINE
- ***************
- *** 293,299 ****
-
- for (i = j = 0; j < MAXUSERENVIRON && (p = envp[i]) != NULL; i++)
- {
- ! if (strncmp(p, "FS=", 3) == 0 || strncmp(p, "LD_", 3) == 0)
- continue;
- UserEnviron[j++] = newstr(p);
- }
- --- 293,299 ----
-
- for (i = j = 0; j < MAXUSERENVIRON && (p = envp[i]) != NULL; i++)
- {
- ! if (strncmp(p, "IFS=", 4) == 0 || strncmp(p, "LD_", 3) == 0)
- continue;
- UserEnviron[j++] = newstr(p);
- }
- ***************
- *** 324,330 ****
- --- 324,333 ----
-
- #if NAMED_BIND
- if (tTd(8, 8))
- + {
- + res_init();
- _res.options |= RES_DEBUG;
- + }
- #endif
-
- errno = 0;
- ***************
- *** 490,496 ****
- ExitStat = EX_USAGE;
- break;
- }
- ! from = newstr(denlstring(optarg));
- if (strcmp(RealUserName, from) != 0)
- warn_f_flag = j;
- break;
- --- 493,499 ----
- ExitStat = EX_USAGE;
- break;
- }
- ! from = newstr(denlstring(optarg, TRUE, TRUE));
- if (strcmp(RealUserName, from) != 0)
- warn_f_flag = j;
- break;
- ***************
- *** 571,576 ****
- --- 574,580 ----
- break;
-
- case 'X': /* traffic log file */
- + setgid(RealGid);
- setuid(RealUid);
- TrafficLogFile = fopen(optarg, "a");
- if (TrafficLogFile == NULL)
- ***************
- *** 654,659 ****
- --- 658,672 ----
- }
-
- /*
- + ** Initialize name server if it is going to be used.
- + */
- +
- + #if NAMED_BIND
- + if (!bitset(RES_INIT, _res.options))
- + res_init();
- + #endif
- +
- + /*
- ** Process authorization warnings from command line.
- */
-
- ***************
- *** 730,736 ****
-
- /* full names can't have newlines */
- if (FullName != NULL && strchr(FullName, '\n') != NULL)
- ! FullName = newstr(denlstring(FullName));
-
- /* do heuristic mode adjustment */
- if (Verbose)
- --- 743,749 ----
-
- /* full names can't have newlines */
- if (FullName != NULL && strchr(FullName, '\n') != NULL)
- ! FullName = newstr(denlstring(FullName, TRUE, TRUE));
-
- /* do heuristic mode adjustment */
- if (Verbose)
- *** src/queue.c.OLD Fri Feb 10 07:38:11 1995
- --- src/queue.c Sun Mar 5 10:10:09 1995
- ***************
- *** 36,44 ****
-
- #ifndef lint
- #ifdef QUEUE
- ! static char sccsid[] = "@(#)queue.c 8.41.1.1 (Berkeley) 2/10/95 (with queueing)";
- #else
- ! static char sccsid[] = "@(#)queue.c 8.41.1.1 (Berkeley) 2/10/95 (without queueing)";
- #endif
- #endif /* not lint */
-
- --- 36,44 ----
-
- #ifndef lint
- #ifdef QUEUE
- ! static char sccsid[] = "@(#)queue.c 8.41.1.3 (Berkeley) 3/5/95 (with queueing)";
- #else
- ! static char sccsid[] = "@(#)queue.c 8.41.1.3 (Berkeley) 3/5/95 (without queueing)";
- #endif
- #endif /* not lint */
-
- ***************
- *** 210,216 ****
-
- /* message from envelope, if it exists */
- if (e->e_message != NULL)
- ! fprintf(tfp, "M%s\n", denlstring(e->e_message));
-
- /* send various flag bits through */
- p = buf;
- --- 210,216 ----
-
- /* message from envelope, if it exists */
- if (e->e_message != NULL)
- ! fprintf(tfp, "M%s\n", denlstring(e->e_message, TRUE, FALSE));
-
- /* send various flag bits through */
- p = buf;
- ***************
- *** 224,237 ****
-
- /* $r and $s and $_ macro values */
- if ((p = macvalue('r', e)) != NULL)
- ! fprintf(tfp, "$r%s\n", denlstring(p));
- if ((p = macvalue('s', e)) != NULL)
- ! fprintf(tfp, "$s%s\n", denlstring(p));
- if ((p = macvalue('_', e)) != NULL)
- ! fprintf(tfp, "$_%s\n", denlstring(p));
-
- /* output name of sender */
- ! fprintf(tfp, "S%s\n", denlstring(e->e_from.q_paddr));
-
- /* output list of error recipients */
- printctladdr(NULL, NULL);
- --- 224,237 ----
-
- /* $r and $s and $_ macro values */
- if ((p = macvalue('r', e)) != NULL)
- ! fprintf(tfp, "$r%s\n", denlstring(p, TRUE, FALSE));
- if ((p = macvalue('s', e)) != NULL)
- ! fprintf(tfp, "$s%s\n", denlstring(p, TRUE, FALSE));
- if ((p = macvalue('_', e)) != NULL)
- ! fprintf(tfp, "$_%s\n", denlstring(p, TRUE, FALSE));
-
- /* output name of sender */
- ! fprintf(tfp, "S%s\n", denlstring(e->e_from.q_paddr, TRUE, FALSE));
-
- /* output list of error recipients */
- printctladdr(NULL, NULL);
- ***************
- *** 240,246 ****
- if (!bitset(QDONTSEND|QBADADDR, q->q_flags))
- {
- printctladdr(q, tfp);
- ! fprintf(tfp, "E%s\n", denlstring(q->q_paddr));
- }
- }
-
- --- 240,246 ----
- if (!bitset(QDONTSEND|QBADADDR, q->q_flags))
- {
- printctladdr(q, tfp);
- ! fprintf(tfp, "E%s\n", denlstring(q->q_paddr, TRUE, FALSE));
- }
- }
-
- ***************
- *** 251,257 ****
- (queueall && !bitset(QDONTSEND|QBADADDR|QSENT, q->q_flags)))
- {
- printctladdr(q, tfp);
- ! fprintf(tfp, "R%s\n", denlstring(q->q_paddr));
- if (announce)
- {
- e->e_to = q->q_paddr;
- --- 251,257 ----
- (queueall && !bitset(QDONTSEND|QBADADDR|QSENT, q->q_flags)))
- {
- printctladdr(q, tfp);
- ! fprintf(tfp, "R%s\n", denlstring(q->q_paddr, TRUE, FALSE));
- if (announce)
- {
- e->e_to = q->q_paddr;
- ***************
- *** 427,433 ****
- else
- uname = pw->pw_name;
-
- ! fprintf(tfp, "C%s:%s\n", uname, denlstring(a->q_paddr));
- }
-
- /*
- --- 427,433 ----
- else
- uname = pw->pw_name;
-
- ! fprintf(tfp, "C%s:%s\n", uname, denlstring(a->q_paddr, TRUE, FALSE));
- }
-
- /*
- *** src/recipient.c.OLD Mon Feb 20 17:31:39 1995
- --- src/recipient.c Sun Mar 5 10:10:06 1995
- ***************
- *** 33,39 ****
- */
-
- #ifndef lint
- ! static char sccsid[] = "@(#)recipient.c 8.44.1.4 (Berkeley) 2/20/95";
- #endif /* not lint */
-
- # include "sendmail.h"
- --- 33,39 ----
- */
-
- #ifndef lint
- ! static char sccsid[] = "@(#)recipient.c 8.44.1.6 (Berkeley) 3/5/95";
- #endif /* not lint */
-
- # include "sendmail.h"
- ***************
- *** 111,117 ****
- bufp = buf;
- else
- bufp = xalloc(i);
- ! strcpy(bufp, denlstring(list));
-
- for (p = bufp; *p != '\0'; )
- {
- --- 111,117 ----
- bufp = buf;
- else
- bufp = xalloc(i);
- ! strcpy(bufp, denlstring(list, FALSE, TRUE));
-
- for (p = bufp; *p != '\0'; )
- {
- *** src/sendmail.h.OLD Tue Mar 7 16:22:14 1995
- --- src/sendmail.h Sun Mar 5 09:58:06 1995
- ***************
- *** 31,37 ****
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- ! * @(#)sendmail.h 8.43.1.1 (Berkeley) 2/10/95
- */
-
- /*
- --- 31,37 ----
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- ! * @(#)sendmail.h 8.43.1.3 (Berkeley) 3/5/95
- */
-
- /*
- ***************
- *** 41,47 ****
- # ifdef _DEFINE
- # define EXTERN
- # ifndef lint
- ! static char SmailSccsId[] = "@(#)sendmail.h 8.43.1.1 2/10/95";
- # endif
- # else /* _DEFINE */
- # define EXTERN extern
- --- 41,47 ----
- # ifdef _DEFINE
- # define EXTERN
- # ifndef lint
- ! static char SmailSccsId[] = "@(#)sendmail.h 8.43.1.3 3/5/95";
- # endif
- # else /* _DEFINE */
- # define EXTERN extern
- ***************
- *** 956,962 ****
- extern char *shortenstring __P((char *, int));
- extern bool usershellok __P((char *));
- extern void commaize __P((HDR *, char *, int, MCI *, ENVELOPE *));
- ! extern char *denlstring __P((char *));
-
- /* ellipsis is a different case though */
- #ifdef __STDC__
- --- 956,962 ----
- extern char *shortenstring __P((char *, int));
- extern bool usershellok __P((char *));
- extern void commaize __P((HDR *, char *, int, MCI *, ENVELOPE *));
- ! extern char *denlstring __P((char *, int, int));
-
- /* ellipsis is a different case though */
- #ifdef __STDC__
- *** src/util.c.OLD Tue Feb 28 08:11:27 1995
- --- src/util.c Sun Mar 5 10:10:07 1995
- ***************
- *** 33,39 ****
- */
-
- #ifndef lint
- ! static char sccsid[] = "@(#)util.c 8.39.1.2 (Berkeley) 2/10/95";
- #endif /* not lint */
-
- # include "sendmail.h"
- --- 33,39 ----
- */
-
- #ifndef lint
- ! static char sccsid[] = "@(#)util.c 8.39.1.5 (Berkeley) 3/5/95";
- #endif /* not lint */
-
- # include "sendmail.h"
- ***************
- *** 1485,1491 ****
- {
- #ifdef LOG
- /* check for newlines and log if necessary */
- ! (void) denlstring(f);
- #endif
-
- l--;
- --- 1485,1491 ----
- {
- #ifdef LOG
- /* check for newlines and log if necessary */
- ! (void) denlstring(f, TRUE, TRUE);
- #endif
-
- l--;
- ***************
- *** 1506,1511 ****
- --- 1506,1513 ----
- **
- ** Parameters:
- ** s -- the input string
- + ** strict -- if set, don't permit continuation lines.
- + ** logattacks -- if set, log attempted attacks.
- **
- ** Returns:
- ** A pointer to a version of the string with newlines
- ***************
- *** 1513,1520 ****
- */
-
- char *
- ! denlstring(s)
- char *s;
- {
- register char *p;
- int l;
- --- 1515,1524 ----
- */
-
- char *
- ! denlstring(s, strict, logattacks)
- char *s;
- + int strict;
- + int logattacks;
- {
- register char *p;
- int l;
- ***************
- *** 1521,1527 ****
- static char *bp = NULL;
- static int bl = 0;
-
- ! if (strchr(s, '\n') == NULL)
- return s;
-
- l = strlen(s) + 1;
- --- 1525,1535 ----
- static char *bp = NULL;
- static int bl = 0;
-
- ! p = s;
- ! while ((p = strchr(p, '\n')) != NULL)
- ! if (strict || (*++p != ' ' && *p != '\t'))
- ! break;
- ! if (p == NULL)
- return s;
-
- l = strlen(s) + 1;
- ***************
- *** 1538,1546 ****
- *p++ = ' ';
-
- #ifdef LOG
- ! p = macvalue('_', CurEnv);
- ! syslog(LOG_ALERT, "POSSIBLE ATTACK from %s: newline in string \"%s\"",
- ! p == NULL ? "[UNKNOWN]" : p, bp);
- #endif
-
- return bp;
- --- 1546,1557 ----
- *p++ = ' ';
-
- #ifdef LOG
- ! if (logattacks)
- ! {
- ! syslog(LOG_NOTICE, "POSSIBLE ATTACK from %s: newline in string \"%s\"",
- ! RealHostName == NULL ? "[UNKNOWN]" : RealHostName,
- ! shortenstring(bp, 80));
- ! }
- #endif
-
- return bp;
- *** src/version.c.OLD Tue Feb 28 08:35:57 1995
- --- src/version.c Tue Feb 28 11:11:00 1995
- ***************
- *** 33,39 ****
- */
-
- #ifndef lint
- ! static char sccsid[] = "@(#)version.c 8.6.10.1 (Berkeley) 2/7/95";
- #endif /* not lint */
-
- ! char Version[] = "8.6.10";
- --- 33,39 ----
- */
-
- #ifndef lint
- ! static char sccsid[] = "@(#)version.c 8.6.11.1 (Berkeley) 2/28/95";
- #endif /* not lint */
-
- ! char Version[] = "8.6.11";
-