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

Rob Butler <[email protected]>
Newsgroups gmane.network.dns.bind9.dlz
Message-ID <[email protected]>
You shouldn't return the host in the lookup query, only in the all nodes query.  Just remove that column from your result set.

----- Original Message ----
From: Todd Lyons <[email protected]>
To: [email protected]
Sent: Thursday, February 14, 2008 12:12:37 PM
Subject: [Bind-dlz-testers] Error: dns_rdata_fromtext: buffer-0x413fe440:1: near 'www': bad dotted quad


-----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/
_______________________________________________
Bind-dlz-testers 
mailing 
list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bind-dlz-testers





      ____________________________________________________________________________________
Looking for last minute shopping deals?  
Find them fast with Yahoo! Search.  http://tools.search.yahoo.com/newsearch/category.php?category=shopping

-------------------------------------------------------------------------
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.