[Dovecot] 1.2.15 - segfault if host field attribute not present in ldap. (proxy)

Mohit Chawla mohit.chawla.binary at gmail.com
Mon Dec 6 07:47:01 EET 2010


Here's the full back trace:

#0  0xb7434d23 in strchr () from /lib/i686/cmov/libc.so.6
No symbol table info available.
#1  0x0805e02e in net_addr2ip (addr=0x0, ip=0xbf93c3dc) at network.c:619
No locals.
#2  0x0804f01a in login_proxy_is_ourself (client=0x93b5060, host=0x0,
port=143,
    destuser=0x93b8c08 "resource") at login-proxy.c:322
        ip = {family = 14143, u = {ip6 = {__in6_u = {
                __u6_addr8 = "\300\241:\t&\241:\t\004\000\000\000`P;\t",
__u6_addr16 = {41408,
                  2362, 41254, 2362, 4, 0, 20576, 2363}, __u6_addr32 =
{154837440, 154837286, 4,
                  154882144}}}, ip4 = {s_addr = 154837440}}}
#3  0x0804d612 in imap_proxy_new (client=0x93b5060, host=0x0, port=143,
user=0x93b8c08 "resource",
    master_user=0x0, password=0x93aa12b "debian", ssl_flags=0,
connect_timeout_msecs=0)
    at imap-proxy.c:448
        __PRETTY_FUNCTION__ = "imap_proxy_new"
#4  0x0804cea4 in client_handle_args (client=<value optimized out>,
args=<value optimized out>,
    success=58, nodelay_r=0xbf93c50f) at client-authenticate.c:200
        reason = 0x0
        host = 0x0
        destuser = 0x93b8c08 "resource"
        pass = 0x93aa12b "debian"
        master_user = 0x0
        key = 0x0
        value = <value optimized out>
        ssl_flags = 0
        reply = <value optimized out>
        port = 143
        proxy_timeout_msecs = 0
        proxy = true
        temp = false
        nologin = false
        authz_failure = false
#5  0x0804d3a4 in sasl_callback (_client=0x93b5060,
reply=SASL_SERVER_REPLY_SUCCESS, data=0x0,
    args=0x3a3a3a3a) at client-authenticate.c:283
        iov = {{iov_base = 0x0, iov_len = 3214132568}, {iov_base =
0x80516fb,
            iov_len = 154837271}, {iov_base = 0x0, iov_len = 131}}
        msg = <value optimized out>
        nodelay = <value optimized out>
        __PRETTY_FUNCTION__ = "sasl_callback"
#6  0x0805116f in call_client_callback (client=0x0, reply=976894522,
    data=0x3a3a <Address 0x3a3a out of bounds>, args=0x93aa13c) at
sasl-server.c:36
        sasl_callback = 0x804d250 <sasl_callback>
        __PRETTY_FUNCTION__ = "call_client_callback"
#7  0x080568ab in auth_client_input_ok (conn=0x93baf28,
    args=0x93b4082 "1\tuser=resource\tproxy\tpass=debian") at
auth-server-request.c:204
        list = 0x0
        data_base64 = 0x0
        request = 0x93b8b40
        id = 134650364
#8  0x08055825 in auth_client_input_line (conn=0x93baf28) at
auth-server-connection.c:136
No locals.
#9  auth_client_input (conn=0x93baf28) at auth-server-connection.c:195
        _data_stack_cur_id = 3
        line = 0x93b4082 "1\tuser=resource\tproxy\tpass=debian"
#10 0x0805c566 in io_loop_handler_run (ioloop=0x93b2288) at
ioloop-epoll.c:208
        ctx = 0x93b2308
        event = <value optimized out>
        list = 0x93bb330
        io = 0x93bb308
        tv = {tv_sec = 29, tv_usec = 999917}
        t_id = 2
        msecs = <value optimized out>
        ret = 1
---Type <return> to continue, or q <return> to quit---
        i = 0
        j = 0
        call = <value optimized out>
#11 0x0805b9e0 in io_loop_run (ioloop=0x93b2288) at ioloop.c:335
No locals.
#12 0x080503a9 in main (argc=2, argv=0xbf93c7d4, envp=0xbf93c7e0) at
main.c:494
        group_name = 0xb75675c0 "\277\001"
        remote_ip = {family = 57200, u = {ip6 = {__in6_u = {
                __u6_addr8 = "\bA\a\b(Ǔ\277\211o\006\b\004CP\267",
__u6_addr16 = {16648, 2055,
                  50984, 49043, 28553, 2054, 17156, 46928}, __u6_addr32 =
{134693128, 3214133032,
                  134639497, 3075490564}}}, ip4 = {s_addr = 134693128}}}
        local_ip = {family = 50964, u = {ip6 = {__in6_u = {
                __u6_addr8 = "@2q\267\bA\a\b\370Ɠ\277P\244\004\b",
__u6_addr16 = {12864, 46961,
                  16648, 2055, 50936, 49043, 42064, 2052}, __u6_addr32 =
{3077648960, 134693128,
                  3214132984, 134521936}}}, ip4 = {s_addr = 3077648960}}}
        remote_port = 3214133032
        local_port = 976894522
        max_fds = 0
        proxy = 0x0
        client = <value optimized out>
        i = <value optimized out>
        fd = -1080834092
        master_fd = -1
        ssl = 192



*dovecot -n*
# 1.2.15: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.32-3-686 i686 Debian squeeze/sid
log_timestamp: %Y-%m-%d %H:%M:%S
protocols: imap managesieve
listen(default): *
listen(imap): *
listen(managesieve): *:2000
ssl: no
disable_plaintext_auth: no
login_dir: /var/run/dovecot/login
login_executable(default): /usr/lib/dovecot/imap-login -D
login_executable(imap): /usr/lib/dovecot/imap-login -D
login_executable(managesieve): /usr/lib/dovecot/managesieve-login
mail_privileged_group: mail
mail_location: maildir:~/Maildir
mmap_disable: yes
mail_nfs_storage: yes
mail_nfs_index: yes
mbox_write_locks: fcntl dotlock
mail_executable(default): /usr/lib/dovecot/imap
mail_executable(imap): /usr/lib/dovecot/imap
mail_executable(managesieve): /usr/lib/dovecot/managesieve
mail_plugins(default): quota
mail_plugins(imap): quota
mail_plugins(managesieve):
mail_plugin_dir(default): /usr/lib/dovecot/modules/imap
mail_plugin_dir(imap): /usr/lib/dovecot/modules/imap
mail_plugin_dir(managesieve): /usr/lib/dovecot/modules/managesieve
managesieve_logout_format(default): bytes=%i/%o
managesieve_logout_format(imap): bytes=%i/%o
managesieve_logout_format(managesieve): bytes=%i%o
lda:
  postmaster_address: sogone at djb.hell.qua
  mail_plugins: quota sieve
  deliver_log_format: msgid=%m: %$
  sendmail_path: /usr/lib/sendmail
  log_path: /var/log/ldaone
  info_log_path: /var/log/ldatwo
  debug: yes
auth default:
  debug: yes
  passdb:
    driver: ldap
    args: /etc/dovecot/dovecot-ldap.deny
    deny: yes
  passdb:
    driver: ldap
    args: /etc/dovecot/dovecot-ldap.pass
  userdb:
    driver: prefetch
  userdb:
    driver: ldap
    args: /etc/dovecot/dovecot-ldap.user
  socket:
    type: listen
    master:
      path: /var/run/dovecot/auth-master
      mode: 438
plugin:
  quota: maildir
  sieve: ~/.dovecot.sieve
  sieve_dir: ~/sieve


More information about the dovecot mailing list