dovecot-1.2: Just send CAPABILITY response code for all LOGIN/AU...

dovecot at dovecot.org dovecot at dovecot.org
Sat Jun 21 18:22:31 EEST 2008


details:   http://hg.dovecot.org/dovecot-1.2/rev/138a64b6dffe
changeset: 7943:138a64b6dffe
user:      Timo Sirainen <tss at iki.fi>
date:      Sat Jun 21 18:19:41 2008 +0300
description:
Just send CAPABILITY response code for all LOGIN/AUTHENTICATE commands.
Simplifies things and Lemonade spec specifies it as a "MUST be sent" anyway.

diffstat:

8 files changed, 22 deletions(-)
src/imap-login/client.c             |    6 ------
src/imap/main.c                     |    3 ---
src/login-common/client-common.h    |    1 -
src/login-common/master.c           |    1 -
src/master/login-process.c          |    1 -
src/master/mail-process.c           |    4 ----
src/master/mail-process.h           |    1 -
src/master/master-login-interface.h |    5 -----

diffs (123 lines):

diff -r 80b06754846b -r 138a64b6dffe src/imap-login/client.c
--- a/src/imap-login/client.c	Sat Jun 21 17:45:08 2008 +0300
+++ b/src/imap-login/client.c	Sat Jun 21 18:19:41 2008 +0300
@@ -108,8 +108,6 @@ static const char *get_capability(struct
 
 static int cmd_capability(struct imap_client *client)
 {
-	client->common.master_login_flags |=
-		LOGIN_IMAP_FLAG_FULL_CAPABILITY_SENT;
 	client_send_line(client, t_strconcat(
 		"* CAPABILITY ", get_capability(client, TRUE), NULL));
 	client_send_tagline(client, "OK Capability completed.");
@@ -137,10 +135,6 @@ static void client_start_tls(struct imap
 	client->common.tls = TRUE;
 	client->common.secured = TRUE;
 	client_set_title(client);
-
-	/* CAPABILITY sent before STARTTLS can't be trusted */
-	client->common.master_login_flags &=
-		~LOGIN_IMAP_FLAG_FULL_CAPABILITY_SENT;
 
 	client->common.fd = fd_ssl;
 	i_stream_unref(&client->common.input);
diff -r 80b06754846b -r 138a64b6dffe src/imap/main.c
--- a/src/imap/main.c	Sat Jun 21 17:45:08 2008 +0300
+++ b/src/imap/main.c	Sat Jun 21 18:19:41 2008 +0300
@@ -252,9 +252,6 @@ static void main_init(void)
 			"* PREAUTH [CAPABILITY ",
 			str_c(capability_string), "] "
 			"Logged in as ", user, NULL));
-	} else if (getenv("CLIENT_SEND_CAPABILITY") == NULL) {
-		client_send_line(client,
-				 t_strconcat(tag, " OK Logged in.", NULL));
 	} else {
 		client_send_line(client, t_strconcat(
 			tag, " OK [CAPABILITY ",
diff -r 80b06754846b -r 138a64b6dffe src/login-common/client-common.h
--- a/src/login-common/client-common.h	Sat Jun 21 17:45:08 2008 +0300
+++ b/src/login-common/client-common.h	Sat Jun 21 18:19:41 2008 +0300
@@ -28,7 +28,6 @@ struct client {
 	char *auth_mech_name;
 	struct auth_request *auth_request;
 
-	enum master_login_flags master_login_flags;
 	unsigned int master_tag;
 	master_callback_t *master_callback;
 	sasl_server_callback_t *sasl_callback;
diff -r 80b06754846b -r 138a64b6dffe src/login-common/master.c
--- a/src/login-common/master.c	Sat Jun 21 17:45:08 2008 +0300
+++ b/src/login-common/master.c	Sat Jun 21 18:19:41 2008 +0300
@@ -87,7 +87,6 @@ void master_request_login(struct client 
 	req->auth_id = auth_id;
 	req->local_ip = client->local_ip;
 	req->remote_ip = client->ip;
-	req->flags = client->master_login_flags;
 	req->cmd_tag_size =  cmd_tag_size;
 	req->data_size = req->cmd_tag_size + size;
 #if (LOGIN_MAX_INBUF_SIZE*2) != MASTER_LOGIN_MAX_DATA_SIZE
diff -r 80b06754846b -r 138a64b6dffe src/master/login-process.c
--- a/src/master/login-process.c	Sat Jun 21 17:45:08 2008 +0300
+++ b/src/master/login-process.c	Sat Jun 21 18:19:41 2008 +0300
@@ -438,7 +438,6 @@ static void login_process_input(struct l
 	authreq->mail_request.fd = client_fd;
 	authreq->mail_request.local_ip = req.local_ip;
 	authreq->mail_request.remote_ip = req.remote_ip;
-	authreq->mail_request.flags = req.flags;
 	authreq->mail_request.cmd_tag_size = req.cmd_tag_size;
 	authreq->mail_request.data_size = req.data_size;
 	memcpy(authreq->data, data, req.data_size);
diff -r 80b06754846b -r 138a64b6dffe src/master/mail-process.c
--- a/src/master/mail-process.c	Sat Jun 21 17:45:08 2008 +0300
+++ b/src/master/mail-process.c	Sat Jun 21 18:19:41 2008 +0300
@@ -14,7 +14,6 @@
 #include "home-expand.h"
 #include "var-expand.h"
 #include "mail-process.h"
-#include "master-login-interface.h"
 #include "login-process.h"
 #include "log.h"
 
@@ -837,9 +836,6 @@ create_mail_process(enum process_type pr
 		env_put(t_strconcat("IMAPLOGINTAG=",
 			t_strndup(data, request->cmd_tag_size), NULL));
 	}
-	if ((request->flags & LOGIN_IMAP_FLAG_FULL_CAPABILITY_SENT) == 0 &&
-	    process_type == PROCESS_TYPE_IMAP)
-		env_put("CLIENT_SEND_CAPABILITY=1");
 
 	if (request->data_size > request->cmd_tag_size) {
 		str_truncate(str, 0);
diff -r 80b06754846b -r 138a64b6dffe src/master/mail-process.h
--- a/src/master/mail-process.h	Sat Jun 21 17:45:08 2008 +0300
+++ b/src/master/mail-process.h	Sat Jun 21 18:19:41 2008 +0300
@@ -6,7 +6,6 @@
 
 struct mail_login_request {
 	int fd;
-	enum master_login_flags flags;
 	unsigned int cmd_tag_size;
 	unsigned int data_size;
 	struct ip_addr local_ip, remote_ip;
diff -r 80b06754846b -r 138a64b6dffe src/master/master-login-interface.h
--- a/src/master/master-login-interface.h	Sat Jun 21 17:45:08 2008 +0300
+++ b/src/master/master-login-interface.h	Sat Jun 21 18:19:41 2008 +0300
@@ -25,10 +25,6 @@ enum master_login_state {
 	LOGIN_STATE_COUNT
 };
 
-enum master_login_flags {
-	LOGIN_IMAP_FLAG_FULL_CAPABILITY_SENT	= 0x01
-};
-
 struct master_login_request {
 	uint32_t version;
 	/* if fd == -1, tag is used as master_login_state */
@@ -39,7 +35,6 @@ struct master_login_request {
 	/* request follows this many bytes of client input */
 	uint16_t data_size;
 	uint16_t cmd_tag_size;
-	uint32_t flags;
 
 	ino_t ino;
 


More information about the dovecot-cvs mailing list