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
ACL: Ensure that acl_smtp_notquit is called for a conndrop between data-go-ahead...
[exim.git]
/
src
/
src
/
smtp_in.c
diff --git
a/src/src/smtp_in.c
b/src/src/smtp_in.c
index 34481aef73229c5e5a83b838db771c75f66e821b..09356c23115d3d7a71be033d3842c306a321940f 100644
(file)
--- a/
src/src/smtp_in.c
+++ b/
src/src/smtp_in.c
@@
-3057,12
+3057,11
@@
smtp_exit_function_called = TRUE;
/* Call the not-QUIT ACL, if there is one, unless no reason is given. */
/* Call the not-QUIT ACL, if there is one, unless no reason is given. */
-if (acl_smtp_notquit
!= NULL && reason != NULL
)
+if (acl_smtp_notquit
&& reason
)
{
smtp_notquit_reason = reason;
{
smtp_notquit_reason = reason;
- rc = acl_check(ACL_WHERE_NOTQUIT, NULL, acl_smtp_notquit, &user_msg,
- &log_msg);
- if (rc == ERROR)
+ if ((rc = acl_check(ACL_WHERE_NOTQUIT, NULL, acl_smtp_notquit, &user_msg,
+ &log_msg)) == ERROR)
log_write(0, LOG_MAIN|LOG_PANIC, "ACL for not-QUIT returned ERROR: %s",
log_msg);
}
log_write(0, LOG_MAIN|LOG_PANIC, "ACL for not-QUIT returned ERROR: %s",
log_msg);
}
@@
-3072,9
+3071,11
@@
responses are all internal, they should always fit in the buffer, but code a
warning, just in case. Note that string_vformat() still leaves a complete
string, even if it is incomplete. */
warning, just in case. Note that string_vformat() still leaves a complete
string, even if it is incomplete. */
-if (code
!= NULL && defaultrespond != NULL
)
+if (code
&& defaultrespond
)
{
{
- if (user_msg == NULL)
+ if (user_msg)
+ smtp_respond(code, 3, TRUE, user_msg);
+ else
{
uschar buffer[128];
va_list ap;
{
uschar buffer[128];
va_list ap;
@@
-3084,8
+3085,6
@@
if (code != NULL && defaultrespond != NULL)
smtp_printf("%s %s\r\n", code, buffer);
va_end(ap);
}
smtp_printf("%s %s\r\n", code, buffer);
va_end(ap);
}
- else
- smtp_respond(code, 3, TRUE, user_msg);
mac_smtp_fflush();
}
}
mac_smtp_fflush();
}
}