Bind-9.4.0a5 + DLZ results in assertion failure on startup

Edward van der Jagt edward at caret.nl
Thu May 11 08:57:55 UTC 2006


I just tried out the latest Bind release because I wanted the database  
connection
to PostgreSQL. Compiling and running the Bind server (tiny test config)  
goes fine.
However when I insert the dlz configuration into named.conf, whether using  
the
Postgres or MySQL drivers, I get the same assertion error:

11-May-2006 10:32:57.449 starting BIND 9.4.0a5 -c  
/usr/local/etc/named.conf -f -g -d 1
11-May-2006 10:32:57.464 loading configuration from  
'/usr/local/etc/named.conf'
11-May-2006 10:32:57.466 listening on IPv4 interface lo, 127.0.0.1#53
11-May-2006 10:32:57.480 Loading 'test5.it' using driver mysql
11-May-2006 10:32:57.502 command channel listening on 127.0.0.1#953
11-May-2006 10:32:57.503 command channel listening on ::1#953
11-May-2006 10:32:57.503 ignoring config file logging statement due to -g  
option
11-May-2006 10:32:57.504 resolver.c:6659: REQUIRE((((resolver) != ((void  
*)0)) && (((const isc__magic_t *)(resolver))->magic == ((('R') << 24 |  
('e') << 16 | ('s') << 8 | ('!')))))) failed
11-May-2006 10:32:57.520 exiting (due to assertion failure)
Aborted

I've examined the networkdata on the connection to Postgres, but find  
there are no
queries done yet; only a connection is made. So the contents of my  
database, which
I've only inserted some lines for testing, is not at fault.
My guess therefore is that there is some other config error in named.conf  
which makes Bind
abort execution.
I've tried to search through the sources to find what is wrong but  
couldn't find any
clear indication yet.

Anyone got any ideas what is wrong ?

Thanks.

My named.conf :
------------------------------------------
options {
directory "/usr/local/var/lib/named";
dump-file "/usr/local/var/log/named_dump.db";
statistics-file "/usr/local/var/log/named.stats";
listen-on-v6 { none; };
listen-on { 127.0.0.1; };
notify no;
};

view "internal" {
   match-clients { 127.0.0.1; };
   recursion yes;

   # dlz configuration will be inserted here

   zone "." in {
   type hint;
   file "root.hint";
   };

   zone "localhost" in {
   type master;
   file "localhost.zone";
           allow-update { none; };
   };

   zone "0.0.127.in-addr.arpa" in {
   type master;
   file "127.0.0.zone";
           allow-update { none; };
   };

};

------------------------------------------

And my dlz configurations are these: (copied from bind-dlz sourceforge  
page)
------------------------------------------
dlz "test4.it" {
    database "postgres 1
    {host=127.0.0.1 port=5432 dbname=bind user=edward}
    {select zone from dns_records where zone = '%zone%'}
    {select ttl, type, mx_priority, case when lower(type)='txt' then '\"'
          || data || '\"' when lower(type)='soa' then data || ' ' ||  
resp_person || ' '
          || serial || ' ' || refresh || ' ' || retry || ' ' || expire || '  
' || minimum
          else data end from dns_records where zone = '%zone%' and host =  
'%record%'}";
};
------------------------------------------
dlz "test5.it" {
    database "mysql
    {host=localhost dbname=dns_data ssl=tRue}
    {select zone from dns_records where zone = '%zone%'}
    {select ttl, type, mx_priority, case when lower(type)='txt' then  
concat('\"', data, '\"')
         when lower(type) = 'soa' then concat_ws(' ', data, resp_person,  
serial, refresh, retry, expire, minimum)
         else data end from dns_records where zone = '%zone%' and host =  
'%record%'}";
};
------------------------------------------



-- 

   Edward



More information about the bind-users mailing list