changeset 1358:70b60399c7d3 HEAD

Separate PROCESS_TYPE_MAIL into IMAP and POP3.
author Timo Sirainen <tss@iki.fi>
date Tue, 15 Apr 2003 19:58:48 +0300
parents 5986d8920b86
children bbcbe27926ad
files src/master/common.h src/master/login-process.c src/master/mail-process.c src/master/mail-process.h src/master/main.c
diffstat 5 files changed, 15 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/src/master/common.h	Tue Apr 15 16:03:55 2003 +0300
+++ b/src/master/common.h	Tue Apr 15 19:58:48 2003 +0300
@@ -13,7 +13,8 @@
 	PROCESS_TYPE_UNKNOWN,
 	PROCESS_TYPE_AUTH,
 	PROCESS_TYPE_LOGIN,
-	PROCESS_TYPE_MAIL,
+	PROCESS_TYPE_IMAP,
+	PROCESS_TYPE_POP3,
 	PROCESS_TYPE_SSL_PARAM,
 
 	PROCESS_TYPE_MAX
--- a/src/master/login-process.c	Tue Apr 15 16:03:55 2003 +0300
+++ b/src/master/login-process.c	Tue Apr 15 19:58:48 2003 +0300
@@ -31,6 +31,7 @@
 
 	const char *executable;
 	unsigned int process_size;
+	int process_type;
 	int *listen_fd, *ssl_listen_fd;
 };
 
@@ -84,11 +85,13 @@
 	if (strcmp(login_set->name, "imap") == 0) {
 		group->executable = set->imap_executable;
 		group->process_size = set->imap_process_size;
+		group->process_type = PROCESS_TYPE_IMAP;
 		group->listen_fd = &mail_fd[FD_IMAP];
 		group->ssl_listen_fd = &mail_fd[FD_IMAPS];
 	} else if (strcmp(login_set->name, "pop3") == 0) {
 		group->executable = set->pop3_executable;
 		group->process_size = set->pop3_process_size;
+		group->process_type = PROCESS_TYPE_POP3;
 		group->listen_fd = &mail_fd[FD_POP3];
 		group->ssl_listen_fd = &mail_fd[FD_POP3S];
 	} else
@@ -118,7 +121,8 @@
 			create_mail_process(request->fd, &request->ip,
 					    group->executable,
 					    group->process_size,
-					    reply, (const char *) data);
+					    group->process_type, reply,
+					    (const char *) data);
 	}
 
 	/* reply to login */
--- a/src/master/mail-process.c	Tue Apr 15 16:03:55 2003 +0300
+++ b/src/master/mail-process.c	Tue Apr 15 19:58:48 2003 +0300
@@ -101,7 +101,8 @@
 
 int create_mail_process(int socket, struct ip_addr *ip,
 			const char *executable, unsigned int process_size,
-			struct auth_master_reply *reply, const char *data)
+			int process_type, struct auth_master_reply *reply,
+			const char *data)
 {
 	static const char *argv[] = { NULL, NULL, NULL };
 	const char *host, *mail;
@@ -129,7 +130,7 @@
 	if (pid != 0) {
 		/* master */
 		mail_process_count++;
-		PID_ADD_PROCESS_TYPE(pid, PROCESS_TYPE_MAIL);
+		PID_ADD_PROCESS_TYPE(pid, process_type);
 		return TRUE;
 	}
 
--- a/src/master/mail-process.h	Tue Apr 15 16:03:55 2003 +0300
+++ b/src/master/mail-process.h	Tue Apr 15 19:58:48 2003 +0300
@@ -5,7 +5,8 @@
 
 int create_mail_process(int socket, struct ip_addr *ip,
 			const char *executable, unsigned int process_size,
-			struct auth_master_reply *reply, const char *data);
+			int process_type, struct auth_master_reply *reply,
+			const char *data);
 
 void mail_process_destroyed(pid_t pid);
 
--- a/src/master/main.c	Tue Apr 15 16:03:55 2003 +0300
+++ b/src/master/main.c	Tue Apr 15 19:58:48 2003 +0300
@@ -25,6 +25,7 @@
 	"auth",
 	"login",
 	"imap",
+	"pop3",
 	"ssl-param"
 };
 
@@ -122,7 +123,8 @@
 		process_type = PID_GET_PROCESS_TYPE(pid);
 		PID_REMOVE_PROCESS_TYPE(pid);
 
-		if (process_type == PROCESS_TYPE_MAIL)
+		if (process_type == PROCESS_TYPE_IMAP ||
+		    process_type == PROCESS_TYPE_POP3)
 			mail_process_destroyed(pid);
 		if (process_type == PROCESS_TYPE_SSL_PARAM)
 			ssl_parameter_process_destroyed(pid);