conf.c (111826) | conf.c (112813) |
---|---|
1/* 2 * Copyright (c) 1998-2003 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 9 * forth in the LICENSE file which can be found at the top level of 10 * the sendmail distribution. 11 * | 1/* 2 * Copyright (c) 1998-2003 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 9 * forth in the LICENSE file which can be found at the top level of 10 * the sendmail distribution. 11 * |
12 * $FreeBSD: head/contrib/sendmail/src/conf.c 112813 2003-03-29 19:18:07Z gshapiro $ 13 * |
|
12 */ 13 14#include <sendmail.h> 15 | 14 */ 15 16#include <sendmail.h> 17 |
16SM_RCSID("@(#)$Id: conf.c,v 8.972.2.27 2003/01/15 19:17:14 ca Exp $") | 18SM_RCSID("@(#)$Id: conf.c,v 8.972.2.35 2003/03/28 05:46:09 ca Exp $") |
17 18#include <sendmail/pathnames.h> 19 20# include <sys/ioctl.h> 21# include <sys/param.h> 22 23#include <limits.h> 24#if NETINET || NETINET6 --- 299 unchanged lines hidden (view full) --- 324 MaxRuleRecursion = MAXRULERECURSION; 325 MaxAliasRecursion = 10; 326 MaxMacroRecursion = 10; 327 ColonOkInAddr = true; 328 DontLockReadFiles = true; 329 DontProbeInterfaces = DPI_PROBEALL; 330 DoubleBounceAddr = "postmaster"; 331 MaxHeadersLength = MAXHDRSLEN; | 19 20#include <sendmail/pathnames.h> 21 22# include <sys/ioctl.h> 23# include <sys/param.h> 24 25#include <limits.h> 26#if NETINET || NETINET6 --- 299 unchanged lines hidden (view full) --- 326 MaxRuleRecursion = MAXRULERECURSION; 327 MaxAliasRecursion = 10; 328 MaxMacroRecursion = 10; 329 ColonOkInAddr = true; 330 DontLockReadFiles = true; 331 DontProbeInterfaces = DPI_PROBEALL; 332 DoubleBounceAddr = "postmaster"; 333 MaxHeadersLength = MAXHDRSLEN; |
334 MaxMimeHeaderLength = MAXLINE; 335 MaxMimeFieldLength = MaxMimeHeaderLength / 2; |
|
332 MaxForwardEntries = 0; 333 FastSplit = 1; 334#if SASL 335 AuthMechanisms = newstr(AUTH_MECHANISMS); 336 MaxSLBits = INT_MAX; 337#endif /* SASL */ 338#if STARTTLS 339 TLS_Srv_Opts = TLS_I_SRV; --- 2736 unchanged lines hidden (view full) --- 3076 "/usr/bin/posix/sh", 3077# else /* V4FS */ 3078 "/bin/rsh", /* restricted Bourne shell */ 3079 "/bin/ksh", /* Korn shell */ 3080 "/bin/rksh", /* restricted Korn shell */ 3081 "/bin/pam", 3082 "/usr/bin/keysh", /* key shell (extended Korn shell) */ 3083 "/bin/posix/sh", | 336 MaxForwardEntries = 0; 337 FastSplit = 1; 338#if SASL 339 AuthMechanisms = newstr(AUTH_MECHANISMS); 340 MaxSLBits = INT_MAX; 341#endif /* SASL */ 342#if STARTTLS 343 TLS_Srv_Opts = TLS_I_SRV; --- 2736 unchanged lines hidden (view full) --- 3080 "/usr/bin/posix/sh", 3081# else /* V4FS */ 3082 "/bin/rsh", /* restricted Bourne shell */ 3083 "/bin/ksh", /* Korn shell */ 3084 "/bin/rksh", /* restricted Korn shell */ 3085 "/bin/pam", 3086 "/usr/bin/keysh", /* key shell (extended Korn shell) */ 3087 "/bin/posix/sh", |
3084 "/sbin/sh" | 3088 "/sbin/sh", |
3085# endif /* V4FS */ 3086# endif /* __hpux */ 3087# if defined(_AIX3) || defined(_AIX4) 3088 "/bin/ksh", /* Korn shell */ 3089 "/usr/bin/ksh", 3090 "/bin/tsh", /* trusted shell */ 3091 "/usr/bin/tsh", 3092 "/bin/bsh", /* Bourne shell */ --- 2783 unchanged lines hidden (view full) --- 5876 5877/* 5878** FFR compile options. 5879*/ 5880 5881char *FFRCompileOptions[] = 5882{ 5883#if _FFR_ADAPTIVE_EOL | 3089# endif /* V4FS */ 3090# endif /* __hpux */ 3091# if defined(_AIX3) || defined(_AIX4) 3092 "/bin/ksh", /* Korn shell */ 3093 "/usr/bin/ksh", 3094 "/bin/tsh", /* trusted shell */ 3095 "/usr/bin/tsh", 3096 "/bin/bsh", /* Bourne shell */ --- 2783 unchanged lines hidden (view full) --- 5880 5881/* 5882** FFR compile options. 5883*/ 5884 5885char *FFRCompileOptions[] = 5886{ 5887#if _FFR_ADAPTIVE_EOL |
5888 /* tries to be smart about \r\n versus \n from broken clients */ 5889 /* known to be broken, do not use */ |
|
5884 "_FFR_ADAPTIVE_EOL", 5885#endif /* _FFR_ADAPTIVE_EOL */ 5886#if _FFR_ALLOW_SASLINFO | 5890 "_FFR_ADAPTIVE_EOL", 5891#endif /* _FFR_ADAPTIVE_EOL */ 5892#if _FFR_ALLOW_SASLINFO |
5893 /* DefaultAuthInfo can be specified by user. */ 5894 /* DefaultAuthInfo doesn't really work in 8.12 anymore. */ |
|
5887 "_FFR_ALLOW_SASLINFO", 5888#endif /* _FFR_ALLOW_SASLINFO */ 5889#if _FFR_ALLOW_S0_ERROR_4XX | 5895 "_FFR_ALLOW_SASLINFO", 5896#endif /* _FFR_ALLOW_SASLINFO */ 5897#if _FFR_ALLOW_S0_ERROR_4XX |
5898 /* Allow for tempfail from S0 (ruleset 0). */ |
|
5890 "_FFR_ALLOW_S0_ERROR_4XX", 5891#endif /* _FFR_ALLOW_S0_ERROR_4XX */ 5892#if _FFR_BESTMX_BETTER_TRUNCATION | 5899 "_FFR_ALLOW_S0_ERROR_4XX", 5900#endif /* _FFR_ALLOW_S0_ERROR_4XX */ 5901#if _FFR_BESTMX_BETTER_TRUNCATION |
5902 /* Better truncation of list of MX records for dns map. */ |
|
5893 "_FFR_BESTMX_BETTER_TRUNCATION", 5894#endif /* _FFR_BESTMX_BETTER_TRUNCATION */ | 5903 "_FFR_BESTMX_BETTER_TRUNCATION", 5904#endif /* _FFR_BESTMX_BETTER_TRUNCATION */ |
5905#if _FFR_BLOCK_PROXIES 5906 /* 5907 ** Try to deal with open HTTP proxies that are used to send spam 5908 ** by recognizing some commands from them. 5909 */ 5910 5911 "_FFR_BLOCK_PROXIES", 5912#endif /* _FFR_BLOCK_PROXIES */ |
|
5895#if _FFR_CACHE_LPC | 5913#if _FFR_CACHE_LPC |
5914 /* Cache connections to LCP based mailers */ |
|
5896/* Christophe Wolfhugel of France Telecom Oleane */ 5897 "_FFR_CACHE_LPC", 5898#endif /* _FFR_CACHE_LPC */ 5899#if _FFR_CATCH_BROKEN_MTAS | 5915/* Christophe Wolfhugel of France Telecom Oleane */ 5916 "_FFR_CACHE_LPC", 5917#endif /* _FFR_CACHE_LPC */ 5918#if _FFR_CATCH_BROKEN_MTAS |
5919 /* Deal with MTAs that send a reply during the DATA phase. */ |
|
5900 "_FFR_CATCH_BROKEN_MTAS", 5901#endif /* _FFR_CATCH_BROKEN_MTAS */ 5902#if _FFR_CATCH_LONG_STRINGS | 5920 "_FFR_CATCH_BROKEN_MTAS", 5921#endif /* _FFR_CATCH_BROKEN_MTAS */ 5922#if _FFR_CATCH_LONG_STRINGS |
5923 /* Report long address strings instead of silently ignoring them. */ |
|
5903 "_FFR_CATCH_LONG_STRINGS", 5904#endif /* _FFR_CATCH_LONG_STRINGS */ 5905#if _FFR_CHECK_EOM | 5924 "_FFR_CATCH_LONG_STRINGS", 5925#endif /* _FFR_CATCH_LONG_STRINGS */ 5926#if _FFR_CHECK_EOM |
5927 /* Enable check_eom ruleset */ |
|
5906 "_FFR_CHECK_EOM", 5907#endif /* _FFR_CHECK_EOM */ 5908#if _FFR_CHK_QUEUE | 5928 "_FFR_CHECK_EOM", 5929#endif /* _FFR_CHECK_EOM */ 5930#if _FFR_CHK_QUEUE |
5931 /* Stricter checks about queue directory permissions. */ |
|
5909 "_FFR_CHK_QUEUE", 5910#endif /* _FFR_CHK_QUEUE */ 5911#if _FFR_CONTROL_MSTAT | 5932 "_FFR_CHK_QUEUE", 5933#endif /* _FFR_CHK_QUEUE */ 5934#if _FFR_CONTROL_MSTAT |
5935 /* Extended daemon status. */ |
|
5912 "_FFR_CONTROL_MSTAT", 5913#endif /* _FFR_CONTROL_MSTAT */ 5914#if _FFR_DAEMON_NETUNIX | 5936 "_FFR_CONTROL_MSTAT", 5937#endif /* _FFR_CONTROL_MSTAT */ 5938#if _FFR_DAEMON_NETUNIX |
5939 /* Allow local (not just TCP) socket connection to server. */ |
|
5915 "_FFR_DAEMON_NETUNIX", 5916#endif /* _FFR_DAEMON_NETUNIX */ 5917#if _FFR_DEAL_WITH_ERROR_SSL | 5940 "_FFR_DAEMON_NETUNIX", 5941#endif /* _FFR_DAEMON_NETUNIX */ 5942#if _FFR_DEAL_WITH_ERROR_SSL |
5943 /* Deal with SSL errors by recognizing them as EOF. */ |
|
5918 "_FFR_DEAL_WITH_ERROR_SSL", 5919#endif /* _FFR_DEAL_WITH_ERROR_SSL */ 5920#if _FFR_DEPRECATE_MAILER_FLAG_I | 5944 "_FFR_DEAL_WITH_ERROR_SSL", 5945#endif /* _FFR_DEAL_WITH_ERROR_SSL */ 5946#if _FFR_DEPRECATE_MAILER_FLAG_I |
5947 /* What it says :-) */ |
|
5921 "_FFR_DEPRECATE_MAILER_FLAG_I", 5922#endif /* _FFR_DEPRECATE_MAILER_FLAG_I */ 5923#if _FFR_DIGUNIX_SAFECHOWN | 5948 "_FFR_DEPRECATE_MAILER_FLAG_I", 5949#endif /* _FFR_DEPRECATE_MAILER_FLAG_I */ 5950#if _FFR_DIGUNIX_SAFECHOWN |
5951 /* Properly set SAFECHOWN (include/sm/conf.h) for Digital UNIX */ |
|
5924/* Problem noted by Anne Bennett of Concordia University */ 5925 "_FFR_DIGUNIX_SAFECHOWN", 5926#endif /* _FFR_DIGUNIX_SAFECHOWN */ 5927#if _FFR_DNSMAP_ALIASABLE | 5952/* Problem noted by Anne Bennett of Concordia University */ 5953 "_FFR_DIGUNIX_SAFECHOWN", 5954#endif /* _FFR_DIGUNIX_SAFECHOWN */ 5955#if _FFR_DNSMAP_ALIASABLE |
5956 /* Allow dns map type to be used for aliases. */ |
|
5928/* Don Lewis of TDK */ 5929 "_FFR_DNSMAP_ALIASABLE", 5930#endif /* _FFR_DNSMAP_ALIASABLE */ 5931#if _FFR_DNSMAP_BASE | 5957/* Don Lewis of TDK */ 5958 "_FFR_DNSMAP_ALIASABLE", 5959#endif /* _FFR_DNSMAP_ALIASABLE */ 5960#if _FFR_DNSMAP_BASE |
5961 /* Specify a "base" domain for DNS lookups. */ |
|
5932 "_FFR_DNSMAP_BASE", 5933#endif /* _FFR_DNSMAP_BASE */ 5934#if _FFR_DNSMAP_MULTI | 5962 "_FFR_DNSMAP_BASE", 5963#endif /* _FFR_DNSMAP_BASE */ 5964#if _FFR_DNSMAP_MULTI |
5965 /* Allow multiple return values for DNS map. */ |
|
5935 "_FFR_DNSMAP_MULTI", 5936# if _FFR_DNSMAP_MULTILIMIT | 5966 "_FFR_DNSMAP_MULTI", 5967# if _FFR_DNSMAP_MULTILIMIT |
5968 /* Limit number of return values for DNS map. */ |
|
5937 "_FFR_DNSMAP_MULTILIMIT", 5938# endif /* _FFR_DNSMAP_MULTILIMIT */ 5939#endif /* _FFR_DNSMAP_MULTI */ 5940#if _FFR_DONTLOCKFILESFORREAD_OPTION | 5969 "_FFR_DNSMAP_MULTILIMIT", 5970# endif /* _FFR_DNSMAP_MULTILIMIT */ 5971#endif /* _FFR_DNSMAP_MULTI */ 5972#if _FFR_DONTLOCKFILESFORREAD_OPTION |
5973 /* Enable DontLockFilesForRead option. */ |
|
5941 "_FFR_DONTLOCKFILESFORREAD_OPTION", 5942#endif /* _FFR_DONTLOCKFILESFORREAD_OPTION */ | 5974 "_FFR_DONTLOCKFILESFORREAD_OPTION", 5975#endif /* _FFR_DONTLOCKFILESFORREAD_OPTION */ |
5943# if _FFR_DONT_STOP_LOOKING | 5976#if _FFR_DONT_STOP_LOOKING 5977 /* Continue with DNS lookups on ECONNREFUSED and TRY_AGAIN. */ |
5944/* Noted by Neil Rickert of Northern Illinois University */ 5945 "_FFR_DONT_STOP_LOOKING", | 5978/* Noted by Neil Rickert of Northern Illinois University */ 5979 "_FFR_DONT_STOP_LOOKING", |
5946# endif /* _FFR_DONT_STOP_LOOKING */ | 5980#endif /* _FFR_DONT_STOP_LOOKING */ |
5947#if _FFR_DOTTED_USERNAMES | 5981#if _FFR_DOTTED_USERNAMES |
5982 /* Allow usernames with '.' */ |
|
5948 "_FFR_DOTTED_USERNAMES", 5949#endif /* _FFR_DOTTED_USERNAMES */ 5950#if _FFR_DROP_TRUSTUSER_WARNING | 5983 "_FFR_DOTTED_USERNAMES", 5984#endif /* _FFR_DOTTED_USERNAMES */ 5985#if _FFR_DROP_TRUSTUSER_WARNING |
5986 /* 5987 ** Don't issue this warning: 5988 ** "readcf: option TrustedUser may cause problems on systems 5989 ** which do not support fchown() if UseMSP is not set. 5990 */ 5991 |
|
5951 "_FFR_DROP_TRUSTUSER_WARNING", 5952#endif /* _FFR_DROP_TRUSTUSER_WARNING */ 5953#if _FFR_FIX_DASHT | 5992 "_FFR_DROP_TRUSTUSER_WARNING", 5993#endif /* _FFR_DROP_TRUSTUSER_WARNING */ 5994#if _FFR_FIX_DASHT |
5995 /* 5996 ** If using -t, force not sending to argv recipients, even 5997 ** if they are mentioned in the headers. 5998 */ 5999 |
|
5954 "_FFR_FIX_DASHT", 5955#endif /* _FFR_FIX_DASHT */ 5956#if _FFR_FORWARD_SYSERR | 6000 "_FFR_FIX_DASHT", 6001#endif /* _FFR_FIX_DASHT */ 6002#if _FFR_FORWARD_SYSERR |
6003 /* Cause a "syserr" if forward file isn't "safe". */ |
|
5957 "_FFR_FORWARD_SYSERR", 5958#endif /* _FFR_FORWARD_SYSERR */ 5959#if _FFR_GEN_ORCPT | 6004 "_FFR_FORWARD_SYSERR", 6005#endif /* _FFR_FORWARD_SYSERR */ 6006#if _FFR_GEN_ORCPT |
6007 /* Generate a ORCPT DSN arg if not already provided */ |
|
5960 "_FFR_GEN_ORCPT", 5961#endif /* _FFR_GEN_ORCPT */ 5962#if _FFR_GROUPREADABLEAUTHINFOFILE | 6008 "_FFR_GEN_ORCPT", 6009#endif /* _FFR_GEN_ORCPT */ 6010#if _FFR_GROUPREADABLEAUTHINFOFILE |
6011 /* Allow group readable DefaultAuthInfo file. */ |
|
5963 "_FFR_GROUPREADABLEAUTHINFOFILE", 5964#endif /* _FFR_GROUPREADABLEAUTHINFOFILE */ 5965#if _FFR_HANDLE_ISO8859_GECOS | 6012 "_FFR_GROUPREADABLEAUTHINFOFILE", 6013#endif /* _FFR_GROUPREADABLEAUTHINFOFILE */ 6014#if _FFR_HANDLE_ISO8859_GECOS |
6015 /* 6016 ** Allow ISO 8859 characters in GECOS field: replace them 6017 ** ith ASCII "equivalent". 6018 */ 6019 |
|
5966/* Peter Eriksson of Linkopings universitet */ 5967 "_FFR_HANDLE_ISO8859_GECOS", 5968#endif /* _FFR_HANDLE_ISO8859_GECOS */ 5969#if _FFR_HDR_TYPE | 6020/* Peter Eriksson of Linkopings universitet */ 6021 "_FFR_HANDLE_ISO8859_GECOS", 6022#endif /* _FFR_HANDLE_ISO8859_GECOS */ 6023#if _FFR_HDR_TYPE |
6024 /* Set 'h' in {addr_type} for headers. */ |
|
5970 "_FFR_HDR_TYPE", 5971#endif /* _FFR_HDR_TYPE */ 5972#if _FFR_HPUX_NSSWITCH | 6025 "_FFR_HDR_TYPE", 6026#endif /* _FFR_HDR_TYPE */ 6027#if _FFR_HPUX_NSSWITCH |
6028 /* Use nsswitch on HP-UX */ |
|
5973 "_FFR_HPUX_NSSWITCH", 5974#endif /* _FFR_HPUX_NSSWITCH */ 5975#if _FFR_IGNORE_EXT_ON_HELO | 6029 "_FFR_HPUX_NSSWITCH", 6030#endif /* _FFR_HPUX_NSSWITCH */ 6031#if _FFR_IGNORE_EXT_ON_HELO |
6032 /* Ignore extensions offered in response to HELO */ |
|
5976 "_FFR_IGNORE_EXT_ON_HELO", 5977#endif /* _FFR_IGNORE_EXT_ON_HELO */ 5978#if _FFR_LDAP_RECURSION | 6033 "_FFR_IGNORE_EXT_ON_HELO", 6034#endif /* _FFR_IGNORE_EXT_ON_HELO */ 6035#if _FFR_LDAP_RECURSION |
6036 /* Support LDAP recursion in LDAP responses */ |
|
5979/* Andrew Baucom */ 5980 "_FFR_LDAP_RECURSION", 5981#endif /* _FFR_LDAP_RECURSION */ 5982#if _FFR_LDAP_SETVERSION | 6037/* Andrew Baucom */ 6038 "_FFR_LDAP_RECURSION", 6039#endif /* _FFR_LDAP_RECURSION */ 6040#if _FFR_LDAP_SETVERSION |
6041 /* New LDAP map option for setting LDAP protocol version */ |
|
5983 "_FFR_LDAP_SETVERSION", 5984#endif /* _FFR_LDAP_SETVERSION */ 5985#if _FFR_LDAP_URI | 6042 "_FFR_LDAP_SETVERSION", 6043#endif /* _FFR_LDAP_SETVERSION */ 6044#if _FFR_LDAP_URI |
6045 /* Support LDAP URI form of specifying host/port (and allows ldaps) */ |
|
5986 "_FFR_LDAP_URI", 5987#endif /* _FFR_LDAP_URI */ 5988#if _FFR_MAX_FORWARD_ENTRIES | 6046 "_FFR_LDAP_URI", 6047#endif /* _FFR_LDAP_URI */ 6048#if _FFR_MAX_FORWARD_ENTRIES |
6049 /* Try to limit number of .forward entries */ 6050 /* (doesn't work) */ |
|
5989/* Randall S. Winchester of the University of Maryland */ 5990 "_FFR_MAX_FORWARD_ENTRIES", 5991#endif /* _FFR_MAX_FORWARD_ENTRIES */ 5992#if MILTER 5993# if _FFR_MILTER_421 | 6051/* Randall S. Winchester of the University of Maryland */ 6052 "_FFR_MAX_FORWARD_ENTRIES", 6053#endif /* _FFR_MAX_FORWARD_ENTRIES */ 6054#if MILTER 6055# if _FFR_MILTER_421 |
6056 /* If a filter returns 421, close the SMTP connection */ |
|
5994 "_FFR_MILTER_421", 5995# endif /* _FFR_MILTER_421 */ 5996# if _FFR_MILTER_PERDAEMON | 6057 "_FFR_MILTER_421", 6058# endif /* _FFR_MILTER_421 */ 6059# if _FFR_MILTER_PERDAEMON |
6060 /* Per DaemonPortOptions InputMailFilter lists */ |
|
5997 "_FFR_MILTER_PERDAEMON", 5998# endif /* _FFR_MILTER_PERDAEMON */ 5999#endif /* MILTER */ 6000#if _FFR_NODELAYDSN_ON_HOLD | 6061 "_FFR_MILTER_PERDAEMON", 6062# endif /* _FFR_MILTER_PERDAEMON */ 6063#endif /* MILTER */ 6064#if _FFR_NODELAYDSN_ON_HOLD |
6065 /* Do not issue a DELAY DSN for mailers that use the hold flag. */ |
|
6001/* Steven Pitzl */ 6002 "_FFR_NODELAYDSN_ON_HOLD", 6003#endif /* _FFR_NODELAYDSN_ON_HOLD */ 6004#if _FFR_NO_PIPE | 6066/* Steven Pitzl */ 6067 "_FFR_NODELAYDSN_ON_HOLD", 6068#endif /* _FFR_NODELAYDSN_ON_HOLD */ 6069#if _FFR_NO_PIPE |
6070 /* Disable PIPELINING, delay client if used. */ |
|
6005 "_FFR_NO_PIPE", 6006#endif /* _FFR_NO_PIPE */ 6007#if _FFR_QUARANTINE | 6071 "_FFR_NO_PIPE", 6072#endif /* _FFR_NO_PIPE */ 6073#if _FFR_QUARANTINE |
6074 /* Quarantine items in the queue */ |
|
6008 "_FFR_QUARANTINE", 6009#endif /* _FFR_QUARANTINE */ 6010#if _FFR_QUEUEDELAY | 6075 "_FFR_QUARANTINE", 6076#endif /* _FFR_QUARANTINE */ 6077#if _FFR_QUEUEDELAY |
6078 /* Exponential queue delay; disabled in 8.13 since it isn't used. */ |
|
6011 "_FFR_QUEUEDELAY", 6012#endif /* _FFR_QUEUEDELAY */ 6013#if _FFR_QUEUE_GROUP_SORTORDER | 6079 "_FFR_QUEUEDELAY", 6080#endif /* _FFR_QUEUEDELAY */ 6081#if _FFR_QUEUE_GROUP_SORTORDER |
6082 /* Allow QueueSortOrder per queue group. */ |
|
6014/* XXX: Still need to actually use qgrp->qg_sortorder */ 6015 "_FFR_QUEUE_GROUP_SORTORDER", 6016#endif /* _FFR_QUEUE_GROUP_SORTORDER */ 6017#if _FFR_QUEUE_MACRO | 6083/* XXX: Still need to actually use qgrp->qg_sortorder */ 6084 "_FFR_QUEUE_GROUP_SORTORDER", 6085#endif /* _FFR_QUEUE_GROUP_SORTORDER */ 6086#if _FFR_QUEUE_MACRO |
6087 /* Define {queue} macro. */ |
|
6018 "_FFR_QUEUE_MACRO", 6019#endif /* _FFR_QUEUE_MACRO */ | 6088 "_FFR_QUEUE_MACRO", 6089#endif /* _FFR_QUEUE_MACRO */ |
6090#if _FFR_QUEUERETURN_DSN 6091 /* 6092 ** Provide an option for different Timeout.queue{warn,return} for 6093 ** DSN messages. These days, queues are filled with bounces for 6094 ** spam that will never make it to the sender and therefore slow 6095 ** down queue runs until they timeout. 6096 */ 6097 6098 "_FFR_QUEUERETURN_DSN", 6099#endif /* _FFR_QUEUERETURN_DSN */ |
|
6020#if _FFR_QUEUE_RUN_PARANOIA | 6100#if _FFR_QUEUE_RUN_PARANOIA |
6101 /* Additional checks when doing queue runs. */ |
|
6021 "_FFR_QUEUE_RUN_PARANOIA", 6022#endif /* _FFR_QUEUE_RUN_PARANOIA */ 6023#if _FFR_QUEUE_SCHED_DBG | 6102 "_FFR_QUEUE_RUN_PARANOIA", 6103#endif /* _FFR_QUEUE_RUN_PARANOIA */ 6104#if _FFR_QUEUE_SCHED_DBG |
6105 /* Debug output for the queue scheduler. */ |
|
6024 "_FFR_QUEUE_SCHED_DBG", 6025#endif /* _FFR_QUEUE_SCHED_DBG */ 6026#if _FFR_REDIRECTEMPTY | 6106 "_FFR_QUEUE_SCHED_DBG", 6107#endif /* _FFR_QUEUE_SCHED_DBG */ 6108#if _FFR_REDIRECTEMPTY |
6109 /* 6110 ** envelope <> can't be sent to mailing lists, only owner- 6111 ** send spam of this type to owner- of the list 6112 ** ---- to stop spam from going to mailing lists. 6113 */ 6114 |
|
6027 "_FFR_REDIRECTEMPTY", 6028#endif /* _FFR_REDIRECTEMPTY */ 6029#if _FFR_REJECT_LOG | 6115 "_FFR_REDIRECTEMPTY", 6116#endif /* _FFR_REDIRECTEMPTY */ 6117#if _FFR_REJECT_LOG |
6118 /* Log when we start/stop rejecting connections due to load, etc */ |
|
6030 "_FFR_REJECT_LOG", 6031#endif /* _FFR_REJECT_LOG */ 6032#if _FFR_REQ_DIR_FSYNC_OPT | 6119 "_FFR_REJECT_LOG", 6120#endif /* _FFR_REJECT_LOG */ 6121#if _FFR_REQ_DIR_FSYNC_OPT |
6122 /* Add cf option to fsync() directories */ |
|
6033 "_FFR_REQ_DIR_FSYNC_OPT", 6034#endif /* _FFR_REQ_DIR_FSYNC_OPT */ 6035#if _FFR_RESET_MACRO_GLOBALS | 6123 "_FFR_REQ_DIR_FSYNC_OPT", 6124#endif /* _FFR_REQ_DIR_FSYNC_OPT */ 6125#if _FFR_RESET_MACRO_GLOBALS |
6126 /* Allow macro 'j' to be set dynamically via rulesets. */ |
|
6036 "_FFR_RESET_MACRO_GLOBALS", 6037#endif /* _FFR_RESET_MACRO_GLOBALS */ 6038#if _FFR_RESPOND_ALL | 6127 "_FFR_RESET_MACRO_GLOBALS", 6128#endif /* _FFR_RESET_MACRO_GLOBALS */ 6129#if _FFR_RESPOND_ALL |
6039 /* in vacation */ | 6130 /* in vacation: respond to every message, not just once per interval */ |
6040 "_FFR_RESPOND_ALL", 6041#endif /* _FFR_RESPOND_ALL */ 6042#if _FFR_RHS | 6131 "_FFR_RESPOND_ALL", 6132#endif /* _FFR_RESPOND_ALL */ 6133#if _FFR_RHS |
6134 /* Random shuffle for queue sorting. */ |
|
6043 "_FFR_RHS", 6044#endif /* _FFR_RHS */ 6045#if _FFR_SASL_OPT_M | 6135 "_FFR_RHS", 6136#endif /* _FFR_RHS */ 6137#if _FFR_SASL_OPT_M |
6138 /* Support SASL's SASL_SEC_MUTUAL_AUTH option */ |
|
6046 "_FFR_SASL_OPT_M", 6047#endif /* _FFR_SASL_OPT_M */ 6048#if _FFR_SELECT_SHM | 6139 "_FFR_SASL_OPT_M", 6140#endif /* _FFR_SASL_OPT_M */ 6141#if _FFR_SELECT_SHM |
6142 /* Auto-select of shared memory key */ |
|
6049 "_FFR_SELECT_SHM", 6050#endif /* _FFR_SELECT_SHM */ 6051#if _FFR_SHM_STATUS | 6143 "_FFR_SELECT_SHM", 6144#endif /* _FFR_SELECT_SHM */ 6145#if _FFR_SHM_STATUS |
6146 /* Donated code (unused). */ |
|
6052 "_FFR_SHM_STATUS", 6053#endif /* _FFR_SHM_STATUS */ 6054#if _FFR_SMFI_OPENSOCKET | 6147 "_FFR_SHM_STATUS", 6148#endif /* _FFR_SHM_STATUS */ 6149#if _FFR_SMFI_OPENSOCKET |
6150 /* libmilter: smfi_opensocket() to force the socket open early */ |
|
6055 "_FFR_SMFI_OPENSOCKET", 6056#endif /* _FFR_SMFI_OPENSOCKET */ 6057#if _FFR_SMTP_SSL | 6151 "_FFR_SMFI_OPENSOCKET", 6152#endif /* _FFR_SMFI_OPENSOCKET */ 6153#if _FFR_SMTP_SSL |
6154 /* Support for smtps (SMTP over SSL) */ |
|
6058 "_FFR_SMTP_SSL", 6059#endif /* _FFR_SMTP_SSL */ 6060#if _FFR_SOFT_BOUNCE | 6155 "_FFR_SMTP_SSL", 6156#endif /* _FFR_SMTP_SSL */ 6157#if _FFR_SOFT_BOUNCE |
6158 /* Turn all errors into temporary errors. */ |
|
6061 "_FFR_SOFT_BOUNCE", 6062#endif /* _FFR_SOFT_BOUNCE */ 6063#if _FFR_SPT_ALIGN | 6159 "_FFR_SOFT_BOUNCE", 6160#endif /* _FFR_SOFT_BOUNCE */ 6161#if _FFR_SPT_ALIGN |
6162 /* 6163 ** It looks like the Compaq Tru64 5.1A now aligns argv and envp to 64 6164 ** bit alignment, so unless each piece of argv and envp is a multiple 6165 ** of 8 bytes (including terminating NULL), initsetproctitle() won't 6166 ** use any of the space beyond argv[0]. Be sure to set SPT_ALIGN_SIZE 6167 ** if you use this FFR. 6168 */ 6169 |
|
6064/* Chris Adams of HiWAAY Informations Services */ 6065 "_FFR_SPT_ALIGN", 6066#endif /* _FFR_SPT_ALIGN */ 6067#if _FFR_STRIPBACKSL | 6170/* Chris Adams of HiWAAY Informations Services */ 6171 "_FFR_SPT_ALIGN", 6172#endif /* _FFR_SPT_ALIGN */ 6173#if _FFR_STRIPBACKSL |
6174 /* 6175 ** Strip backslash from addresses (so sender doesn't 6176 ** decide to ignore forward) 6177 */ 6178 |
|
6068 "_FFR_STRIPBACKSL", 6069#endif /* _FFR_STRIPBACKSL */ 6070#if _FFR_TIMERS | 6179 "_FFR_STRIPBACKSL", 6180#endif /* _FFR_STRIPBACKSL */ 6181#if _FFR_TIMERS |
6182 /* Donated code (unused). */ |
|
6071 "_FFR_TIMERS", 6072#endif /* _FFR_TIMERS */ 6073#if _FFR_TLS_1 | 6183 "_FFR_TIMERS", 6184#endif /* _FFR_TIMERS */ 6185#if _FFR_TLS_1 |
6186 /* More STARTTLS options, e.g., secondary certs. */ |
|
6074 "_FFR_TLS_1", 6075#endif /* _FFR_TLS_1 */ 6076#if _FFR_TRUSTED_QF | 6187 "_FFR_TLS_1", 6188#endif /* _FFR_TLS_1 */ 6189#if _FFR_TRUSTED_QF |
6190 /* 6191 ** If we don't own the file mark it as unsafe. 6192 ** However, allow TrustedUser to own it as well 6193 ** in case TrustedUser manipulates the queue. 6194 */ 6195 |
|
6077 "_FFR_TRUSTED_QF", 6078#endif /* _FFR_TRUSTED_QF */ 6079#if _FFR_USE_SETLOGIN | 6196 "_FFR_TRUSTED_QF", 6197#endif /* _FFR_TRUSTED_QF */ 6198#if _FFR_USE_SETLOGIN |
6199 /* Use setlogin() */ |
|
6080/* Peter Philipp */ 6081 "_FFR_USE_SETLOGIN", 6082#endif /* _FFR_USE_SETLOGIN */ 6083 NULL 6084}; 6085 | 6200/* Peter Philipp */ 6201 "_FFR_USE_SETLOGIN", 6202#endif /* _FFR_USE_SETLOGIN */ 6203 NULL 6204}; 6205 |