19147Seric /* 234920Sbostic * Copyright (c) 1983 Eric P. Allman 362522Sbostic * Copyright (c) 1988, 1993 462522Sbostic * The Regents of the University of California. All rights reserved. 533728Sbostic * 642825Sbostic * %sccs.include.redist.c% 733728Sbostic * 8*64494Seric * @(#)conf.h 8.31 (Berkeley) 09/18/93 933728Sbostic */ 109147Seric 1122726Sdist /* 1222726Sdist ** CONF.H -- All user-configurable parameters for sendmail 1322726Sdist */ 149147Seric 1557232Seric # include <sys/param.h> 1659389Seric # include <sys/stat.h> 1764380Seric # include <sys/file.h> 1858689Seric # include <fcntl.h> 1964035Seric # include <signal.h> 2057232Seric 2163902Seric /********************************************************************** 229147Seric ** Table sizes, etc.... 239147Seric ** There shouldn't be much need to change these.... 2463902Seric **********************************************************************/ 259147Seric 2659303Seric # define MAXLINE 2048 /* max line length */ 2724945Seric # define MAXNAME 256 /* max length of a name */ 289147Seric # define MAXPV 40 /* max # of parms to mailers */ 2959303Seric # define MAXATOM 200 /* max atoms per address */ 309147Seric # define MAXMAILERS 25 /* maximum mailers known to system */ 3157143Seric # define MAXRWSETS 100 /* max # of sets of rewriting rules */ 329147Seric # define MAXPRIORITIES 25 /* max values for Precedence: field */ 3357143Seric # define MAXMXHOSTS 20 /* max # of MX records */ 3452106Seric # define SMTPLINELIM 990 /* maximum SMTP line length */ 3557232Seric # define MAXKEY 128 /* maximum size of a database key */ 3657232Seric # define MEMCHUNKSIZE 1024 /* chunk size for memory allocation */ 3759056Seric # define MAXUSERENVIRON 100 /* max envars saved, must be >= 3 */ 3859667Seric # define MAXALIASDB 12 /* max # of alias databases */ 3959303Seric # define PSBUFSIZE (MAXLINE + MAXATOM) /* size of prescan buffer */ 4057143Seric 4157143Seric # ifndef QUEUESIZE 4257143Seric # define QUEUESIZE 1000 /* max # of jobs per queue run */ 4357143Seric # endif 4457143Seric 4563902Seric /********************************************************************** 469147Seric ** Compilation options. 4725673Seric ** 4825673Seric ** #define these if they are available; comment them out otherwise. 4963902Seric **********************************************************************/ 509147Seric 5125673Seric # define LOG 1 /* enable logging */ 5225673Seric # define UGLYUUCP 1 /* output ugly UUCP From lines */ 5358778Seric # define NETINET 1 /* include internet support */ 5425673Seric # define SETPROCTITLE 1 /* munge argv to display current status */ 5535651Seric # define NAMED_BIND 1 /* use Berkeley Internet Domain Server */ 5653735Seric # define MATCHGECOS 1 /* match user names from gecos field */ 5763753Seric # define XDEBUG 1 /* enable extended debugging */ 5836483Sbostic 5956337Seric # ifdef NEWDB 6056337Seric # define USERDB 1 /* look in user database (requires NEWDB) */ 6156337Seric # endif 6256337Seric 6364032Seric /* 6464032Seric ** Due to a "feature" in some operating systems such as Ultrix 4.3 and 6564032Seric ** HPUX 8.0, if you receive a "No route to host" message (ICMP message 6664032Seric ** ICMP_UNREACH_HOST) on _any_ connection, all connections to that host 6764032Seric ** are closed. Some firewalls return this error if you try to connect 6864032Seric ** to the IDENT port (113), so you can't receive email from these hosts 6964032Seric ** on these systems. The firewall really should use a more specific 7064032Seric ** message such as ICMP_UNREACH_PROTOCOL or _PORT or _NET_PROHIB. This 7164032Seric ** will get #undefed below as needed. 7264032Seric */ 7364032Seric 7464032Seric # define IDENTPROTO 1 /* use IDENT proto (RFC 1413) */ 7564032Seric 7663902Seric /********************************************************************** 7759023Seric ** Operating system configuration. 7859023Seric ** 7959023Seric ** Unless you are porting to a new OS, you shouldn't have to 8059023Seric ** change these. 8163902Seric **********************************************************************/ 8256823Seric 8363787Seric /* 8463787Seric ** Per-Operating System defines 8563787Seric */ 8663787Seric 8764314Seric 8863902Seric /* 8963902Seric ** HP-UX -- tested for 8.07 9063902Seric */ 9163902Seric 9259348Seric # ifdef __hpux 9363787Seric # define SYSTEM5 1 /* include all the System V defines */ 9464035Seric # define HASINITGROUPS 1 /* has initgroups(3) call */ 9564314Seric # define HASSTATFS 1 /* has the statfs(2) syscall */ 9664035Seric # define HASSETREUID 1 /* has setreuid(2) call */ 9763902Seric # define setreuid(r, e) setresuid(r, e, -1) 9863962Seric # define LA_TYPE LA_FLOAT 9963962Seric # define _PATH_UNIX "/hp-ux" 10064358Seric # undef IDENTPROTO /* TCP/IP implementation is broken */ 10156823Seric # endif 10256823Seric 10364314Seric 10463902Seric /* 10563902Seric ** IBM AIX 3.x -- actually tested for 3.2.3 10663902Seric */ 10763902Seric 10860224Seric # ifdef _AIX3 10964035Seric # define HASINITGROUPS 1 /* has initgroups(3) call */ 11060219Seric # define FORK fork /* no vfork primitive available */ 111*64494Seric # undef SETPROCTITLE /* setproctitle confuses AIX */ 11260219Seric # endif 11360219Seric 11464314Seric 11563902Seric /* 11663902Seric ** Silicon Graphics IRIX 11763902Seric ** 11863965Seric ** Compiles on 4.0.1. 11963902Seric */ 12063902Seric 12163753Seric # ifdef IRIX 12264035Seric # define HASSETREUID 1 /* has setreuid(2) call */ 12364035Seric # define HASINITGROUPS 1 /* has initgroups(3) call */ 12464314Seric # define HASSTATFS 1 /* has the statfs(2) syscall */ 12563753Seric # define FORK fork /* no vfork primitive available */ 12664155Seric # define setpgid BSDsetpgrp 12763937Seric # define GIDSET_T gid_t 12863753Seric # endif 12963753Seric 13063902Seric 13163902Seric /* 13263902Seric ** SunOS 13363902Seric */ 13463902Seric 13563787Seric #if defined(sun) && !defined(BSD) 13659074Seric 13763962Seric # define LA_TYPE LA_INT 13864035Seric # define HASSETREUID 1 /* has setreuid(2) call */ 13964035Seric # define HASINITGROUPS 1 /* has initgroups(3) call */ 14060564Seric 14160602Seric # ifdef SOLARIS 14263902Seric /* Solaris 2.x (a.k.a. SunOS 5.x) */ 14363949Seric # define SYSTEM5 1 /* use System V definitions */ 14463977Seric # define setreuid(r, e) seteuid(e) 14563787Seric # include <sys/time.h> 14664125Seric # define gethostbyname __switch_gethostbyname /* get working version */ 14764125Seric # define gethostbyaddr __switch_gethostbyaddr /* get working version */ 14863962Seric # define _PATH_UNIX "/kernel/unix" 14963962Seric # ifndef _PATH_SENDMAILCF 15063962Seric # define _PATH_SENDMAILCF "/etc/mail/sendmail.cf" 15164072Seric # endif 15264072Seric # ifndef _PATH_SENDMAILPID 15363962Seric # define _PATH_SENDMAILPID "/etc/mail/sendmail.pid" 15463962Seric # endif 15563787Seric 15660602Seric # else 15763787Seric /* SunOS 4.1.x */ 15860602Seric # define HASSTATFS 1 /* has the statfs(2) syscall */ 15964035Seric /* # define HASFLOCK 1 /* has flock(2) call */ 16060564Seric # include <vfork.h> 16163787Seric 16260564Seric # endif 16359023Seric #endif 16459023Seric 16564314Seric 16663902Seric /* 16763902Seric ** Digital Ultrix 4.2A or 4.3 16864264Seric ** 16964264Seric ** Apparently, fcntl locking is broken on 4.2A, in that locks are 17064264Seric ** not dropped when the process exits. This causes major problems, 17164264Seric ** so flock is the only alternative. 17263902Seric */ 17363902Seric 17460564Seric #ifdef ultrix 17560564Seric # define HASSTATFS 1 /* has the statfs(2) syscall */ 17664035Seric # define HASSETREUID 1 /* has setreuid(2) call */ 17763962Seric # define HASUNSETENV 1 /* has unsetenv(3) call */ 17864035Seric # define HASINITGROUPS 1 /* has initgroups(3) call */ 17964264Seric # define HASFLOCK 1 /* has flock(2) call */ 18063962Seric # define LA_TYPE LA_INT 18163962Seric # define LA_AVENRUN "avenrun" 18264358Seric # undef IDENTPROTO /* TCP/IP implementation is broken */ 18360564Seric #endif 18460564Seric 18564314Seric 18663902Seric /* 18763902Seric ** OSF/1 (tested on Alpha) 18863902Seric */ 18963902Seric 19063787Seric #ifdef __osf__ 19164314Seric # define HASSTATFS 1 /* has the statfs(2) syscall */ 19263962Seric # define HASUNSETENV 1 /* has unsetenv(3) call */ 19364035Seric # define HASSETREUID 1 /* has setreuid(2) call */ 19464035Seric # define HASINITGROUPS 1 /* has initgroups(3) call */ 19564035Seric /* # define HASFLOCK 1 /* has flock(2) call */ 19663962Seric # define LA_TYPE LA_INT 19759287Seric #endif 19859287Seric 19964314Seric 20063902Seric /* 20163902Seric ** NeXTstep 20263902Seric */ 20363902Seric 20464076Seric #ifdef NeXT 20564035Seric # define HASINITGROUPS 1 /* has initgroups(3) call */ 20664035Seric # define HASFLOCK 1 /* has flock(2) call */ 20764125Seric # define NEEDGETOPT 1 /* need a replacement for getopt(3) */ 20864314Seric # define HASSTATFS 1 /* has the statfs(2) syscall */ 20963753Seric # define sleep sleepX 21064155Seric # define setpgid setpgrp 21164295Seric # ifndef LA_TYPE 21264295Seric # define LA_TYPE LA_MACH 21364295Seric # endif 21464035Seric typedef int pid_t; 21564072Seric # ifndef _PATH_SENDMAILCF 21664072Seric # define _PATH_SENDMAILCF "/etc/sendmail/sendmail.cf" 21764072Seric # endif 21864072Seric # ifndef _PATH_SENDMAILPID 21964072Seric # define _PATH_SENDMAILPID "/etc/sendmail/sendmail.pid" 22064072Seric # endif 22159288Seric #endif 22259288Seric 22364314Seric 22463902Seric /* 22563962Seric ** 4.4 BSD 22663902Seric */ 22763902Seric 22860568Seric #ifdef BSD4_4 22964072Seric # define HASUNSETENV 1 /* has unsetenv(3) call */ 23064314Seric # define HASSTATFS 1 /* has the statfs(2) syscall */ 23160568Seric # include <sys/cdefs.h> 23263838Seric # define ERRLIST_PREDEFINED /* don't declare sys_errlist */ 23364072Seric # ifndef LA_TYPE 23464072Seric # define LA_TYPE LA_SUBR 23564072Seric # endif 23660568Seric #endif 23760568Seric 23864314Seric 23963902Seric /* 24063969Seric ** 4.3 BSD -- this is for very old systems 24163969Seric ** 24263969Seric ** You'll also have to install a new resolver library. 24363969Seric ** I don't guarantee that support for this environment is complete. 24463969Seric */ 24563969Seric 24663969Seric #ifdef oldBSD43 24763969Seric # define NEEDVPRINTF 1 /* need a replacement for vprintf(3) */ 24863969Seric # define NEEDGETOPT 1 /* need a replacement for getopt(3) */ 24963970Seric # define ARBPTR_T char * 25064155Seric # define setpgid setpgrp 25163969Seric # ifndef LA_TYPE 25263969Seric # define LA_TYPE LA_FLOAT 25363969Seric # endif 25463969Seric # ifndef _PATH_SENDMAILCF 25563969Seric # define _PATH_SENDMAILCF "/usr/lib/sendmail.cf" 25663969Seric # endif 25764358Seric # undef IDENTPROTO /* TCP/IP implementation is broken */ 25863969Seric #endif 25963969Seric 26064314Seric 26163969Seric /* 26263902Seric ** SCO Unix 26363902Seric */ 26463902Seric 26563838Seric #ifdef _SCO_unix_ 26663838Seric # define SYSTEM5 1 /* include all the System V defines */ 26764035Seric # define SYS5SIGNALS 1 /* SysV signal semantics -- reset on each sig */ 26863987Seric # define HASSTATFS 1 /* has the statfs(2) syscall */ 26963838Seric # define FORK fork 27063838Seric # define MAXPATHLEN PATHSIZE 27163962Seric # define LA_TYPE LA_ZERO 27263838Seric #endif 27363838Seric 27464314Seric 27563962Seric /* 27663962Seric ** ConvexOS 11.0 and later 27763962Seric */ 27863962Seric 27963962Seric #ifdef _CONVEX_SOURCE 28063977Seric # define BSD 1 /* include all the BSD defines */ 28163977Seric # define HASUNAME 1 /* use System V uname(2) system call */ 28263962Seric # define HASSTATFS 1 /* has the statfs(2) syscall */ 28363962Seric # define HASSETSID 1 /* has POSIX setsid(2) call */ 28463977Seric # define NEEDGETOPT 1 /* need replacement for getopt(3) */ 28563962Seric # define LA_TYPE LA_FLOAT 28664032Seric # undef IDENTPROTO 28763962Seric #endif 28863962Seric 28964314Seric 29063962Seric /* 29163962Seric ** RISC/os 4.51 29263962Seric ** 29363962Seric ** Untested... 29463962Seric */ 29563962Seric 29663965Seric #ifdef RISCOS 29763962Seric # define HASUNSETENV 1 /* has unsetenv(3) call */ 29864035Seric /* # define HASFLOCK 1 /* has flock(2) call */ 29963962Seric # define LA_TYPE LA_INT 30063962Seric # define LA_AVENRUN "avenrun" 30163962Seric # define _PATH_UNIX "/unix" 30263962Seric #endif 30363962Seric 30464314Seric 30564155Seric /* 30664155Seric ** Linux 0.99pl10 and above... 30764155Seric ** From Karl London <karl@borg.demon.co.uk>. 30864155Seric */ 30964155Seric 31064155Seric #ifdef linux 31164155Seric # define BSD 1 /* pretend to be BSD based today */ 31264155Seric # undef NEEDVPRINTF 1 /* need a replacement for vprintf(3) */ 31364155Seric # define NEEDGETOPT 1 /* need a replacement for getopt(3) */ 31464380Seric # define HASUNSETENV 1 /* has unsetenv(3) call */ 31564155Seric # ifndef LA_TYPE 31664155Seric # define LA_TYPE LA_FLOAT 31764155Seric # endif 31864155Seric #endif 31964155Seric 32064155Seric 32164345Seric /* 32264345Seric ** DELL SVR4 Issue 2.2, and others 32364345Seric ** From Kimmo Suominen <kim@grendel.lut.fi> 32464345Seric ** 32564345Seric ** It's on #ifdef DELL_SVR4 because Solaris also gets __svr4__ 32664345Seric ** defined, and the definitions conflict. 32764345Seric */ 32864345Seric 32964345Seric #ifdef DELL_SVR4 33064345Seric # define SYSTEM5 1 33164345Seric /* # define setreuid(r, e) seteuid(e) */ 33264345Seric /* # include <sys/time.h> */ 33364345Seric # define _PATH_UNIX "/unix" 33464345Seric # ifndef _PATH_SENDMAILCF 33564345Seric # define _PATH_SENDMAILCF "/usr/ucblib/sendmail.cf" 33664345Seric # endif 33764345Seric # ifndef _PATH_SENDMAILPID 33864345Seric # define _PATH_SENDMAILPID "/usr/ucblib/sendmail.pid" 33964345Seric # endif 34064345Seric #endif 34164345Seric 34264345Seric 34364380Seric /* 34464380Seric ** Apple A/UX 3.0 34564380Seric */ 34664345Seric 34764380Seric #ifdef _AUX_SOURCE 34864380Seric # define BSD /* has BSD routines */ 34964380Seric # define HASSTATFS 1 /* has the statfs(2) syscall */ 35064380Seric # define HASUNAME 1 /* use System V uname(2) system call */ 35164380Seric # define HASUSTAT 1 /* use System V ustat(2) syscall */ 35264380Seric # define HASSETVBUF 1 /* we have setvbuf(3) in libc */ 35364380Seric # define FORK fork 35464380Seric # ifndef _PATH_SENDMAILCF 35564380Seric # define _PATH_SENDMAILCF "/usr/lib/sendmail.cf" 35664380Seric # endif 35764380Seric # ifndef LA_TYPE 35864380Seric # define LA_TYPE LA_ZERO 35964380Seric # endif 36064380Seric #endif 36164380Seric 36264380Seric 36364380Seric 36463902Seric /********************************************************************** 36563787Seric ** End of Per-Operating System defines 36663902Seric **********************************************************************/ 36763787Seric 36863949Seric /********************************************************************** 36963949Seric ** More general defines 37063949Seric **********************************************************************/ 37163949Seric 37263962Seric /* general BSD defines */ 37363962Seric #ifdef BSD 37464035Seric # define HASGETDTABLESIZE 1 /* has getdtablesize(2) call */ 37564035Seric # define HASSETREUID 1 /* has setreuid(2) call */ 37664035Seric # define HASINITGROUPS 1 /* has initgroups(2) call */ 37764035Seric # define HASFLOCK 1 /* has flock(2) call */ 37863962Seric #endif 37963962Seric 38063787Seric /* general System V defines */ 38163787Seric # ifdef SYSTEM5 38263949Seric # define HASUNAME 1 /* use System V uname(2) system call */ 38363949Seric # define HASUSTAT 1 /* use System V ustat(2) syscall */ 38463962Seric # ifndef LA_TYPE 38563962Seric # define LA_TYPE LA_INT 38663962Seric # endif 38763949Seric # define bcopy(s, d, l) (memmove((d), (s), (l))) 38863949Seric # define bzero(d, l) (memset((d), '\0', (l))) 38963949Seric # define bcmp(s, d, l) (memcmp((s), (d), (l))) 39063787Seric # endif 39163787Seric 39263949Seric /* general "standard C" defines */ 39363949Seric #if defined(__STDC__) || defined(SYSTEM5) 39463949Seric # define HASSETVBUF 1 /* we have setvbuf(3) in libc */ 39563949Seric #endif 39663949Seric 39763949Seric /* general POSIX defines */ 39863949Seric #ifdef _POSIX_VERSION 39963949Seric # define HASSETSID 1 /* has setsid(2) call */ 40063966Seric # define HASWAITPID 1 /* has waitpid(2) call */ 40163949Seric #endif 40263949Seric 40363787Seric /* 40463937Seric ** If no type for argument two of getgroups call is defined, assume 40563937Seric ** it's an integer -- unfortunately, there seem to be several choices 40663937Seric ** here. 40763937Seric */ 40863937Seric 40963937Seric #ifndef GIDSET_T 41063937Seric # define GIDSET_T int 41163937Seric #endif 41263937Seric 41364439Seric 41464439Seric /********************************************************************** 41559023Seric ** Remaining definitions should never have to be changed. They are 41659023Seric ** primarily to provide back compatibility for older systems -- for 41759287Seric ** example, it includes some POSIX compatibility definitions 41864439Seric **********************************************************************/ 41959023Seric 42059388Seric /* System 5 compatibility */ 42159388Seric #ifndef S_ISREG 42259388Seric #define S_ISREG(foo) ((foo & S_IFREG) == S_IFREG) 42359388Seric #endif 42459388Seric #ifndef S_IWGRP 42559388Seric #define S_IWGRP 020 42659388Seric #endif 42759388Seric #ifndef S_IWOTH 42859388Seric #define S_IWOTH 002 42959388Seric #endif 43059388Seric 43159023Seric /* 43250537Seric ** Older systems don't have this error code -- it should be in 43350537Seric ** /usr/include/sysexits.h. 43450537Seric */ 43550537Seric 43650537Seric # ifndef EX_CONFIG 43750537Seric # define EX_CONFIG 78 /* configuration error */ 43850537Seric # endif 43956852Seric 44063993Seric /* 44163993Seric ** These are used in a few cases where we need some special 44263993Seric ** error codes, but where the system doesn't provide something 44363993Seric ** reasonable. They are printed in errstring. 44463993Seric */ 44563993Seric 44663993Seric #ifndef E_PSEUDOBASE 44763993Seric # define E_PSEUDOBASE 256 44863993Seric #endif 44963993Seric 45063993Seric #define EOPENTIMEOUT (E_PSEUDOBASE + 0) /* timeout on open */ 45163993Seric #define E_DNSBASE (E_PSEUDOBASE + 20) /* base for DNS h_errno */ 45263993Seric 45363970Seric /* type of arbitrary pointer */ 45463970Seric #ifndef ARBPTR_T 45563970Seric # define ARBPTR_T void * 45663970Seric #endif 45763970Seric 45860568Seric #ifndef __P 45960568Seric # include "cdefs.h" 46060568Seric #endif 46160568Seric 46256852Seric /* 46358778Seric ** Do some required dependencies 46458778Seric */ 46558778Seric 46658778Seric #if defined(NETINET) || defined(NETISO) 46759107Seric # define SMTP 1 /* enable user and server SMTP */ 46859107Seric # define QUEUE 1 /* enable queueing */ 46959107Seric # define DAEMON 1 /* include the daemon (requires IPC & SMTP) */ 47058778Seric #endif 47158778Seric 47258778Seric 47358778Seric /* 47456852Seric ** Arrange to use either varargs or stdargs 47556852Seric */ 47656852Seric 47756852Seric # ifdef __STDC__ 47856852Seric 47956852Seric # include <stdarg.h> 48056852Seric 48156852Seric # define VA_LOCAL_DECL va_list ap; 48256852Seric # define VA_START(f) va_start(ap, f) 48356852Seric # define VA_END va_end(ap) 48456852Seric 48556852Seric # else 48656852Seric 48756852Seric # include <varargs.h> 48856852Seric 48956852Seric # define VA_LOCAL_DECL va_list ap; 49056852Seric # define VA_START(f) va_start(ap) 49156852Seric # define VA_END va_end(ap) 49256852Seric 49356852Seric # endif 49457631Seric 49557943Seric #ifdef HASUNAME 49657631Seric # include <sys/utsname.h> 49757631Seric # ifdef newstr 49857631Seric # undef newstr 49957631Seric # endif 50057943Seric #else /* ! HASUNAME */ 50157631Seric # define NODE_LENGTH 32 50257631Seric struct utsname 50357631Seric { 50457631Seric char nodename[NODE_LENGTH+1]; 50557631Seric }; 50657943Seric #endif /* HASUNAME */ 50757642Seric 50863838Seric #if !defined(MAXHOSTNAMELEN) && !defined(_SCO_unix_) 50963838Seric # define MAXHOSTNAMELEN 256 51057735Seric #endif 51158153Seric 51258153Seric #if !defined(SIGCHLD) && defined(SIGCLD) 51358153Seric # define SIGCHLD SIGCLD 51458153Seric #endif 51558153Seric 51658153Seric #ifndef STDIN_FILENO 51758153Seric #define STDIN_FILENO 0 51858153Seric #endif 51958153Seric 52058153Seric #ifndef STDOUT_FILENO 52158153Seric #define STDOUT_FILENO 1 52258153Seric #endif 52358153Seric 52458153Seric #ifndef STDERR_FILENO 52558153Seric #define STDERR_FILENO 2 52658153Seric #endif 52758689Seric 52864072Seric #ifndef LOCK_SH 52964035Seric # define LOCK_SH 0x01 /* shared lock */ 53064035Seric # define LOCK_EX 0x02 /* exclusive lock */ 53164035Seric # define LOCK_NB 0x04 /* non-blocking lock */ 53264035Seric # define LOCK_UN 0x08 /* unlock */ 53364035Seric #endif 53458692Seric 53564035Seric #ifndef SIG_ERR 53664035Seric # define SIG_ERR ((void (*)()) -1) 53758689Seric #endif 53858702Seric 53958702Seric /* 54058702Seric ** Size of tobuf (deliver.c) 54158702Seric ** Tweak this to match your syslog implementation. It will have to 54258702Seric ** allow for the extra information printed. 54358702Seric */ 54458702Seric 54558702Seric #ifndef TOBUFSIZE 54658702Seric # define TOBUFSIZE (1024 - 256) 54758702Seric #endif 54860219Seric 54960219Seric /* fork routine -- set above using #ifdef _osname_ or in Makefile */ 55060219Seric # ifndef FORK 55160219Seric # define FORK vfork /* function to call to fork mailer */ 55260219Seric # endif 553