[Exim] Exim 4.04 & SMTP AUTH with PAM

Page principale
Supprimer ce message
Répondre à ce message
Auteur: William Craven
Date:  
À: exim-users
CC: denis.laplante
Sujet: [Exim] Exim 4.04 & SMTP AUTH with PAM
We had an incident today when one of our users was attempting to SMTP
authenticate against our Exim 4.04 server causing our system to run out
of memory.

When we narrowed the problem, we discovered that the Exim SMTP process
that was attempting to authenticate our user was generating numerous
brk() system calls. It seems, that the pam_converse() function, calling
string_copy_malloc() is running away grabbing memory. See gdb output
below.

At the moment I cannot isolate what is causing this problem - whether it
is the users password or authentication method; our system is only
accepts plaintext with both PLAIN and LOGIN prompts. According, to our
logs we are succesfully accepting both PLAIN and LOGIN prompts.

The user's client is an Eudora 4.3.2 running on a Mac operating MacOS
9.0.4

Any suggestions or pointers.......

Wm.

# /usr/local/bin/gdb /usr/lib/sendmail 26127
GDB is free software and you are welcome to distribute copies of it
under certain conditions; type "show copying" to see the conditions.
There is absolutely no warranty for GDB; type "show warranty" for
details.
GDB 4.16 (sparc-sun-solaris2.4), Copyright 1996 Free Software
Foundation, Inc...

/var/tmp/26127: No such file or directory.
Attaching to program `/usr/lib/sendmail', process 26127
Reading symbols from /usr/lib/libresolv.so.2...done.
Reading symbols from /usr/lib/libsocket.so.1...done.
Reading symbols from /usr/lib/libnsl.so.1...done.
Reading symbols from /usr/lib/libkstat.so.1...done.
Reading symbols from /usr/lib/libpam.so.1...done.
Reading symbols from /usr/lib/libdl.so.1...done.
Reading symbols from /usr/lib/libldap.so.4...done.
Reading symbols from /usr/lib/libc.so.1...done.
Reading symbols from /usr/lib/libmp.so.2...done.
Reading symbols from
/usr/platform/SUNW,Ultra-5_10/lib/libc_psr.so.1...done.
Reading symbols from /usr/lib/nss_files.so.1...done.
Reading symbols from /usr/lib/security/pam_unix.so.1...done.
Reading symbols from /usr/lib/libcmd.so.1...done.
0xff1188ec in _brk_unlocked ()
(gdb) bt
#0  0xff1188ec in _brk_unlocked ()
#1  0xff113468 in _sbrk_unlocked ()
#2  0xff1133d8 in _sbrk ()
#3  0xff0c1ec8 in _morecore ()
#4  0xff0c1734 in _malloc_unlocked ()
#5  0xff0c1494 in _smalloc ()
#6  0xff0c1520 in malloc ()
#7  0x4f7b8 in store_malloc_3 ()
#8  0x50114 in string_copy_malloc ()
#9  0x6aac0 in pam_converse ()
#10 0xff2e4f80 in __pam_input_output ()
#11 0xff2e2240 in pam_get_user ()
#12 0xff054bbc in pam_sm_authenticate ()
#13 0xff2e2620 in pam_authenticate ()
#14 0x6abc0 in auth_call_pam ()
#15 0x287ac in eval_condition ()
#16 0x29bb8 in expand_string_internal ()
#17 0x2b704 in expand_string ()
#18 0x6c4f4 in auth_plaintext_server ()
#19 0x4addc in smtp_setup_msg ()
#20 0x158dc in handle_smtp_call ()
#21 0x16da4 in daemon_go ()
#22 0x261cc in main ()
--
William Craven
ITServices                Email:    William.Craven@???
University of British Columbia        Tel:    +1-604-822-8955
Vancouver, BC, Canada V6T 1Z2        Fax:    +1-604-822-5116