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
Stop option for ACL control of debug logging
[exim.git]
/
src
/
src
/
acl.c
diff --git
a/src/src/acl.c
b/src/src/acl.c
index 6d064e8a28402f891e634baef12748e1396e13d4..19c1bbbd9ac0dea99be006483592737699fc2929 100644
(file)
--- a/
src/src/acl.c
+++ b/
src/src/acl.c
@@
-3,7
+3,7
@@
*************************************************/
/* Copyright (c) University of Cambridge 1995 - 2018 */
*************************************************/
/* Copyright (c) University of Cambridge 1995 - 2018 */
-/* Copyright (c) The Exim Maintainers 2020 */
+/* Copyright (c) The Exim Maintainers 2020
- 2021
*/
/* See the file NOTICE for conditions of use and distribution. */
/* Code for handling Access Control Lists (ACLs) */
/* See the file NOTICE for conditions of use and distribution. */
/* Code for handling Access Control Lists (ACLs) */
@@
-1211,7
+1211,7
@@
int rc;
/* Previous success */
/* Previous success */
-if (sender_host_name
!= NULL
) return OK;
+if (sender_host_name) return OK;
/* Previous failure */
/* Previous failure */
@@
-2884,7
+2884,7
@@
acl_seen(const uschar * arg, int where, uschar ** log_msgptr)
enum { SEEN_DEFAULT, SEEN_READONLY, SEEN_WRITE };
const uschar * list = arg;
enum { SEEN_DEFAULT, SEEN_READONLY, SEEN_WRITE };
const uschar * list = arg;
-int slash = '/',
equal = '=',
interval, mode = SEEN_DEFAULT, yield = FAIL;
+int slash = '/', interval, mode = SEEN_DEFAULT, yield = FAIL;
BOOL before;
int refresh = 10 * 24 * 60 * 60; /* 10 days */
const uschar * ele, * key = sender_host_address;
BOOL before;
int refresh = 10 * 24 * 60 * 60; /* 10 days */
const uschar * ele, * key = sender_host_address;
@@
-3481,7
+3481,7
@@
for (; cb; cb = cb->next)
{
uschar * debug_tag = NULL;
uschar * debug_opts = NULL;
{
uschar * debug_tag = NULL;
uschar * debug_opts = NULL;
- BOOL kill = FALSE;
+ BOOL kill = FALSE
, stop = FALSE
;
while (*p == '/')
{
while (*p == '/')
{
@@
-3501,13
+3501,20
@@
for (; cb; cb = cb->next)
for (pp += 4; *pp && *pp != '/';) pp++;
kill = TRUE;
}
for (pp += 4; *pp && *pp != '/';) pp++;
kill = TRUE;
}
+ else if (Ustrncmp(pp, "stop", 4) == 0)
+ {
+ for (pp += 4; *pp && *pp != '/';) pp++;
+ stop = TRUE;
+ }
else
while (*pp && *pp != '/') pp++;
p = pp;
}
if (kill)
else
while (*pp && *pp != '/') pp++;
p = pp;
}
if (kill)
- debug_logging_stop();
+ debug_logging_stop(TRUE);
+ else if (stop)
+ debug_logging_stop(FALSE);
else
debug_logging_activate(debug_tag, debug_opts);
break;
else
debug_logging_activate(debug_tag, debug_opts);
break;