X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/e72cfa5b8529a6fe8e674d70dc83df8bcf5e551c..92583637b25b6bde926f9ca6be7b085e5ac8b1e6:/src/src/exim.h diff --git a/src/src/exim.h b/src/src/exim.h index e12049a9c..bb8e4f6e2 100644 --- a/src/src/exim.h +++ b/src/src/exim.h @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2016 */ +/* Copyright (c) University of Cambridge 1995 - 2018 */ /* See the file NOTICE for conditions of use and distribution. */ @@ -87,6 +87,13 @@ making unique names. */ # include #endif +#ifdef EXIM_HAVE_INOTIFY +# include +#endif +#ifdef EXIM_HAVE_KEVENT +# include +#endif + /* C99 integer types, figure out how to undo this if needed for older systems */ #include @@ -284,18 +291,6 @@ disabused of the notion. Luckily, since EX_OK is not used, it didn't matter.] */ #include -/* If arpa/nameser.h defines a maximum name server packet size, use it, -provided it is greater than 2048. Otherwise go for a default. PACKETSZ was used -for this, but it seems that NS_PACKETSZ is coming into use. */ - -#if defined(NS_PACKETSZ) && NS_PACKETSZ >= 2048 - #define MAXPACKET NS_PACKETSZ -#elif defined(PACKETSZ) && PACKETSZ >= 2048 - #define MAXPACKET PACKETSZ -#else - #define MAXPACKET 2048 -#endif - /* While IPv6 is still young the definitions of T_AAAA and T_A6 may not be included in arpa/nameser.h. Fudge them here. */ @@ -502,16 +497,16 @@ config.h, mytypes.h, and store.h, so we don't need to mention them explicitly. #ifdef EXPERIMENTAL_BRIGHTMAIL # include "bmi_spam.h" #endif -#ifdef EXPERIMENTAL_SPF +#ifdef SUPPORT_SPF # include "spf.h" #endif -#ifdef EXPERIMENTAL_SRS +#ifdef EXPERIMENTAL_SRS_ALT # include "srs.h" #endif #ifndef DISABLE_DKIM # include "dkim.h" #endif -#ifdef EXPERIMENTAL_DMARC +#ifdef SUPPORT_DMARC # include "dmarc.h" # include #endif @@ -551,11 +546,13 @@ union sockaddr_46 { struct sockaddr v0; }; -/* If SUPPORT_TLS is not defined, ensure that USE_GNUTLS is also not defined -so that if USE_GNUTLS *is* set, we can assume SUPPORT_TLS is also set. +/* If DISABLE_TLS is defined, ensure that USE_GNUTLS is not defined +so that if USE_GNUTLS *is* set, we can assume DISABLE_TLS is not set. +Ditto USE_OPENSSL. Likewise, OSCP, AUTH_TLS and CERTNAMES cannot be supported. */ -#ifndef SUPPORT_TLS +#ifdef DISABLE_TLS +# undef USE_OPENSSL # undef USE_GNUTLS # ifndef DISABLE_OCSP # define DISABLE_OCSP @@ -593,19 +590,29 @@ default to EDQUOT if it exists, otherwise ENOSPC. */ #endif /* DANE w/o DNSSEC is useless */ -#if defined(EXPERIMENTAL_DANE) && defined(DISABLE_DNSSEC) -# undef DISABLE_DNSSEC +#if defined(SUPPORT_DANE) && defined(DISABLE_DNSSEC) +# error DANE support requires DNSSEC support #endif -/* Wrapper around read(2) to read all the data we requested (BLOCKING) */ -ssize_t -readn(int fd, void *buffer, size_t len); - /* Some platforms (FreeBSD, OpenBSD, Solaris) do not seem to define this */ #ifndef POLLRDHUP # define POLLRDHUP (POLLIN | POLLHUP) #endif +/* Some platforms (Darwin) have to define a larger limit on groups membership */ + +#ifndef EXIM_GROUPLIST_SIZE +# define EXIM_GROUPLIST_SIZE NGROUPS_MAX +#endif + +/* Linux has TCP_CORK, FreeBSD has TCP_NOPUSH; they do pretty much the same */ + +#ifdef TCP_CORK +# define EXIM_TCP_CORK TCP_CORK +#elif defined(TCP_NOPUSH) +# define EXIM_TCP_CORK TCP_NOPUSH +#endif + #endif /* End of exim.h */