sendmail.h (it should have gone here in the first place!)
SCCS-mr: usr.sbin/sendmail/src/alias.c 039,, 027
SCCS-mr: usr.sbin/sendmail/src/sendmail.h 039,, 027
SCCS-mr: usr.sbin/sendmail/src/version.c 039, 027
SCCS-mr: usr.sbin/sendmail/src/readcf.c 039,, 027
SCCS-vsn: usr.sbin/sendmail/src/alias.c 3.39
SCCS-vsn: usr.sbin/sendmail/src/sendmail.h 3.93
SCCS-vsn: usr.sbin/sendmail/src/version.c 3.230
SCCS-vsn: usr.sbin/sendmail/src/readcf.c 3.39
# include "sendmail.h"
# ifdef DBM
# include "sendmail.h"
# ifdef DBM
-SCCSID(@(#)alias.c 3.38 %G% (with DBM));
+SCCSID(@(#)alias.c 3.39 %G% (with DBM));
-SCCSID(@(#)alias.c 3.38 %G% (without DBM));
+SCCSID(@(#)alias.c 3.39 %G% (without DBM));
/*
** Check to see that the alias file is complete.
** If not, we will assume that someone died, and it is up
/*
** Check to see that the alias file is complete.
** If not, we will assume that someone died, and it is up
- for (atcnt = 10; !init && atcnt-- >= 0 && aliaslookup("@") == NULL; )
+ atcnt = 10;
+ while (SafeAlias && !init && atcnt-- >= 0 && aliaslookup("@") == NULL)
/*
** See if the DBM version of the file is out of date with
** the text version. If so, go into 'init' mode automatically.
/*
** See if the DBM version of the file is out of date with
** the text version. If so, go into 'init' mode automatically.
-SCCSID(@(#)readcf.c 3.38 %G%);
+SCCSID(@(#)readcf.c 3.39 %G%);
/*
** READCF -- read control file.
/*
** READCF -- read control file.
** Builds several internal tables.
*/
** Builds several internal tables.
*/
-# define MAXTRUST 10 /* maximum number of trusted users */
-
-char *TrustedUsers[MAXTRUST+1]; /* list of trusted users */
-
readcf(cfname, safe)
char *cfname;
bool safe;
readcf(cfname, safe)
char *cfname;
bool safe;
tval = convtime(val);
else if (index("gLu", opt) != NULL)
ival = atoi(val);
tval = convtime(val);
else if (index("gLu", opt) != NULL)
ival = atoi(val);
- else if (index("cfimosv", opt) != NULL)
+ else if (index("acfimosv", opt) != NULL)
bval = atobool(val);
else if (index("be", opt) != NULL)
/* do nothing */ ;
bval = atobool(val);
else if (index("be", opt) != NULL)
/* do nothing */ ;
AliasFile = "aliases";
break;
AliasFile = "aliases";
break;
+ case 'a': /* look for "@:@" in alias file */
+ SafeAlias = bval;
+ break;
+
case 'b': /* operations mode */
Mode = *val;
switch (Mode)
case 'b': /* operations mode */
Mode = *val;
switch (Mode)
# ifdef _DEFINE
# define EXTERN
# ifndef lint
# ifdef _DEFINE
# define EXTERN
# ifndef lint
-static char SmailSccsId[] = "@(#)sendmail.h 3.92 %G%";
+static char SmailSccsId[] = "@(#)sendmail.h 3.93 %G%";
# endif lint
# else _DEFINE
# define EXTERN extern
# endif lint
# else _DEFINE
# define EXTERN extern
# define MAXMAILERS 25 /* maximum mailers known to system */
# define MAXRWSETS 30 /* max # of sets of rewriting rules */
# define MAXPRIORITIES 25 /* max values for Precedence: field */
# define MAXMAILERS 25 /* maximum mailers known to system */
# define MAXRWSETS 30 /* max # of sets of rewriting rules */
# define MAXPRIORITIES 25 /* max values for Precedence: field */
+# define MAXTRUST 30 /* maximum number of trusted users */
# define SPACESUB ('.'|0200) /* substitution for <lwsp> */
\f/*
** Address structure.
# define SPACESUB ('.'|0200) /* substitution for <lwsp> */
\f/*
** Address structure.
EXTERN bool NoConnect; /* don't connect to non-local mailers */
EXTERN bool FatalErrors; /* set if fatal errors during processing */
EXTERN bool SuperSafe; /* be extra careful, even if expensive */
EXTERN bool NoConnect; /* don't connect to non-local mailers */
EXTERN bool FatalErrors; /* set if fatal errors during processing */
EXTERN bool SuperSafe; /* be extra careful, even if expensive */
+EXTERN bool SafeAlias; /* alias file must have "@:@" to be complete */
EXTERN time_t TimeOut; /* time until timeout */
EXTERN FILE *InChannel; /* input connection */
EXTERN FILE *OutChannel; /* output connection */
EXTERN time_t TimeOut; /* time until timeout */
EXTERN FILE *InChannel; /* input connection */
EXTERN FILE *OutChannel; /* output connection */
EXTERN char *HelpFile; /* location of SMTP help file */
EXTERN char *StatFile; /* location of statistics summary */
EXTERN char *QueueDir; /* location of queue directory */
EXTERN char *HelpFile; /* location of SMTP help file */
EXTERN char *StatFile; /* location of statistics summary */
EXTERN char *QueueDir; /* location of queue directory */
+EXTERN char *TrustedUsers[MAXTRUST+1]; /* list of trusted users */
EXTERN jmp_buf TopFrame; /* branch-to-top-of-loop-on-error frame */
EXTERN bool QuickAbort; /* .... but only if we want a quick abort */
extern char *XcriptFile; /* template for Transcript [conf.c] */
EXTERN jmp_buf TopFrame; /* branch-to-top-of-loop-on-error frame */
EXTERN bool QuickAbort; /* .... but only if we want a quick abort */
extern char *XcriptFile; /* template for Transcript [conf.c] */
-static char SccsId[] = "@(#)SendMail version 3.229 of %G%";
+static char SccsId[] = "@(#)SendMail version 3.230 of %G%";
-char Version[] = "3.229 [%G%]";
+char Version[] = "3.230 [%G%]";