dovecot-2.0: imap-login: imap_id_* settings were ignored pre-login.

dovecot at dovecot.org dovecot at dovecot.org
Sat Feb 25 07:29:32 EET 2012


details:   http://hg.dovecot.org/dovecot-2.0/rev/b7e5a83866a4
changeset: 13061:b7e5a83866a4
user:      Timo Sirainen <tss at iki.fi>
date:      Sat Feb 25 07:29:15 2012 +0200
description:
imap-login: imap_id_* settings were ignored pre-login.

diffstat:

 src/imap-login/client.c              |  9 ++++-----
 src/imap-login/imap-login-settings.c |  6 +++++-
 src/imap-login/imap-login-settings.h |  2 ++
 3 files changed, 11 insertions(+), 6 deletions(-)

diffs (65 lines):

diff -r f2e9b20e21f8 -r b7e5a83866a4 src/imap-login/client.c
--- a/src/imap-login/client.c	Tue Feb 21 15:21:19 2012 +0200
+++ b/src/imap-login/client.c	Sat Feb 25 07:29:15 2012 +0200
@@ -129,24 +129,23 @@
 
 static int cmd_id(struct imap_client *client, const struct imap_arg *args)
 {
-	const char *env, *value;
+	const char *value;
 
 	if (!client->id_logged) {
 		client->id_logged = TRUE;
 		if (client->common.trusted)
 			client_update_info(client, args);
 
-		env = getenv("IMAP_ID_LOG");
-		value = imap_id_args_get_log_reply(args, env);
+		value = imap_id_args_get_log_reply(args, client->set->imap_id_log);
 		if (value != NULL) {
 			client_log(&client->common,
 				   t_strdup_printf("ID sent: %s", value));
 		}
 	}
 
-	env = getenv("IMAP_ID_SEND");
 	client_send_raw(&client->common,
-		t_strdup_printf("* ID %s\r\n", imap_id_reply_generate(env)));
+		t_strdup_printf("* ID %s\r\n",
+			imap_id_reply_generate(client->set->imap_id_send)));
 	client_send_line(&client->common, CLIENT_CMD_REPLY_OK, "ID completed.");
 	return 1;
 }
diff -r f2e9b20e21f8 -r b7e5a83866a4 src/imap-login/imap-login-settings.c
--- a/src/imap-login/imap-login-settings.c	Tue Feb 21 15:21:19 2012 +0200
+++ b/src/imap-login/imap-login-settings.c	Sat Feb 25 07:29:15 2012 +0200
@@ -55,12 +55,16 @@
 
 static const struct setting_define imap_login_setting_defines[] = {
 	DEF(SET_STR, imap_capability),
+	DEF(SET_STR, imap_id_send),
+	DEF(SET_STR, imap_id_log),
 
 	SETTING_DEFINE_LIST_END
 };
 
 static const struct imap_login_settings imap_login_default_settings = {
-	.imap_capability = ""
+	.imap_capability = "",
+	.imap_id_send = "",
+	.imap_id_log = ""
 };
 
 static const struct setting_parser_info *imap_login_setting_dependencies[] = {
diff -r f2e9b20e21f8 -r b7e5a83866a4 src/imap-login/imap-login-settings.h
--- a/src/imap-login/imap-login-settings.h	Tue Feb 21 15:21:19 2012 +0200
+++ b/src/imap-login/imap-login-settings.h	Sat Feb 25 07:29:15 2012 +0200
@@ -3,6 +3,8 @@
 
 struct imap_login_settings {
 	const char *imap_capability;
+	const char *imap_id_send;
+	const char *imap_id_log;
 };
 
 extern const struct setting_parser_info *imap_login_setting_roots[];


More information about the dovecot-cvs mailing list