conf.c (90795) | conf.c (94337) |
---|---|
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 9 * forth in the LICENSE file which can be found at the top level of 10 * the sendmail distribution. 11 * 12 */ 13 14#include <sendmail.h> 15 | 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 9 * forth in the LICENSE file which can be found at the top level of 10 * the sendmail distribution. 11 * 12 */ 13 14#include <sendmail.h> 15 |
16SM_RCSID("@(#)$Id: conf.c,v 8.939 2002/01/09 17:26:28 gshapiro Exp $") | 16SM_RCSID("@(#)$Id: conf.c,v 8.961 2002/04/04 21:32:14 gshapiro Exp $") |
17 | 17 |
18/* $FreeBSD: head/contrib/sendmail/src/conf.c 90795 2002-02-17 21:58:34Z gshapiro $ */ | 18/* $FreeBSD: head/contrib/sendmail/src/conf.c 94337 2002-04-10 03:06:22Z gshapiro $ */ |
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 --- 494 unchanged lines hidden (view full) --- 521#if 0 522 MAPDEF("dns", NULL, 0, 523 dns_map_init, null_map_open, null_map_close, 524 dns_map_lookup, null_map_store); 525#endif /* 0 */ 526 527#if NAMED_BIND 528# if DNSMAP | 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 --- 494 unchanged lines hidden (view full) --- 521#if 0 522 MAPDEF("dns", NULL, 0, 523 dns_map_init, null_map_open, null_map_close, 524 dns_map_lookup, null_map_store); 525#endif /* 0 */ 526 527#if NAMED_BIND 528# if DNSMAP |
529# if _FFR_DNSMAP_ALIASABLE 530 MAPDEF("dns", NULL, MCF_ALIASOK, 531 dns_map_parseargs, dns_map_open, null_map_close, 532 dns_map_lookup, null_map_store); 533# else /* _FFR_DNSMAP_ALIASABLE */ |
|
529 MAPDEF("dns", NULL, 0, 530 dns_map_parseargs, dns_map_open, null_map_close, 531 dns_map_lookup, null_map_store); | 534 MAPDEF("dns", NULL, 0, 535 dns_map_parseargs, dns_map_open, null_map_close, 536 dns_map_lookup, null_map_store); |
537# endif /* _FFR_DNSMAP_ALIASABLE */ |
|
532# endif /* DNSMAP */ 533#endif /* NAMED_BIND */ 534 535#if NAMED_BIND 536 /* best MX DNS lookup */ 537 MAPDEF("bestmx", NULL, MCF_OPTFILE, 538 map_parseargs, null_map_open, null_map_close, 539 bestmx_map_lookup, null_map_store); --- 2469 unchanged lines hidden (view full) --- 3009 "/usr/bin/posix/sh", 3010# else /* V4FS */ 3011 "/bin/rsh", /* restricted Bourne shell */ 3012 "/bin/ksh", /* Korn shell */ 3013 "/bin/rksh", /* restricted Korn shell */ 3014 "/bin/pam", 3015 "/usr/bin/keysh", /* key shell (extended Korn shell) */ 3016 "/bin/posix/sh", | 538# endif /* DNSMAP */ 539#endif /* NAMED_BIND */ 540 541#if NAMED_BIND 542 /* best MX DNS lookup */ 543 MAPDEF("bestmx", NULL, MCF_OPTFILE, 544 map_parseargs, null_map_open, null_map_close, 545 bestmx_map_lookup, null_map_store); --- 2469 unchanged lines hidden (view full) --- 3015 "/usr/bin/posix/sh", 3016# else /* V4FS */ 3017 "/bin/rsh", /* restricted Bourne shell */ 3018 "/bin/ksh", /* Korn shell */ 3019 "/bin/rksh", /* restricted Korn shell */ 3020 "/bin/pam", 3021 "/usr/bin/keysh", /* key shell (extended Korn shell) */ 3022 "/bin/posix/sh", |
3023 "/sbin/sh" |
|
3017# endif /* V4FS */ 3018# endif /* __hpux */ 3019# if defined(_AIX3) || defined(_AIX4) 3020 "/bin/ksh", /* Korn shell */ 3021 "/usr/bin/ksh", 3022 "/bin/tsh", /* trusted shell */ 3023 "/usr/bin/tsh", 3024 "/bin/bsh", /* Bourne shell */ --- 454 unchanged lines hidden (view full) --- 3479 if (tTd(55, 60)) 3480 sm_dprintf("SUCCESS\n"); 3481 return true; 3482 } 3483 3484 if (!bitset(LOCK_NB, type) || 3485 (save_errno != EACCES && save_errno != EAGAIN)) 3486 { | 3024# endif /* V4FS */ 3025# endif /* __hpux */ 3026# if defined(_AIX3) || defined(_AIX4) 3027 "/bin/ksh", /* Korn shell */ 3028 "/usr/bin/ksh", 3029 "/bin/tsh", /* trusted shell */ 3030 "/usr/bin/tsh", 3031 "/bin/bsh", /* Bourne shell */ --- 454 unchanged lines hidden (view full) --- 3486 if (tTd(55, 60)) 3487 sm_dprintf("SUCCESS\n"); 3488 return true; 3489 } 3490 3491 if (!bitset(LOCK_NB, type) || 3492 (save_errno != EACCES && save_errno != EAGAIN)) 3493 { |
3487 int omode = -1; 3488# ifdef F_GETFL 3489 (void) fcntl(fd, F_GETFL, &omode); | 3494 int omode = fcntl(fd, F_GETFL, 0); 3495 uid_t euid = geteuid(); 3496 |
3490 errno = save_errno; | 3497 errno = save_errno; |
3491# endif /* F_GETFL */ | |
3492 syserr("cannot lockf(%s%s, fd=%d, type=%o, omode=%o, euid=%d)", | 3498 syserr("cannot lockf(%s%s, fd=%d, type=%o, omode=%o, euid=%d)", |
3493 filename, ext, fd, type, omode, geteuid()); | 3499 filename, ext, fd, type, omode, euid); |
3494 dumpfd(fd, true, true); 3495 } 3496# else /* !HASFLOCK */ 3497 if (ext == NULL) 3498 ext = ""; 3499 3500 if (tTd(55, 60)) 3501 sm_dprintf("lockfile(%s%s, type=%o): ", filename, ext, type); --- 8 unchanged lines hidden (view full) --- 3510 } 3511 save_errno = errno; 3512 3513 if (tTd(55, 60)) 3514 sm_dprintf("(%s) ", sm_errstring(save_errno)); 3515 3516 if (!bitset(LOCK_NB, type) || save_errno != EWOULDBLOCK) 3517 { | 3500 dumpfd(fd, true, true); 3501 } 3502# else /* !HASFLOCK */ 3503 if (ext == NULL) 3504 ext = ""; 3505 3506 if (tTd(55, 60)) 3507 sm_dprintf("lockfile(%s%s, type=%o): ", filename, ext, type); --- 8 unchanged lines hidden (view full) --- 3516 } 3517 save_errno = errno; 3518 3519 if (tTd(55, 60)) 3520 sm_dprintf("(%s) ", sm_errstring(save_errno)); 3521 3522 if (!bitset(LOCK_NB, type) || save_errno != EWOULDBLOCK) 3523 { |
3518 int omode = -1; 3519# ifdef F_GETFL 3520 (void) fcntl(fd, F_GETFL, &omode); | 3524 int omode = fcntl(fd, F_GETFL, 0); 3525 uid_t euid = geteuid(); 3526 |
3521 errno = save_errno; | 3527 errno = save_errno; |
3522# endif /* F_GETFL */ | |
3523 syserr("cannot flock(%s%s, fd=%d, type=%o, omode=%o, euid=%d)", | 3528 syserr("cannot flock(%s%s, fd=%d, type=%o, omode=%o, euid=%d)", |
3524 filename, ext, fd, type, omode, geteuid()); | 3529 filename, ext, fd, type, omode, euid); |
3525 dumpfd(fd, true, true); 3526 } 3527# endif /* !HASFLOCK */ 3528 if (tTd(55, 60)) 3529 sm_dprintf("FAIL\n"); 3530 errno = save_errno; 3531 return false; 3532} --- 1880 unchanged lines hidden (view full) --- 5413 char *p = buf; 5414 5415 while (left > 0 && 5416 (writelen = write(dst, p, (size_t) left)) >= 0) 5417 { 5418 left -= writelen; 5419 p += writelen; 5420 } | 3530 dumpfd(fd, true, true); 3531 } 3532# endif /* !HASFLOCK */ 3533 if (tTd(55, 60)) 3534 sm_dprintf("FAIL\n"); 3535 errno = save_errno; 3536 return false; 3537} --- 1880 unchanged lines hidden (view full) --- 5418 char *p = buf; 5419 5420 while (left > 0 && 5421 (writelen = write(dst, p, (size_t) left)) >= 0) 5422 { 5423 left -= writelen; 5424 p += writelen; 5425 } |
5421 if (writeln < 0) | 5426 if (writelen < 0) |
5422 break; 5423 } 5424 5425 /* Any trouble reading? */ 5426 if (readlen < 0 || writelen < 0) 5427 goto fail; 5428 5429 /* Close the input file */ --- 142 unchanged lines hidden (view full) --- 5572 "TLS_NO_RSA", 5573#endif /* TLS_NO_RSA */ 5574#if TLS_VRFY_PER_CTX 5575 "TLS_VRFY_PER_CTX", 5576#endif /* TLS_VRFY_PER_CTX */ 5577#if USERDB 5578 "USERDB", 5579#endif /* USERDB */ | 5427 break; 5428 } 5429 5430 /* Any trouble reading? */ 5431 if (readlen < 0 || writelen < 0) 5432 goto fail; 5433 5434 /* Close the input file */ --- 142 unchanged lines hidden (view full) --- 5577 "TLS_NO_RSA", 5578#endif /* TLS_NO_RSA */ 5579#if TLS_VRFY_PER_CTX 5580 "TLS_VRFY_PER_CTX", 5581#endif /* TLS_VRFY_PER_CTX */ 5582#if USERDB 5583 "USERDB", 5584#endif /* USERDB */ |
5585#if USE_LDAP_INIT 5586 "USE_LDAP_INIT", 5587#endif /* USE_LDAP_INIT */ |
|
5580#if XDEBUG 5581 "XDEBUG", 5582#endif /* XDEBUG */ 5583#if XLA 5584 "XLA", 5585#endif /* XLA */ 5586 NULL 5587}; --- 213 unchanged lines hidden (view full) --- 5801char *FFRCompileOptions[] = 5802{ 5803#if _FFR_ADAPTIVE_EOL 5804 "_FFR_ADAPTIVE_EOL", 5805#endif /* _FFR_ADAPTIVE_EOL */ 5806#if _FFR_ALLOW_SASLINFO 5807 "_FFR_ALLOW_SASLINFO", 5808#endif /* _FFR_ALLOW_SASLINFO */ | 5588#if XDEBUG 5589 "XDEBUG", 5590#endif /* XDEBUG */ 5591#if XLA 5592 "XLA", 5593#endif /* XLA */ 5594 NULL 5595}; --- 213 unchanged lines hidden (view full) --- 5809char *FFRCompileOptions[] = 5810{ 5811#if _FFR_ADAPTIVE_EOL 5812 "_FFR_ADAPTIVE_EOL", 5813#endif /* _FFR_ADAPTIVE_EOL */ 5814#if _FFR_ALLOW_SASLINFO 5815 "_FFR_ALLOW_SASLINFO", 5816#endif /* _FFR_ALLOW_SASLINFO */ |
5817#if _FFR_ALLOW_S0_ERROR_4XX 5818 "_FFR_ALLOW_S0_ERROR_4XX", 5819#endif /* _FFR_ALLOW_S0_ERROR_4XX */ |
|
5809#if _FFR_BESTMX_BETTER_TRUNCATION 5810 "_FFR_BESTMX_BETTER_TRUNCATION", 5811#endif /* _FFR_BESTMX_BETTER_TRUNCATION */ 5812#if _FFR_CACHE_LPC 5813/* Christophe Wolfhugel of France Telecom Oleane */ 5814 "_FFR_CACHE_LPC", 5815#endif /* _FFR_CACHE_LPC */ 5816#if _FFR_CATCH_BROKEN_MTAS 5817 "_FFR_CATCH_BROKEN_MTAS", 5818#endif /* _FFR_CATCH_BROKEN_MTAS */ | 5820#if _FFR_BESTMX_BETTER_TRUNCATION 5821 "_FFR_BESTMX_BETTER_TRUNCATION", 5822#endif /* _FFR_BESTMX_BETTER_TRUNCATION */ 5823#if _FFR_CACHE_LPC 5824/* Christophe Wolfhugel of France Telecom Oleane */ 5825 "_FFR_CACHE_LPC", 5826#endif /* _FFR_CACHE_LPC */ 5827#if _FFR_CATCH_BROKEN_MTAS 5828 "_FFR_CATCH_BROKEN_MTAS", 5829#endif /* _FFR_CATCH_BROKEN_MTAS */ |
5830#if _FFR_CATCH_LONG_STRINGS 5831 "_FFR_CATCH_LONG_STRINGS", 5832#endif /* _FFR_CATCH_LONG_STRINGS */ |
|
5819#if _FFR_CHECK_EOM 5820 "_FFR_CHECK_EOM", 5821#endif /* _FFR_CHECK_EOM */ 5822#if _FFR_CONTROL_MSTAT 5823 "_FFR_CONTROL_MSTAT", 5824#endif /* _FFR_CONTROL_MSTAT */ 5825#if _FFR_DAEMON_NETUNIX 5826 "_FFR_DAEMON_NETUNIX", 5827#endif /* _FFR_DAEMON_NETUNIX */ 5828#if _FFR_DEPRECATE_MAILER_FLAG_I 5829 "_FFR_DEPRECATE_MAILER_FLAG_I", 5830#endif /* _FFR_DEPRECATE_MAILER_FLAG_I */ | 5833#if _FFR_CHECK_EOM 5834 "_FFR_CHECK_EOM", 5835#endif /* _FFR_CHECK_EOM */ 5836#if _FFR_CONTROL_MSTAT 5837 "_FFR_CONTROL_MSTAT", 5838#endif /* _FFR_CONTROL_MSTAT */ 5839#if _FFR_DAEMON_NETUNIX 5840 "_FFR_DAEMON_NETUNIX", 5841#endif /* _FFR_DAEMON_NETUNIX */ 5842#if _FFR_DEPRECATE_MAILER_FLAG_I 5843 "_FFR_DEPRECATE_MAILER_FLAG_I", 5844#endif /* _FFR_DEPRECATE_MAILER_FLAG_I */ |
5845#if _FFR_DIGUNIX_SAFECHOWN 5846/* Problem noted by Anne Bennett of Concordia University */ 5847 "_FFR_DIGUNIX_SAFECHOWN", 5848#endif /* _FFR_DIGUNIX_SAFECHOWN */ 5849#if _FFR_DNSMAP_ALIASABLE 5850/* Don Lewis of TDK */ 5851 "_FFR_DNSMAP_ALIASABLE", 5852#endif /* _FFR_DNSMAP_ALIASABLE */ |
|
5831#if _FFR_DNSMAP_BASE 5832 "_FFR_DNSMAP_BASE", 5833#endif /* _FFR_DNSMAP_BASE */ 5834#if _FFR_DNSMAP_MULTI 5835 "_FFR_DNSMAP_MULTI", 5836# if _FFR_DNSMAP_MULTILIMIT 5837 "_FFR_DNSMAP_MULTILIMIT", 5838# endif /* _FFR_DNSMAP_MULTILIMIT */ 5839#endif /* _FFR_DNSMAP_MULTI */ 5840#if _FFR_DONTLOCKFILESFORREAD_OPTION 5841 "_FFR_DONTLOCKFILESFORREAD_OPTION", 5842#endif /* _FFR_DONTLOCKFILESFORREAD_OPTION */ | 5853#if _FFR_DNSMAP_BASE 5854 "_FFR_DNSMAP_BASE", 5855#endif /* _FFR_DNSMAP_BASE */ 5856#if _FFR_DNSMAP_MULTI 5857 "_FFR_DNSMAP_MULTI", 5858# if _FFR_DNSMAP_MULTILIMIT 5859 "_FFR_DNSMAP_MULTILIMIT", 5860# endif /* _FFR_DNSMAP_MULTILIMIT */ 5861#endif /* _FFR_DNSMAP_MULTI */ 5862#if _FFR_DONTLOCKFILESFORREAD_OPTION 5863 "_FFR_DONTLOCKFILESFORREAD_OPTION", 5864#endif /* _FFR_DONTLOCKFILESFORREAD_OPTION */ |
5865# if _FFR_DONT_STOP_LOOKING 5866/* Noted by Neil Rickert of Northern Illinois University */ 5867 "_FFR_DONT_STOP_LOOKING", 5868# endif /* _FFR_DONT_STOP_LOOKING */ |
|
5843#if _FFR_DOTTED_USERNAMES 5844 "_FFR_DOTTED_USERNAMES", 5845#endif /* _FFR_DOTTED_USERNAMES */ 5846#if _FFR_DROP_TRUSTUSER_WARNING 5847 "_FFR_DROP_TRUSTUSER_WARNING", 5848#endif /* _FFR_DROP_TRUSTUSER_WARNING */ 5849#if _FFR_FIX_DASHT 5850 "_FFR_FIX_DASHT", 5851#endif /* _FFR_FIX_DASHT */ 5852#if _FFR_FORWARD_SYSERR 5853 "_FFR_FORWARD_SYSERR", 5854#endif /* _FFR_FORWARD_SYSERR */ 5855#if _FFR_GEN_ORCPT 5856 "_FFR_GEN_ORCPT", 5857#endif /* _FFR_GEN_ORCPT */ 5858#if _FFR_GROUPREADABLEAUTHINFOFILE 5859 "_FFR_GROUPREADABLEAUTHINFOFILE", 5860#endif /* _FFR_GROUPREADABLEAUTHINFOFILE */ | 5869#if _FFR_DOTTED_USERNAMES 5870 "_FFR_DOTTED_USERNAMES", 5871#endif /* _FFR_DOTTED_USERNAMES */ 5872#if _FFR_DROP_TRUSTUSER_WARNING 5873 "_FFR_DROP_TRUSTUSER_WARNING", 5874#endif /* _FFR_DROP_TRUSTUSER_WARNING */ 5875#if _FFR_FIX_DASHT 5876 "_FFR_FIX_DASHT", 5877#endif /* _FFR_FIX_DASHT */ 5878#if _FFR_FORWARD_SYSERR 5879 "_FFR_FORWARD_SYSERR", 5880#endif /* _FFR_FORWARD_SYSERR */ 5881#if _FFR_GEN_ORCPT 5882 "_FFR_GEN_ORCPT", 5883#endif /* _FFR_GEN_ORCPT */ 5884#if _FFR_GROUPREADABLEAUTHINFOFILE 5885 "_FFR_GROUPREADABLEAUTHINFOFILE", 5886#endif /* _FFR_GROUPREADABLEAUTHINFOFILE */ |
5887#if _FFR_HANDLE_ISO8859_GECOS 5888/* Peter Eriksson of Linkopings universitet */ 5889 "_FFR_HANDLE_ISO8859_GECOS", 5890#endif /* _FFR_HANDLE_ISO8859_GECOS */ |
|
5861#if _FFR_HDR_TYPE 5862 "_FFR_HDR_TYPE", 5863#endif /* _FFR_HDR_TYPE */ 5864#if _FFR_HPUX_NSSWITCH 5865 "_FFR_HPUX_NSSWITCH", 5866#endif /* _FFR_HPUX_NSSWITCH */ 5867#if _FFR_IGNORE_EXT_ON_HELO 5868 "_FFR_IGNORE_EXT_ON_HELO", 5869#endif /* _FFR_IGNORE_EXT_ON_HELO */ 5870#if _FFR_LDAP_RECURSION | 5891#if _FFR_HDR_TYPE 5892 "_FFR_HDR_TYPE", 5893#endif /* _FFR_HDR_TYPE */ 5894#if _FFR_HPUX_NSSWITCH 5895 "_FFR_HPUX_NSSWITCH", 5896#endif /* _FFR_HPUX_NSSWITCH */ 5897#if _FFR_IGNORE_EXT_ON_HELO 5898 "_FFR_IGNORE_EXT_ON_HELO", 5899#endif /* _FFR_IGNORE_EXT_ON_HELO */ 5900#if _FFR_LDAP_RECURSION |
5901/* Andrew Baucom */ |
|
5871 "_FFR_LDAP_RECURSION", 5872#endif /* _FFR_LDAP_RECURSION */ | 5902 "_FFR_LDAP_RECURSION", 5903#endif /* _FFR_LDAP_RECURSION */ |
5904#if _FFR_LDAP_SETVERSION 5905 "_FFR_LDAP_SETVERSION", 5906#endif /* _FFR_LDAP_SETVERSION */ 5907#if _FFR_LDAP_URI 5908 "_FFR_LDAP_URI", 5909#endif /* _FFR_LDAP_URI */ |
|
5873#if _FFR_MAX_FORWARD_ENTRIES 5874/* Randall S. Winchester of the University of Maryland */ 5875 "_FFR_MAX_FORWARD_ENTRIES", 5876#endif /* _FFR_MAX_FORWARD_ENTRIES */ 5877#if MILTER 5878# if _FFR_MILTER_PERDAEMON 5879 "_FFR_MILTER_PERDAEMON", 5880# endif /* _FFR_MILTER_PERDAEMON */ --- 6 unchanged lines hidden (view full) --- 5887 "_FFR_NO_PIPE", 5888#endif /* _FFR_NO_PIPE */ 5889#if _FFR_QUARANTINE 5890 "_FFR_QUARANTINE", 5891#endif /* _FFR_QUARANTINE */ 5892#if _FFR_QUEUEDELAY 5893 "_FFR_QUEUEDELAY", 5894#endif /* _FFR_QUEUEDELAY */ | 5910#if _FFR_MAX_FORWARD_ENTRIES 5911/* Randall S. Winchester of the University of Maryland */ 5912 "_FFR_MAX_FORWARD_ENTRIES", 5913#endif /* _FFR_MAX_FORWARD_ENTRIES */ 5914#if MILTER 5915# if _FFR_MILTER_PERDAEMON 5916 "_FFR_MILTER_PERDAEMON", 5917# endif /* _FFR_MILTER_PERDAEMON */ --- 6 unchanged lines hidden (view full) --- 5924 "_FFR_NO_PIPE", 5925#endif /* _FFR_NO_PIPE */ 5926#if _FFR_QUARANTINE 5927 "_FFR_QUARANTINE", 5928#endif /* _FFR_QUARANTINE */ 5929#if _FFR_QUEUEDELAY 5930 "_FFR_QUEUEDELAY", 5931#endif /* _FFR_QUEUEDELAY */ |
5932#if _FFR_QUEUE_GROUP_SORTORDER 5933/* XXX: Still need to actually use qgrp->qg_sortorder */ 5934 "_FFR_QUEUE_GROUP_SORTORDER", 5935#endif /* _FFR_QUEUE_GROUP_SORTORDER */ |
|
5895#if _FFR_QUEUE_MACRO 5896 "_FFR_QUEUE_MACRO", 5897#endif /* _FFR_QUEUE_MACRO */ | 5936#if _FFR_QUEUE_MACRO 5937 "_FFR_QUEUE_MACRO", 5938#endif /* _FFR_QUEUE_MACRO */ |
5939#if _FFR_QUEUE_RUN_PARANOIA 5940 "_FFR_QUEUE_RUN_PARANOIA", 5941#endif /* _FFR_QUEUE_RUN_PARANOIA */ |
|
5898#if _FFR_QUEUE_SCHED_DBG 5899 "_FFR_QUEUE_SCHED_DBG", 5900#endif /* _FFR_QUEUE_SCHED_DBG */ 5901#if _FFR_REDIRECTEMPTY 5902 "_FFR_REDIRECTEMPTY", 5903#endif /* _FFR_REDIRECTEMPTY */ 5904#if _FFR_RESET_MACRO_GLOBALS 5905 "_FFR_RESET_MACRO_GLOBALS", 5906#endif /* _FFR_RESET_MACRO_GLOBALS */ 5907#if _FFR_RHS 5908 "_FFR_RHS", 5909#endif /* _FFR_RHS */ | 5942#if _FFR_QUEUE_SCHED_DBG 5943 "_FFR_QUEUE_SCHED_DBG", 5944#endif /* _FFR_QUEUE_SCHED_DBG */ 5945#if _FFR_REDIRECTEMPTY 5946 "_FFR_REDIRECTEMPTY", 5947#endif /* _FFR_REDIRECTEMPTY */ 5948#if _FFR_RESET_MACRO_GLOBALS 5949 "_FFR_RESET_MACRO_GLOBALS", 5950#endif /* _FFR_RESET_MACRO_GLOBALS */ 5951#if _FFR_RHS 5952 "_FFR_RHS", 5953#endif /* _FFR_RHS */ |
5954#if _FFR_SELECT_SHM 5955 "_FFR_SELECT_SHM", 5956#endif /* _FFR_SELECT_SHM */ |
|
5910#if _FFR_SHM_STATUS 5911 "_FFR_SHM_STATUS", 5912#endif /* _FFR_SHM_STATUS */ 5913#if _FFR_SMTP_SSL 5914 "_FFR_SMTP_SSL", 5915#endif /* _FFR_SMTP_SSL */ 5916#if _FFR_SOFT_BOUNCE 5917 "_FFR_SOFT_BOUNCE", 5918#endif /* _FFR_SOFT_BOUNCE */ 5919#if _FFR_TIMERS 5920 "_FFR_TIMERS", 5921#endif /* _FFR_TIMERS */ 5922#if _FFR_TLS_1 5923 "_FFR_TLS_1", 5924#endif /* _FFR_TLS_1 */ 5925#if _FFR_TRUSTED_QF 5926 "_FFR_TRUSTED_QF", 5927#endif /* _FFR_TRUSTED_QF */ | 5957#if _FFR_SHM_STATUS 5958 "_FFR_SHM_STATUS", 5959#endif /* _FFR_SHM_STATUS */ 5960#if _FFR_SMTP_SSL 5961 "_FFR_SMTP_SSL", 5962#endif /* _FFR_SMTP_SSL */ 5963#if _FFR_SOFT_BOUNCE 5964 "_FFR_SOFT_BOUNCE", 5965#endif /* _FFR_SOFT_BOUNCE */ 5966#if _FFR_TIMERS 5967 "_FFR_TIMERS", 5968#endif /* _FFR_TIMERS */ 5969#if _FFR_TLS_1 5970 "_FFR_TLS_1", 5971#endif /* _FFR_TLS_1 */ 5972#if _FFR_TRUSTED_QF 5973 "_FFR_TRUSTED_QF", 5974#endif /* _FFR_TRUSTED_QF */ |
5975#if _FFR_USE_SETLOGIN 5976/* Peter Philipp */ 5977 "_FFR_USE_SETLOGIN", 5978#endif /* _FFR_USE_SETLOGIN */ |
|
5928 NULL 5929}; 5930 | 5979 NULL 5980}; 5981 |