source: trunk/third/sendmail/sendmail/conf.h @ 19204

Revision 19204, 6.9 KB checked in by zacheiss, 21 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r19203, which included commits to RCS files with non-trunk default branches.
Line 
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 *      $Id: conf.h,v 1.1.1.1 2003-04-08 15:08:22 zacheiss Exp $
14 */
15
16/*
17**  CONF.H -- All user-configurable parameters for sendmail
18**
19**      Send updates to sendmail@Sendmail.ORG so they will be
20**      included in the next release.
21*/
22
23#ifndef CONF_H
24#define CONF_H 1
25
26#ifdef __GNUC__
27struct rusage;  /* forward declaration to get gcc to shut up in wait.h */
28#endif /* __GNUC__ */
29
30# include <sys/param.h>
31# include <sys/types.h>
32# include <sys/stat.h>
33# ifndef __QNX__
34/* in QNX this grabs bogus LOCK_* manifests */
35#  include <sys/file.h>
36# endif /* ! __QNX__ */
37# include <sys/wait.h>
38# include <limits.h>
39# include <fcntl.h>
40# include <signal.h>
41# include <netdb.h>
42# include <pwd.h>
43# include <grp.h>
44
45/* make sure TOBUFSIZ isn't larger than system limit for size of exec() args */
46#ifdef ARG_MAX
47# if ARG_MAX > 4096
48#  define SM_ARG_MAX    4096
49# else /* ARG_MAX > 4096 */
50#  define SM_ARG_MAX    ARG_MAX
51# endif /* ARG_MAX > 4096 */
52#else /* ARG_MAX */
53# define SM_ARG_MAX     4096
54#endif /* ARG_MAX */
55
56/**********************************************************************
57**  Table sizes, etc....
58**      There shouldn't be much need to change these....
59**      If you do, be careful, none should be set anywhere near INT_MAX
60**********************************************************************/
61
62#define MAXLINE         2048            /* max line length */
63#define MAXNAME         256             /* max length of a name */
64#ifndef MAXAUTHINFO
65# define MAXAUTHINFO    100             /* max length of authinfo token */
66#endif /* ! MAXAUTHINFO */
67#define MAXPV           256             /* max # of parms to mailers */
68#define MAXATOM         1000            /* max atoms per address */
69#define MAXRWSETS       200             /* max # of sets of rewriting rules */
70#define MAXPRIORITIES   25              /* max values for Precedence: field */
71#define MAXMXHOSTS      100             /* max # of MX records for one host */
72#define SMTPLINELIM     990             /* maximum SMTP line length */
73#define MAXKEY          128             /* maximum size of a database key */
74#define MEMCHUNKSIZE    1024            /* chunk size for memory allocation */
75#define MAXUSERENVIRON  100             /* max envars saved, must be >= 3 */
76#define MAXMAPSTACK     12              /* max # of stacked or sequenced maps */
77#if MILTER
78# define MAXFILTERS     25              /* max # of milter filters */
79# define MAXFILTERMACROS 50             /* max # of macros per milter cmd */
80#endif /* MILTER */
81#define MAXSMTPARGS     20              /* max # of ESMTP args for MAIL/RCPT */
82#define MAXTOCLASS      8               /* max # of message timeout classes */
83#define MAXRESTOTYPES   3               /* max # of resolver timeout types */
84#define MAXMIMEARGS     20              /* max args in Content-Type: */
85#define MAXMIMENESTING  20              /* max MIME multipart nesting */
86#define QUEUESEGSIZE    1000            /* increment for queue size */
87
88/*
89**  MAXQFNAME == 2 (size of "qf", "df" prefix)
90**      + 8 (base 60 encoded date, time & sequence number)
91**      + 10 (base 10 encoded 32 bit process id)
92**      + 1 (terminating NUL character).
93*/
94
95#define MAXQFNAME       21              /* max qf file name length + 1 */
96#define MACBUFSIZE      4096            /* max expanded macro buffer size */
97#define TOBUFSIZE       SM_ARG_MAX      /* max buffer to hold address list */
98#define MAXSHORTSTR     203             /* max short string length */
99#define MAXMACNAMELEN   25              /* max macro name length */
100#define MAXMACROID      0377            /* max macro id number */
101                                        /* Must match (BITMAPBITS - 1) */
102#ifndef MAXHDRSLEN
103# define MAXHDRSLEN     (32 * 1024)     /* max size of message headers */
104#endif /* ! MAXHDRSLEN */
105#define MAXDAEMONS      10              /* max number of ports to listen to */
106#ifndef MAXINTERFACES
107# define MAXINTERFACES  512             /* number of interfaces to probe */
108#endif /* MAXINTERFACES */
109#ifndef MAXSYMLINKS
110# define MAXSYMLINKS    32              /* max number of symlinks in a path */
111#endif /* ! MAXSYMLINKS */
112#define MAXLINKPATHLEN  (MAXPATHLEN * MAXSYMLINKS) /* max link-expanded file */
113#define DATA_PROGRESS_TIMEOUT   300     /* how often to check DATA progress */
114#define ENHSCLEN        10              /* max len of enhanced status code */
115#define DEFAULT_MAX_RCPT        100     /* max number of RCPTs per envelope */
116#define MAXQUEUEGROUPS  50              /* max # of queue groups */
117        /* must be less than BITMAPBITS for DoQueueRun */
118#define MAXWORKGROUPS   50              /* max # of work groups */
119#define MAXFILESYS      BITMAPBITS      /* max # of queue file systems
120                                         * must be <= BITMAPBITS */
121#ifndef FILESYS_UPDATE_INTERVAL
122# define FILESYS_UPDATE_INTERVAL 300    /* how often to update FileSys table */
123#endif /* FILESYS_UPDATE_INTERVAL */
124
125#ifndef SM_DEFAULT_TTL
126# define SM_DEFAULT_TTL 3600 /* default TTL for services that don't have one */
127#endif /* SM_DEFAULT_TTL */
128
129#if SASL
130# ifndef AUTH_MECHANISMS
131#  if STARTTLS
132#   define AUTH_MECHANISMS      "EXTERNAL GSSAPI KERBEROS_V4 DIGEST-MD5 CRAM-MD5"
133#  else /* STARTTLS */
134#   define AUTH_MECHANISMS      "GSSAPI KERBEROS_V4 DIGEST-MD5 CRAM-MD5"
135#  endif /* STARTTLS */
136# endif /* ! AUTH_MECHANISMS */
137#endif /* SASL */
138
139/*
140**  Default database permissions (alias, maps, etc.)
141**      Used by sendmail and libsmdb
142*/
143
144#ifndef DBMMODE
145# define DBMMODE        0640
146#endif /* ! DBMMODE */
147
148
149/**********************************************************************
150**  Compilation options.
151**      #define these to 1 if they are available;
152**      #define them to 0 otherwise.
153**  All can be overridden from Makefile.
154**********************************************************************/
155
156#ifndef NETINET
157# define NETINET        1       /* include internet support */
158#endif /* ! NETINET */
159
160#ifndef NETINET6
161# define NETINET6       0       /* do not include IPv6 support */
162#endif /* ! NETINET6 */
163
164#ifndef NETISO
165# define NETISO 0               /* do not include ISO socket support */
166#endif /* ! NETISO */
167
168#ifndef NAMED_BIND
169# define NAMED_BIND     1       /* use Berkeley Internet Domain Server */
170#endif /* ! NAMED_BIND */
171
172#ifndef XDEBUG
173# define XDEBUG         1       /* enable extended debugging */
174#endif /* ! XDEBUG */
175
176#ifndef MATCHGECOS
177# define MATCHGECOS     1       /* match user names from gecos field */
178#endif /* ! MATCHGECOS */
179
180#ifndef DSN
181# define DSN            1       /* include delivery status notification code */
182#endif /* ! DSN */
183
184#if !defined(USERDB) && (defined(NEWDB) || defined(HESIOD))
185# define USERDB         1       /* look in user database */
186#endif /* !defined(USERDB) && (defined(NEWDB) || defined(HESIOD)) */
187
188#ifndef MIME8TO7
189# define MIME8TO7       1       /* 8->7 bit MIME conversions */
190#endif /* ! MIME8TO7 */
191
192#ifndef MIME7TO8
193# define MIME7TO8       1       /* 7->8 bit MIME conversions */
194#endif /* ! MIME7TO8 */
195
196#if NAMED_BIND
197# ifndef DNSMAP
198#  define DNSMAP        1       /* DNS map type */
199# endif /* ! DNSMAP */
200#endif /* NAMED_BIND */
201
202#ifndef PIPELINING
203# define PIPELINING     1       /* SMTP PIPELINING */
204#endif /* PIPELINING */
205
206/**********************************************************************
207**  End of site-specific configuration.
208**********************************************************************/
209
210#include <sm/conf.h>
211
212#endif /* ! CONF_H */
Note: See TracBrowser for help on using the repository browser.