diff src/master/login-process.c @ 4197:c3ded5b815aa HEAD

If we have plugins set and imap_capability unset, figure out the IMAP capabilities automatically by running imap binary at startup. The generated capability list isn't updated until Dovecot is restarted completely, so if you add or remove IMAP plugins you should restart.
author Timo Sirainen <tss@iki.fi>
date Fri, 14 Apr 2006 21:20:54 +0300
parents f60d73c96618
children 3e542f308cb5
line wrap: on
line diff
--- a/src/master/login-process.c	Fri Apr 14 15:30:21 2006 +0300
+++ b/src/master/login-process.c	Fri Apr 14 21:20:54 2006 +0300
@@ -88,9 +88,10 @@
 
 		t_push();
 		master_reply.success =
-			create_mail_process(group, request->fd,
-					    &request->local_ip,
-					    &request->remote_ip, user, args);
+			create_mail_process(group->process_type, group->set,
+					    request->fd, &request->local_ip,
+					    &request->remote_ip, user, args,
+					    FALSE);
 		t_pop();
 	}
 
@@ -455,6 +456,13 @@
 	env_put(t_strconcat("LOG_FORMAT=", set->login_log_format, NULL));
 	if (set->login_greeting_capability)
 		env_put("GREETING_CAPABILITY=1");
+
+	if (group->process_type == PROCESS_TYPE_IMAP) {
+		env_put(t_strconcat("CAPABILITY_STRING=",
+				    *set->imap_capability != '\0' ?
+				    set->imap_capability :
+				    set->imap_generated_capability, NULL));
+	}
 }
 
 static pid_t create_login_process(struct login_group *group)