Re: centos 7 dovecot 2.2.10 segmentation fault on devcot/auth using ldap driver in userdb

2015-06-18 Thread andrea lisci
The crash seems involved with bad handled AD response

DSID-0C090627,.comment:.In.order.to.perform.this.operation.a.successful.bind.must.be.completed.on.the.connection.

when this occurs dovecot got a segmentation fault

this bug probably has been corrected (changelogs aren't clear) because this
response is well handled on  dovecot-2.2.18-2.fc21.x86_64

2015-06-17 23:03 GMT+02:00 Andrea Lisci :

> dovecot 2.2.10 packaged by centos 7
>
> configuring ldap driver on userdb cause imap crash during login
>
> userdb {
>   driver = ldap
>   args = /etc/dovecot/dovecot-ldap-userdb.conf3.ext
>
>   # Default fields can be used to specify defaults that LDAP may override
>   #default_fields = home=/home/virtual/%u
> }
>
>
> #ldap conf
> ---
> hosts = myDChost
> base = dc=company,dc=testdomain,dc=dom
> ldap_version = 3
> auth_bind = yes
> auth_bind_userdn = windowsdomain\%u
> user_filter = (&(objectclass=person)(|(mail=%u)(sAMAccountName=%n)))
> user_attrs =
> =uid=vmail,=gid=vmail,=home=/users/vmail/
> maildomain.com/%n,=mail_location=maildir:/users/vmail/maildomain.com/%n/Maildir
> tls = yes
> tls_require_cert = never
>
>
> dovecot -n
> ---
> # 2.2.10: /etc/dovecot/dovecot.conf
> # OS: Linux 3.10.0-229.4.2.el7.x86_64 x86_64 CentOS Linux release
> 7.1.1503 (Core)  xfs
> auth_debug = yes
> auth_mechanisms = plain login
> listen = *
> mail_debug = yes
> mail_location = maildir:/users/vmail/maildomain.com/%n/Maildir
> managesieve_notify_capability = mailto
> managesieve_sieve_capability = fileinto reject envelope
> encoded-character vacation subaddress comparator-i;ascii-numeric
> relational regex imap4flags copy include variables body enotify
> environment mailbox date ihave
> mbox_write_locks = fcntl
> namespace inbox {
>   inbox = yes
>   location =
>   mailbox Drafts {
> special_use = \Drafts
>   }
>   mailbox Junk {
> special_use = \Junk
>   }
>   mailbox Sent {
> special_use = \Sent
>   }
>   mailbox "Sent Messages" {
> special_use = \Sent
>   }
>   mailbox Trash {
> special_use = \Trash
>   }
>   prefix =
> }
> passdb {
>   args = /etc/dovecot/dovecot-ldap.conf2.ext
>   driver = ldap
> }
> plugin {
>   sieve = ~/.dovecot.sieve
>   sieve_dir = ~/sieve
> }
> service auth {
>   unix_listener /var/spool/postfix/private/auth {
> group = postfix
> mode = 0660
> user = postfix
>   }
> }
> service lmtp {
>   unix_listener /var/spool/postfix/private/dovecot-lmtp {
> group = postfix
> mode = 0600
> user = postfix
>   }
> }
> ssl = required
> ssl_cert =  ssl_key =  userdb {
>   args = /etc/dovecot/dovecot-ldap-userdb.conf3.ext
>   driver = ldap
> }
> protocol lmtp {
>   mail_plugins = " quota sieve"
>   passdb {
> args = password=foo
> driver = static
>   }
> }
> protocol lda {
>   mail_plugins = " sieve"
> }
>
> core dump
> -
> gdb /usr/libexec/dovecot/auth /var/core/25122
> GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-64.el7
> Copyright (C) 2013 Free Software Foundation, Inc.
> License GPLv3+: GNU GPL version 3 or later
> 
> 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 "x86_64-redhat-linux-gnu".
> For bug reporting instructions, please see:
> ...
> Reading symbols from /usr/libexec/dovecot/auth...Reading symbols from
> /usr/lib/debug/usr/libexec/dovecot/auth.debug...done.
> done.
> [New LWP 25122]
> [Thread debugging using libthread_db enabled]
> Using host libthread_db library "/lib64/libthread_db.so.1".
> Missing separate debuginfo for /usr/lib64/libnssckbi.so
> Try: yum --enablerepo='*debug*' install
> /usr/lib/debug/.build-id/1e/a2171aee7143d971607597b24f2a97e9276cbb.debug
> Core was generated by `dovecot/auth'.
> Program terminated with signal 11, Segmentation fault.
> #0  db_ldap_handle_request_result (res=0x0, idx=,
> request=, conn=) at db-ldap.c:819
> 819request->callback(conn, request, res->msg);
> (gdb) bt full
> #0  db_ldap_handle_request_result (res=0x0, idx=,
> request=, conn=) at db-ldap.c:819
> _data_stack_cur_id = 3
> srequest = 
> ret = 
> final_result = 
> named_res = 
> #1  db_ldap_handle_result (res=, conn=) at
> db-ldap.c:886
> auth_request = 0x7f3704fa2620
> idx = 
> msgid = 
> #2  ldap_input (conn=) at db-ldap.c:918
> timeout = {tv_sec = 0, tv_usec = 0}
> res = 0x7f3704b1b530
> msg = 0x7f370489fcb0
> prev_reply_diff = 
> ret = 
> #3  0x7f3702a19a47 in io_loop_call_io (io=0x7f37046dbad0) at
> ioloop.c:388
> ioloop = 0x7f37046bd7b0
> t_id = 2
> #4  0x7f3702a1a8cf in io_loop_handler_run
> (ioloop=ioloop@entry=0x7f37046bd7b0) at ioloop-epoll.c:220
> ctx = 0x7f37046c5450
> events = 
> list = 0x7f3704998170
> io = 
>  

Re: centos 7 dovecot 2.2.10 segmentation fault on devcot/auth using ldap driver in userdb

2015-06-17 Thread Patrick Ben Koetter
* Andrea Lisci :
> dovecot 2.2.10 packaged by centos 7
> 
> configuring ldap driver on userdb cause imap crash during login

SELinux enabled?

p@rick

-- 
[*] sys4 AG
 
https://sys4.de, +49 (89) 30 90 46 64
Franziskanerstraße 15, 81669 München
 
Sitz der Gesellschaft: München, Amtsgericht München: HRB 199263
Vorstand: Patrick Ben Koetter, Marc Schiffbauer
Aufsichtsratsvorsitzender: Florian Kirstein
 


centos 7 dovecot 2.2.10 segmentation fault on devcot/auth using ldap driver in userdb

2015-06-17 Thread Andrea Lisci
dovecot 2.2.10 packaged by centos 7

configuring ldap driver on userdb cause imap crash during login

userdb {
  driver = ldap
  args = /etc/dovecot/dovecot-ldap-userdb.conf3.ext
 
  # Default fields can be used to specify defaults that LDAP may override
  #default_fields = home=/home/virtual/%u
}


#ldap conf
---
hosts = myDChost
base = dc=company,dc=testdomain,dc=dom
ldap_version = 3
auth_bind = yes
auth_bind_userdn = windowsdomain\%u
user_filter = (&(objectclass=person)(|(mail=%u)(sAMAccountName=%n)))
user_attrs =
=uid=vmail,=gid=vmail,=home=/users/vmail/maildomain.com/%n,=mail_location=maildir:/users/vmail/maildomain.com/%n/Maildir
tls = yes
tls_require_cert = never


dovecot -n
---
# 2.2.10: /etc/dovecot/dovecot.conf
# OS: Linux 3.10.0-229.4.2.el7.x86_64 x86_64 CentOS Linux release
7.1.1503 (Core)  xfs
auth_debug = yes
auth_mechanisms = plain login
listen = *
mail_debug = yes
mail_location = maildir:/users/vmail/maildomain.com/%n/Maildir
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope
encoded-character vacation subaddress comparator-i;ascii-numeric
relational regex imap4flags copy include variables body enotify
environment mailbox date ihave
mbox_write_locks = fcntl
namespace inbox {
  inbox = yes
  location =
  mailbox Drafts {
special_use = \Drafts
  }
  mailbox Junk {
special_use = \Junk
  }
  mailbox Sent {
special_use = \Sent
  }
  mailbox "Sent Messages" {
special_use = \Sent
  }
  mailbox Trash {
special_use = \Trash
  }
  prefix =
}
passdb {
  args = /etc/dovecot/dovecot-ldap.conf2.ext
  driver = ldap
}
plugin {
  sieve = ~/.dovecot.sieve
  sieve_dir = ~/sieve
}
service auth {
  unix_listener /var/spool/postfix/private/auth {
group = postfix
mode = 0660
user = postfix
  }
}
service lmtp {
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
group = postfix
mode = 0600
user = postfix
  }
}
ssl = required
ssl_cert = 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 "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
...
Reading symbols from /usr/libexec/dovecot/auth...Reading symbols from
/usr/lib/debug/usr/libexec/dovecot/auth.debug...done.
done.
[New LWP 25122]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Missing separate debuginfo for /usr/lib64/libnssckbi.so
Try: yum --enablerepo='*debug*' install
/usr/lib/debug/.build-id/1e/a2171aee7143d971607597b24f2a97e9276cbb.debug
Core was generated by `dovecot/auth'.
Program terminated with signal 11, Segmentation fault.
#0  db_ldap_handle_request_result (res=0x0, idx=,
request=, conn=) at db-ldap.c:819
819request->callback(conn, request, res->msg);
(gdb) bt full
#0  db_ldap_handle_request_result (res=0x0, idx=,
request=, conn=) at db-ldap.c:819
_data_stack_cur_id = 3
srequest = 
ret = 
final_result = 
named_res = 
#1  db_ldap_handle_result (res=, conn=) at
db-ldap.c:886
auth_request = 0x7f3704fa2620
idx = 
msgid = 
#2  ldap_input (conn=) at db-ldap.c:918
timeout = {tv_sec = 0, tv_usec = 0}
res = 0x7f3704b1b530
msg = 0x7f370489fcb0
prev_reply_diff = 
ret = 
#3  0x7f3702a19a47 in io_loop_call_io (io=0x7f37046dbad0) at
ioloop.c:388
ioloop = 0x7f37046bd7b0
t_id = 2
#4  0x7f3702a1a8cf in io_loop_handler_run
(ioloop=ioloop@entry=0x7f37046bd7b0) at ioloop-epoll.c:220
ctx = 0x7f37046c5450
events = 
list = 0x7f3704998170
io = 
tv = {tv_sec = 0, tv_usec = 999118}
events_count = 
msecs = 
ret = 1
i = 0
call = 
__FUNCTION__ = "io_loop_handler_run"
#5  0x7f3702a19598 in io_loop_run (ioloop=0x7f37046bd7b0) at
ioloop.c:412
__FUNCTION__ = "io_loop_run"
#6  0x7f37029c69e3 in master_service_run (service=0x7f37046bd640,
callback=) at master-service.c:571
No locals.
#7  0x7f3702ea77f1 in main (argc=1, argv=0x7f37046bd390) at main.c:393
c =