Hello,

the call out is done by the first exim instance because it has to accept the incoming mail.

   outside -> exim1
                \> child handling the incoming connection
                     \acl> -> calling to mail server of relayed domain
                     \transport> -> pipe to spamd/amavisd -> exim2

It is a problem of exim 4.82. The child daemon dies using the minimal configuration of Heiko Schlittermann and "sending" an email to [email protected] (this is not a problem calling out to mail.is.mpg.de). I think, the call out code was changed so that it uses the routers and transports of the configuration file. When I'm using the configuration file

spool_directory = "/var/spool/exim_2525"
pid_file_path = "/var/spool/exim_2525/exim.pid"
log_file_path = /var/log/exim/%s_2525log
daemon_smtp_port = 2525

    acl_smtp_rcpt = accept verify = recipient/callout

    begin routers

        dns:
            driver = dnslookup
            transport = vscan
            more = no

    begin transports

        vscan:
           driver = smtp
           port = 10024
           hosts_avoid_esmtp = localhost
           hosts = localhost
           hosts_override
           allow_localhost

all recipients are accepted. In the debugging output of the calling out routine I see

...
17:09:46 30319 check verify = recipient/callout
17:09:46 30319 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
17:09:46 30319 Verifying [email protected]
17:09:46 30319 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
17:09:46 30319 Considering [email protected]
17:09:46 30319 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
17:09:46 30319 routing [email protected]
17:09:46 30319 --------> dns router <--------
17:09:46 30319 local_part=info domain=exim.org
17:09:46 30319 calling dns router
17:09:46 30319 dns router called for [email protected]
17:09:46 30319   domain = exim.org
17:09:47 30319 DNS lookup of exim.org (MX) succeeded
17:09:47 30319 DNS lookup of tahini.csx.cam.ac.uk (A) succeeded
17:09:47 30319 DNS lookup of boom.graemef.net (A) succeeded
17:09:47 30319 Actual local interface address is 127.0.0.1 (lo)
17:09:47 30319 Actual local interface address is 127.0.0.2 (lo)
17:09:47 30319 Actual local interface address is 134.105.242.11 (eth0)
17:09:47 30319 fully qualified name = exim.org
17:09:47 30319 host_find_bydns yield = HOST_FOUND (2); returned hosts:
17:09:47 30319   tahini.csx.cam.ac.uk 131.111.8.192 MX=5
17:09:47 30319   boom.graemef.net 82.113.154.29 MX=15
17:09:47 30319 set transport vscan
17:09:47 30319 queued for vscan transport: local_part = info
17:09:47 30319 domain = exim.org
17:09:47 30319   errors_to=NULL
17:09:47 30319   domain_data=NULL localpart_data=NULL
17:09:47 30319 routed by dns router
17:09:47 30319   envelope to: [email protected]
17:09:47 30319   transport: vscan
17:09:47 30319   host tahini.csx.cam.ac.uk [131.111.8.192] MX=5
17:09:47 30319   host boom.graemef.net [82.113.154.29] MX=15
17:09:47 30319 DNS lookup of localhost (A) succeeded
17:09:47 30319 local host found for non-MX address
17:09:47 30319 fully qualified name = localhost
17:09:47 30319 localhost 127.0.0.1 mx=-1 sort=-82
17:09:47 30319 Attempting full verification using callout
17:09:47 30319 locking /var/spool/exim_2525/db/callout.lockfile
17:09:47 30319 locked /var/spool/exim_2525/db/callout.lockfile
17:09:47 30319 EXIM_DBOPEN(/var/spool/exim_2525/db/callout)
17:09:47 30319 returned from EXIM_DBOPEN
17:09:47 30319 opened hints database /var/spool/exim_2525/db/callout: flags=O_RDWR
17:09:47 30319 dbfn_read: key=exim.org
17:09:47 30319 callout cache: found domain record
17:09:47 30319 dbfn_read: [email protected]
17:09:47 30319 callout cache: no address record found
17:09:47 30319 interface=NULL port=10024
17:09:47 30319 Connecting to localhost [127.0.0.1]:10024 ... connected
17:09:47 30319 expanding: $primary_hostname
17:09:47 30319    result: smtp2.is.mpg.de
17:09:47 30319 waiting for data on socket
17:09:47 30319 read response data: size=49
17:09:47 30319   SMTP<< 220 [127.0.0.1] ESMTP amavisd-new service ready
17:09:47 30319 gethostbyname looked up these IP addresses:
17:09:47 30319   name=localhost address=127.0.0.1
17:09:47 30319 127.0.0.1 in hosts_avoid_esmtp? yes (matched "localhost")
17:09:47 30319 not sending EHLO (host matches hosts_avoid_esmtp)
17:09:47 30319   SMTP>> HELO smtp2.is.mpg.de
17:09:47 30319 waiting for data on socket
17:09:47 30319 read response data: size=17
17:09:47 30319   SMTP<< 250 [127.0.0.1]
17:09:47 30319 127.0.0.1 in hosts_require_tls? no (option unset)
17:09:47 30319 127.0.0.1 in hosts_require_auth? no (option unset)
17:09:47 30319   SMTP>> MAIL FROM:<>
17:09:47 30319 waiting for data on socket
17:09:47 30319 read response data: size=24
17:09:47 30319   SMTP<< 250 2.1.0 Sender <> OK
17:09:47 30319   SMTP>> RCPT TO:<[email protected]>
17:09:47 30319 waiting for data on socket
17:09:47 30319 read response data: size=40
17:09:47 30319   SMTP<< 250 2.1.5 Recipient <[email protected]> OK
17:09:47 30319   SMTP>> QUIT

that the call out is done to the amavis daemon at localhost (that is accepting all recipients). The remote mailers are resolved correctly (tahini.csx.cam.ac.uk, boom.graemef.net) but the call out is done using the vscan transport. I don't know thats happening when the the transport is a pipe. There was no core dumped so that I don't know in which routine the signal was caught. Running exim in debugging mode there are syslog entries like exim[24106] general protection ip:42a645 sp:7fffb6e31030 error:0 in exim-4.82-3[400000+bf000]

running in normal daemon mode there are
exim[16121]: segfault at 1 ip 000000000042a645 sp 00007fff23862d10 error 4 in exim-4.82-3[400000+bf000]
entries.

Best regards,
Franz-Werner Gergen.


--
Franz-Werner Gergen
Max-Planck-Institut fuer Intelligente Systeme, IT Gruppe
Heisenbergstr. 3    70569 Stuttgart
Tel: 0711-689-1861  Fax: 0711-689-1088  Email: [email protected]

--
## List details at https://lists.exim.org/mailman/listinfo/exim-users
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/

Reply via email to