]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
submission: Move generic part of QUIT command to submission-commands.c.
authorStephan Bosch <stephan.bosch@dovecot.fi>
Wed, 29 Aug 2018 22:21:59 +0000 (00:21 +0200)
committerVille Savolainen <ville.savolainen@dovecot.fi>
Tue, 12 Feb 2019 13:40:41 +0000 (15:40 +0200)
src/submission/cmd-quit.c
src/submission/submission-commands.c

index 0018614efbc7b369264cac7f1bed15f163e72750..9d06c5d43d585c198b3959e66d24541698e4e5be 100644 (file)
@@ -106,45 +106,3 @@ int cmd_quit_relay(struct client *client, struct smtp_server_cmd_ctx *cmd)
                relay_cmd_quit_proxy(quit_cmd);
        return 0;
 }
-
-struct cmd_quit_context {
-       struct client *client;
-
-       struct smtp_server_cmd_ctx *cmd;
-};
-
-static void cmd_quit_finish(struct cmd_quit_context *quit_cmd)
-{
-       struct client *client = quit_cmd->client;
-       struct smtp_server_cmd_ctx *cmd = quit_cmd->cmd;
-
-       timeout_remove(&client->to_quit);
-       smtp_server_reply_quit(cmd);
-}
-
-static void
-cmd_quit_next(struct smtp_server_cmd_ctx *cmd ATTR_UNUSED,
-             struct cmd_quit_context *quit_cmd)
-{
-       struct client *client = quit_cmd->client;
-
-       /* give backend a brief interval to generate a quit reply */
-       client->to_quit = timeout_add(SUBMISSION_MAX_WAIT_QUIT_REPLY_MSECS,
-                                     cmd_quit_finish, quit_cmd);
-}
-
-int cmd_quit(void *conn_ctx, struct smtp_server_cmd_ctx *cmd)
-{
-       struct client *client = conn_ctx;
-       struct cmd_quit_context *quit_cmd;
-
-       quit_cmd = p_new(cmd->pool, struct cmd_quit_context, 1);
-       quit_cmd->client = client;
-       quit_cmd->cmd = cmd;
-
-       smtp_server_command_add_hook(cmd->cmd, SMTP_SERVER_COMMAND_HOOK_NEXT,
-                                    cmd_quit_next, quit_cmd);
-
-       return cmd_quit_relay(client, cmd);
-}
-
index 4dc2e2608bd76dda405dcb8f78433c30555ea443..114bc4c5e980d36f8b85d0ec22f1e19309d58c78 100644 (file)
@@ -438,3 +438,49 @@ int cmd_noop(void *conn_ctx, struct smtp_server_cmd_ctx *cmd)
 
        return cmd_noop_relay(client, cmd);
 }
+
+/*
+ * QUIT command
+ */
+
+struct cmd_quit_context {
+       struct client *client;
+
+       struct smtp_server_cmd_ctx *cmd;
+};
+
+static void cmd_quit_finish(struct cmd_quit_context *quit_cmd)
+{
+       struct client *client = quit_cmd->client;
+       struct smtp_server_cmd_ctx *cmd = quit_cmd->cmd;
+
+       timeout_remove(&client->to_quit);
+       smtp_server_reply_quit(cmd);
+}
+
+static void
+cmd_quit_next(struct smtp_server_cmd_ctx *cmd ATTR_UNUSED,
+             struct cmd_quit_context *quit_cmd)
+{
+       struct client *client = quit_cmd->client;
+
+       /* give backend a brief interval to generate a quit reply */
+       client->to_quit = timeout_add(SUBMISSION_MAX_WAIT_QUIT_REPLY_MSECS,
+                                     cmd_quit_finish, quit_cmd);
+}
+
+int cmd_quit(void *conn_ctx, struct smtp_server_cmd_ctx *cmd)
+{
+       struct client *client = conn_ctx;
+       struct cmd_quit_context *quit_cmd;
+
+       quit_cmd = p_new(cmd->pool, struct cmd_quit_context, 1);
+       quit_cmd->client = client;
+       quit_cmd->cmd = cmd;
+
+       smtp_server_command_add_hook(cmd->cmd, SMTP_SERVER_COMMAND_HOOK_NEXT,
+                                    cmd_quit_next, quit_cmd);
+
+       return cmd_quit_relay(client, cmd);
+}
+