diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/src/globals.c | 5 | ||||
-rw-r--r-- | src/src/macros.h | 3 | ||||
-rw-r--r-- | src/src/match.c | 16 |
3 files changed, 18 insertions, 6 deletions
diff --git a/src/src/globals.c b/src/src/globals.c index a4e37fb4e..78ba19654 100644 --- a/src/src/globals.c +++ b/src/src/globals.c @@ -1,4 +1,4 @@ -/* $Cambridge: exim/src/src/globals.c,v 1.36 2005/09/12 10:08:54 ph10 Exp $ */ +/* $Cambridge: exim/src/src/globals.c,v 1.37 2005/09/12 13:39:31 ph10 Exp $ */ /************************************************* * Exim - an Internet mail transport agent * @@ -676,7 +676,8 @@ bit_table log_options[] = { { US"subject", LX_subject }, { US"tls_certificate_verified", LX_tls_certificate_verified }, { US"tls_cipher", LX_tls_cipher }, - { US"tls_peerdn", LX_tls_peerdn } + { US"tls_peerdn", LX_tls_peerdn }, + { US"unknown_in_list", LX_unknown_in_list } }; int log_options_count = sizeof(log_options)/sizeof(bit_table); diff --git a/src/src/macros.h b/src/src/macros.h index 432da931c..57ceceaac 100644 --- a/src/src/macros.h +++ b/src/src/macros.h @@ -1,4 +1,4 @@ -/* $Cambridge: exim/src/src/macros.h,v 1.18 2005/08/01 13:20:28 ph10 Exp $ */ +/* $Cambridge: exim/src/src/macros.h,v 1.19 2005/09/12 13:39:31 ph10 Exp $ */ /************************************************* * Exim - an Internet mail transport agent * @@ -390,6 +390,7 @@ set all the bits in a multi-word selector. */ #define LX_tls_certificate_verified 0x80010000 #define LX_tls_cipher 0x80020000 #define LX_tls_peerdn 0x80040000 +#define LX_unknown_in_list 0x80080000 #define L_default (L_connection_reject | \ L_delay_delivery | \ diff --git a/src/src/match.c b/src/src/match.c index 100e4c0cb..18787e8ac 100644 --- a/src/src/match.c +++ b/src/src/match.c @@ -1,4 +1,4 @@ -/* $Cambridge: exim/src/src/match.c,v 1.8 2005/08/01 13:20:28 ph10 Exp $ */ +/* $Cambridge: exim/src/src/match.c,v 1.9 2005/09/12 13:39:31 ph10 Exp $ */ /************************************************* * Exim - an Internet mail transport agent * @@ -720,7 +720,12 @@ while ((sss = string_nextinlist(&list, &sep, buffer, sizeof(buffer))) != NULL) { HDEBUG(D_lists) debug_printf("%s %s (%s)\n", ot, include_unknown? "yes":"no", error); - if (!include_unknown) return FAIL; + if (!include_unknown) + { + if ((log_extra_selector & LX_unknown_in_list) != 0) + log_write(0, LOG_MAIN, "list matching forced to fail: %s", error); + return FAIL; + } log_write(0, LOG_MAIN, "%s: accepted by +include_unknown", error); return OK; } @@ -811,7 +816,12 @@ while ((sss = string_nextinlist(&list, &sep, buffer, sizeof(buffer))) != NULL) HDEBUG(D_lists) debug_printf("%s %s (%s)\n", ot, include_unknown? "yes":"no", error); (void)fclose(f); - if (!include_unknown) return FAIL; + if (!include_unknown) + { + if ((log_extra_selector & LX_unknown_in_list) != 0) + log_write(0, LOG_MAIN, "list matching forced to fail: %s", error); + return FAIL; + } log_write(0, LOG_MAIN, "%s: accepted by +include_unknown", error); return OK; } |