fix bogus implementation of name overflow limiting
[unix-history] / usr / src / usr.sbin / sendmail / src / sendmail.h
index a9256cc..6354cce 100644 (file)
@@ -5,7 +5,7 @@
  *
  * %sccs.include.redist.c%
  *
  *
  * %sccs.include.redist.c%
  *
- *     @(#)sendmail.h  8.23 (Berkeley) %G%
+ *     @(#)sendmail.h  8.29 (Berkeley) %G%
  */
 
 /*
  */
 
 /*
@@ -15,7 +15,7 @@
 # ifdef _DEFINE
 # define EXTERN
 # ifndef lint
 # ifdef _DEFINE
 # define EXTERN
 # ifndef lint
-static char SmailSccsId[] =    "@(#)sendmail.h 8.23            %G%";
+static char SmailSccsId[] =    "@(#)sendmail.h 8.29            %G%";
 # endif
 # else /*  _DEFINE */
 # define EXTERN extern
 # endif
 # else /*  _DEFINE */
 # define EXTERN extern
@@ -43,6 +43,9 @@ static char SmailSccsId[] =   "@(#)sendmail.h 8.23            %G%";
 # ifdef DAEMON
 # include <sys/socket.h>
 # endif
 # ifdef DAEMON
 # include <sys/socket.h>
 # endif
+# ifdef NETUNIX
+# include <sys/un.h>
+# endif
 # ifdef NETINET
 # include <netinet/in.h>
 # endif
 # ifdef NETINET
 # include <netinet/in.h>
 # endif
@@ -709,6 +712,15 @@ struct prival
 #define RF_COPYALL             (RF_COPYPARSE|RF_COPYPADDR)
 #define RF_COPYNONE            0
 
 #define RF_COPYALL             (RF_COPYPARSE|RF_COPYPADDR)
 #define RF_COPYNONE            0
 
+
+/*
+**  Flags passed to safefile.
+*/
+
+#define SF_MUSTOWN             0x0001  /* user must own this file */
+#define SF_NOSLINK             0x0002  /* file cannot be a symbolic link */
+
+
 /*
 **  Regular UNIX sockaddrs are too small to handle ISO addresses, so
 **  we are forced to declare a supertype here.
 /*
 **  Regular UNIX sockaddrs are too small to handle ISO addresses, so
 **  we are forced to declare a supertype here.
@@ -717,6 +729,9 @@ struct prival
 union bigsockaddr
 {
        struct sockaddr         sa;     /* general version */
 union bigsockaddr
 {
        struct sockaddr         sa;     /* general version */
+#ifdef NETUNIX
+       struct sockaddr_un      sunix;  /* UNIX family */
+#endif
 #ifdef NETINET
        struct sockaddr_in      sin;    /* INET family */
 #endif
 #ifdef NETINET
        struct sockaddr_in      sin;    /* INET family */
 #endif
@@ -753,7 +768,7 @@ EXTERN bool CheckAliases;   /* parse addresses during newaliases */
 EXTERN bool    NoAlias;        /* suppress aliasing */
 EXTERN bool    UseNameServer;  /* use internet domain name server */
 EXTERN bool    SevenBit;       /* force 7-bit data */
 EXTERN bool    NoAlias;        /* suppress aliasing */
 EXTERN bool    UseNameServer;  /* use internet domain name server */
 EXTERN bool    SevenBit;       /* force 7-bit data */
-EXTERN int     SafeAlias;      /* minutes to wait until @:@ in alias file */
+EXTERN time_t  SafeAlias;      /* interval to wait until @:@ in alias file */
 EXTERN FILE    *InChannel;     /* input connection */
 EXTERN FILE    *OutChannel;    /* output connection */
 EXTERN uid_t   RealUid;        /* when Daemon, real uid of caller */
 EXTERN FILE    *InChannel;     /* input connection */
 EXTERN FILE    *OutChannel;    /* output connection */
 EXTERN uid_t   RealUid;        /* when Daemon, real uid of caller */
@@ -790,7 +805,8 @@ EXTERN bool SendMIMEErrors; /* send error messages in MIME format */
 EXTERN bool    MatchGecos;     /* look for user names in gecos field */
 EXTERN bool    UseErrorsTo;    /* use Errors-To: header (back compat) */
 EXTERN bool    TryNullMXList;  /* if we are the best MX, try host directly */
 EXTERN bool    MatchGecos;     /* look for user names in gecos field */
 EXTERN bool    UseErrorsTo;    /* use Errors-To: header (back compat) */
 EXTERN bool    TryNullMXList;  /* if we are the best MX, try host directly */
-EXTERN bool    CheckLoopBack;  /* check for loopback on HELO packet */
+extern bool    CheckLoopBack;  /* check for loopback on HELO packet */
+EXTERN bool    InChild;        /* true if running in an SMTP subprocess */
 EXTERN char    SpaceSub;       /* substitution for <lwsp> */
 EXTERN int     PrivacyFlags;   /* privacy flags */
 EXTERN char    *ConfFile;      /* location of configuration file [conf.c] */
 EXTERN char    SpaceSub;       /* substitution for <lwsp> */
 EXTERN int     PrivacyFlags;   /* privacy flags */
 EXTERN char    *ConfFile;      /* location of configuration file [conf.c] */
@@ -810,13 +826,14 @@ EXTERN long       MaxMessageSize; /* advertised max size we will accept */
 EXTERN char    *PostMasterCopy;        /* address to get errs cc's */
 EXTERN int     CheckpointInterval;     /* queue file checkpoint interval */
 EXTERN bool    DontPruneRoutes;        /* don't prune source routes */
 EXTERN char    *PostMasterCopy;        /* address to get errs cc's */
 EXTERN int     CheckpointInterval;     /* queue file checkpoint interval */
 EXTERN bool    DontPruneRoutes;        /* don't prune source routes */
-EXTERN bool    BrokenSmtpPeers;        /* peers can't handle 2-line greeting */
+extern bool    BrokenSmtpPeers;        /* peers can't handle 2-line greeting */
 EXTERN int     MaxMciCache;            /* maximum entries in MCI cache */
 EXTERN time_t  MciCacheTimeout;        /* maximum idle time on connections */
 EXTERN char    *QueueLimitRecipient;   /* limit queue runs to this recipient */
 EXTERN char    *QueueLimitSender;      /* limit queue runs to this sender */
 EXTERN char    *QueueLimitId;          /* limit queue runs to this id */
 EXTERN FILE    *TrafficLogFile;        /* file in which to log all traffic */
 EXTERN int     MaxMciCache;            /* maximum entries in MCI cache */
 EXTERN time_t  MciCacheTimeout;        /* maximum idle time on connections */
 EXTERN char    *QueueLimitRecipient;   /* limit queue runs to this recipient */
 EXTERN char    *QueueLimitSender;      /* limit queue runs to this sender */
 EXTERN char    *QueueLimitId;          /* limit queue runs to this id */
 EXTERN FILE    *TrafficLogFile;        /* file in which to log all traffic */
+extern int     errno;
 
 
 /*
 
 
 /*
@@ -913,6 +930,7 @@ extern char         *hostsignature __P((MAILER *, char *, ENVELOPE *));
 extern void            openxscript __P((ENVELOPE *));
 extern void            closexscript __P((ENVELOPE *));
 extern sigfunc_t       setsignal __P((int, sigfunc_t));
 extern void            openxscript __P((ENVELOPE *));
 extern void            closexscript __P((ENVELOPE *));
 extern sigfunc_t       setsignal __P((int, sigfunc_t));
+extern char            *shortenstring __P((char *, int));
 
 /* ellipsis is a different case though */
 #ifdef __STDC__
 
 /* ellipsis is a different case though */
 #ifdef __STDC__