dovecot-2.2-pigeonhole: Changed handling of ENOSPACE to a normal...
pigeonhole at rename-it.nl
pigeonhole at rename-it.nl
Sat Aug 23 19:17:12 UTC 2014
details: http://hg.rename-it.nl/dovecot-2.2-pigeonhole/rev/0b25efe31d79
changeset: 1909:0b25efe31d79
user: Stephan Bosch <stephan at rename-it.nl>
date: Sat Aug 23 21:16:34 2014 +0200
description:
Changed handling of ENOSPACE to a normal temporary failure and added handling of ENOQUOTA as a user error.
Patch by Timo Sirainen.
diffstat:
src/lib-sieve/sieve-actions.c | 6 +---
src/lib-sieve/sieve-types.h | 2 -
src/lib-sieve/storage/file/sieve-file-storage-save.c | 24 ++++++++++----------
src/managesieve/managesieve-client.c | 1 -
src/plugins/lda-sieve/lda-sieve-plugin.c | 2 +-
5 files changed, 15 insertions(+), 20 deletions(-)
diffs (112 lines):
diff -r 3b964432b84b -r 0b25efe31d79 src/lib-sieve/sieve-actions.c
--- a/src/lib-sieve/sieve-actions.c Sat Aug 23 21:11:54 2014 +0200
+++ b/src/lib-sieve/sieve-actions.c Sat Aug 23 21:16:34 2014 +0200
@@ -634,12 +634,10 @@
error_code = trans->error_code;
if ( error_code == MAIL_ERROR_NOTFOUND ||
- error_code == MAIL_ERROR_PARAMS ) {
+ error_code == MAIL_ERROR_PARAMS ||
+ error_code == MAIL_ERROR_NOQUOTA ) {
sieve_result_error(aenv, "failed to store into mailbox %s: %s",
mailbox_name, errstr);
- } else if ( error_code == MAIL_ERROR_NOSPACE ) {
- sieve_result_global_log_error
- (aenv, "failed to store into mailbox %s: %s", mailbox_name, errstr);
} else {
sieve_result_global_error(aenv, "failed to store into mailbox %s: %s",
mailbox_name, errstr);
diff -r 3b964432b84b -r 0b25efe31d79 src/lib-sieve/sieve-types.h
--- a/src/lib-sieve/sieve-types.h Sat Aug 23 21:11:54 2014 +0200
+++ b/src/lib-sieve/sieve-types.h Sat Aug 23 21:16:34 2014 +0200
@@ -92,8 +92,6 @@
/* No permission to do the request */
SIEVE_ERROR_NO_PERMISSION,
/* Out of disk space */
- SIEVE_ERROR_NO_SPACE,
- /* Out of disk space */
SIEVE_ERROR_NO_QUOTA,
/* Item (e.g. script or binary) cannot be found */
SIEVE_ERROR_NOT_FOUND,
diff -r 3b964432b84b -r 0b25efe31d79 src/lib-sieve/storage/file/sieve-file-storage-save.c
--- a/src/lib-sieve/storage/file/sieve-file-storage-save.c Sat Aug 23 21:11:54 2014 +0200
+++ b/src/lib-sieve/storage/file/sieve-file-storage-save.c Sat Aug 23 21:16:34 2014 +0200
@@ -111,10 +111,10 @@
*fpath_r = str_c(path);
if (fd == -1) {
- if (ENOSPACE(errno)) {
+ if (ENOQUOTA(errno)) {
sieve_storage_set_error(storage,
- SIEVE_ERROR_NO_SPACE,
- "Not enough disk space");
+ SIEVE_ERROR_NO_QUOTA,
+ "Not enough disk quota");
} else {
sieve_storage_set_critical(storage, "save: "
"open(%s) failed: %m", str_c(path));
@@ -142,10 +142,10 @@
result = 0;
else {
result = -1;
- if ( ENOSPACE(errno) ) {
+ if ( ENOQUOTA(errno) ) {
sieve_storage_set_error(storage,
- SIEVE_ERROR_NO_SPACE,
- "Not enough disk space");
+ SIEVE_ERROR_NO_QUOTA,
+ "Not enough disk quota");
} else if ( errno == EACCES ) {
sieve_storage_set_critical(storage, "save: "
"Failed to save Sieve script: "
@@ -275,10 +275,10 @@
fsctx->tmp_path = NULL;
errno = output_errno;
- if ( ENOSPACE(errno) ) {
+ if ( ENOQUOTA(errno) ) {
sieve_storage_set_error(storage,
- SIEVE_ERROR_NO_SPACE,
- "Not enough disk space");
+ SIEVE_ERROR_NO_QUOTA,
+ "Not enough disk quota");
} else if ( errno != 0 ) {
sieve_storage_set_critical(storage, "save: "
"write(%s) failed: %m", fsctx->tmp_path);
@@ -428,10 +428,10 @@
o_stream_destroy(&output);
if (rename(str_c(temp_path), fstorage->active_path) < 0) {
- if ( ENOSPACE(errno) ) {
+ if ( ENOQUOTA(errno) ) {
sieve_storage_set_error(storage,
- SIEVE_ERROR_NO_SPACE,
- "Not enough disk space");
+ SIEVE_ERROR_NO_QUOTA,
+ "Not enough disk quota");
} else if ( errno == EACCES ) {
sieve_storage_set_critical(storage,
"%s", eacces_error_get("rename", fstorage->active_path));
diff -r 3b964432b84b -r 0b25efe31d79 src/managesieve/managesieve-client.c
--- a/src/managesieve/managesieve-client.c Sat Aug 23 21:11:54 2014 +0200
+++ b/src/managesieve/managesieve-client.c Sat Aug 23 21:16:34 2014 +0200
@@ -396,7 +396,6 @@
break;
case SIEVE_ERROR_NO_QUOTA:
- case SIEVE_ERROR_NO_SPACE: /* Not sure if this is appropriate */
client_send_noresp(client, "QUOTA", error);
break;
diff -r 3b964432b84b -r 0b25efe31d79 src/plugins/lda-sieve/lda-sieve-plugin.c
--- a/src/plugins/lda-sieve/lda-sieve-plugin.c Sat Aug 23 21:11:54 2014 +0200
+++ b/src/plugins/lda-sieve/lda-sieve-plugin.c Sat Aug 23 21:16:34 2014 +0200
@@ -385,7 +385,7 @@
mail_storage_get_last_error(estatus->last_storage, &mail_error);
/* Don't bother administrator too much with benign errors */
- if ( mail_error == MAIL_ERROR_NOSPACE ) {
+ if ( mail_error == MAIL_ERROR_NOQUOTA ) {
error_func = sieve_sys_info;
user_error_func = sieve_sys_info;
}
More information about the dovecot-cvs
mailing list