dovecot-2.2-pigeonhole: Fixed handling of SMTP errors.
pigeonhole at rename-it.nl
pigeonhole at rename-it.nl
Tue Aug 26 22:19:50 UTC 2014
details: http://hg.rename-it.nl/dovecot-2.2-pigeonhole/rev/dd2116e13393
changeset: 1912:dd2116e13393
user: Stephan Bosch <stephan at rename-it.nl>
date: Wed Aug 27 00:19:40 2014 +0200
description:
Fixed handling of SMTP errors.
Logging was mixed up; it logged permanent SMTP failures as errors rather than mere info.
Redirect now handles temporary failure as a separate error condition, causing LDA to return a temporary failure if no other (storage) actions were performed.
diffstat:
src/lib-sieve/cmd-redirect.c | 14 +++++++-------
src/lib-sieve/plugins/enotify/mailto/ntfy-mailto.c | 4 ++--
src/lib-sieve/plugins/notify/cmd-notify.c | 4 ++--
src/lib-sieve/plugins/vacation/cmd-vacation.c | 4 ++--
src/lib-sieve/sieve-actions.c | 4 ++--
5 files changed, 15 insertions(+), 15 deletions(-)
diffs (97 lines):
diff -r 3ceab9d20a00 -r dd2116e13393 src/lib-sieve/cmd-redirect.c
--- a/src/lib-sieve/cmd-redirect.c Sun Aug 24 00:27:40 2014 +0200
+++ b/src/lib-sieve/cmd-redirect.c Wed Aug 27 00:19:40 2014 +0200
@@ -357,17 +357,17 @@
/* Close SMTP transport */
if ( (ret=sieve_smtp_finish(sctx, &error)) <= 0 ) {
if ( ret < 0 ) {
- sieve_result_global_log_error(aenv,
+ sieve_result_global_error(aenv,
"failed to redirect message to <%s>: %s "
"(temporary failure)",
str_sanitize(ctx->to_address, 256), str_sanitize(error, 512));
- } else {
- sieve_result_global_error(aenv,
- "failed to redirect message to <%s>: %s "
- "(permanent failure)",
- str_sanitize(ctx->to_address, 256), str_sanitize(error, 512));
+ return SIEVE_EXEC_TEMP_FAILURE;
+ }
- }
+ sieve_result_global_log_error(aenv,
+ "failed to redirect message to <%s>: %s "
+ "(permanent failure)",
+ str_sanitize(ctx->to_address, 256), str_sanitize(error, 512));
return SIEVE_EXEC_FAILURE;
}
diff -r 3ceab9d20a00 -r dd2116e13393 src/lib-sieve/plugins/enotify/mailto/ntfy-mailto.c
--- a/src/lib-sieve/plugins/enotify/mailto/ntfy-mailto.c Sun Aug 24 00:27:40 2014 +0200
+++ b/src/lib-sieve/plugins/enotify/mailto/ntfy-mailto.c Wed Aug 27 00:19:40 2014 +0200
@@ -555,11 +555,11 @@
if ( (ret=sieve_smtp_finish(sctx, &error)) <= 0 ) {
if (ret < 0) {
- sieve_enotify_global_log_error(nenv,
+ sieve_enotify_global_error(nenv,
"failed to send mail notification to %s: %s (temporary failure)",
str_c(all), str_sanitize(error, 512));
} else {
- sieve_enotify_global_error(nenv,
+ sieve_enotify_global_log_error(nenv,
"failed to send mail notification to %s: %s (permanent failure)",
str_c(all), str_sanitize(error, 512));
}
diff -r 3ceab9d20a00 -r dd2116e13393 src/lib-sieve/plugins/notify/cmd-notify.c
--- a/src/lib-sieve/plugins/notify/cmd-notify.c Sun Aug 24 00:27:40 2014 +0200
+++ b/src/lib-sieve/plugins/notify/cmd-notify.c Wed Aug 27 00:19:40 2014 +0200
@@ -784,11 +784,11 @@
if ( (ret=sieve_smtp_finish(sctx, &error)) <= 0 ) {
if (ret < 0) {
- sieve_result_global_log_error(aenv,
+ sieve_result_global_error(aenv,
"failed to send mail notification to %s: %s (temporary failure)",
str_c(all), str_sanitize(error, 512));
} else {
- sieve_result_global_error(aenv,
+ sieve_result_global_log_error(aenv,
"failed to send mail notification to %s: %s (permanent failure)",
str_c(all), str_sanitize(error, 512));
}
diff -r 3ceab9d20a00 -r dd2116e13393 src/lib-sieve/plugins/vacation/cmd-vacation.c
--- a/src/lib-sieve/plugins/vacation/cmd-vacation.c Sun Aug 24 00:27:40 2014 +0200
+++ b/src/lib-sieve/plugins/vacation/cmd-vacation.c Wed Aug 27 00:19:40 2014 +0200
@@ -992,11 +992,11 @@
/* Close smtp session */
if ( (ret=sieve_smtp_finish(sctx, &error)) <= 0 ) {
if ( ret < 0 ) {
- sieve_result_global_log_error(aenv,
+ sieve_result_global_error(aenv,
"failed to send vacation response to <%s>: %s (temporary error)",
str_sanitize(reply_to, 256), str_sanitize(error, 512));
} else {
- sieve_result_global_error(aenv,
+ sieve_result_global_log_error(aenv,
"failed to send vacation response to <%s>: %s (permanent error)",
str_sanitize(reply_to, 256), str_sanitize(error, 512));
}
diff -r 3ceab9d20a00 -r dd2116e13393 src/lib-sieve/sieve-actions.c
--- a/src/lib-sieve/sieve-actions.c Sun Aug 24 00:27:40 2014 +0200
+++ b/src/lib-sieve/sieve-actions.c Wed Aug 27 00:19:40 2014 +0200
@@ -873,12 +873,12 @@
if ( (ret=sieve_smtp_finish(sctx, &error)) <= 0 ) {
if ( ret < 0 ) {
- sieve_result_global_log_error(aenv,
+ sieve_result_global_error(aenv,
"failed to send rejection message to <%s>: %s "
"(temporary failure)",
str_sanitize(sender, 256), str_sanitize(error, 512));
} else {
- sieve_result_global_error(aenv,
+ sieve_result_global_log_error(aenv,
"failed to send rejection message to <%s>: %s "
"(permanent failure)",
str_sanitize(sender, 256), str_sanitize(error, 512));
More information about the dovecot-cvs
mailing list