📄 conf.h
字号:
/* * Copyright (c) 1983 Eric P. Allman * Copyright (c) 1988, 1993 * The Regents of the University of California. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed by the University of * California, Berkeley and its contributors. * 4. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * @(#)conf.h 8.104 (Berkeley) 4/17/94 *//*** CONF.H -- All user-configurable parameters for sendmail*/# include <sys/param.h># include <sys/types.h># include <sys/stat.h># include <sys/file.h># include <sys/wait.h># include <fcntl.h># include <signal.h>/************************************************************************ Table sizes, etc....** There shouldn't be much need to change these....**********************************************************************/# define MAXLINE 2048 /* max line length */# define MAXNAME 256 /* max length of a name */# define MAXPV 40 /* max # of parms to mailers */# define MAXATOM 200 /* max atoms per address */# define MAXMAILERS 25 /* maximum mailers known to system */# define MAXRWSETS 100 /* max # of sets of rewriting rules */# define MAXPRIORITIES 25 /* max values for Precedence: field */# define MAXMXHOSTS 20 /* max # of MX records */# define SMTPLINELIM 990 /* maximum SMTP line length */# define MAXKEY 128 /* maximum size of a database key */# define MEMCHUNKSIZE 1024 /* chunk size for memory allocation */# define MAXUSERENVIRON 100 /* max envars saved, must be >= 3 */# define MAXALIASDB 12 /* max # of alias databases */# ifndef QUEUESIZE# define QUEUESIZE 1000 /* max # of jobs per queue run */# endif/************************************************************************ Compilation options.**** #define these if they are available; comment them out otherwise.**********************************************************************/# define LOG 1 /* enable logging */# define UGLYUUCP 1 /* output ugly UUCP From lines */# define NETUNIX 1 /* include unix domain support */# define NETINET 1 /* include internet support */# define SETPROCTITLE 1 /* munge argv to display current status */# define MATCHGECOS 1 /* match user names from gecos field */# define XDEBUG 1 /* enable extended debugging */# ifdef NEWDB# define USERDB 1 /* look in user database (requires NEWDB) */# endif/************************************************************************ 0/1 Compilation options.** #define these to 1 if they are available;** #define them to 0 otherwise.**********************************************************************/# ifndef NAMED_BIND# define NAMED_BIND 1 /* use Berkeley Internet Domain Server */# endif/*** Most systems have symbolic links today, so default them on. You** can turn them off by #undef'ing this below.*/# define HASLSTAT 1 /* has lstat(2) call *//*** General "standard C" defines.**** These may be undone later, to cope with systems that claim to** be Standard C but aren't. Gcc is the biggest offender -- it** doesn't realize that the library is part of the language.**** Life would be much easier if we could get rid of this sort** of bozo problems.*/#ifdef __STDC__# define HASSETVBUF 1 /* we have setvbuf(3) in libc */#endif/************************************************************************ Operating system configuration.**** Unless you are porting to a new OS, you shouldn't have to** change these.**********************************************************************//*** Per-Operating System defines*//*** HP-UX -- tested for 8.07, 9.00, and 9.01.*/# ifdef __hpux/* avoid m_flags conflict between db.h & sys/sysmacros.h on HP 300 */# undef m_flags# define SYSTEM5 1 /* include all the System V defines */# define HASINITGROUPS 1 /* has initgroups(3) call */# define HASSETREUID 1 /* has setreuid(2) call */# define setreuid(r, e) setresuid(r, e, -1)# define LA_TYPE LA_FLOAT# define SFS_TYPE SFS_VFS /* use <sys/vfs.h> statfs() implementation */# define GIDSET_T gid_t# define _PATH_UNIX "/hp-ux"# ifndef _PATH_SENDMAILCF# define _PATH_SENDMAILCF "/usr/lib/sendmail.cf"# endif# ifndef IDENTPROTO# define IDENTPROTO 0 /* TCP/IP implementation is broken */# endif# ifndef HASGETUSERSHELL# define HASGETUSERSHELL 0 /* getusershell(3) causes core dumps */# endif# define syslog hard_syslog# ifdef __STDC__extern int syslog(int, char *, ...);# endif# endif/*** IBM AIX 3.x -- actually tested for 3.2.3*/# ifdef _AIX3# 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 FORK fork /* no vfork primitive available */# undef SETPROCTITLE /* setproctitle confuses AIX */# define SFS_TYPE SFS_STATFS /* use <sys/statfs.h> statfs() impl */# endif/*** Silicon Graphics IRIX**** Compiles on 4.0.1.*/# ifdef IRIX# define SYSTEM5 1 /* this is a System-V derived system */# define HASSETREUID 1 /* has setreuid(2) call */# define HASINITGROUPS 1 /* has initgroups(3) call */# define HASGETUSERSHELL 0 /* does not have getusershell(3) call */# define FORK fork /* no vfork primitive available */# define WAITUNION 1 /* use "union wait" as wait argument type */# define setpgid BSDsetpgrp# define GIDSET_T gid_t# define SFS_TYPE SFS_4ARGS /* four argument statfs() call */# define LA_TYPE LA_INT# endif/*** SunOS and Solaris**** Tested on SunOS 4.1.x (a.k.a. Solaris 1.1.x) and** Solaris 2.2 (a.k.a. SunOS 5.2).*/#if defined(sun) && !defined(BSD)# define HASINITGROUPS 1 /* has initgroups(3) call */# define HASUNAME 1 /* use System V uname(2) system call */# define HASGETUSERSHELL 1 /* DOES have getusershell(3) call in libc */# define LA_TYPE LA_INT# ifdef SOLARIS_2_3# define SOLARIS# endif# ifdef SOLARIS /* Solaris 2.x (a.k.a. SunOS 5.x) */# ifndef __svr4__# define __svr4__ /* use all System V Releae 4 defines below */# endif# include <sys/time.h># define gethostbyname solaris_gethostbyname /* get working version */# define gethostbyaddr solaris_gethostbyaddr /* get working version */# define GIDSET_T gid_t# ifndef _PATH_UNIX# define _PATH_UNIX "/kernel/unix"# endif# ifndef _PATH_SENDMAILCF# define _PATH_SENDMAILCF "/etc/mail/sendmail.cf"# endif# ifndef _PATH_SENDMAILPID# define _PATH_SENDMAILPID "/etc/mail/sendmail.pid"# endif# ifndef SYSLOG_BUFSIZE# define SYSLOG_BUFSIZE 1024 /* allow full size syslog buffer */# endif# else /* SunOS 4.0.3 or 4.1.x */# define HASSETREUID 1 /* has setreuid(2) call */# ifndef HASFLOCK# define HASFLOCK 1 /* has flock(2) call */# endif# define SFS_TYPE SFS_VFS /* use <sys/vfs.h> statfs() implementation */# include <vfork.h># ifdef SUNOS403 /* special tweaking for SunOS 4.0.3 */# include <malloc.h># define SYS5SIGNALS 1 /* SysV signal semantics -- reset on each sig */# define WAITUNION 1 /* use "union wait" as wait argument type */# undef WIFEXITED# undef WEXITSTATUS# undef HASUNAME# define setpgid setpgrptypedef int pid_t;extern char *getenv();# else /* 4.1.x specifics */# define HASSETSID 1 /* has Posix setsid(2) call */# define HASSETVBUF 1 /* we have setvbuf(3) in libc */# endif# endif#endif/*** DG/UX**** Tested on 5.4.2*/#ifdef DGUX# define SYSTEM5 1# define LA_TYPE LA_SUBR# define HASSETREUID 1 /* has setreuid(2) call */# define HASUNAME 1 /* use System V uname(2) system call */# define HASSETSID 1 /* has Posix setsid(2) call */# define HASINITGROUPS 1 /* has initgroups(3) call */# define HASGETUSERSHELL 0 /* does not have getusershell(3) */# ifndef IDENTPROTO# define IDENTPROTO 0 /* TCP/IP implementation is broken */# endif# undef SETPROCTITLE# define SFS_TYPE SFS_4ARGS /* four argument statfs() call *//* these include files must be included early on DG/UX */# include <netinet/in.h># include <arpa/inet.h># define inet_addr dgux_inet_addrextern long dgux_inet_addr();#endif/*** Digital Ultrix 4.2A or 4.3**** Apparently, fcntl locking is broken on 4.2A, in that locks are** not dropped when the process exits. This causes major problems,** so flock is the only alternative.*/#ifdef ultrix# define HASSETREUID 1 /* has setreuid(2) call */# define HASUNSETENV 1 /* has unsetenv(3) call */# define HASINITGROUPS 1 /* has initgroups(3) call */# define HASUNAME 1 /* use System V uname(2) system call */# ifndef HASFLOCK# define HASFLOCK 1 /* has flock(2) call */# endif# define HASGETUSERSHELL 0 /* does not have getusershell(3) call */# define BROKEN_RES_SEARCH 1 /* res_search(unknown) returns h_errno=0 */# ifdef vax# define LA_TYPE LA_FLOAT# else# define LA_TYPE LA_INT# define LA_AVENRUN "avenrun"# endif# define SFS_TYPE SFS_MOUNT /* use <sys/mount.h> statfs() impl */# ifndef IDENTPROTO# define IDENTPROTO 0 /* TCP/IP implementation is broken */# endif#endif/*** OSF/1 (tested on Alpha)*/#ifdef __osf__# define HASUNSETENV 1 /* has unsetenv(3) call */# define HASSETREUID 1 /* has setreuid(2) call */# define HASINITGROUPS 1 /* has initgroups(3) call */# ifndef HASFLOCK# define HASFLOCK 1 /* has flock(2) call */# endif# define LA_TYPE LA_INT# define SFS_TYPE SFS_MOUNT /* use <sys/mount.h> statfs() impl */# ifndef _PATH_SENDMAILPID# define _PATH_SENDMAILPID "/var/run/sendmail.pid"# endif#endif/*** NeXTstep*/#ifdef NeXT# define HASINITGROUPS 1 /* has initgroups(3) call */# ifndef HASFLOCK# define HASFLOCK 1 /* has flock(2) call */# endif# define NEEDGETOPT 1 /* need a replacement for getopt(3) */# define WAITUNION 1 /* use "union wait" as wait argument type */# define sleep sleepX# define setpgid setpgrp# ifndef LA_TYPE# define LA_TYPE LA_MACH# endif# define SFS_TYPE SFS_VFS /* use <sys/vfs.h> statfs() implementation */# ifndef _POSIX_SOURCEtypedef int pid_t;# undef WEXITSTATUS# undef WIFEXITED# endif# ifndef _PATH_SENDMAILCF# define _PATH_SENDMAILCF "/etc/sendmail/sendmail.cf"# endif# ifndef _PATH_SENDMAILPID# define _PATH_SENDMAILPID "/etc/sendmail/sendmail.pid"# endif#endif/*** 4.4 BSD**** See also BSD defines.*/#ifdef BSD4_4# define HASUNSETENV 1 /* has unsetenv(3) call */# include <sys/cdefs.h># define ERRLIST_PREDEFINED /* don't declare sys_errlist */# ifndef LA_TYPE# define LA_TYPE LA_SUBR# endif# define SFS_TYPE SFS_MOUNT /* use <sys/mount.h> statfs() impl */#endif/*** BSD/386 (all versions)** From Tony Sanders, BSDI*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -