From: Timo Sirainen Date: Mon, 30 Jun 2003 15:54:17 +0000 (+0300) Subject: Keep capability in string_t so plugins can modify it. X-Git-Tag: 1.1.alpha1~4520 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e6acae319b8e3895cbeb403d38afed23185c582a;p=thirdparty%2Fdovecot%2Fcore.git Keep capability in string_t so plugins can modify it. --HG-- branch : HEAD --- diff --git a/src/imap/cmd-capability.c b/src/imap/cmd-capability.c index f2f12352c9..1e9e02b201 100644 --- a/src/imap/cmd-capability.c +++ b/src/imap/cmd-capability.c @@ -2,12 +2,13 @@ #include "common.h" #include "commands.h" +#include "str.h" int cmd_capability(struct client *client) { - client_send_line(client, "* CAPABILITY " CAPABILITY_STRING); + client_send_line(client, t_strconcat("* CAPABILITY ", + str_c(capability_string), NULL)); - client_sync_full_fast(client); client_send_tagline(client, "OK Capability completed."); return TRUE; } diff --git a/src/imap/common.h b/src/imap/common.h index 89f83e59cd..7c351d0c8a 100644 --- a/src/imap/common.h +++ b/src/imap/common.h @@ -16,4 +16,6 @@ extern struct ioloop *ioloop; extern unsigned int max_custom_flag_length, mailbox_check_interval; +extern string_t *capability_string; + #endif diff --git a/src/imap/main.c b/src/imap/main.c index 1d6be11115..8918cba327 100644 --- a/src/imap/main.c +++ b/src/imap/main.c @@ -3,6 +3,7 @@ #include "common.h" #include "ioloop.h" #include "ostream.h" +#include "str.h" #include "lib-signals.h" #include "rawlog.h" #include "restrict-access.h" @@ -25,6 +26,8 @@ unsigned int max_custom_flag_length, mailbox_check_interval; static struct module *modules; static char log_prefix[128]; /* syslog() needs this to be permanent */ +string_t *capability_string; + static void sig_quit(int signo __attr_unused__) { io_loop_stop(ioloop); @@ -86,6 +89,9 @@ static void main_init(void) i_fatal("USER environment missing"); } + capability_string = str_new(default_pool, sizeof(CAPABILITY_STRING)+32); + str_append(capability_string, CAPABILITY_STRING); + hin = 0; hout = 1; rawlog_open(&hin, &hout);