[Dovecot] Problems with userdb lookup

Mario Arnold listserv at xtlv.cn
Thu Oct 24 16:13:24 EEST 2013


Hello,

since few days there are problems with the userdb lookup.
The problem occur if the recipient user is unknown (here test at xtlv.cn)

doveconf -n
# 2.2.6 (f89e645cba90): /etc/dovecot/dovecot.conf
# OS: Linux 3.2.45.stk32 i686 Debian jessie/sid ext3
auth_debug = yes
auth_debug_passwords = yes
auth_mechanisms = digest-md5 cram-md5
auth_username_translation = %Lu
auth_verbose = yes
auth_verbose_passwords = plain
debug_log_path = /var/log/dovecot/dov_debug.log
hostname = kyoto.vtlx.cn
login_log_format_elements = user=<%u> method=%m rip=%r lip=%l mpid=%e %c %k
mail_debug = yes
mail_gid = vmail
mail_home = /var/mail/vhosts/%Ld/%Ln
mail_location = sdbox:/var/mail/vhosts/%Ld/%Ln:DIRNAME=DbOx-mAiLs
mail_plugins = " quota mail_log notify expire zlib"
mail_privileged_group = vmail
mail_uid = vmail
mailbox_list_index = yes
...
passdb {
  args = scheme=PLAIN username_format=%Lu /etc/dovecot/user_pw/passwd
  driver = passwd-file
}
postmaster_address = postmaster at xtlv.cn
protocols = " imap lmtp sieve pop3"
service auth {
  unix_listener /var/spool/postfix/private/auth {
    group = postfix
    mode = 0660
    user = postfix
  }
  unix_listener auth-userdb {
    mode = 0600
    user = vmail
  }
}
service config {
  unix_listener config {
    mode = 0600
    user = vmail
  }
}
service dict {
  unix_listener dict {
    mode = 0600
    user = vmail
  }
}
service imap-login {
  inet_listener imap {
    port = 0
  }
  inet_listener imaps {
    address = 84.38.75.44
    port = 993
    ssl = yes
  }
}
service lmtp {
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
    group = postfix
    mode = 0660
    user = postfix
  }
}
service managesieve-login {
  inet_listener sieve {
    address = 84.38.75.44
    port = 4190
  }
}
service pop3-login {
  inet_listener pop3 {
    port = 0
  }
  inet_listener pop3s {
    address = 84.38.75.44
    port = 995
    ssl = yes
  }
}
service quota-status {
  client_limit = 1
  executable = quota-status -p postfix
  unix_listener /var/spool/postfix/private/quota-status {
    group = postfix
    mode = 0660
    user = postfix
  }
}
...
userdb {
  args = username_format=%Lu /etc/dovecot/user_pw/passwd
  driver = passwd-file
}
...

> gdb /usr/lib/dovecot/auth core_dbg
GNU gdb (GDB) 7.6 (Debian 7.6-5)
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i486-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/lib/dovecot/auth...Reading symbols from
/usr/lib/debug/usr/lib/dovecot/auth...done.
done.
[New LWP 26466]

warning: Could not load shared library symbols for linux-gate.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/i686/cmov/libthread_db.so.1".
Core was generated by `dovecot/auth'.
Program terminated with signal 6, Aborted.
#0  0xb779d424 in __kernel_vsyscall ()
(gdb) bt full
#0  0xb779d424 in __kernel_vsyscall ()
No symbol table info available.
#1  0xb74ec80f in __GI_raise (sig=sig at entry=6) at
../nptl/sysdeps/unix/sysv/linux/raise.c:56
        resultvar = <optimized out>
        resultvar = <optimized out>
        pid = -1218015232
        selftid = 26466
#2  0xb74efcc3 in __GI_abort () at abort.c:90
        save_stage = 2
        act = {__sigaction_handler = {sa_handler = 0xb7794ff4, sa_sigaction =
0xb7794ff4}, sa_mask = {__val = {0, 3077744103, 3216056844, 3078348800,
3078207408, 1, 3078184664, 3078275225, 3078207848, 3077070192,
              1, 1, 0, 0, 159279448, 3077360220, 3077743598, 3078180852,
3075085960, 3077367868, 159354316, 3077744683, 3078186032, 3075227880,
3216056948, 3077897967, 0, 3078180852, 0, 0, 159354316, 3078300704}},
          sa_flags = 1, sa_restorer = 0xb74efb80 <__GI_abort>}
        sigs = {__val = {32, 0 <repeats 31 times>}}
#3  0xb772abf9 in default_fatal_finish (type=<optimized out>,
status=status at entry=0) at failures.c:192
        backtrace = 0x97e6978 "/usr/lib/dovecot/libdovecot.so.0(+0x67bcf)
[0xb772abcf] -> /usr/lib/dovecot/libdovecot.so.0(+0x67c51) [0xb772ac51] ->
/usr/lib/dovecot/libdovecot.so.0(i_fatal+0) [0xb76de1d6] ->
/usr/lib/dovecot/libdo"...
#4  0xb772ac51 in i_internal_fatal_handler (ctx=0xbfb122e4, format=0xb7757344
"file %s: line %d (%s): assertion failed: (%s)", args=0xbfb12304 "") at
failures.c:653
        status = 0
#5  0xb76de1d6 in i_panic (format=format at entry=0xb7757344 "file %s: line %d
(%s): assertion failed: (%s)") at failures.c:264
        ctx = {type = LOG_TYPE_PANIC, exit_status = 0, timestamp = 0x0}
        args = 0xbfb12304 ""
#6  0xb7751886 in p_strndup (pool=0xb7796544 <static_unsafe_data_stack_pool>,
str=str at entry=0x0, max_chars=max_chars at entry=4294967295) at strfuncs.c:74
        mem = <optimized out>
        len = <optimized out>
        __FUNCTION__ = "p_strndup"
#7  0xb7751d7f in t_strndup (str=0x0, max_chars=4294967295) at strfuncs.c:236
No locals.
#8  0x08057003 in auth_request_append_password (str=str at entry=0x97e68a8,
request=0x97f8da8, request=0x97f8da8) at auth-request.c:1799
        p = <optimized out>
        log_type = <optimized out>
        max_len = 4294967295
#9  0x08058cf2 in auth_request_log_unknown_user
(request=request at entry=0x97f8da8, subsystem=subsystem at entry=0x807a0cc
"passwd-file") at auth-request.c:1846
        str = 0x97e68a8
#10 0x0806268c in db_passwd_file_lookup (db=0x97f4430,
request=request at entry=0x97f8da8, username_format=0x97ef148 "%Lu") at
db-passwd-file.c:466
        pw = 0x97f4470
        pu = <optimized out>
        table = <optimized out>
        username = 0x97e6598
        dest = <optimized out>
#11 0x0806d8bf in passwd_file_lookup (auth_request=0x97f8da8,
callback=0x80599b0 <auth_request_userdb_callback>) at userdb-passwd-file.c:45
        _module = <optimized out>
        module = <optimized out>
        pu = <optimized out>
        table = <optimized out>
        str = <optimized out>
        key = <optimized out>
        value = <optimized out>
        p = <optimized out>
#12 0x08059c94 in auth_request_lookup_user (request=0x97f8da8,
callback=callback at entry=0x8054ce0 <user_callback>) at auth-request.c:1072
        userdb = 0x97ef150
        cache_key = <optimized out>
#13 0x08055612 in master_input_user (args=0x97f8751
"7\ttest at xtlv.cn\tservice=quota-status", conn=0x97f8b48) at
auth-master-connection.c:314
        auth_request = 0x97f8da8
        error = 0xbfb125ac "\244\325s\267H\213\177\t"
        ret = <optimized out>

--
中華人民共和國


More information about the dovecot mailing list