BIND DLZ unter openBSD

Bind, PowerDNS
Post Reply
hever
Posts: 74
Joined: 2003-09-14 15:23
Location: Münster
 

BIND DLZ unter openBSD

Post by hever »

Hi,

Ich möchte openBSDs BIND Version neu compilieren um DLZ zu aktivieren
DLZ: http://bind-dlz.sourceforge.net/

Ich weiß dass es in der Version enthalten ist ( openBSD 4.3) und normalerweise mit den compiler flags --with-dlz-xxx oder so wie es im changelog steht --with-dlz-xxx=yes funktioniert.

Beides funktioniert aber leider nicht, was genauer bedeutet ich erhalte immer ein "checking for DLZ...no" bei der configure Ausgabe. In configure und configure.in ist von einer config.dlz.in Datei die rede. Ich weiß aber leider nichts über diese Datei oder ihr format und finde keine weiteren Informationen im Netz oder der lokalen Dokumentation. Wo finde ich mehr über die Datei heraus, gibt es vielleicht doch irgendwo eine dokumentation ?

Intern ist das Problem, dass USE_DLZ leer ist. (Ich habe diese Information aus dem config.log.) Im configure script steht, dass config.dlz.in genutzt wird um USE_DLZ zu aktivieren, bloß wie?

Ich könnte USE_DLZ selber setzen, aber das ist sicherlich nicht der gewünschte oder normale weg.

Code: Select all

# src/usr.sbin/bind/configure
#
# Configure any DLZ drivers.
#
# If config.dlz.in selects one or more DLZ drivers, it will set
# USE_DLZ to a non-empty value, which will be our clue to
# enable the DLZ core functions.
#
# This section has to come after the libtool stuff because it needs to
# know how to name the driver object files.
#

USE_DLZ=""
DLZ_DRIVER_INCLUDES=""
DLZ_DRIVER_LIBS=""
DLZ_DRIVER_SRCS=""
DLZ_DRIVER_OBJS=""



{ echo "$as_me:$LINENO: checking for DLZ" >&5
echo $ECHO_N "checking for DLZ... $ECHO_C" >&6; }

if test -n "$USE_DLZ"
then
        { echo "$as_me:$LINENO: result: yes" >&5
echo "${ECHO_T}yes" >&6; }
        USE_DLZ="-DDLZ $USE_DLZ"
        DLZ_DRIVER_RULES=contrib/dlz/drivers/rules
        ac_config_files="$ac_config_files $DLZ_DRIVER_RULES"

else
        { echo "$as_me:$LINENO: result: no" >&5
echo "${ECHO_T}no" >&6; }
        DLZ_DRIVER_RULES=/dev/null
fi

Code: Select all

# src/usr.sbin/bind/configure.in
#
# Configure any DLZ drivers.
#
# If config.dlz.in selects one or more DLZ drivers, it will set
# USE_DLZ to a non-empty value, which will be our clue to
# enable the DLZ core functions.
#
# This section has to come after the libtool stuff because it needs to
# know how to name the driver object files.
#

USE_DLZ=""
DLZ_DRIVER_INCLUDES=""
DLZ_DRIVER_LIBS=""
DLZ_DRIVER_SRCS=""
DLZ_DRIVER_OBJS=""

sinclude(contrib/dlz/config.dlz.in)

AC_MSG_CHECKING(for DLZ)

if test -n "$USE_DLZ"
then
        AC_MSG_RESULT(yes)
        USE_DLZ="-DDLZ $USE_DLZ"
        DLZ_DRIVER_RULES=contrib/dlz/drivers/rules
        AC_CONFIG_FILES([$DLZ_DRIVER_RULES])
else
        AC_MSG_RESULT(no)
        DLZ_DRIVER_RULES=/dev/null
fi

AC_SUBST(USE_DLZ)
AC_SUBST(DLZ_DRIVER_INCLUDES)
AC_SUBST(DLZ_DRIVER_LIBS)
AC_SUBST(DLZ_DRIVER_SRCS)
AC_SUBST(DLZ_DRIVER_OBJS)
AC_SUBST_FILE(DLZ_DRIVER_RULES)

Code: Select all

# more config.log | grep -A 1 -B 1  DLZ
configure:29638: result: yes
configure:29724: checking for DLZ
configure:29736: result: no
--
DEFS='-DHAVE_CONFIG_H'
DLZ_DRIVER_INCLUDES=''
DLZ_DRIVER_LIBS=''
DLZ_DRIVER_OBJS=''
DLZ_DRIVER_SRCS=''
DNS_CRYPTO_LIBS=' -lcrypto '
--
STRIP=''
USE_DLZ=''
USE_GSSAPI=''
--
BIND9_MAKE_RULES='/root/bind/bind/make/rules'
DLZ_DRIVER_RULES='/dev/null'
LIBBIND9_API='./lib/bind9/api'
Hoffentlich hat jemand Ideen...
oxygen
Posts: 2138
Joined: 2002-12-15 00:10
Location: Bergheim
 

Re: BIND DLZ unter openBSD

Post by oxygen »

Benutzt doch einfach direkt PowerDNS.
hever
Posts: 74
Joined: 2003-09-14 15:23
Location: Münster
 

Re: BIND DLZ unter openBSD

Post by hever »

Das löst das Problem ja nicht ;)

Die Lösung habe ich auf misc@openbsd.org gepostet.

Kurz zusammengefasst musste ich die contrib/dlz Dateien aus einer original BIND Version kopieren.
Zudem mit autoconf aus der eigentlich richtigen configure.in ein neues configure script erstellen.

Durch Verwendung der original contrib/dlz Dateien (es gibt in OpenBSD keine) waren ein paar weitere Anpassungen notwendig.
Ich musste die lcrypt compiler switches entfernen, welche in OpenBSD nicht benötigt werden.
Ich musste eine lcg.h aus OpenBSD 4.2 kopieren.

Anschließend konnte ich BIND mit DLZ Support compilieren und es funktioniert auch bisher.
Post Reply