git://git.exim.org
/
exim.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Relax restrictions on which ACLs verify conditions may be used
[exim.git]
/
src
/
src
/
macros.h
diff --git
a/src/src/macros.h
b/src/src/macros.h
index cc96c85163f84e9df39e0fe3303f96fafe3066ca..b5221c7ecbbc20016b4975a3414b713f4b241b0f 100644
(file)
--- a/
src/src/macros.h
+++ b/
src/src/macros.h
@@
-3,6
+3,7
@@
*************************************************/
/* Copyright (c) University of Cambridge 1995 - 2018 */
*************************************************/
/* Copyright (c) University of Cambridge 1995 - 2018 */
+/* Copyright (c) The Exim Maintainers 2020 */
/* See the file NOTICE for conditions of use and distribution. */
/* See the file NOTICE for conditions of use and distribution. */
@@
-118,7
+119,7
@@
don't make the file descriptors two-way. */
verifying. This has to be explicit because it is referenced in more than one
source module. */
verifying. This has to be explicit because it is referenced in more than one
source module. */
-#define ADDRESS_EXPANSIONS_COUNT 1
8
+#define ADDRESS_EXPANSIONS_COUNT 1
9
/* The maximum permitted number of command-line (-D) macro definitions. We
need a limit only to make it easier to generate argument vectors for re-exec
/* The maximum permitted number of command-line (-D) macro definitions. We
need a limit only to make it easier to generate argument vectors for re-exec
@@
-137,7
+138,7
@@
changed, then the tables in expand.c for accessing them must be changed too. */
/* The size of the buffer holding the processing information string. */
/* The size of the buffer holding the processing information string. */
-#define PROCESS_INFO_SIZE
256
+#define PROCESS_INFO_SIZE
384
/* The size of buffer to get for constructing log entries. Make it big
enough to hold all the headers from a normal kind of message. */
/* The size of buffer to get for constructing log entries. Make it big
enough to hold all the headers from a normal kind of message. */
@@
-152,12
+153,19
@@
enough to hold all the headers from a normal kind of message. */
into big_buffer_size and in some circumstances increased. It should be at least
as long as the maximum path length. */
into big_buffer_size and in some circumstances increased. It should be at least
as long as the maximum path length. */
-#if defined PATH_MAX && PATH_MAX > 16384
+#ifdef AUTH_HEIMDAL_GSSAPI
+ /* RFC 4121 section 5.2, SHOULD support 64K input buffers */
+# define __BIG_BUFFER_SIZE 65536
+#else
+# define __BIG_BUFFER_SIZE 16384
+#endif
+
+#if defined PATH_MAX && PATH_MAX > __BIG_BUFFER_SIZE
# define BIG_BUFFER_SIZE PATH_MAX
# define BIG_BUFFER_SIZE PATH_MAX
-#elif defined MAXPATHLEN && MAXPATHLEN >
16384
+#elif defined MAXPATHLEN && MAXPATHLEN >
__BIG_BUFFER_SIZE
# define BIG_BUFFER_SIZE MAXPATHLEN
#else
# define BIG_BUFFER_SIZE MAXPATHLEN
#else
-# define BIG_BUFFER_SIZE
16384
+# define BIG_BUFFER_SIZE
__BIG_BUFFER_SIZE
#endif
/* header size of pipe content
#endif
/* header size of pipe content
@@
-728,6
+736,7
@@
enum { v_none, v_sender, v_recipient, v_expn };
#define vopt_callout_recippmaster 0x0100 /* use postmaster to verify recip */
#define vopt_callout_hold 0x0200 /* lazy close connection */
#define vopt_success_on_redirect 0x0400
#define vopt_callout_recippmaster 0x0100 /* use postmaster to verify recip */
#define vopt_callout_hold 0x0200 /* lazy close connection */
#define vopt_success_on_redirect 0x0400
+#define vopt_quota 0x0800 /* quota check, to local/appendfile */
/* Values for fields in callout cache records */
/* Values for fields in callout cache records */
@@
-965,7
+974,9
@@
enum { ACL_WHERE_RCPT, /* Some controls are for RCPT only */
#define ACL_BIT_MIME BIT(ACL_WHERE_MIME)
#define ACL_BIT_DKIM BIT(ACL_WHERE_DKIM)
#define ACL_BIT_DATA BIT(ACL_WHERE_DATA)
#define ACL_BIT_MIME BIT(ACL_WHERE_MIME)
#define ACL_BIT_DKIM BIT(ACL_WHERE_DKIM)
#define ACL_BIT_DATA BIT(ACL_WHERE_DATA)
-#ifndef DISABLE_PRDR
+#ifdef DISABLE_PRDR
+# define ACL_BIT_PRDR 0
+#else
# define ACL_BIT_PRDR BIT(ACL_WHERE_PRDR)
#endif
#define ACL_BIT_NOTSMTP BIT(ACL_WHERE_NOTSMTP)
# define ACL_BIT_PRDR BIT(ACL_WHERE_PRDR)
#endif
#define ACL_BIT_NOTSMTP BIT(ACL_WHERE_NOTSMTP)
@@
-983,6
+994,10
@@
enum { ACL_WHERE_RCPT, /* Some controls are for RCPT only */
#define ACL_BIT_DELIVERY BIT(ACL_WHERE_DELIVERY)
#define ACL_BIT_UNKNOWN BIT(ACL_WHERE_UNKNOWN)
#define ACL_BIT_DELIVERY BIT(ACL_WHERE_DELIVERY)
#define ACL_BIT_UNKNOWN BIT(ACL_WHERE_UNKNOWN)
+#define ACL_BITS_HAVEDATA (ACL_BIT_MIME | ACL_BIT_DKIM | ACL_BIT_DATA \
+ | ACL_BIT_PRDR \
+ | ACL_BIT_NOTSMTP | ACL_BIT_QUIT | ACL_BIT_NOTQUIT)
+
/* Situations for spool_write_header() */
/* Situations for spool_write_header() */
@@
-1093,4
+1108,8
@@
should not be one active. */
#define SVFMT_TAINT_NOCHK BIT(2)
#define SVFMT_TAINT_NOCHK BIT(2)
+#define NOTIFIER_SOCKET_NAME "exim_daemon_notify"
+#define NOTIFY_MSG_QRUN 1 /* Notify message types */
+#define NOTIFY_QUEUE_SIZE_REQ 2
+
/* End of macros.h */
/* End of macros.h */