+# define MATCHGECOS 1 /* match user names from gecos field */
+
+# ifdef NEWDB
+# define USERDB 1 /* look in user database (requires NEWDB) */
+# define BTREE_MAP 1 /* enable BTREE mapping type (requires NEWDB) */
+# define HASH_MAP 1 /* enable HASH mapping type (requires NEWDB) */
+# endif
+
+# ifdef NIS
+# define NIS_ALIASES 1 /* include NIS support for aliases */
+# define NIS_MAP 1 /* include NIS mapping type */
+# endif
+
+# ifdef NDBM
+# define DBM_MAP 1 /* enable DBM mapping type (requires NDBM) */
+# endif
+
+/*
+** Operating system configuration.
+**
+** Unless you are porting to a new OS, you shouldn't have to
+** change these.
+*/
+
+/* HP-UX -- tested for 8.07 */
+# ifdef __hpux
+# define SYSTEM5 1
+# endif
+
+/* IBM AIX 3.x -- actually tested for 3.2.3 */
+# ifdef _AIX3
+# define LOCKF 1 /* use System V lockf instead of flock */
+# define FORK fork /* no vfork primitive available */
+# endif
+
+/* general System V defines */
+# ifdef SYSTEM5
+# define LOCKF 1 /* use System V lockf instead of flock */
+# define SYS5TZ 1 /* use System V style timezones */
+# define HASUNAME 1 /* use System V uname system call */
+# endif
+
+#if defined(sun) && !defined(BSD) && !defined(SOLARIS)
+# include <vfork.h>
+#endif
+
+#ifdef _POSIX_VERSION
+# define HASSETSID 1 /* has setsid(2) call */
+#endif
+
+#ifdef NeXT
+# define sleep sleepX
+#endif
+
+/*
+** Due to a "feature" in some operating systems such as Ultrix 4.3 and
+** HPUX 8.0, if you receive a "No route to host" message (ICMP message
+** ICMP_UNREACH_HOST) on _any_ connection, all connections to that host
+** are closed. Some firewalls return this error if you try to connect
+** to the IDENT port (113), so you can't receive email from these hosts
+** on these systems. The firewall really should use a more specific
+** message such as ICMP_UNREACH_PROTOCOL or _PORT or _NET_PROHIB.
+*/
+
+#if !defined(ultrix) && !defined(__hpux)
+# define IDENTPROTO 1 /* use IDENT proto (RFC 1413) */
+#endif
+
+/*
+** Remaining definitions should never have to be changed. They are
+** primarily to provide back compatibility for older systems -- for
+** example, it includes some POSIX compatibility definitions
+*/
+
+/* System 5 compatibility */
+#ifndef S_ISREG
+#define S_ISREG(foo) ((foo & S_IFREG) == S_IFREG)
+#endif
+#ifndef S_IWGRP
+#define S_IWGRP 020
+#endif
+#ifndef S_IWOTH
+#define S_IWOTH 002
+#endif
+
+/*
+** Older systems don't have this error code -- it should be in
+** /usr/include/sysexits.h.
+*/
+
+# ifndef EX_CONFIG
+# define EX_CONFIG 78 /* configuration error */
+# endif
+
+/*
+** Do some required dependencies
+*/
+
+#if defined(NETINET) || defined(NETISO)
+# define SMTP 1 /* enable user and server SMTP */
+# define QUEUE 1 /* enable queueing */
+# define DAEMON 1 /* include the daemon (requires IPC & SMTP) */
+#endif
+
+
+/*
+** Arrange to use either varargs or stdargs
+*/
+
+# ifdef __STDC__
+
+# include <stdarg.h>
+
+# define VA_LOCAL_DECL va_list ap;
+# define VA_START(f) va_start(ap, f)
+# define VA_END va_end(ap)
+
+# else
+
+# include <varargs.h>
+
+# define VA_LOCAL_DECL va_list ap;
+# define VA_START(f) va_start(ap)
+# define VA_END va_end(ap)
+
+# endif
+
+#ifdef HASUNAME
+# include <sys/utsname.h>
+# ifdef newstr
+# undef newstr
+# endif
+#else /* ! HASUNAME */
+# define NODE_LENGTH 32
+struct utsname
+{
+ char nodename[NODE_LENGTH+1];
+};
+#endif /* HASUNAME */
+
+#ifndef MAXHOSTNAMELEN
+#define MAXHOSTNAMELEN 256
+#endif
+
+#if !defined(SIGCHLD) && defined(SIGCLD)
+# define SIGCHLD SIGCLD
+#endif
+
+#ifndef STDIN_FILENO
+#define STDIN_FILENO 0
+#endif
+
+#ifndef STDOUT_FILENO
+#define STDOUT_FILENO 1
+#endif
+
+#ifndef STDERR_FILENO
+#define STDERR_FILENO 2
+#endif
+
+#ifdef LOCKF
+#define LOCK_SH 0x01 /* shared lock */
+#define LOCK_EX 0x02 /* exclusive lock */
+#define LOCK_NB 0x04 /* non-blocking lock */
+#define LOCK_UN 0x08 /* unlock */
+
+#else
+
+# include <sys/file.h>
+
+#endif
+
+/*
+** Size of tobuf (deliver.c)
+** Tweak this to match your syslog implementation. It will have to
+** allow for the extra information printed.
+*/
+
+#ifndef TOBUFSIZE
+# define TOBUFSIZE (1024 - 256)
+#endif