Added DISABLE_DKIM option to EDITME, leaving some breadcrumbs about it being turned...
[users/heiko/exim.git] / src / src / EDITME
index aefed22ce598c241ab33149d81c68436c0448d6e..02f2fead072862d253682929118c3b3fbaf1be4f 100644 (file)
@@ -1,4 +1,4 @@
-# $Cambridge: exim/src/src/EDITME,v 1.5 2004/12/16 15:11:47 tom Exp $
+# $Cambridge: exim/src/src/EDITME,v 1.24 2010/06/03 15:20:41 jetmore Exp $
 
 ##################################################
 #          The Exim mail transport agent         #
@@ -184,6 +184,12 @@ SPOOL_DIRECTORY=/var/spool/exim
 #           THESE ARE THINGS YOU PROBABLY WANT TO SPECIFY                     #
 ###############################################################################
 
+# If you need extra header file search paths on all compiles, put the -I
+# options in INCLUDE.  If you want the extra searches only for certain
+# parts of the build, see more specific xxx_INCLUDE variables below.
+
+# INCLUDE=-I/example/include
+
 # You need to specify some routers and transports if you want the Exim that you
 # are building to be capable of delivering mail. You almost certainly need at
 # least one type of lookup. You should consider whether you want to build
@@ -254,9 +260,9 @@ TRANSPORT_SMTP=yes
 
 LOOKUP_DBM=yes
 LOOKUP_LSEARCH=yes
+LOOKUP_DNSDB=yes
 
 # LOOKUP_CDB=yes
-# LOOKUP_DNSDB=yes
 # LOOKUP_DSEARCH=yes
 # LOOKUP_IBASE=yes
 # LOOKUP_LDAP=yes
@@ -266,6 +272,7 @@ LOOKUP_LSEARCH=yes
 # LOOKUP_ORACLE=yes
 # LOOKUP_PASSWD=yes
 # LOOKUP_PGSQL=yes
+# LOOKUP_SQLITE=yes
 # LOOKUP_WHOSON=yes
 
 # These two settings are obsolete; all three lookups are compiled when
@@ -293,16 +300,30 @@ LOOKUP_LSEARCH=yes
 # Michigan (OpenLDAP 1) library.
 
 
+#------------------------------------------------------------------------------
+# The PCRE library is required for exim.  There is no longer an embedded
+# version of the PCRE library included with the source code, instead you
+# must use a system library or build your own copy of PCRE.
+# In either case you must specify the library link info here.  If the
+# PCRE header files are not in the standard search path you must also
+# modify the INCLUDE path (above)
+# The default setting of PCRE_LIBS should work on the vast majority of
+# systems
+
+PCRE_LIBS=-lpcre
+
+
 #------------------------------------------------------------------------------
 # Additional libraries and include directories may be required for some
 # lookup styles (e.g. LDAP, MYSQL or PGSQL). LOOKUP_LIBS is included only on
 # the command for linking Exim itself, not on any auxiliary programs. You
 # don't need to set LOOKUP_INCLUDE if the relevant directories are already
 # specified in INCLUDE. The settings below are just examples; -lpq is for
-# PostgreSQL, -lgds is for Interbase.
+# PostgreSQL, -lgds is for Interbase, -lsqlite3 is for SQLite.
 
 # LOOKUP_INCLUDE=-I /usr/local/ldap/include -I /usr/local/mysql/include -I /usr/local/pgsql/include
-# LOOKUP_LIBS=-L/usr/local/lib -lldap -llber -lmysqlclient -lpq -lgds
+# LOOKUP_LIBS=-L/usr/local/lib -lldap -llber -lmysqlclient -lpq -lgds -lsqlite3
+
 
 #------------------------------------------------------------------------------
 # Compiling the Exim monitor: If you want to compile the Exim monitor, a
@@ -314,6 +335,7 @@ LOOKUP_LSEARCH=yes
 
 EXIM_MONITOR=eximon.bin
 
+
 #------------------------------------------------------------------------------
 # Compiling Exim with content scanning support: If you want to compile Exim
 # with support for message body content scanning, set WITH_CONTENT_SCAN to
@@ -321,42 +343,55 @@ EXIM_MONITOR=eximon.bin
 # and the MIME ACL. Please read the documentation to learn more about these
 # features.
 
-#WITH_CONTENT_SCAN=yes
+# WITH_CONTENT_SCAN=yes
 
 # If you want to use the deprecated "demime" condition in the DATA ACL,
 # uncomment the line below. Doing so will also explicitly turn on the
 # WITH_CONTENT_SCAN option. If possible, use the MIME ACL instead of
 # the "demime" condition.
 
-#WITH_OLD_DEMIME=yes
+# WITH_OLD_DEMIME=yes
+
+#------------------------------------------------------------------------------
+# By default Exim includes code to support DKIM (DomainKeys Identified
+# Mail, RFC4871) signing and verification.  Verification of signatures is
+# turned on by default.  See the spec for information on conditionally
+# disabling it.  To disable the inclusion of the entire feature, set
+# DISABLE_DKIM to "yes"
+
+# DISABLE_DKIM=yes
+
 
 #------------------------------------------------------------------------------
 # Compiling Exim with experimental features. These are documented in
 # experimental-spec.txt. "Experimental" means that the way these features are
-# implemented may still change. Backward compatability is not guaranteed.
+# implemented may still change. Backward compatibility is not guaranteed.
 
 # Uncomment the following lines to add SPF support. You need to have libspf2
 # installed on your system (www.libspf2.org). Depending on where it is installed
 # you may have to edit the CFLAGS and LDFLAGS lines.
-#EXPERIMENTAL_SPF=yes
-#CFLAGS  += -I/usr/local/include
-#LDFLAGS += -lspf2
 
-# Uncommend the following lines to add SRS (Sender rewriting scheme) support.
+# EXPERIMENTAL_SPF=yes
+# CFLAGS  += -I/usr/local/include
+# LDFLAGS += -lspf2
+
+# Uncomment the following lines to add SRS (Sender rewriting scheme) support.
 # You need to have libsrs_alt installed on your system (srs.mirtol.com).
 # Depending on where it is installed you may have to edit the CFLAGS and
 # LDFLAGS lines.
-#EXPERIMENTAL_SRS=yes
-#CFLAGS  += -I/usr/local/include
-#LDFLAGS += -lsrs_alt
 
-# Uncommend the following lines to add Brightmail AntiSpam support. You need
+# EXPERIMENTAL_SRS=yes
+# CFLAGS  += -I/usr/local/include
+# LDFLAGS += -lsrs_alt
+
+# Uncomment the following lines to add Brightmail AntiSpam support. You need
 # to have the Brightmail client SDK installed. Please check the experimental
 # documentation for implementation details. You need to edit the CFLAGS and
 # LDFLAGS lines.
-#EXPERIMENTAL_BRIGHTMAIL=yes
-#CFLAGS  += -I/opt/brightmail/bsdk-6.0/include
-#LDFLAGS += -lxml2 -lbmiclient_single -L/opt/brightmail/bsdk-6.0/lib
+
+# EXPERIMENTAL_BRIGHTMAIL=yes
+# CFLAGS  += -I/opt/brightmail/bsdk-6.0/include
+# LDFLAGS += -lxml2_single -lbmiclient_single -L/opt/brightmail/bsdk-6.0/lib
 
 
 
@@ -393,7 +428,7 @@ FIXED_NEVER_USERS=root
 # CONFIGURE_OWNER=
 
 # If the configuration file is group-writeable, Exim insists by default that it
-# is owned by root or the Exim user. You can specify one additional permitted 
+# is owned by root or the Exim user. You can specify one additional permitted
 # group owner here.
 
 # CONFIGURE_GROUP=
@@ -463,6 +498,7 @@ FIXED_NEVER_USERS=root
 
 # AUTH_CRAM_MD5=yes
 # AUTH_CYRUS_SASL=yes
+# AUTH_DOVECOT=yes
 # AUTH_PLAINTEXT=yes
 # AUTH_SPA=yes
 
@@ -523,7 +559,7 @@ HEADERS_CHARSET="ISO-8859-1"
 # configuration of an authenticator for use with SMTP AUTH.) At least one
 # operating system has an extended function called crypt16(), which uses up to
 # 16 characters of a password (the normal crypt() uses only the first 8). Exim
-# supports the use of crypt16() as well as crypt().
+# supports the use of crypt16() as well as crypt() but note the warning below.
 
 # You can always indicate a crypt16-encrypted password by preceding it with
 # "{crypt16}". If you want the default handling (without any preceding
@@ -535,10 +571,23 @@ HEADERS_CHARSET="ISO-8859-1"
 # an encrypted password with "{crypt}". For more details, see the description
 # of the "crypteq" condition in the manual chapter on string expansions.
 
-# Since most operating systems do not include a crypt16() function (yet?), Exim
-# has one of its own, which it uses unless HAVE_CRYPT16 is defined. Normally,
-# that will be set in an OS-specific Makefile for the OS that have such a
-# function, so you should not need to bother with it.
+# Some operating systems do not include a crypt16() function, so Exim has one
+# of its own, which it uses unless HAVE_CRYPT16 is defined. Normally, that will
+# be set in an OS-specific Makefile for the OS that have such a function, so
+# you should not need to bother with it.
+
+# *** WARNING *** WARNING *** WARNING *** WARNING *** WARNING ***
+# It turns out that the above is not entirely accurate. As well as crypt16()
+# there is a function called bigcrypt() that some operating systems have. This
+# may or may not use the same algorithm, and both of them may be different to
+# Exim's built-in crypt16() that is used unless HAVE_CRYPT16 is defined.
+#
+# However, since there is now a move away from the traditional crypt()
+# functions towards using SHA1 and other algorithms, tidying up this area of
+# Exim is seen as very low priority. In practice, if you need to, you can
+# define DEFAULT_CRYPT to the name of any function that has the same interface
+# as the traditional crypt() function.
+# *** WARNING *** WARNING *** WARNING *** WARNING *** WARNING ***
 
 
 #------------------------------------------------------------------------------
@@ -686,6 +735,16 @@ ZCAT_COMMAND=/usr/bin/zcat
 # EXIM_PERL=perl.o
 
 
+#------------------------------------------------------------------------------
+# Support for dynamically-loaded string expansion functions via ${dlfunc. If
+# you are using gcc the dynamically-loaded object must be compiled with the
+# -shared option, and you will need to add -export-dynamic to EXTRALIBS so
+# that the local_scan API is made available by the linker. You may also need
+# to add -ldl to EXTRALIBS so that dlopen() is available to Exim.
+
+# EXPAND_DLFUNC=yes
+
+
 #------------------------------------------------------------------------------
 # Exim has support for PAM (Pluggable Authentication Modules), a facility
 # which is available in the latest releases of Solaris and in some GNU/Linux
@@ -710,17 +769,24 @@ ZCAT_COMMAND=/usr/bin/zcat
 
 # If you have set RADIUS_CONFIG_FILE, you should also set one of these to
 # indicate which RADIUS library is used:
-#
-# RADIUSCLIENT is the radiusclient library; you probably need to add
-#   -libradiusclient to EXTRALIBS
-#
-# RADLIB is the Radius library that comes with FreeBSD (the header file is
-#   called radlib.h); you probably need to add -lradius to EXTRALIBS
 
 # RADIUS_LIB_TYPE=RADIUSCLIENT
+# RADIUS_LIB_TYPE=RADIUSCLIENTNEW
 # RADIUS_LIB_TYPE=RADLIB
 
-# If you don't set one of these, Exim assumes the radiusclient library.
+# RADIUSCLIENT is the radiusclient library; you probably need to add
+#   -lradiusclient to EXTRALIBS.
+#
+# The API for the radiusclient library was changed at release 0.4.0.
+# Unfortunately, the header file does not define a version number that clients
+# can use to support both the old and new APIs. If you are using version 0.4.0
+# or later of the radiusclient library, you should use RADIUSCLIENTNEW.
+#
+# RADLIB is the Radius library that comes with FreeBSD (the header file is
+#   called radlib.h); you probably need to add -lradius to EXTRALIBS.
+#
+# If you do not set RADIUS_LIB_TYPE, Exim assumes the radiusclient library,
+# using the original API.
 
 
 #------------------------------------------------------------------------------
@@ -816,6 +882,10 @@ SYSTEM_ALIASES_FILE=/etc/aliases
 
 # USE_READLINE=yes
 
+# You may need to add -ldl to EXTRALIBS when you set USE_READLINE=yes.
+# Note that this option adds to the size of the Exim binary, because the
+# dynamic loading library is not otherwise included.
+
 
 
 ###############################################################################
@@ -839,8 +909,10 @@ SYSTEM_ALIASES_FILE=/etc/aliases
 
 # CHOWN_COMMAND=/usr/bin/chown
 # CHGRP_COMMAND=/usr/bin/chgrp
+# CHMOD_COMMAND=/usr/bin/chmod
 # MV_COMMAND=/bin/mv
 # RM_COMMAND=/bin/rm
+# TOUCH_COMMAND=/usr/bin/touch
 # PERL_COMMAND=/usr/bin/perl
 
 
@@ -1070,4 +1142,20 @@ TMPDIR="/tmp"
 
 # SUPPORT_MOVE_FROZEN_MESSAGES=yes
 
+
+#------------------------------------------------------------------------------
+# Disabling the use of fsync(): DO NOT UNCOMMENT THE FOLLOWING LINE unless you
+# really, really, really know what you are doing. And even then, think again.
+# You should never uncomment this when compiling a binary for distribution.
+# Use it only when compiling Exim for your own use.
+#
+# Uncommenting this line enables the use of a runtime option called
+# disable_fsync, which can be used to stop Exim using fsync() to ensure that
+# files are written to disc before proceeding. When this is disabled, crashes
+# and hardware problems such as power outages can cause data to be lost. This
+# feature should only be used in very exceptional circumstances. YOU HAVE BEEN
+# WARNED.
+
+# ENABLE_DISABLE_FSYNC=yes
+
 # End of EDITME for Exim 4.