diff options
Diffstat (limited to 'usr.sbin/sendmail/src/conf.h')
-rw-r--r-- | usr.sbin/sendmail/src/conf.h | 429 |
1 files changed, 361 insertions, 68 deletions
diff --git a/usr.sbin/sendmail/src/conf.h b/usr.sbin/sendmail/src/conf.h index 6f7f8c9200b80..0c3729b6c848b 100644 --- a/usr.sbin/sendmail/src/conf.h +++ b/usr.sbin/sendmail/src/conf.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 1983, 1995 Eric P. Allman + * Copyright (c) 1983, 1995, 1996 Eric P. Allman * Copyright (c) 1988, 1993 * The Regents of the University of California. All rights reserved. * @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * @(#)conf.h 8.220 (Berkeley) 11/29/95 + * @(#)conf.h 8.272 (Berkeley) 11/16/96 */ /* @@ -41,7 +41,9 @@ ** included in the next release. */ +#ifdef __GNUC__ struct rusage; /* forward declaration to get gcc to shut up in wait.h */ +#endif # include <sys/param.h> # include <sys/types.h> @@ -66,7 +68,7 @@ struct rusage; /* forward declaration to get gcc to shut up in wait.h */ # define MAXMAILERS 25 /* maximum mailers known to system */ # define MAXRWSETS 200 /* max # of sets of rewriting rules */ # define MAXPRIORITIES 25 /* max values for Precedence: field */ -# define MAXMXHOSTS 20 /* max # of MX records */ +# define MAXMXHOSTS 100 /* max # of MX records for one host */ # define SMTPLINELIM 990 /* maximum SMTP line length */ # define MAXKEY 128 /* maximum size of a database key */ # define MEMCHUNKSIZE 1024 /* chunk size for memory allocation */ @@ -183,9 +185,6 @@ struct rusage; /* forward declaration to get gcc to shut up in wait.h */ # define HASGETUSERSHELL 0 /* getusershell(3) causes core dumps */ # endif # define syslog hard_syslog -# ifdef __STDC__ -extern void hard_syslog(int, char *, ...); -# endif # ifdef V4FS /* HP-UX 10.x */ @@ -205,12 +204,29 @@ extern void hard_syslog(int, char *, ...); # ifndef IDENTPROTO # define IDENTPROTO 0 /* TCP/IP implementation is broken */ # endif +# ifdef __STDC__ +extern void hard_syslog(int, char *, ...); +# endif # endif #endif /* +** IBM AIX 4.x +*/ + +#ifdef _AIX4 +# define _AIX3 1 /* pull in AIX3 stuff */ +# define USESETEUID 1 /* seteuid(2) works */ +# define TZ_TYPE TZ_NAME /* use tzname[] vector */ +# if _AIX4 >= 40200 +# define HASSETREUID 1 /* setreuid(2) works as of AIX 4.2 */ +# endif +#endif + + +/* ** IBM AIX 3.x -- actually tested for 3.2.3 */ @@ -222,29 +238,89 @@ extern void hard_syslog(int, char *, ...); # define HASGETUSERSHELL 0 /* does not have getusershell(3) call */ # define HASFCHMOD 1 /* has fchmod(2) syscall */ # define IP_SRCROUTE 0 /* Something is broken with getsockopt() */ -# define FORK fork /* no vfork primitive available */ # define GIDSET_T gid_t # define SFS_TYPE SFS_STATFS /* use <sys/statfs.h> statfs() impl */ # define SPT_PADCHAR '\0' /* pad process title with nulls */ # define LA_TYPE LA_INT +# define FSHIFT 16 # define LA_AVENRUN "avenrun" #endif /* +** IBM AIX 2.2.1 -- actually tested for osupdate level 2706+1773 +** +** From Mark Whetzel <markw@wg.waii.com>. +*/ + +#ifdef AIX /* AIX/RT compiler pre-defines this */ +# include <paths.h> +# include <sys/time.h> /* AIX/RT resource.h does NOT include this */ +# define HASINITGROUPS 1 /* has initgroups(3) call */ +# define HASUNAME 1 /* use System V uname(2) system call */ +# define HASGETUSERSHELL 0 /* does not have getusershell(3) call */ +# define HASFCHMOD 0 /* does not have fchmod(2) syscall */ +# define HASSETREUID 1 /* use setreuid(2) -lbsd system call */ +# define HASSETVBUF 1 /* use setvbuf(2) system call */ +# define HASSETRLIMIT 0 /* does not have setrlimit call */ +# define HASFLOCK 0 /* does not have flock call - use fcntl */ +# define HASULIMIT 1 /* use ulimit instead of setrlimit call */ +# define NEEDGETOPT 1 /* Do we need theirs or ours */ +# define SYS5SETPGRP 1 /* don't have setpgid on AIX/RT */ +# define IP_SRCROUTE 0 /* Something is broken with getsockopt() */ +# define BSD4_3 1 /* NOT bsd 4.4 or posix signals */ +# define GIDSET_T int +# define SFS_TYPE SFS_STATFS /* use <sys/statfs.h> statfs() impl */ +# define SPT_PADCHAR '\0' /* pad process title with nulls */ +# define LA_TYPE LA_SUBR /* use our ported loadavgd daemon */ +# define TZ_TYPE TZ_TZNAME /* use tzname[] vector */ +# define ARBPTR_T int * +# define void int +typedef int pid_t; +/* RTisms for BSD compatibility, specified in the Makefile + define BSD 1 + define BSD_INCLUDES 1 + define BSD_REMAP_SIGNAL_TO_SIGVEC + RTisms needed above */ +/* make this sendmail in a completely different place */ +# define _PATH_VENDORCF "/usr/local/newmail/sendmail.cf" +# ifndef _PATH_SENDMAILPID +# define _PATH_SENDMAILPID "/usr/local/newmail/sendmail.pid" +# endif +#endif + + +/* ** Silicon Graphics IRIX ** ** Compiles on 4.0.1. ** ** Use IRIX64 instead of IRIX for 64-bit IRIX (6.0). ** Use IRIX5 instead of IRIX for IRIX 5.x. +** +** This version tries to be adaptive using _MIPS_SIM: +** _MIPS_SIM == _ABIO32 (= 1) Abi: -32 on IRIX 6.2 +** _MIPS_SIM == _ABIN32 (= 2) Abi: -n32 on IRIX 6.2 +** _MIPS_SIM == _ABI64 (= 3) Abi: -64 on IRIX 6.2 +** +** _MIPS_SIM is 1 also on IRIX 5.3 ** ** IRIX64 changes from Mark R. Levinson <ml@cvdev.rochester.edu>. ** IRIX5 changes from Kari E. Hurtta <Kari.Hurtta@fmi.fi>. +** Adaptive changes from Kari E. Hurtta <Kari.Hurtta@fmi.fi>. */ -#if defined(IRIX64) || defined(IRIX5) -# define IRIX +#if defined(__sgi) +# ifndef IRIX +# define IRIX +# endif +# if _MIPS_SIM > 0 && !defined(IRIX5) +# define IRIX5 /* IRIX5 or IRIX6 */ +# endif +# if _MIPS_SIM > 1 && !defined(IRIX6) && !defined(IRIX64) +# define IRIX6 /* IRIX6 */ +# endif + #endif #ifdef IRIX @@ -254,18 +330,24 @@ extern void hard_syslog(int, char *, ...); # define HASFCHMOD 1 /* has fchmod(2) syscall */ # define HASGETUSERSHELL 0 /* does not have getusershell(3) call */ # define IP_SRCROUTE 1 /* can check IP source routing */ -# define FORK fork /* no vfork primitive available */ # define setpgid BSDsetpgrp # define GIDSET_T gid_t # define SFS_TYPE SFS_4ARGS /* four argument statfs() call */ # define SFS_BAVAIL f_bfree /* alternate field name */ -# define LA_TYPE LA_INT -# ifdef IRIX64 -# define NAMELISTMASK 0x7fffffffffffffff /* mask for nlist() values */ +# ifdef IRIX6 +# define LA_TYPE LA_IRIX6 /* figure out at run time */ # else -# define NAMELISTMASK 0x7fffffff /* mask for nlist() values */ +# define LA_TYPE LA_INT + +# ifdef IRIX64 +# define NAMELISTMASK 0x7fffffffffffffff /* mask for nlist() values */ +# else +# define NAMELISTMASK 0x7fffffff /* mask for nlist() values */ +# endif # endif -# if defined(IRIX64) || defined(IRIX5) +# if defined(IRIX64) || defined(IRIX5) +# include <sys/cdefs.h> +# include <paths.h> # define ARGV_T char *const * # define HASSETRLIMIT 1 /* has setrlimit(2) syscall */ # define HASGETDTABLESIZE 1 /* has getdtablesize(2) syscall */ @@ -290,10 +372,16 @@ extern void hard_syslog(int, char *, ...); # define HASGETUSERSHELL 1 /* DOES have getusershell(3) call in libc */ # define HASFCHMOD 1 /* has fchmod(2) syscall */ # define IP_SRCROUTE 1 /* can check IP source routing */ -# define LA_TYPE LA_INT +# ifndef LA_TYPE +# define LA_TYPE LA_INT +# endif # ifdef SOLARIS_2_3 -# define SOLARIS 203 /* for back compat only -- use -DSOLARIS=203 */ +# define SOLARIS 20300 /* for back compat only -- use -DSOLARIS=20300 */ +# endif + +# if defined(NOT_SENDMAIL) && !defined(SOLARIS) && defined(sun) && (defined(__svr4__) || defined(__SVR4)) +# define SOLARIS 1 /* unknown Solaris version */ # endif # ifdef SOLARIS @@ -303,6 +391,7 @@ extern void hard_syslog(int, char *, ...); # endif # include <sys/time.h> # define GIDSET_T gid_t +# define USE_SA_SIGACTION 1 /* use sa_sigaction field */ # ifndef _PATH_UNIX # define _PATH_UNIX "/dev/ksyms" # endif @@ -316,6 +405,23 @@ extern void hard_syslog(int, char *, ...); # ifndef SYSLOG_BUFSIZE # define SYSLOG_BUFSIZE 1024 /* allow full size syslog buffer */ # endif +# if SOLARIS >= 20300 || (SOLARIS < 10000 && SOLARIS >= 203) +# define USESETEUID 1 /* seteuid works as of 2.3 */ +# endif +# if SOLARIS >= 20500 || (SOLARIS < 10000 && SOLARIS >= 205) +# define HASSNPRINTF 1 /* has snprintf starting in 2.5 */ +# define HASSETREUID 1 /* setreuid works as of 2.5 */ +# if SOLARIS == 20500 || SOLARIS == 205 +# define snprintf __snprintf /* but names it oddly in 2.5 */ +# define vsnprintf __vsnprintf +# endif +# ifndef LA_TYPE +# define LA_TYPE LA_KSTAT /* use kstat(3k) -- may work in < 2.5 */ +# endif +# endif +# ifndef HASGETUSERSHELL +# define HASGETUSERSHELL 0 /* getusershell(3) causes core dumps */ +# endif # else /* SunOS 4.0.3 or 4.1.x */ @@ -432,8 +538,6 @@ extern long dgux_inet_addr(); #ifdef __ksr__ # define __osf__ 1 /* get OSF/1 defines below */ -# define FORK fork /* no vfork primitive available */ -# define _PATH_VENDOR_CF "/var/adm/sendmail/sendmail.cf" # ifndef TZ_TYPE # define TZ_TYPE TZ_TZNAME /* use tzname[] vector */ # endif @@ -449,12 +553,16 @@ extern long dgux_inet_addr(); #ifdef __PARAGON__ # define __osf__ 1 /* get OSF/1 defines below */ -# define _PATH_VENDOR_CF "/var/adm/sendmail/sendmail.cf" +# ifndef TZ_TYPE +# define TZ_TYPE TZ_TZNAME /* use tzname[] vector */ +# endif #endif /* -** OSF/1 (tested on Alpha) +** OSF/1 (tested on Alpha) -- now known as Digital UNIX. +** +** Tested for 3.2 and 4.0. */ #ifdef __osf__ @@ -468,6 +576,7 @@ extern long dgux_inet_addr(); # endif # define LA_TYPE LA_INT # define SFS_TYPE SFS_MOUNT /* use <sys/mount.h> statfs() impl */ +# define _PATH_VENDOR_CF "/var/adm/sendmail/sendmail.cf" # ifndef _PATH_SENDMAILPID # define _PATH_SENDMAILPID "/var/run/sendmail.pid" # endif @@ -487,6 +596,8 @@ extern long dgux_inet_addr(); # define NEEDGETOPT 1 /* need a replacement for getopt(3) */ # define WAITUNION 1 /* use "union wait" as wait argument type */ # define UID_T int /* compiler gripes on uid_t */ +# define GID_T int /* ditto for gid_t */ +# define MODE_T int /* and mode_t */ # define sleep sleepX # define setpgid setpgrp # ifndef LA_TYPE @@ -512,6 +623,7 @@ typedef int pid_t; */ #if defined(BSD4_4) && !defined(__bsdi__) +# include <paths.h> # define HASUNSETENV 1 /* has unsetenv(3) call */ # define USESETEUID 1 /* has useable seteuid(2) call */ # define HASFCHMOD 1 /* has fchmod(2) syscall */ @@ -529,11 +641,12 @@ typedef int pid_t; /* -** BSD/386 (all versions) +** BSD/OS (was BSD/386) (all versions) ** From Tony Sanders, BSDI */ #ifdef __bsdi__ +# include <paths.h> # define HASUNSETENV 1 /* has the unsetenv(3) call */ # define HASSETSID 1 /* has the setsid(2) POSIX syscall */ # define USESETEUID 1 /* has useable seteuid(2) call */ @@ -592,24 +705,25 @@ typedef int pid_t; # if defined(__NetBSD__) && (NetBSD > 199307 || NetBSD0_9 > 1) # undef SPT_TYPE # define SPT_TYPE SPT_BUILTIN /* setproctitle is in libc */ -# define setreuid __setreuid # endif # if defined(__FreeBSD__) # undef SPT_TYPE # if __FreeBSD__ == 2 -# if !defined(DONT_HAVE_SETPROCTITLE) /* add to the Makefile for < 2.0.5 */ -# define SPT_TYPE SPT_BUILTIN +# include <osreldate.h> /* and this works */ +# if __FreeBSD_version >= 199512 /* 2.2-current right now */ # include <libutil.h> +# define SPT_TYPE SPT_BUILTIN # endif # endif # ifndef SPT_TYPE # define SPT_TYPE SPT_REUSEARGV -# define SPT_PADCHAR '\0' /* pad process title with nulls */ +# define SPT_PADCHAR '\0' /* pad process title with nulls */ # endif # endif #endif + /* ** Mach386 ** @@ -671,36 +785,76 @@ extern int errno; /* ** SCO Unix ** -** This includes two parts -- the first is for SCO Open Server 3.2v4 -** (contributed by Philippe Brand <phb@colombo.telesys-innov.fr>). -** The second is, I believe, for an older version. +** This includes three parts: +** +** The first is for SCO OpenServer 5. +** (Contributed by Keith Reynolds <keithr@sco.COM>). +** +** SCO OpenServer 5 has a compiler version number macro, +** which we can use to figure out what version we're on. +** This may have to change in future releases. +** +** The second is for SCO UNIX 3.2v4.2/Open Desktop 3.0. +** (Contributed by Philippe Brand <phb@colombo.telesys-innov.fr>). +** +** The third is for SCO UNIX 3.2v4.0/Open Desktop 2.0 and earlier. */ +/* SCO OpenServer 5 */ +#if _SCO_DS >= 1 +# include <paths.h> +# define _SCO_unix_4_2 +# define HASSNPRINTF 1 /* has snprintf(3) call */ +# define HASFCHMOD 1 /* has fchmod(2) call */ +# define HASSETRLIMIT 1 /* has setrlimit(2) call */ +# define USESETEUID 1 /* has seteuid(2) call */ +# define HASINITGROUPS 1 /* has initgroups(3) call */ +# define HASGETDTABLESIZE 1 /* has getdtablesize(2) call */ +# define RLIMIT_NEEDS_SYS_TIME_H 1 +# ifndef LA_TYPE +# define LA_TYPE LA_DEVSHORT +# endif +# define _PATH_AVENRUN "/dev/table/avenrun" +#endif + +/* SCO UNIX 3.2v4.2/Open Desktop 3.0 */ #ifdef _SCO_unix_4_2 # define _SCO_unix_ # define HASSETREUID 1 /* has setreuid(2) call */ -# define _PATH_UNIX "/unix" -# define _PATH_VENDOR_CF "/usr/lib/sendmail.cf" -# ifndef _PATH_SENDMAILPID -# define _PATH_SENDMAILPID "/etc/sendmail.pid" -# endif #endif +/* SCO UNIX 3.2v4.0 Open Desktop 2.0 and earlier */ #ifdef _SCO_unix_ # include <sys/stream.h> /* needed for IP_SRCROUTE */ # define SYSTEM5 1 /* include all the System V defines */ -# define SYS5SIGNALS 1 /* SysV signal semantics -- reset on each sig */ # define HASGETUSERSHELL 0 /* does not have getusershell(3) call */ -# define NOFTRUNCATE 0 /* does not have ftruncate(3) call */ -# define NEEDFSYNC 1 /* needs the fsync(2) call stub */ -# define FORK fork +# define NOFTRUNCATE 0 /* has (simulated) ftruncate call */ # define MAXPATHLEN PATHSIZE -# define LA_TYPE LA_SHORT # define SFS_TYPE SFS_4ARGS /* use <sys/statfs.h> 4-arg impl */ # define SFS_BAVAIL f_bfree /* alternate field name */ # define SPT_TYPE SPT_SCO /* write kernel u. area */ # define TZ_TYPE TZ_TM_NAME /* use tm->tm_name */ -# define NETUNIX 0 /* no unix domain socket support */ +# define UID_T uid_t +# define GID_T gid_t +# define GIDSET_T gid_t +# define _PATH_UNIX "/unix" +# define _PATH_VENDOR_CF "/usr/lib/sendmail.cf" +# ifndef _PATH_SENDMAILPID +# define _PATH_SENDMAILPID "/etc/sendmail.pid" +# endif + +/* stuff fixed in later releases */ +# ifndef _SCO_unix_4_2 +# define SYS5SIGNALS 1 /* SysV signal semantics -- reset on each sig */ +# endif + +# ifndef _SCO_DS +# define ftruncate chsize /* use chsize(2) to emulate ftruncate */ +# define NEEDFSYNC 1 /* needs the fsync(2) call stub */ +# define NETUNIX 0 /* no unix domain socket support */ +# define LA_TYPE LA_SHORT +# endif + #endif @@ -720,7 +874,6 @@ extern int errno; # define HASSETREUID 1 /* has setreuid(2) call */ # define NEEDFSYNC 1 /* needs the fsync(2) call stub */ # define NETUNIX 0 /* no unix domain socket support */ -# define FORK fork # define MAXPATHLEN 1024 # define LA_TYPE LA_SHORT # define SFS_TYPE SFS_STATFS /* use <sys/statfs.h> statfs() impl */ @@ -735,22 +888,24 @@ extern int errno; /* -** Altos System V. -** Contributed by Tim Rice <timr@crl.com>. +** Altos System V (5.3.1) +** Contributed by Tim Rice <tim@trr.metro.net>. */ -#ifdef ALTOS_SYS_V +#ifdef ALTOS_SYSTEM_V +# include <sys/stream.h> +# include <limits.h> # define SYSTEM5 1 /* include all the System V defines */ # define SYS5SIGNALS 1 /* SysV signal semantics -- reset on each sig */ # define HASGETUSERSHELL 0 /* does not have getusershell(3) call */ # define WAITUNION 1 /* use "union wait" as wait argument type */ # define NEEDFSYNC 1 /* no fsync(2) in system library */ -# define FORK fork -# define MAXPATHLEN PATHSIZE +# define NEEDSTRSTR 1 /* need emulation of the strstr(3) call */ +# define MAXPATHLEN PATH_MAX # define LA_TYPE LA_SHORT # define SFS_TYPE SFS_STATFS /* use <sys/statfs.h> statfs() impl */ # define SFS_BAVAIL f_bfree /* alternate field name */ -# define TZ_TYPE TZ_TM_NAME /* use tm->tm_name */ +# define TZ_TYPE TZ_TZNAME /* use tzname[] vector */ # define NETUNIX 0 /* no unix domain socket support */ # undef WIFEXITED # undef WEXITSTATUS @@ -759,6 +914,17 @@ extern int errno; typedef unsigned short uid_t; typedef unsigned short gid_t; typedef short pid_t; + +/* some stuff that should have been in the include files */ +# include <grp.h> +extern char *malloc(); +extern struct passwd *getpwent(); +extern struct passwd *getpwnam(); +extern struct passwd *getpwuid(); +extern char *getenv(); +extern struct group *getgrgid(); +extern struct group *getgrnam(); + #endif @@ -767,13 +933,26 @@ typedef short pid_t; ** ** "Todd C. Miller" <millert@mroe.cs.colorado.edu> claims this ** works on 9.1 as well. +** +** ConvexOS 11.5 and later, should work on 11.0 as defined. +** For pre-ConvexOOS 11.0, define NEEDGETOPT, undef IDENTPROTO +** +** Eric Schnoebelen (eric@cirr.com) For CONVEX Computer Corp. +** (now the CONVEX Technologies Center of Hewlett Packard) */ #ifdef _CONVEX_SOURCE -# define BSD 1 /* include all the BSD defines */ +# define HASGETDTABLESIZE 1 /* has getdtablesize(2) */ +# define HASINITGROUPS 1 /* has initgroups(3) */ # define HASUNAME 1 /* use System V uname(2) system call */ # define HASSETSID 1 /* has POSIX setsid(2) call */ -# define NEEDGETOPT 1 /* need replacement for getopt(3) */ +# define HASUNSETENV 1 /* has unsetenv(3) */ +# define HASFLOCK 1 /* has flock(2) */ +# define HASSETRLIMIT 1 /* has setrlimit(2) */ +# define HASSETREUID 1 /* has setreuid(2) */ +# define BROKEN_RES_SEARCH 1 /* res_search(unknown) returns h_error=0 */ +# define NEEDPUTENV 1 /* needs putenv (written in terms of setenv) */ +# define NEEDGETOPT 0 /* need replacement for getopt(3) */ # define IP_SRCROUTE 0 /* Something is broken with getsockopt() */ # define LA_TYPE LA_FLOAT # define SFS_TYPE SFS_VFS /* use <sys/vfs.h> statfs() implementation */ @@ -786,8 +965,23 @@ typedef short pid_t; # define S_IFCHR _S_IFCHR # define S_IFBLK _S_IFBLK # endif +# ifndef TZ_TYPE +# define TZ_TYPE TZ_TIMEZONE +# endif # ifndef IDENTPROTO -# define IDENTPROTO 0 /* TCP/IP implementation is broken */ +# define IDENTPROTO 1 +# endif +# ifndef SHARE_V1 +# define SHARE_V1 1 /* version 1 of the fair share scheduler */ +# endif +# if !defined(__GNUC__ ) +# define UID_T int /* GNUC gets it right, ConvexC botches */ +# define GID_T int /* GNUC gets it right, ConvexC botches */ +# endif +# if SECUREWARE +# define FORK fork /* SecureWare wants the real fork! */ +# else +# define FORK vfork /* the rest of the OS versions don't care */ # endif #endif @@ -838,9 +1032,14 @@ extern void *malloc(); ** Florian La Roche <rzsfl@rz.uni-sb.de> ** Karl London <karl@borg.demon.co.uk> ** -** Last compiled against: [09/06/95 @ 10:20:58 AM (Wednesday)] -** sendmail 8.7-b14 named 4.9.3-beta17 db-1.85 -** gcc 2.7.0 libc-5.2.7 linux 1.2.13 +** Last compiled against: [06/10/96 @ 09:21:40 PM (Monday)] +** sendmail 8.8-a4 named bind-4.9.4-T4B db-1.85 +** gcc 2.7.2 libc-5.3.12 linux 2.0.0 +** +** NOTE: Override HASFLOCK as you will but, as of 1.99.6, mixed-style +** file locking is no longer allowed. In particular, make sure +** your DBM library and sendmail are both using either flock(2) +** *or* fcntl(2) file locking, but not both. */ #ifdef __linux__ @@ -856,7 +1055,12 @@ extern void *malloc(); # define HASGETUSERSHELL 0 /* getusershell(3) broken in Slackware 2.0 */ # define IP_SRCROUTE 0 /* linux <= 1.2.8 doesn't support IP_OPTIONS */ # ifndef HASFLOCK -# define HASFLOCK 0 /* flock(2) is broken after 0.99.13 */ +# include <linux/version.h> +# if LINUX_VERSION_CODE < 66399 +# define HASFLOCK 0 /* flock(2) is broken after 0.99.13 */ +# else +# define HASFLOCK 1 /* flock(2) fixed after 1.3.95 */ +# endif # endif # ifndef LA_TYPE # define LA_TYPE LA_PROCSTR @@ -906,7 +1110,6 @@ extern void *malloc(); # ifndef IDENTPROTO # define IDENTPROTO 0 /* TCP/IP implementation is broken */ # endif -# define FORK fork # ifndef LA_TYPE # define LA_TYPE LA_INT # define FSHIFT 16 @@ -936,7 +1139,6 @@ extern void *malloc(); # define HASGETUSERSHELL 0 /* does not have getusershell(3) call */ # define SYS5SIGNALS 1 /* SysV signal semantics -- reset on each sig */ # define SYS5SETPGRP 1 /* use System V setpgrp(2) syscall */ -# define FORK fork /* no vfork(2) primitive available */ # define SFS_TYPE SFS_4ARGS /* four argument statfs() call */ # define MAXPATHLEN PATH_MAX extern struct passwd *getpwent(), *getpwnam(), *getpwuid(); @@ -1009,9 +1211,12 @@ typedef int pid_t; ** For DYNIX/ptx v1.x, undefine HASSETREUID. ** ** From Tim Wright <timw@sequent.com>. +** Update from Jack Woolley <jwoolley@sctcorp.com>, 26 Dec 1995, +** for DYNIX/ptx 4.0.2. */ #ifdef _SEQUENT_ +# include <sys/stream.h> # define SYSTEM5 1 /* include all the System V defines */ # define HASSETSID 1 /* has POSIX setsid(2) call */ # define HASINITGROUPS 1 /* has initgroups(3) call */ @@ -1075,6 +1280,7 @@ typedef int pid_t; # ifndef IDENTPROTO # define IDENTPROTO 0 /* TCP/IP implementation is broken */ # endif +# define RLIMIT_NEEDS_SYS_TIME_H 1 #endif @@ -1137,18 +1343,30 @@ typedef int pid_t; /* -** NCR 3000 Series (SysVr4) +** NCR MP-RAS 2.x (SysVr4) with Wollongong TCP/IP ** ** From Kevin Darcy <kevin@tech.mis.cfc.com>. */ -#ifdef NCR3000 +#ifdef NCR_MP_RAS2 # include <sys/sockio.h> # define __svr4__ # define IP_SRCROUTE 0 /* Something is broken with getsockopt() */ -# undef BSD -# define LA_AVENRUN "avenrun" # define SYSLOG_BUFSIZE 1024 +# define SPT_TYPE SPT_NONE +#endif + + +/* +** NCR MP-RAS 3.x (SysVr4) with STREAMware TCP/IP +** +** From Tom Moore <Tom.Moore@DaytonOH.NCR.COM> +*/ + +#ifdef NCR_MP_RAS3 +# define __svr4__ +# define SYSLOG_BUFSIZE 1024 +# define SPT_TYPE SPT_NONE #endif @@ -1371,20 +1589,75 @@ extern int errno; ** Fujitsu/ICL UXP/DS (For the DS/90 Series) ** ** From Diego R. Lopez <drlopez@cica.es>. +** Additional changes from Fumio Moriya and Toshiaki Nomura of the +** Fujitsu Fresoftware gruop <dsfrsoft@oai6.yk.fujitsu.co.jp>. */ -#ifdef UXPDS +#ifdef __uxp__ +# include <arpa/nameser.h> +# include <sys/sysmacros.h> +# include <sys/mkdev.h> # define __svr4__ -# define HASGETUSERSHELL 1 +# define HASGETUSERSHELL 0 # define HASFLOCK 0 +# if UXPDS == 10 +# define HASSNPRINTF 0 /* no snprintf(3) or vsnprintf(3) */ +# else +# define HASSNPRINTF 1 /* has snprintf(3) and vsnprintf(3) */ +# endif # define _PATH_UNIX "/stand/unix" -# define _PATH_VENDOR_CF "/etc/mail/sendmail.cf" +# define _PATH_VENDOR_CF "/usr/ucblib/sendmail.cf" # ifndef _PATH_SENDMAILPID -# define _PATH_SENDMAILPID "/etc/mail/sendmail.pid" +# define _PATH_SENDMAILPID "/usr/ucblib/sendmail.pid" +# endif +#endif + +/* +** Pyramid DC/OSx +** +** From Earle Ake <akee@wpdis01.wpafb.af.mil>. +*/ + +#ifdef DCOSx +# define GIDSET_T gid_t +# ifndef IDENTPROTO +# define IDENTPROTO 0 /* TCP/IP implementation is broken */ # endif #endif +/* +** Concurrent Computer Corporation Maxion +** +** From Donald R. Laster Jr. <laster@access.digex.net>. +*/ + +#ifdef __MAXION__ + +# include <sys/stream.h> +# define __svr4__ 1 /* SVR4.2MP */ +# define HASSETREUID 1 /* have setreuid(2) */ +# define HASLSTAT 1 /* have lstat(2) */ +# define HASSETRLIMIT 1 /* have setrlimit(2) */ +# define HASGETDTABLESIZE 1 /* have getdtablesize(2) */ +# define HASSNPRINTF 1 /* have snprintf(3) */ +# define HASGETUSERSHELL 1 /* have getusershell(3) */ +# define NOFTRUNCATE 1 /* do not have ftruncate(2) */ +# define SLEEP_T unsigned +# define SFS_TYPE SFS_STATVFS +# define SFS_BAVAIL f_bavail +# ifndef SYSLOG_BUFSIZE +# define SYSLOG_BUFSIZE 256 /* Use 256 bytes */ +# endif + +# undef WUNTRACED +# undef WIFEXITED +# undef WIFSIGNALED +# undef WIFSTOPPED +# undef WEXITSTATUS +# undef WTERMSIG +# undef WSTOPSIG +#endif /********************************************************************** ** End of Per-Operating System defines @@ -1417,13 +1690,16 @@ extern int errno; # define SYSTEM5 1 # define USESETEUID 1 /* has useable seteuid(2) call */ # define HASINITGROUPS 1 /* has initgroups(3) call */ -# define BSD_COMP 1 /* get BSD ioctl calls */ +# define BSD_COMP 1 /* get BSD ioctl calls */ # ifndef HASSETRLIMIT # define HASSETRLIMIT 1 /* has setrlimit(2) call */ # endif # ifndef HASGETUSERSHELL # define HASGETUSERSHELL 0 /* does not have getusershell(3) call */ # endif +# ifndef HASFCHMOD +# define HASFCHMOD 1 /* most (all?) SVr4s seem to have fchmod(2) */ +# endif # ifndef _PATH_UNIX # define _PATH_UNIX "/unix" @@ -1441,6 +1717,7 @@ extern int errno; # define SFS_TYPE SFS_STATVFS # endif +/* SVr4 uses different routines for setjmp/longjmp with signal support */ # define jmp_buf sigjmp_buf # define setjmp(env) sigsetjmp(env, 1) # define longjmp(env, val) siglongjmp(env, val) @@ -1498,7 +1775,7 @@ extern int errno; # undef bcopy /* despite SystemV claim, uses BSD bcopy */ #endif -#ifdef ALTOS_SYS_V +#ifdef ALTOS_SYSTEM_V # undef bcopy /* despite SystemV claim, uses BSD bcopy */ # undef bzero /* despite SystemV claim, uses BSD bzero */ # undef bcmp /* despite SystemV claim, uses BSD bcmp */ @@ -1560,6 +1837,10 @@ extern int errno; # define OLD_NEWDB 0 /* assume newer version of newdb */ #endif +#ifndef SECUREWARE +# define SECUREWARE 0 /* assume no SecureWare C2 auditing hooks */ +#endif + /* heuristic setting of HASSETSIGMASK; can override above */ #ifndef HASSIGSETMASK # ifdef SIGVTALRM @@ -1583,10 +1864,18 @@ extern int errno; # define UID_T uid_t #endif +#ifndef GID_T +# define GID_T gid_t +#endif + #ifndef SIZE_T # define SIZE_T size_t #endif +#ifndef MODE_T +# define MODE_T mode_t +#endif + #ifndef ARGV_T # define ARGV_T char ** #endif @@ -1600,6 +1889,9 @@ extern int errno; #ifndef S_ISREG # define S_ISREG(foo) ((foo & S_IFMT) == S_IFREG) #endif +#ifndef S_ISDIR +# define S_ISDIR(foo) ((foo & S_IFMT) == S_IFDIR) +#endif #if !defined(S_ISLNK) && defined(S_IFLNK) # define S_ISLNK(foo) ((foo & S_IFMT) == S_IFLNK) #endif @@ -1728,7 +2020,7 @@ struct utsname }; #endif /* HASUNAME */ -#if !defined(MAXHOSTNAMELEN) && !defined(_SCO_unix_) && !defined(NonStop_UX_BXX) && !defined(ALTOS_SYS_V) +#if !defined(MAXHOSTNAMELEN) && !defined(_SCO_unix_) && !defined(NonStop_UX_BXX) && !defined(ALTOS_SYSTEM_V) # define MAXHOSTNAMELEN 256 #endif @@ -1808,9 +2100,10 @@ typedef void (*sigfunc_t) __P((int)); */ # define PSBUFSIZE (MAXNAME + MAXATOM) /* size of prescan buffer */ + /* fork routine -- set above using #ifdef _osname_ or in Makefile */ # ifndef FORK -# define FORK vfork /* function to call to fork mailer */ +# define FORK fork /* function to call to fork mailer */ # endif /* |