Я скомпилировал Bind 9 из исходного кода (см. Ниже) и настроил Bind9 с MySQL DLZ. Я все время получаю сообщение об ошибке, когда пытаюсь получить с сервера что-нибудь о переполнении буфера. Я много раз гуглил, но не могу найти ничего о том, как исправить эту ошибку.
Параметры настройки:
root @ anacrusis: /opt/bind9/bind-9.9.1-P3# named -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-thread' '--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 14 марта 2012 г. с использованием версии libxml2: 2.7.8
Это ошибка, которую я получаю, когда dig example.com
(с отладкой):
Строка запроса: выберите ttl, type, mx_priority, случай, когда lower (type) = 'txt', затем concat ('"', data, '"'), иначе данные заканчиваются на dns_records, где zone = 'example.com' и host = ' @ '
17 сентября 2012 г. 01: 09: 33.610 dns_rdata_fromtext: buffer-0x7f5bfca73360: 1: неожиданный конец ввода 17 сентября 2012 г. 01: 09: 33.610 dns_sdlz_putrr вернул ошибку. Код ошибки: неожиданный конец ввода 17 сентября 2012 г. 01: 09: 33.610 Строка запроса: выберите ttl, type, mx_priority, случай, когда lower (type) = 'txt', затем concat ('"', data, '"' ) иначе данные заканчиваются на dns_records, где zone = 'example.com' и host = '*'
17-сен-2012 01: 09: 33.610 query.c: 2579: фатальная ошибка: 17-сен-2012 01: 09: 33.610 RUNTIME_CHECK (результат == 0) не удалось 17-сен-2012 01: 09: 33.610 выход (из-за до фатальной ошибки в библиотеке)
Named.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$'}
{}
{}
{}
{}";
};