Error: dns_rdata_fromtext: buffer-0x413fe440:1: near 'www': bad dotted quad

Todd Lyons <[email protected]>
Newsgroups gmane.network.dns.bind9.dlz
Organization Ivenue.com
Message-ID <[email protected]>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Problem Summary:
I'm getting this error when I do a host lookup:
dns_rdata_fromtext: buffer-0x413fe440:1: near 'www': bad dotted quad
1. Googling shows that it's receiving text where it expected a dotted
quad answer.
2. I don't see _where_ it is expecting the data to be unless I
have my host and data fields reversed...
3. Or the it's complaining that it isn't returning any NS fields.
Setting the host to @ allows it to find them, but then it complains
about them too with:
dns_rdata_fromtext: buffer-0x413fe090:1: near 'ns1.ivenue.com.': extra input text


Detail:
I have this dns server configured not to be recursive, and have
commented out the hints, so it can only do local lookups.

Here is my test data for my zone 'mrball.net', along with the full query
to get all of it (line wrapping turned off for pastes) :

mysql> SELECT '86400' AS ttl,domain_record_type.type,domain_record.name AS host,
    ->         case when lower(domain_record_type.type) = 'mx' then domain_record.value end AS mx_priority, 
    ->         case when lower(domain_record_type.type) != 'mx' then domain_record.value end AS data, 
    ->         'ns1.ivenue.com' AS primary_ns, 'hostmaster.ivenue.com' AS resp_person, 
    ->         2008021400 AS serial, 36000 AS refresh, 1800 AS retry, 3600000 AS expire, 86400 AS minimum 
    ->         FROM domain_record,domain,domain_record_type 
    ->         WHERE domain.name='mrball.net' AND domain_record_type.id=domain_record.type_id;
+-------+--------+------+-------------+-----------------+----------------+-----------------------+------------+---------+-------+---------+---------+
| ttl   | type   | host | mx_priority | data            | primary_ns     | resp_person           | serial     | refresh | retry | expire  | minimum |
+-------+--------+------+-------------+-----------------+----------------+-----------------------+------------+---------+-------+---------+---------+
| 86400 | A      | www  | NULL        | 22.22.22.22     | ns1.ivenue.com | hostmaster.ivenue.com | 2008021400 |   36000 |  1800 | 3600000 |   86400 | 
| 86400 | A      | mail | NULL        | 22.22.22.22     | ns1.ivenue.com | hostmaster.ivenue.com | 2008021400 |   36000 |  1800 | 3600000 |   86400 | 
| 86400 | NS     | @    | NULL        | ns1.ivenue.com. | ns1.ivenue.com | hostmaster.ivenue.com | 2008021400 |   36000 |  1800 | 3600000 |   86400 | 
| 86400 | NS     | @    | NULL        | ns2.ivenue.com. | ns1.ivenue.com | hostmaster.ivenue.com | 2008021400 |   36000 |  1800 | 3600000 |   86400 | 
| 86400 | MX     | mail | 10          | NULL            | ns1.ivenue.com | hostmaster.ivenue.com | 2008021400 |   36000 |  1800 | 3600000 |   86400 | 
| 86400 | CNAME  | tp   | NULL        | www             | ns1.ivenue.com | hostmaster.ivenue.com | 2008021400 |   36000 |  1800 | 3600000 |   86400 | 
+-------+--------+------+-------------+-----------------+----------------+-----------------------+------------+---------+-------+---------+---------+
6 rows in set (0.00 sec)

I don't have any SOA records because it returns the SOA info for every
lookup (argv[4]).  Unless I'm misreading, I avoid needing the SOA
specific lines because I return that SOA info on every lookup with the
big benefit being that it saves me an additional lookup against the
database.

When I do a 'host www.mrball.net', I see the dns_rdata_fromtext error in
the logs.  The initial queries my database receives are:

080214  8:11:49      14 Query       SELECT name AS zone FROM domain WHERE name = 'www.mrball.net'
                     14 Query       SELECT name AS zone FROM domain WHERE name = 'mrball.net'

At this point, it knows it is authoritative for the zone.  Then it does
the 4 long queries as per the dlz config (below), using:
  domain_record.name="BLAH"'
looking for 'www', '*', '@', then '*', in that order.

The errors that occur as a result of the lookups with the data above are:
Feb 14 09:01:25 ivdns52 named[13993]: dns_rdata_fromtext: buffer-0x413fe440:1: near 'www': bad dotted quad
Feb 14 09:01:25 ivdns52 named[13993]: dns_sdlz_putrr returned error. Error code was: bad dotted quad
Feb 14 09:01:25 ivdns52 named[13993]: dns_rdata_fromtext: buffer-0x413fe090:1: near 'ns1.ivenue.com.': extra input text
Feb 14 09:01:25 ivdns52 named[13993]: dns_sdlz_putrr returned error. Error code was: extra input text

My dlz config is the same as yesterday's mail post, but I'll post it
here again:
dlz "Mysql zone" {
   database "mysql
   {host=127.0.0.1 user=root dbname=ivenue ssl=false}
   {SELECT name AS zone FROM domain WHERE name = '%zone%'}
   {SELECT '86400' AS ttl,domain_record_type.type,domain_record.name AS host,
        case when lower(domain_record_type.type) = 'mx' then domain_record.value end AS mx_priority,
        case when lower(domain_record_type.type) != 'mx' then domain_record.value end AS data,
        'ns1.ivenue.com' AS primary_ns, 'hostmaster.ivenue.com' AS resp_person,
        2008021400 AS serial, 36000 AS refresh, 1800 AS retry, 3600000 AS expire, 86400 AS minimum
        FROM domain_record,domain,domain_record_type
        WHERE domain.name='%zone%' AND domain_record_type.id=domain_record.type_id
            AND domain_record.name='%record%'}";
};

(Extra note: My searches do use indexes completely as evidenced by
'explain' on the query.)

Does anyone see anything wrong with the data?  With the queries?  With
anything?  I can post the table schemas if anybody thinks it is worth
seeing that.  It's very close to working, there is just some mundane
detail that is causing me problems that I've not yet been able to
locate.

TIA!
- -- 
Regards...		Todd
Exponential problems need logarithmic solutions.         --Eddy Dreger
Linux kernel 2.6.22-14-generic   7 users,  load average: 0.00, 0.03, 0.00
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFHtHaFY2VBGxIDMLwRAuo+AJ4nA6HjLj63D3w/GHhXcy+EWo7umwCfcmqb
c7y0JTJrb23Aue4US2QPOoQ=
=uVf7
-----END PGP SIGNATURE-----

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.