sendmail.h (98841) | sendmail.h (102528) |
---|---|
1/* 2 * Copyright (c) 1998-2002 Sendmail, Inc. and its suppliers. 3 * All rights reserved. 4 * Copyright (c) 1983, 1995-1997 Eric P. Allman. All rights reserved. 5 * Copyright (c) 1988, 1993 6 * The Regents of the University of California. All rights reserved. 7 * 8 * By using this file, you agree to the terms and conditions set --- 34 unchanged lines hidden (view full) --- 43#if MONCONTROL 44# define SM_PROF(x) moncontrol(x) 45#else /* MONCONTROL */ 46# define SM_PROF(x) 47#endif /* MONCONTROL */ 48 49#ifdef _DEFINE 50# ifndef lint | 1/* 2 * Copyright (c) 1998-2002 Sendmail, Inc. and its suppliers. 3 * All rights reserved. 4 * Copyright (c) 1983, 1995-1997 Eric P. Allman. All rights reserved. 5 * Copyright (c) 1988, 1993 6 * The Regents of the University of California. All rights reserved. 7 * 8 * By using this file, you agree to the terms and conditions set --- 34 unchanged lines hidden (view full) --- 43#if MONCONTROL 44# define SM_PROF(x) moncontrol(x) 45#else /* MONCONTROL */ 46# define SM_PROF(x) 47#endif /* MONCONTROL */ 48 49#ifdef _DEFINE 50# ifndef lint |
51SM_UNUSED(static char SmailId[]) = "@(#)$Id: sendmail.h,v 8.919.2.1 2002/06/21 20:25:22 ca Exp $"; | 51SM_UNUSED(static char SmailId[]) = "@(#)$Id: sendmail.h,v 8.919.2.4 2002/08/16 14:56:01 ca Exp $"; |
52# endif /* ! lint */ 53#endif /* _DEFINE */ 54 55#include "bf.h" 56#include "timers.h" 57#include <sm/exc.h> 58#include <sm/heap.h> 59#include <sm/debug.h> --- 228 unchanged lines hidden (view full) --- 288#define QS_EXPANDED 7 /* expanded */ 289#define QS_SENDER 8 /* message sender (MeToo) */ 290#define QS_CLONED 9 /* addr cloned to split envelope */ 291#define QS_DISCARDED 10 /* rcpt discarded (EF_DISCARD) */ 292#define QS_REPLACED 11 /* maplocaluser()/UserDB replaced */ 293#define QS_REMOVED 12 /* removed (removefromlist()) */ 294#define QS_DUPLICATE 13 /* duplicate suppressed */ 295#define QS_INCLUDED 14 /* :include: delivery */ | 52# endif /* ! lint */ 53#endif /* _DEFINE */ 54 55#include "bf.h" 56#include "timers.h" 57#include <sm/exc.h> 58#include <sm/heap.h> 59#include <sm/debug.h> --- 228 unchanged lines hidden (view full) --- 288#define QS_EXPANDED 7 /* expanded */ 289#define QS_SENDER 8 /* message sender (MeToo) */ 290#define QS_CLONED 9 /* addr cloned to split envelope */ 291#define QS_DISCARDED 10 /* rcpt discarded (EF_DISCARD) */ 292#define QS_REPLACED 11 /* maplocaluser()/UserDB replaced */ 293#define QS_REMOVED 12 /* removed (removefromlist()) */ 294#define QS_DUPLICATE 13 /* duplicate suppressed */ 295#define QS_INCLUDED 14 /* :include: delivery */ |
296#define QS_FATALERR 15 /* fatal error, don't deliver */ |
|
296 297/* address state testing primitives */ 298#define QS_IS_OK(s) ((s) == QS_OK) 299#define QS_IS_SENT(s) ((s) == QS_SENT) 300#define QS_IS_BADADDR(s) ((s) == QS_BADADDR) 301#define QS_IS_QUEUEUP(s) ((s) == QS_QUEUEUP) 302#define QS_IS_RETRY(s) ((s) == QS_RETRY) 303#define QS_IS_VERIFIED(s) ((s) == QS_VERIFIED) --- 596 unchanged lines hidden (view full) --- 900 time_t e_queuedelay; /* current delay */ 901#endif /* _FFR_QUEUEDELAY */ 902 long e_deliver_by; /* deliver by */ 903 int e_dlvr_flag; /* deliver by flag */ 904 SM_RPOOL_T *e_rpool; /* resource pool for this envelope */ 905}; 906 907/* values for e_flags */ | 297 298/* address state testing primitives */ 299#define QS_IS_OK(s) ((s) == QS_OK) 300#define QS_IS_SENT(s) ((s) == QS_SENT) 301#define QS_IS_BADADDR(s) ((s) == QS_BADADDR) 302#define QS_IS_QUEUEUP(s) ((s) == QS_QUEUEUP) 303#define QS_IS_RETRY(s) ((s) == QS_RETRY) 304#define QS_IS_VERIFIED(s) ((s) == QS_VERIFIED) --- 596 unchanged lines hidden (view full) --- 901 time_t e_queuedelay; /* current delay */ 902#endif /* _FFR_QUEUEDELAY */ 903 long e_deliver_by; /* deliver by */ 904 int e_dlvr_flag; /* deliver by flag */ 905 SM_RPOOL_T *e_rpool; /* resource pool for this envelope */ 906}; 907 908/* values for e_flags */ |
908#define EF_OLDSTYLE 0x0000001L /* use spaces (not commas) in hdrs */ 909#define EF_INQUEUE 0x0000002L /* this message is fully queued */ 910#define EF_NO_BODY_RETN 0x0000004L /* omit message body on error */ 911#define EF_CLRQUEUE 0x0000008L /* disk copy is no longer needed */ 912#define EF_SENDRECEIPT 0x0000010L /* send a return receipt */ 913#define EF_FATALERRS 0x0000020L /* fatal errors occurred */ 914#define EF_DELETE_BCC 0x0000040L /* delete Bcc: headers entirely */ 915#define EF_RESPONSE 0x0000080L /* this is an error or return receipt */ 916#define EF_RESENT 0x0000100L /* this message is being forwarded */ 917#define EF_VRFYONLY 0x0000200L /* verify only (don't expand aliases) */ 918#define EF_WARNING 0x0000400L /* warning message has been sent */ 919#define EF_QUEUERUN 0x0000800L /* this envelope is from queue */ 920#define EF_GLOBALERRS 0x0001000L /* treat errors as global */ 921#define EF_PM_NOTIFY 0x0002000L /* send return mail to postmaster */ 922#define EF_METOO 0x0004000L /* send to me too */ 923#define EF_LOGSENDER 0x0008000L /* need to log the sender */ 924#define EF_NORECEIPT 0x0010000L /* suppress all return-receipts */ 925#define EF_HAS8BIT 0x0020000L /* at least one 8-bit char in body */ 926#define EF_NL_NOT_EOL 0x0040000L /* don't accept raw NL as EOLine */ 927#define EF_CRLF_NOT_EOL 0x0080000L /* don't accept CR-LF as EOLine */ 928#define EF_RET_PARAM 0x0100000L /* RCPT command had RET argument */ 929#define EF_HAS_DF 0x0200000L /* set when data file is instantiated */ 930#define EF_IS_MIME 0x0400000L /* really is a MIME message */ 931#define EF_DONT_MIME 0x0800000L /* never MIME this message */ 932#define EF_DISCARD 0x1000000L /* discard the message */ 933#define EF_TOOBIG 0x2000000L /* message is too big */ 934#define EF_SPLIT 0x4000000L /* envelope has been split */ 935#define EF_UNSAFE 0x8000000L /* unsafe: read from untrusted source */ | 909#define EF_OLDSTYLE 0x00000001L /* use spaces (not commas) in hdrs */ 910#define EF_INQUEUE 0x00000002L /* this message is fully queued */ 911#define EF_NO_BODY_RETN 0x00000004L /* omit message body on error */ 912#define EF_CLRQUEUE 0x00000008L /* disk copy is no longer needed */ 913#define EF_SENDRECEIPT 0x00000010L /* send a return receipt */ 914#define EF_FATALERRS 0x00000020L /* fatal errors occurred */ 915#define EF_DELETE_BCC 0x00000040L /* delete Bcc: headers entirely */ 916#define EF_RESPONSE 0x00000080L /* this is an error or return receipt */ 917#define EF_RESENT 0x00000100L /* this message is being forwarded */ 918#define EF_VRFYONLY 0x00000200L /* verify only (don't expand aliases) */ 919#define EF_WARNING 0x00000400L /* warning message has been sent */ 920#define EF_QUEUERUN 0x00000800L /* this envelope is from queue */ 921#define EF_GLOBALERRS 0x00001000L /* treat errors as global */ 922#define EF_PM_NOTIFY 0x00002000L /* send return mail to postmaster */ 923#define EF_METOO 0x00004000L /* send to me too */ 924#define EF_LOGSENDER 0x00008000L /* need to log the sender */ 925#define EF_NORECEIPT 0x00010000L /* suppress all return-receipts */ 926#define EF_HAS8BIT 0x00020000L /* at least one 8-bit char in body */ 927#define EF_NL_NOT_EOL 0x00040000L /* don't accept raw NL as EOLine */ 928#define EF_CRLF_NOT_EOL 0x00080000L /* don't accept CR-LF as EOLine */ 929#define EF_RET_PARAM 0x00100000L /* RCPT command had RET argument */ 930#define EF_HAS_DF 0x00200000L /* set when data file is instantiated */ 931#define EF_IS_MIME 0x00400000L /* really is a MIME message */ 932#define EF_DONT_MIME 0x00800000L /* never MIME this message */ 933#define EF_DISCARD 0x01000000L /* discard the message */ 934#define EF_TOOBIG 0x02000000L /* message is too big */ 935#define EF_SPLIT 0x04000000L /* envelope has been split */ 936#define EF_UNSAFE 0x08000000L /* unsafe: read from untrusted source */ |
936 937#define DLVR_NOTIFY 0x01 938#define DLVR_RETURN 0x02 939#define DLVR_TRACE 0x10 940#define IS_DLVR_NOTIFY(e) (((e)->e_dlvr_flag & DLVR_NOTIFY) != 0) 941#define IS_DLVR_RETURN(e) (((e)->e_dlvr_flag & DLVR_RETURN) != 0) 942#define IS_DLVR_TRACE(e) (((e)->e_dlvr_flag & DLVR_TRACE) != 0) 943#define IS_DLVR_BY(e) ((e)->e_dlvr_flag != 0) --- 137 unchanged lines hidden (view full) --- 1081#endif /* SM_HEAP_CHECK */ 1082extern void macset __P((MACROS_T *, int, char *)); 1083#define macget(mac, i) (mac)->mac_table[i] 1084extern void expand __P((char *, char *, size_t, ENVELOPE *)); 1085extern int macid_parse __P((char *, char **)); 1086#define macid(name) macid_parse(name, NULL) 1087extern char *macname __P((int)); 1088extern char *macvalue __P((int, ENVELOPE *)); | 937 938#define DLVR_NOTIFY 0x01 939#define DLVR_RETURN 0x02 940#define DLVR_TRACE 0x10 941#define IS_DLVR_NOTIFY(e) (((e)->e_dlvr_flag & DLVR_NOTIFY) != 0) 942#define IS_DLVR_RETURN(e) (((e)->e_dlvr_flag & DLVR_RETURN) != 0) 943#define IS_DLVR_TRACE(e) (((e)->e_dlvr_flag & DLVR_TRACE) != 0) 944#define IS_DLVR_BY(e) ((e)->e_dlvr_flag != 0) --- 137 unchanged lines hidden (view full) --- 1082#endif /* SM_HEAP_CHECK */ 1083extern void macset __P((MACROS_T *, int, char *)); 1084#define macget(mac, i) (mac)->mac_table[i] 1085extern void expand __P((char *, char *, size_t, ENVELOPE *)); 1086extern int macid_parse __P((char *, char **)); 1087#define macid(name) macid_parse(name, NULL) 1088extern char *macname __P((int)); 1089extern char *macvalue __P((int, ENVELOPE *)); |
1089extern int rscheck __P((char *, char *, char *, ENVELOPE *, bool, bool, int, char *, char *)); | 1090extern int rscheck __P((char *, char *, char *, ENVELOPE *, int, int, char *, char *)); |
1090extern int rscap __P((char *, char *, char *, ENVELOPE *, char ***, char *, int)); 1091extern void setclass __P((int, char *)); 1092extern int strtorwset __P((char *, char **, int)); 1093extern void translate_dollars __P((char *)); 1094extern bool wordinclass __P((char *, int)); 1095 1096/* 1097** Name canonification short circuit. --- 459 unchanged lines hidden (view full) --- 1557#define RF_HEADERADDR 0x002 /* this is a header address */ 1558#define RF_CANONICAL 0x004 /* strip comment information */ 1559#define RF_ADDDOMAIN 0x008 /* OK to do domain extension */ 1560#define RF_COPYPARSE 0x010 /* copy parsed user & host */ 1561#define RF_COPYPADDR 0x020 /* copy print address */ 1562#define RF_COPYALL (RF_COPYPARSE|RF_COPYPADDR) 1563#define RF_COPYNONE 0 1564 | 1091extern int rscap __P((char *, char *, char *, ENVELOPE *, char ***, char *, int)); 1092extern void setclass __P((int, char *)); 1093extern int strtorwset __P((char *, char **, int)); 1094extern void translate_dollars __P((char *)); 1095extern bool wordinclass __P((char *, int)); 1096 1097/* 1098** Name canonification short circuit. --- 459 unchanged lines hidden (view full) --- 1558#define RF_HEADERADDR 0x002 /* this is a header address */ 1559#define RF_CANONICAL 0x004 /* strip comment information */ 1560#define RF_ADDDOMAIN 0x008 /* OK to do domain extension */ 1561#define RF_COPYPARSE 0x010 /* copy parsed user & host */ 1562#define RF_COPYPADDR 0x020 /* copy print address */ 1563#define RF_COPYALL (RF_COPYPARSE|RF_COPYPADDR) 1564#define RF_COPYNONE 0 1565 |
1566/* 1567** Flags passed to rscheck 1568*/ |
|
1565 | 1569 |
1570#define RSF_RMCOMM 0x0001 /* strip comments */ 1571#define RSF_UNSTRUCTURED 0x0002 /* unstructured, ignore syntax errors */ 1572#define RSF_COUNT 0x0004 /* count rejections (statistics)? */ 1573 |
|
1566/* 1567** Flags passed to mime8to7 and putheader. 1568*/ 1569 1570#define M87F_OUTER 0 /* outer context */ 1571#define M87F_NO8BIT 0x0001 /* can't have 8-bit in this section */ 1572#define M87F_DIGEST 0x0002 /* processing multipart/digest */ 1573#define M87F_NO8TO7 0x0004 /* don't do 8->7 bit conversions */ --- 973 unchanged lines hidden --- | 1574/* 1575** Flags passed to mime8to7 and putheader. 1576*/ 1577 1578#define M87F_OUTER 0 /* outer context */ 1579#define M87F_NO8BIT 0x0001 /* can't have 8-bit in this section */ 1580#define M87F_DIGEST 0x0002 /* processing multipart/digest */ 1581#define M87F_NO8TO7 0x0004 /* don't do 8->7 bit conversions */ --- 973 unchanged lines hidden --- |