CC->kill_me now contains an enum indicating the REASON session was killed
[citadel.git] / citadel / modules / managesieve / serv_managesieve.c
index 0bdc0f1001fe03873b7dbbd0e6b7593d3c742720..db1d92ce50b9be8d1413f9103601e3c3212bf5a9 100644 (file)
@@ -251,13 +251,13 @@ char *ReadString(long size, char *command)
        if (size < 1) {
                cprintf("NO %s: %ld BAD Message length must be at least 1.\r\n",
                        command, size);
-               CC->kill_me = 1;
+               CC->kill_me = KILLME_READSTRING_FAILED;
                return NULL;
        }
        MGSVE->transmitted_message = malloc(size + 2);
        if (MGSVE->transmitted_message == NULL) {
                cprintf("NO %s Cannot allocate memory.\r\n", command);
-               CC->kill_me = 1;
+               CC->kill_me = KILLME_MALLOC_FAILED;
                return NULL;
        }
        MGSVE->transmitted_length = size;
@@ -314,7 +314,7 @@ void cmd_mgsve_auth(int num_parms, char **parms, struct sdm_userdata *u)
                }
        }
        cprintf("NO \"Authentication Failure.\"\r\n");/* we just support auth plain. */
-       CC->kill_me = 1;
+       CC->kill_me = KILLME_AUTHFAILED;
 }
 
 
@@ -330,18 +330,18 @@ void cmd_mgsve_starttls(void)
 
 
 
-/**
- *LOGOUT command, see chapter 2.3 
+/*
+ * LOGOUT command, see chapter 2.3 
  */
 void cmd_mgsve_logout(struct sdm_userdata *u)
 {
        cprintf("OK\r\n");
        syslog(LOG_NOTICE, "MgSve bye.");
-       CC->kill_me = 1;
+       CC->kill_me = KILLME_CLIENT_LOGGED_OUT;
 }
 
 
-/**
+/*
  * HAVESPACE command. see chapter 2.5 
  */
 void cmd_mgsve_havespace(void)
@@ -352,7 +352,7 @@ void cmd_mgsve_havespace(void)
        if (MGSVE->command_state != mgsve_password)
        {
                cprintf("NO\r\n");
-               CC->kill_me = 1;
+               CC->kill_me = KILLME_QUOTA;
        }
        else
        {
@@ -362,7 +362,7 @@ void cmd_mgsve_havespace(void)
        }
 }
 
-/**
+/*
  * PUTSCRIPT command, see chapter 2.6 
  */
 void cmd_mgsve_putscript(int num_parms, char **parms, struct sdm_userdata *u)
@@ -396,7 +396,7 @@ void cmd_mgsve_putscript(int num_parms, char **parms, struct sdm_userdata *u)
        }
        else {
                cprintf("%s NO Read failed.\r\n", parms[0]);
-               CC->kill_me = 1;
+               CC->kill_me = KILLME_READ_FAILED;
                return;
        } 
 
@@ -586,7 +586,7 @@ void managesieve_command_loop(void) {
        }
        if (length < 1) {
                syslog(LOG_CRIT, "Client disconnected: ending session.\n");
-               CC->kill_me = 1;
+               CC->kill_me = KILLME_CLIENT_DISCONNECTED;
                return;
        }
        syslog(LOG_INFO, "MANAGESIEVE: %s\n", cmdbuf);
@@ -635,7 +635,7 @@ void managesieve_command_loop(void) {
        else {
                cprintf("No Invalid access or command.\r\n");
                syslog(LOG_INFO, "illegal Managesieve command: %s", parms[0]);
-               CC->kill_me = 1;
+               CC->kill_me = KILLME_ILLEGAL_MANAGESIEVE_COMMAND;
        }