Setting passdb to passwd and enabling cram-md5 or digest-md5 makes dovecot crash.
The documentation says that I can use md5 with passwd. I had to use strace to figure it, because dovecot segfaults and doesn't log the error.
Using CenOS 5.2 x86_64
Regards,
Miguel
# dovecot -n # 1.1.2: /etc/dovecot.conf listen: 127.0.0.1 login_dir: /var/run/dovecot/login login_executable(default): /usr/libexec/dovecot/imap-login login_executable(imap): /usr/libexec/dovecot/imap-login login_executable(pop3): /usr/libexec/dovecot/pop3-login login_greeting_capability(default): yes login_greeting_capability(imap): yes login_greeting_capability(pop3): no mail_max_userip_connections(default): 5 mail_max_userip_connections(imap): 5 mail_max_userip_connections(pop3): 10 verbose_proctitle: yes first_valid_uid: 100 mail_debug: yes mail_executable: /mail/bin/resolv_mailbox.sh mail_plugins(default): quota imap_quota mail_plugins(imap): quota imap_quota mail_plugins(pop3): mail_plugin_dir(default): /usr/lib64/dovecot/imap mail_plugin_dir(imap): /usr/lib64/dovecot/imap mail_plugin_dir(pop3): /usr/lib64/dovecot/pop3 auth default: mechanisms: plain login gssapi digest-md5 passdb: driver: passwd args: blocking=yes userdb: driver: passwd args: blocking=yes
Backtrace:
#0 0x0000000000410337 in hash_lookup (table=0x0, key=0xa85) at hash.c:159 node = <value optimized out> #1 0x0000000000405dae in log_it (log_io=0x1736ee00, line=0x1736f922 "DIGEST-MD5 mechanism can't be supported with given passdbs", continues=false) at log.c:128 process = <value optimized out> log_type = LOG_TYPE_FATAL #2 0x0000000000405e48 in log_write_pending (log_io=0x1736ee00) at log.c:51 _data_stack_cur_id = 3 line = 0x1736f920 "\001FDIGEST-MD5 mechanism can't be supported with given passdbs" #3 0x00000000004060e8 in log_read (log_io=0x1736ee00) at log.c:176 data = <value optimized out> line = <value optimized out> size = 0 ret = <value optimized out> #4 0x0000000000406188 in log_deinit () at log.c:316 next = (struct log_io *) 0xa85 #5 0x000000000040335d in auth_process_destroy (p=0x1736ee60) at auth-process.c:345 iter = <value optimized out> key = (void *) 0x6 value = <value optimized out> pos = <value optimized out> #6 0x00000000004034f9 in auth_process_input (process=0x1736ee60) at auth-process.c:266 line = <value optimized out> #7 0x0000000000412df8 in io_loop_handler_run (ioloop=<value optimized out>) at ioloop-epoll.c:201 ctx = <value optimized out> event = (const struct epoll_event *) 0x1736ef0c list = (struct io_list *) 0x17370aa0 io = (struct io_file *) 0x17370a60 tv = {tv_sec = 0, tv_usec = 970535} events_count = <value optimized out> t_id = 2 msecs = <value optimized out> ret = 3 i = 1 call = <value optimized out> #8 0x0000000000411fad in io_loop_run (ioloop=0x1736eab0) at ioloop.c:308 No locals. #9 0x0000000000409f4f in main (argc=<value optimized out>, argv=<value optimized out>) at main.c:558 _data_stack_cur_id = 0 ---Type <return> to continue, or q <return> to quit--- exec_protocol = 0x0 exec_args = (const char **) 0x0 foreground = <value optimized out> ask_key_pass = false log_error = false dump_config = false dump_config_nondefaults = false i = <value optimized out> #10 0x00002b11b72cc8b4 in __libc_start_main () from /lib64/libc.so.6 No symbol table info available. #11 0x0000000000402eb9 in _start () No symbol table info available.