我从源代码编译 Bind 9(见下文)并使用 MySQL DLZ 设置 Bind9。当我尝试从服务器获取有关缓冲区溢出的任何内容时,我不断收到错误消息。我用谷歌搜索了很多次,但找不到任何关于如何解决这个错误的信息。
配置选项:
root@anacrusis:/opt/bind9/bind-9.9.1-P3# 命名为 -V BIND 9.9.1-P3 用 '--prefix=/opt/bind9' '--mandir=/opt/bind9/man' 构建'--infodir=/opt/bind9/info' '--sysconfdir=/opt/bind9/config' '--localstatedir=/opt/bind9/var' '--enable-threads' '--enable-largefile' '--with-libtool' '--enable-shared' '--enable-static' '--with-openssl=/usr' '--with-gssapi=/usr' '--with-gnu-ld' '--with-dlz-postgres=no' '--with-dlz-mysql=yes' '--with-dlz-bdb=no' '--with-dlz-filesystem=yes' '--with-dlz -stub=yes' '--with-dlz-ldap=yes' '--enable-ipv6' 'CFLAGS=-fno-strict-aliasing -DDIG_SIGCHASE -O2' 'LDFLAGS=-Wl,-Bsymbolic-functions' 'CPPFLAGS =' 使用 OpenSSL 版本:OpenSSL 1.0。1 2012 年 3 月 14 日使用 libxml2 版本:2.7.8
这是我dig example.com
(使用调试)时遇到的错误:
查询字符串:select ttl, type, mx_priority, case when lower(type)='txt' then concat('"', data, '"') else data end from dns_records where zone = 'example.com' and host = ' @'
2012 年 9 月 17 日 01:09:33.610 dns_rdata_fromtext:缓冲区 0x7f5bfca73360:1:输入意外结束 2012 年 9 月 17 日 01:09:33.610 dns_sdlz_putrr 返回错误。错误代码是:输入意外结束 2012 年 9 月 17 日 01:09:33.610 查询字符串:选择 ttl、类型、mx_priority、case when lower(type)='txt' then concat('"', data, '"' ) 否则数据从 dns_records 结束,其中 zone = 'example.com' 和 host = '*'
2012 年 9 月 17 日 01:09:33.610 query.c:2579:致命错误:2012 年 9 月 17 日 01:09:33.610 RUNTIME_CHECK(结果 == 0)失败 2012 年 9 月 17 日 01:09:33.610 退出(由于库中的致命错误)
命名.conf
options {
directory "/opt/bind9/";
allow-query-cache { none; };
allow-query { any; };
recursion no;
};
dlz "Mysql zone" {
database "mysql
{host=localhost dbname=system ssl=false user=root pass=*password*}
{select zone from dns_records where zone = '$zone$'}
{select ttl, type, mx_priority, case when lower(type)='txt' then concat('\"', data, '\"')
else data end from dns_records where zone = '$zone$' and host = '$record$'}
{}
{}
{}
{}";
};