]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
Just send CAPABILITY response code for all LOGIN/AUTHENTICATE commands.
authorTimo Sirainen <tss@iki.fi>
Sat, 21 Jun 2008 15:19:41 +0000 (18:19 +0300)
committerTimo Sirainen <tss@iki.fi>
Sat, 21 Jun 2008 15:19:41 +0000 (18:19 +0300)
Simplifies things and Lemonade spec specifies it as a "MUST be sent" anyway.

--HG--
branch : HEAD

src/imap-login/client.c
src/imap/main.c
src/login-common/client-common.h
src/login-common/master.c
src/master/login-process.c
src/master/mail-process.c
src/master/mail-process.h
src/master/master-login-interface.h

index 0027dc5510a980eb78600d3cf1cab430caf01966..f7be75a3ef9e45e5a93d85cd81cc0b0d583fe3b2 100644 (file)
@@ -108,8 +108,6 @@ static const char *get_capability(struct imap_client *client, bool full)
 
 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.");
@@ -138,10 +136,6 @@ static void client_start_tls(struct imap_client *client)
        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);
        o_stream_unref(&client->output);
index e5d717201bbd0271b0a4c9c1662536346e808b6e..1bf0a5831cda19261cbc474153fe5fc1e347fc93 100644 (file)
@@ -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 ",
index 17c95d70a9254bbbe9870e74c763dd619ace952c..cd711f5c4cf9a5b761359aabe12e31c8a348af14 100644 (file)
@@ -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;
index 1b2fe2f572aea6d600fdb2aae59cb5e7b28f68b3..057104896412c3c696cd1bc551d50deea1063535 100644 (file)
@@ -87,7 +87,6 @@ void master_request_login(struct client *client, master_callback_t *callback,
        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
index 1fc13670ae5b1ab9fad697ef45d9a07539965f3c..69021d525198c042c0bd17ae3330b4e8be460095 100644 (file)
@@ -438,7 +438,6 @@ static void login_process_input(struct login_process *p)
        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);
index ae664a2196de9090845ec1dfc03e5faa1d115c03..586b942f771d6e77f8ba4a0779adbd5ba23e558d 100644 (file)
@@ -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 process_type, struct settings *set,
                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);
index 1a64e142155efe3071518bd8067146bc3a89edf4..3d9ffbe84ee6796b4ed2aea06bc976892f6e117f 100644 (file)
@@ -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;
index 0bf49200e7210ff749905ed4b8fdf57b114cc361..03f68aabfff4d2089590396548ec6d169bdb64e5 100644 (file)
@@ -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;