Mercurial > dovecot > original-hg > dovecot-1.2
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; |