SCCS-vsn: usr.sbin/sendmail/src/headers.c 5.22
SCCS-vsn: usr.sbin/sendmail/src/parseaddr.c 5.22
SCCS-vsn: usr.sbin/sendmail/src/collect.c 5.13
SCCS-vsn: usr.sbin/sendmail/src/version.c 5.119
SCCS-vsn: usr.sbin/sendmail/src/daemon.c 5.50
SCCS-vsn: usr.sbin/sendmail/src/readcf.c 5.47
SCCS-vsn: usr.sbin/sendmail/src/deliver.c 5.65
-static char sccsid[] = "@(#)collect.c 5.12 (Berkeley) %G%";
+static char sccsid[] = "@(#)collect.c 5.13 (Berkeley) %G%";
#endif /* not lint */
# include <errno.h>
#endif /* not lint */
# include <errno.h>
/* we have room for more of this field */
fixcrlf(freebuf, TRUE);
/* we have room for more of this field */
fixcrlf(freebuf, TRUE);
- *p++ = '\n'; workbuflen++;
+ *p++ = '\n';
+ workbuflen++;
while(*q != '\0' && workbuflen < MAXFIELD-1)
{
*p++ = *q++;
while(*q != '\0' && workbuflen < MAXFIELD-1)
{
*p++ = *q++;
#ifndef lint
#ifdef DAEMON
#ifndef lint
#ifdef DAEMON
-static char sccsid[] = "@(#)daemon.c 5.49 (Berkeley) %G% (with daemon mode)";
+static char sccsid[] = "@(#)daemon.c 5.50 (Berkeley) %G% (with daemon mode)";
-static char sccsid[] = "@(#)daemon.c 5.49 (Berkeley) %G% (without daemon mode)";
+static char sccsid[] = "@(#)daemon.c 5.50 (Berkeley) %G% (without daemon mode)";
#endif
#endif /* not lint */
#endif
#endif /* not lint */
{
/* found a match -- add the trailing dot */
if (ConfigLevel >= 2)
{
/* found a match -- add the trailing dot */
if (ConfigLevel >= 2)
- (void) strcat(hbuf, ".");
+ {
+ int i = strlen(hbuf) - 1;
+
+ if (hbuf[i] != '.')
+ (void) strcpy(&hbuf[++i], ".");
+ }
-static char sccsid[] = "@(#)deliver.c 5.64 (Berkeley) %G%";
+static char sccsid[] = "@(#)deliver.c 5.65 (Berkeley) %G%";
#endif /* not lint */
#include "sendmail.h"
#endif /* not lint */
#include "sendmail.h"
else if (pid == 0)
{
int i;
else if (pid == 0)
{
int i;
extern int DtableSize;
/* child -- set up input & exec mailer */
extern int DtableSize;
/* child -- set up input & exec mailer */
/* try to execute the mailer */
execve(m->m_mailer, pvp, UserEnviron);
/* try to execute the mailer */
execve(m->m_mailer, pvp, UserEnviron);
syserr("Cannot exec %s", m->m_mailer);
if (m == LocalMailer)
_exit(EX_TEMPFAIL);
syserr("Cannot exec %s", m->m_mailer);
if (m == LocalMailer)
_exit(EX_TEMPFAIL);
-static char sccsid[] = "@(#)headers.c 5.21 (Berkeley) %G%";
+static char sccsid[] = "@(#)headers.c 5.22 (Berkeley) %G%";
#endif /* not lint */
# include <sys/param.h>
#endif /* not lint */
# include <sys/param.h>
/* strip off options */
clrbitmap(mopts);
p = line;
/* strip off options */
clrbitmap(mopts);
p = line;
{
/* have some */
register char *q = index(p + 1, *p);
{
/* have some */
register char *q = index(p + 1, *p);
-static char sccsid[] = "@(#)parseaddr.c 5.13.1.2 (Berkeley) %G%";
+static char sccsid[] = "@(#)parseaddr.c 5.22 (Berkeley) %G%";
#endif /* not lint */
#include "sendmail.h"
#endif /* not lint */
#include "sendmail.h"
printf("rewrite: ruleset %2d input:", ruleset);
printcav(pvp);
}
printf("rewrite: ruleset %2d input:", ruleset);
printcav(pvp);
}
+ if (ruleset < 0 || ruleset >= MAXRWSETS)
+ {
+ syserr("rewrite: illegal ruleset number %d", ruleset);
+ return;
+ }
if (++loopcount > 100)
{
syserr("Infinite loop in ruleset %d", ruleset);
if (++loopcount > 100)
{
syserr("Infinite loop in ruleset %d", ruleset);
+ printf("workspace: ");
+ printav(pvp);
{
/* substitute from LHS */
m = &mlist[rp[1] - '1'];
{
/* substitute from LHS */
m = &mlist[rp[1] - '1'];
+ if (m < mlist || m >= mlp)
{
toolong:
syserr("rewrite: ruleset %d: replacement #%c out of bounds",
{
toolong:
syserr("rewrite: ruleset %d: replacement #%c out of bounds",
-static char sccsid[] = "@(#)readcf.c 5.46 (Berkeley) %G%";
+static char sccsid[] = "@(#)readcf.c 5.47 (Berkeley) %G%";
#endif /* not lint */
# include "sendmail.h"
#endif /* not lint */
# include "sendmail.h"
rwp->r_lhs = prescan(exbuf, '\t', pvpbuf);
if (rwp->r_lhs != NULL)
rwp->r_lhs = copyplist(rwp->r_lhs, TRUE);
rwp->r_lhs = prescan(exbuf, '\t', pvpbuf);
if (rwp->r_lhs != NULL)
rwp->r_lhs = copyplist(rwp->r_lhs, TRUE);
+ else
+ syserr("R line: null LHS");
/* expand and save the RHS */
while (*++p == '\t')
/* expand and save the RHS */
while (*++p == '\t')
rwp->r_rhs = prescan(exbuf, '\t', pvpbuf);
if (rwp->r_rhs != NULL)
rwp->r_rhs = copyplist(rwp->r_rhs, TRUE);
rwp->r_rhs = prescan(exbuf, '\t', pvpbuf);
if (rwp->r_rhs != NULL)
rwp->r_rhs = copyplist(rwp->r_rhs, TRUE);
+ else
+ syserr("R line: null RHS");
break;
case 'S': /* select rewriting set */
break;
case 'S': /* select rewriting set */
-static char sccsid[] = "@(#)version.c 5.118 (Berkeley) %G%";
+static char sccsid[] = "@(#)version.c 5.119 (Berkeley) %G%";
-char Version[] = "5.118";
+char Version[] = "5.119";