Re: [exim] Recipient Verification Bypassed

Góra strony
Delete this message
Reply to this message
Autor: Rical Jasan
Data:  
Dla: exim-users
Temat: Re: [exim] Recipient Verification Bypassed
On 12/02/2016 12:43 AM, Heiko Schlittermann wrote:
> Rical Jasan <ricaljasan@???> (Fr 02 Dez 2016 09:17:16 CET):
> …
>> > That works, after adding the inet_listener to Dovecot. Thank you!
>> > I did have a problem with "hosts = localhost", though:
>> > 23:50:31 16287 no IP address for host name localhost: skipping
>> >
>> > which resulted in a defer.  I had to use 127.0.0.1 (which then appeared
>> > to incur a DNS lookup on that as though it were a name...).  Exim
>> > /should/ be able to resolve the name "localhost":
>> > $ cat /etc/hosts
>> > 127.0.0.1   localhost localhost.localdomain localhost4
>> > localhost4.localdomain4
>> > ::1         localhost localhost.localdomain localhost6
>> > localhost6.localdomain6
> The nameserver from my resolv.conf resolves 'localhost'. If I'm not
> wrong, Exim uses DNS in the first place to resolve a hostname.

>
> (I'm not sure about a fallback, if there is no answer from the DNS
> server.)
>
> Probably your DNS responds with NXDOMAIN?


D'oh! I really should have been able to troubleshoot that myself. I
had set up reverse zones for the localhost addresses, but was missing
one for localhost itself. Thanks for the pointer.

>>>>> > >> > 2016-11-30 15:25:56 [13335] Exim configuration error in line 855 of
>>>>> > >> > /usr/local/etc/exim.conf:
>>>>> > >> > option "socket" unknown
>>> > > I'm working in it..
>> >
>> > What about a private option for the lmtp transport that told Exim to
>> > follow through with callouts? Something like force_callouts.
> I'm lost. I'm not sure, how to understand it.


I read that as "working on it", like you were working on a feature for
the smtp transport to accept a socket option. Since I have to pay the
price of using a network socket instead of a UNIX socket in order to
trick Exim into actually using the transport to complete recipient
verification callouts, I thought maybe an option for the lmtp transport
to tell Exim to do the callout even though it wasn't smtp might be nice.

I was looking at the sources and thinking do_callout in verify.c seemed
a likely candidate. Somewhere around here, where there appears to be a
short-circuit:

    376 else if (Ustrcmp(addr->transport->driver_name, "smtp") != 0)
    377   log_write(0, LOG_MAIN|LOG_PANIC|LOG_CONFIG_FOR, "callout
transport '%s': %s is non-smtp",


That is probably a better topic for the development list, but I would be
interested in knowing if anyone else was interested, or opposed.


At any rate, recipient verification is finally working! Thank you for
all the help!

Rical