Bug#285371: Still a problem.

Yazz D. Atlas "Yazz D. Atlas" <yazz@230volts.net>, 285371@bugs.debian.org
Mon, 13 Dec 2004 16:34:35 -0800


Well I did the exim4 -bd -d and here is the out put where I see it 
failing ...

# exim4 -bd -d
Exim version 4.34 uid=0 gid=0 pid=20229 D=fbb95cfd
Berkeley DB: Sleepycat Software: Berkeley DB 3.2.9: (May 26, 2004)
Support for: iconv() IPv6 PAM Perl GnuTLS
Lookups: lsearch wildlsearch nwildlsearch iplsearch cdb dbm dbmnz dnsdb 
dsearch ldap ldapdn ldapm mysql nis nis0 passwd pgsql
Authenticators: cram_md5 plaintext spa
Routers: accept dnslookup ipliteral iplookup manualroute queryprogram 
redirect
Transports: appendfile/maildir/mailstore/mbx autoreply lmtp pipe smtp
Fixed never_users: 0
changed uid/gid: forcing real = effective
   uid=0 gid=0 pid=20229
   auxiliary group list: <none>
configuration file is /var/lib/exim4/config.autogenerated
log selectors = 00000ffc 00030400
trusted user
admin user
finduser used cached passwd data for list
finduser used cached passwd data for list
user name "root" extracted from gecos field "root"
originator: uid=0 gid=0 login=root name=root
20229 listening on all interfaces (IPv4) port 25
20229 listening on 127.0.0.1 port 10025
20229 pid written to /var/run/exim4/exim.pid
20229 changed uid/gid: running as a daemon
20229   uid=109 gid=109 pid=20229
20229   auxiliary group list: 1 109
20229 LOG: MAIN
20229   exim 4.34 daemon started: pid=20229, no queue runs, listening 
for SMTPon port 25 (IPv4) [127.0.0.1]:10025
20229 set_process_info: 20229 daemon: no queue runs, listening for SMTP 
on port 25 (IPv4) [127.0.0.1]:10025
20229 daemon running with uid=109 gid=109 euid=109 egid=109
20229 Listening...
20229 Connection request from 66.35.250.245 port 34326
20229 search_tidyup called
20230 sender_fullhost = [66.35.250.245]
20230 sender_rcvhost = [66.35.250.245]
20230 Process 20230 is handling incoming connection from [66.35.250.245]
20230 host in host_lookup? yes (matched "*")
20230 looking up host name for 66.35.250.245
20229 1 SMTP accept process running
20229 Listening...
20230 DNS lookup of 245.250.35.66.in-addr.arpa (PTR) succeeded
20230 IP address lookup yielded exodus.230volts.net
20230 gethostbyname2(af=inet6) returned 4 (NO_DATA)
20230 gethostbyname2 looked up these IP addresses:
20230   name=exodus.230volts.net address=66.35.250.245
20230 checking addresses for exodus.230volts.net
20230   66.35.250.245 OK
20230 sender_fullhost = exodus.230volts.net [66.35.250.245]
20230 sender_rcvhost = exodus.230volts.net ([66.35.250.245])
20230 set_process_info: 20230 handling incoming connection from 
exodus.230volts.net [66.35.250.245]
20230 host in host_reject_connection? no (option unset)
20230 host in sender_unqualified_hosts? no (option unset)
20230 host in recipient_unqualified_hosts? no (option unset)
20230 host in helo_verify_hosts? no (option unset)
20230 host in helo_try_verify_hosts? no (option unset)
20230 host in helo_accept_junk_hosts? no (option unset)
20230 SMTP>> 220 ruroni.230volts.net ESMTP Exim 4.34 Mon, 13 Dec 2004 
15:08:43-0800
20230 Process 20230 is ready for new message
20230 smtp_setup_msg entered
20230 SMTP<< EHLO exodus.230volts.net
20230 sender_fullhost = exodus.230volts.net [66.35.250.245]
20230 sender_rcvhost = exodus.230volts.net ([66.35.250.245])
20230 set_process_info: 20230 handling incoming connection from 
exodus.230volts.net [66.35.250.245]
20230 host in pipelining_advertise_hosts? yes (matched "*")
20230 host in auth_advertise_hosts? yes (matched "*")
20230 host in tls_advertise_hosts? yes (matched "*")
20230 SMTP>> 250-ruroni.230volts.net Hello exodus.230volts.net 
[66.35.250.245]
20230 250-SIZE 10485760
20230 250-EXPN
20230 250-PIPELINING
20230 250-AUTH PLAIN LOGIN CRAM-MD5
20230 250-STARTTLS
20230 250 HELP
20230 SMTP<< STARTTLS
20230 initializing GnuTLS as a server
20230 generating 512 bit RSA key...


That is it. Just hangs there with no output. If I connect again exim4 
just spins off another process and that new process ends up hanging 
also. It keeps the connection open back to the client while it tries to 
generate the /var/spool/exim4/gnutls-params file. Eventually nobody can 
connect.

Since the above debug didn't show me much I thought about doing an 
strace and connecting agaim...

# strace -f -p 20229

--- stuff cut ---

[pid 20347] write(2, "20347 SMTP>> 250-ruroni.230volts"..., 216) = 216
[pid 20347] rt_sigaction(SIGALRM, {0x80a2060, [], 0}, NULL, 8) = 0
[pid 20347] write(5, "250-ruroni.230volts.net Hello ex"..., 167) = 167
[pid 20347] alarm(300)                  = 0
[pid 20347] read(6, "STARTTLS\r\n", 8192) = 10
[pid 20347] alarm(0)                    = 300
[pid 20347] rt_sigaction(SIGALRM, {0x806bc40, [], 0}, NULL, 8) = 0
[pid 20347] getpid()                    = 20347
[pid 20347] write(2, "20347 SMTP<< STARTTLS\n", 22) = 22
[pid 20347] getpid()                    = 20347
[pid 20347] write(2, "20347 initializing GnuTLS as a s"..., 38) = 38
[pid 20347] brk(0)                      = 0x812d000
[pid 20347] brk(0x814e000)              = 0x814e000
[pid 20347] open("/var/spool/exim4/gnutls-params", O_RDONLY|O_LARGEFILE) 
= -1 ENOENT (No such file or directory)
[pid 20347] getpid()                    = 20347
[pid 20347] write(2, "20347 generating 512 bit RSA key"..., 36) = 36
[pid 20347] getpid()                    = 20347
[pid 20347] access("/dev/random", R_OK) = 0
[pid 20347] access("/dev/urandom", R_OK) = 0
[pid 20347] open("/dev/random", O_RDONLY) = 3
[pid 20347] select(4, [3], NULL, NULL, {3, 0}) = 0 (Timeout)
[pid 20347] select(4, [3], NULL, NULL, {3, 0}) = 0 (Timeout)
[pid 20347] select(4, [3], NULL, NULL, {3, 0}) = 0 (Timeout)
[pid 20347] select(4, [3], NULL, NULL, {3, 0}) = 0 (Timeout)
[pid 20347] select(4, [3], NULL, NULL, {3, 0}) = 0 (Timeout)

And that just keeps on going like that... Exim never does generate the 
correct /var/spool/exim4/gnutls-params file for me.

Is there a way to generate this by hand? If I could just generate it 
correctly  then I could have it run when /etc/cron.daily/exim4-base is 
called.

I've rebooted with kernel-image-2.6.9-1-686-smp

image=/vmlinuz
         label=Linux
         initrd=/initrd.img
         append="devfs=nomount"
         read-only

I also have udev_0.048-2_i386.deb installed and it start at reboot.

Not sure what else I can do right now. Any more ideas would be great.

   Yazz