dovecot-1.2: Moved imap-resp-codes to macros.
dovecot at dovecot.org
dovecot at dovecot.org
Sat Nov 15 21:11:19 EET 2008
details: http://hg.dovecot.org/dovecot-1.2/rev/6e9100795d89
changeset: 8412:6e9100795d89
user: Timo Sirainen <tss at iki.fi>
date: Sat Nov 15 21:10:17 2008 +0200
description:
Moved imap-resp-codes to macros.
diffstat:
9 files changed, 57 insertions(+), 25 deletions(-)
src/imap-login/client-authenticate.c | 7 ++++---
src/imap/client.c | 6 ++++--
src/imap/cmd-copy.c | 4 +++-
src/imap/cmd-fetch.c | 3 ++-
src/imap/cmd-search.c | 15 ++++++++-------
src/imap/cmd-status.c | 3 ++-
src/imap/commands-util.c | 21 +++++++++++----------
src/lib-imap/Makefile.am | 1 +
src/lib-imap/imap-resp-code.h | 22 ++++++++++++++++++++++
diffs (259 lines):
diff -r abd0ef855a33 -r 6e9100795d89 src/imap-login/client-authenticate.c
--- a/src/imap-login/client-authenticate.c Sat Nov 15 20:59:54 2008 +0200
+++ b/src/imap-login/client-authenticate.c Sat Nov 15 21:10:17 2008 +0200
@@ -9,6 +9,7 @@
#include "safe-memset.h"
#include "str.h"
#include "str-sanitize.h"
+#include "imap-resp-code.h"
#include "imap-parser.h"
#include "auth-client.h"
#include "client.h"
@@ -18,7 +19,7 @@
#include <stdlib.h>
#define IMAP_SERVICE_NAME "imap"
-#define IMAP_AUTH_FAILED_MSG "[AUTHENTICATIONFAILED] "AUTH_FAILED_MSG
+#define IMAP_AUTH_FAILED_MSG "["IMAP_RESP_CODE_AUTHFAILED"] "AUTH_FAILED_MSG
const char *client_authenticate_get_capabilities(bool secured)
{
@@ -180,7 +181,7 @@ static bool client_handle_args(struct im
if (reason != NULL)
str_printfa(reply, "NO %s", reason);
else if (temp || proxy_self) {
- str_append(reply, "NO [UNAVAILABLE] "
+ str_append(reply, "NO ["IMAP_RESP_CODE_UNAVAILABLE"] "
AUTH_TEMP_FAILED_MSG);
} else {
str_append(reply, "NO "IMAP_AUTH_FAILED_MSG);
@@ -337,7 +338,7 @@ int cmd_login(struct imap_client *client
"* BAD [ALERT] Plaintext authentication is disabled, "
"but your client sent password in plaintext anyway. "
"If anyone was listening, the password was exposed.");
- client_send_tagline(client, "NO [CLIENTBUG] "
+ client_send_tagline(client, "NO ["IMAP_RESP_CODE_CLIENTBUG"] "
AUTH_PLAINTEXT_DISABLED_MSG);
return 1;
}
diff -r abd0ef855a33 -r 6e9100795d89 src/imap/client.c
--- a/src/imap/client.c Sat Nov 15 20:59:54 2008 +0200
+++ b/src/imap/client.c Sat Nov 15 21:10:17 2008 +0200
@@ -8,8 +8,9 @@
#include "istream.h"
#include "ostream.h"
#include "var-expand.h"
+#include "imap-resp-code.h"
+#include "mail-namespace.h"
#include "commands.h"
-#include "mail-namespace.h"
#include <stdlib.h>
#include <unistd.h>
@@ -409,7 +410,8 @@ static bool client_command_check_ambigui
}
if (broken_client) {
- client_send_line(cmd->client, "* BAD [CLIENTBUG] "
+ client_send_line(cmd->client,
+ "* BAD ["IMAP_RESP_CODE_CLIENTBUG"] "
"Command pipelining results in ambiguity.");
}
diff -r abd0ef855a33 -r 6e9100795d89 src/imap/cmd-copy.c
--- a/src/imap/cmd-copy.c Sat Nov 15 20:59:54 2008 +0200
+++ b/src/imap/cmd-copy.c Sat Nov 15 21:10:17 2008 +0200
@@ -3,6 +3,7 @@
#include "common.h"
#include "str.h"
#include "ostream.h"
+#include "imap-resp-code.h"
#include "commands.h"
#include "imap-search.h"
@@ -171,7 +172,8 @@ bool cmd_copy(struct client_command_cont
return cmd_sync(cmd, sync_flags, imap_flags, msg);
else if (ret == 0) {
/* some messages were expunged, sync them */
- return cmd_sync(cmd, 0, 0, "NO [EXPUNGEISSUED] "
+ return cmd_sync(cmd, 0, 0,
+ "NO ["IMAP_RESP_CODE_EXPUNGEISSUED"] "
"Some of the requested messages no longer exist.");
} else {
client_send_storage_error(cmd, storage);
diff -r abd0ef855a33 -r 6e9100795d89 src/imap/cmd-fetch.c
--- a/src/imap/cmd-fetch.c Sat Nov 15 20:59:54 2008 +0200
+++ b/src/imap/cmd-fetch.c Sat Nov 15 21:10:17 2008 +0200
@@ -2,6 +2,7 @@
#include "common.h"
#include "ostream.h"
+#include "imap-resp-code.h"
#include "commands.h"
#include "imap-fetch.h"
#include "imap-search.h"
@@ -132,7 +133,7 @@ static bool cmd_fetch_finish(struct imap
static const char *ok_message = "OK Fetch completed.";
if (ctx->partial_fetch) {
- ok_message = "OK [EXPUNGEISSUED] "
+ ok_message = "OK ["IMAP_RESP_CODE_EXPUNGEISSUED"] "
"Some messages were already expunged.";
}
diff -r abd0ef855a33 -r 6e9100795d89 src/imap/cmd-search.c
--- a/src/imap/cmd-search.c Sat Nov 15 20:59:54 2008 +0200
+++ b/src/imap/cmd-search.c Sat Nov 15 21:10:17 2008 +0200
@@ -4,11 +4,12 @@
#include "ostream.h"
#include "str.h"
#include "seq-range-array.h"
-#include "commands.h"
-#include "mail-search-build.h"
+#include "imap-resp-code.h"
#include "imap-quote.h"
#include "imap-seqset.h"
#include "imap-util.h"
+#include "mail-search-build.h"
+#include "commands.h"
#include "imap-search.h"
enum search_return_options {
@@ -366,6 +367,7 @@ static bool cmd_search_more(struct clien
const struct seq_range *range;
unsigned int count;
uint32_t id, id_min, id_max;
+ const char *ok_reply;
bool tryagain, minmax, lost_data;
if (cmd->cancel) {
@@ -459,11 +461,10 @@ static bool cmd_search_more(struct clien
sync_flags = MAILBOX_SYNC_FLAG_FAST;
if (!cmd->uid || ctx->have_seqsets)
sync_flags |= MAILBOX_SYNC_FLAG_NO_EXPUNGES;
- return cmd_sync(cmd, sync_flags, 0,
- t_strdup_printf("OK %sSearch completed (%d.%03d secs).",
- lost_data ? "[EXPUNGEISSUED] " : "",
- (int)end_time.tv_sec,
- (int)(end_time.tv_usec/1000)));
+ ok_reply = t_strdup_printf("OK %sSearch completed (%d.%03d secs).",
+ lost_data ? "["IMAP_RESP_CODE_EXPUNGEISSUED"] " : "",
+ (int)end_time.tv_sec, (int)(end_time.tv_usec/1000));
+ return cmd_sync(cmd, sync_flags, 0, ok_reply);
}
static void cmd_search_more_callback(struct client_command_context *cmd)
diff -r abd0ef855a33 -r 6e9100795d89 src/imap/cmd-status.c
--- a/src/imap/cmd-status.c Sat Nov 15 20:59:54 2008 +0200
+++ b/src/imap/cmd-status.c Sat Nov 15 21:10:17 2008 +0200
@@ -1,6 +1,7 @@
/* Copyright (c) 2002-2008 Dovecot authors, see the included COPYING file */
#include "common.h"
+#include "imap-resp-code.h"
#include "commands.h"
#include "imap-sync.h"
#include "imap-status.h"
@@ -45,7 +46,7 @@ bool cmd_status(struct client_command_co
if (!selected_mailbox)
client_send_tagline(cmd, "OK Status completed.");
else {
- client_send_tagline(cmd, "OK [CLIENTBUG] "
+ client_send_tagline(cmd, "OK ["IMAP_RESP_CODE_CLIENTBUG"] "
"Status on selected mailbox completed.");
}
return TRUE;
diff -r abd0ef855a33 -r 6e9100795d89 src/imap/commands-util.c
--- a/src/imap/commands-util.c Sat Nov 15 20:59:54 2008 +0200
+++ b/src/imap/commands-util.c Sat Nov 15 21:10:17 2008 +0200
@@ -5,12 +5,13 @@
#include "buffer.h"
#include "str.h"
#include "str-sanitize.h"
-#include "mail-storage.h"
-#include "commands-util.h"
+#include "imap-resp-code.h"
#include "imap-parser.h"
#include "imap-sync.h"
#include "imap-util.h"
+#include "mail-storage.h"
#include "mail-namespace.h"
+#include "commands-util.h"
/* Maximum length for mailbox name, including it's path. This isn't fully
exact since the user can create folder hierarchy with small names, then
@@ -152,29 +153,29 @@ get_error_string(const char *error_strin
case MAIL_ERROR_NONE:
break;
case MAIL_ERROR_TEMP:
- resp_code = "SERVERBUG";
+ resp_code = IMAP_RESP_CODE_SERVERBUG;
break;
case MAIL_ERROR_NOTPOSSIBLE:
case MAIL_ERROR_PARAMS:
- resp_code = "CANNOT";
+ resp_code = IMAP_RESP_CODE_CANNOT;
break;
case MAIL_ERROR_PERM:
- resp_code = "ACL";
+ resp_code = IMAP_RESP_CODE_ACL;
break;
case MAIL_ERROR_NOSPACE:
- resp_code = "OVERQUOTA";
+ resp_code = IMAP_RESP_CODE_OVERQUOTA;
break;
case MAIL_ERROR_NOTFOUND:
- resp_code = "NONEXISTENT";
+ resp_code = IMAP_RESP_CODE_NONEXISTENT;
break;
case MAIL_ERROR_EXISTS:
- resp_code = "ALREADYEXISTS";
+ resp_code = IMAP_RESP_CODE_ALREADYEXISTS;
break;
case MAIL_ERROR_EXPUNGED:
- resp_code = "EXPUNGEISSUED";
+ resp_code = IMAP_RESP_CODE_EXPUNGEISSUED;
break;
case MAIL_ERROR_INUSE:
- resp_code = "INUSE";
+ resp_code = IMAP_RESP_CODE_INUSE;
break;
}
if (resp_code == NULL || *error_string == '[')
diff -r abd0ef855a33 -r 6e9100795d89 src/lib-imap/Makefile.am
--- a/src/lib-imap/Makefile.am Sat Nov 15 20:59:54 2008 +0200
+++ b/src/lib-imap/Makefile.am Sat Nov 15 21:10:17 2008 +0200
@@ -26,6 +26,7 @@ headers = \
imap-id.h \
imap-match.h \
imap-parser.h \
+ imap-resp-code.h \
imap-quote.h \
imap-seqset.h \
imap-utf7.h \
diff -r abd0ef855a33 -r 6e9100795d89 src/lib-imap/imap-resp-code.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/lib-imap/imap-resp-code.h Sat Nov 15 21:10:17 2008 +0200
@@ -0,0 +1,22 @@
+#ifndef IMAP_RESP_CODE_H
+#define IMAP_RESP_CODE_H
+
+/* IMAP response codes (from draft-gulbrandsen-imap-response-codes-04) */
+#define IMAP_RESP_CODE_UNAVAILABLE "UNAVAILABLE"
+#define IMAP_RESP_CODE_AUTHFAILED "AUTHENTICATIONFAILED"
+#define IMAP_RESP_CODE_AUTHZFAILED "AUTHORIZATIONFAILED"
+#define IMAP_RESP_CODE_EXPIRED "EXPIRED"
+#define IMAP_RESP_CODE_CONTACTADMIN "CONTACTADMIN"
+#define IMAP_RESP_CODE_ACL "ACL"
+#define IMAP_RESP_CODE_INUSE "INUSE"
+#define IMAP_RESP_CODE_EXPUNGEISSUED "EXPUNGEISSUED"
+#define IMAP_RESP_CODE_CORRUPTION "CORRUPTION"
+#define IMAP_RESP_CODE_SERVERBUG "SERVERBUG"
+#define IMAP_RESP_CODE_CLIENTBUG "CLIENTBUG"
+#define IMAP_RESP_CODE_CANNOT "CANNOT"
+#define IMAP_RESP_CODE_LIMIT "LIMIT"
+#define IMAP_RESP_CODE_OVERQUOTA "OVERQUOTA"
+#define IMAP_RESP_CODE_ALREADYEXISTS "ALREADYEXISTS"
+#define IMAP_RESP_CODE_NONEXISTENT "NONEXISTENT"
+
+#endif
More information about the dovecot-cvs
mailing list