nslookup: handle replies without RRs
authorJo-Philipp Wich <jo@mein.io>
Thu, 27 Jun 2019 15:27:28 +0000 (17:27 +0200)
committerDenys Vlasenko <vda.linux@googlemail.com>
Sun, 27 Oct 2019 16:02:08 +0000 (17:02 +0100)
commit8c3b520d4f937b1d1856898dec5f634b12d9cc36
tree3567d74bdf6f3bacef0468347d932f97babc9349
parentcaf5ee0dd9250a4ca913691bcdc247f8fe814e22
nslookup: handle replies without RRs

Under some circumstances, a DNS reply might contain no resource records,
e.g. when a valid domain is queried that does not have records of the
requested type.

Example with nslookup from BIND dnsutils:

    $ nslookup -q=SRV example.org
    Server: 10.11.12.13
    Address: 10.11.12.13#53

    Non-authoritative answer:
    *** Can't find example.org: No answer

Currently the busybox nslookup applet simply prints nothing after the
"Non-authoritative answer:" line in the same situation.

This change modifies nslookup to either print "Parse error" or "No answer"
diagnostics, depending on the parse_reply() return value.

function                                             old     new   delta
send_queries                                        1676    1711     +35

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
networking/nslookup.c