comparison 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
comparison
equal deleted inserted replaced
4196:6ac0d63b297f 4197:c3ded5b815aa
86 else { 86 else {
87 struct login_group *group = request->process->group; 87 struct login_group *group = request->process->group;
88 88
89 t_push(); 89 t_push();
90 master_reply.success = 90 master_reply.success =
91 create_mail_process(group, request->fd, 91 create_mail_process(group->process_type, group->set,
92 &request->local_ip, 92 request->fd, &request->local_ip,
93 &request->remote_ip, user, args); 93 &request->remote_ip, user, args,
94 FALSE);
94 t_pop(); 95 t_pop();
95 } 96 }
96 97
97 /* reply to login */ 98 /* reply to login */
98 master_reply.tag = request->login_tag; 99 master_reply.tag = request->login_tag;
453 env_put(t_strconcat("LOG_FORMAT_ELEMENTS=", 454 env_put(t_strconcat("LOG_FORMAT_ELEMENTS=",
454 set->login_log_format_elements, NULL)); 455 set->login_log_format_elements, NULL));
455 env_put(t_strconcat("LOG_FORMAT=", set->login_log_format, NULL)); 456 env_put(t_strconcat("LOG_FORMAT=", set->login_log_format, NULL));
456 if (set->login_greeting_capability) 457 if (set->login_greeting_capability)
457 env_put("GREETING_CAPABILITY=1"); 458 env_put("GREETING_CAPABILITY=1");
459
460 if (group->process_type == PROCESS_TYPE_IMAP) {
461 env_put(t_strconcat("CAPABILITY_STRING=",
462 *set->imap_capability != '\0' ?
463 set->imap_capability :
464 set->imap_generated_capability, NULL));
465 }
458 } 466 }
459 467
460 static pid_t create_login_process(struct login_group *group) 468 static pid_t create_login_process(struct login_group *group)
461 { 469 {
462 struct log_io *log; 470 struct log_io *log;