[Dovecot] 1.1.2 segfaults when using passdb passwd and md5 mechanism

Miguel Filho miguel.filho at gmail.com
Fri Aug 1 20:09:17 EEST 2008


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.




-- 
http://osysadmin.blogspot.com


More information about the dovecot mailing list