Re: qpsmtpd-async weird ParaDNS lookup problem

[email protected] (David Favor) Fri, 18 Jul 2014 09:07:50 -0500
Newsgroups perl.qpsmtpd
Message-ID <[email protected]>
Ed McLain wrote:
> If using dig you can either do:
> 
> dig -x 127.0.0.1
> 
> OR
> 
> dig 1.0.0.127.in-addr.arpa PTR
> 
> That is going to query the primary name server listed in /etc/resolv.conf
> - so unless it has a reverse zone setup for the l27.x block you will not
> get an answer back or you will get an answer like the one you have below.

Same data on for both commands on both servers...

biz-net2# dig -x 127.0.0.1 | egrep '^[a-z0-9]'
1.0.0.127.in-addr.arpa.	604800	IN	PTR	localhost.
127.in-addr.arpa.	604800	IN	NS	localhost.
localhost.		604800	IN	A	127.0.0.1
localhost.		604800	IN	AAAA	::1

biz-net2# dig 1.0.0.127.in-addr.arpa PTR | egrep '^[a-z0-9]'
1.0.0.127.in-addr.arpa.	604800	IN	PTR	localhost.
127.in-addr.arpa.	604800	IN	NS	localhost.
localhost.		604800	IN	A	127.0.0.1
localhost.		604800	IN	AAAA	::1

> What¹s the actual problem you are trying to solve though?

Problem is ParaDNS is failing on all lookups for this server.

export PARADNS_DEBUG=100

perl ./qpsmtpd-async -j 1 -v --user root --port 3000 --config-port=23000
16024 Loaded Qpsmtpd::Plugin::logging::warn=HASH(0x1401988)
16024 in config(plugins)
16024 config(plugins): hook returned (0, )
16024 trying to get config for plugins
16024 setting _config_cache for plugins to [resolve_sender_host dont_require_anglebrackets rcpt_simple [email protected] [email protected] [email protected] [email protected] 
[email protected] [email protected] [email protected] maildir /cluster/clients/ivan-budimir %d/users/%l/Maildir] from get_qmail_config and returning it
16024 in config(plugin_dirs)
16024 config(plugin_dirs) returning () from cache
16024 Loading resolve_sender_host from ./plugins/resolve_sender_host
16024 resolve_sender_host hooking connect
16024 in config(plugin_dirs)
16024 config(plugin_dirs) returning () from cache
16024 Loading dont_require_anglebrackets from ./plugins/dont_require_anglebrackets
16024 dont_require_anglebrackets hooking rcpt_pre
16024 dont_require_anglebrackets hooking mail_pre
16024 in config(plugin_dirs)
16024 config(plugin_dirs) returning () from cache
16024 Loading rcpt_simple [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] from ./plugins/rcpt_simple
16024 rcpt_simple hooking rcpt
16024 in config(plugin_dirs)
16024 config(plugin_dirs) returning () from cache
16024 Loading maildir /cluster/clients/ivan-budimir %d/users/%l/Maildir from ./plugins/maildir
16024 maildir hooking queue
16024 Running as user root, group root
16024 Listening on 3000 with 1 children with poll()
Use of inherited AUTOLOAD for non-method Net::DNS::Resolver::MAX_ID() is deprecated at ./qpsmtpd-async line 157.

... waiting for connection ...

Generate a connection...

swaks -s localhost -p 3000 -t [email protected]

Where -s $host can be anything, as nothing resolves.

... then when connection occurs...

Listen child making a Qpsmtpd::PollServer for 7.
16025 in config(plugins)
16025 config(plugins) returning (resolve_sender_host dont_require_anglebrackets rcpt_simple [email protected] [email protected] [email protected] [email protected] [email protected] 
[email protected] [email protected] maildir /cluster/clients/ivan-budimir %d/users/%l/Maildir) from cache
 >>> 100/2 [16025] dns lookup: Trying to resolve A: 127.0.0.1
 >>> 100/2 [16025] dns lookup: NS Query: 127.0.0.1 (60240)
 >>> DNS failure looking for 127.0.0.1 after 0 secs (looked for 1, got 0)
16025 (connect) running plugin: resolve_sender_host
16025 (connect) resolve_sender_host: DEBUG: ip=127.0.0.1 host=localhost domain=localhost
16025 Plugin resolve_sender_host, hook connect returned DECLINED,
16025 in config(smtpgreeting)
16025 config(smtpgreeting): hook returned (0, )
16025 trying to get config for smtpgreeting
16025 setting _config_cache for smtpgreeting to [Ready!] from get_qmail_config and returning it

Notice the there lines with prepended '>>>' which show ParaDNS failing.