Univention Bugzilla – Bug 22478
bind9 9.8.x importieren/paketieren für Samba4 Kerberos DNS dynamic updates
Last modified: 2011-12-13 15:50:36 CET
Die aktuell für Kerberos DNS dynamic updates (GSS-TSIG) gegen Samba4-Server empfohlene Version von bind9 ist Version 9.8.0: http://ftp.isc.org/isc/bind9/9.8.0/RELEASE-NOTES-BIND-9.8.html Die Paketierung dieser Version von bind9 wäre daher für UCS 3.0 zu empfehlen.
Vorgehen. * unser Source Paket von bind9 geladen (apt-get source bind9) * upstream Tar Archiv geladen * uupdate im alten Source Verzeichnis -> Fehler das Debian Patch nicht angewendet werden kann * Debian Patch angepasst (siehe unten) * Patch aus http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=625988 geladen und angepasst, damit wird das debian Verzeichnis aus dem alten Source Paket für die neue Upstream Version angepasst * Source Paket gebaut und in repo geladen * die Patches 00-fix-build.patch 040_bind9_ldap.patch 060_bind9_ldap_openldap2.4.patch für die neuen Version in repo aktiviert (ldap support, ...) Anpassungen am Original Debian Patch: * Änderungen an den Dateien aclocal.m4 config.sub config.guess, config.h.in mkinstalldirs ltmain.sh configure wurden nicht übernommen * Änderungen an diesen Datei wurden angepasst (meist entfernt, da die Änderungen bereits Upstream waren) configure.in lib/isccfg/aclconf.c lib/dns/message.c lib/dns/validator.c lib/dns/masterdump.c lib/dns/nsec3.c lib/dns/resolver.c lib/dns/rdataset.c lib/dns/ncache.c lib/dns/rbtdb.c lib/dns/include/dns/ncache.h lib/dns/include/dns/rdataset.h lib/dns/include/dns/masterdump.h * Änderung an folgenden Debian Files wurden gemacht rules (autoconf wird vor configure aufgerufen, da neue configure.in) changelog (auto-build Eintrag entfertn) control (automake in build-deps aufgenommen)
Created attachment 3410 [details] angepasster Debian Patch
Created attachment 3411 [details] Patch für die Anpassungen am Debian Verzeichnis bzgl. der neuen Upstream Version
Paket gebaut und kurz getestet.
bind9 kann seit UCS 3.0 seine PID-Datei etc. nicht mehr schreiben, weil dafür nicht mehr das Verzeichnis /var/run/bind/run/ sondern /var/run/named/ verwendet wird. Für /var/run/named/ müssten daher Schreibrechte für die Gruppe bind gegeben werden, Sep 15 17:54:46 qamaster named[10088]: could not open file '/var/run/named/named.pid': Permission denied
Ich hatte den Eindruck, dass Änderungen von IP-Adressen an host_recrod Objekten im LDAP nicht vom univention-bind-proxy übernommen wurden. Unter /var/cache/bind lag ein core und /var/cache/bind/univention.qa.zone war unverändert. Erst das Löschen der Datei und ein resync auf das Listener Modul "bind" hat die Cachedatei neu geschrieben. Das Problem liegt ggf. aber auch nicht an bind9.8.
*** Bug 23131 has been marked as a duplicate of this bug. ***
(In reply to comment #5) > bind9 kann seit UCS 3.0 seine PID-Datei etc. nicht mehr schreiben, weil dafür > nicht mehr das Verzeichnis /var/run/bind/run/ sondern /var/run/named/ verwendet > wird. Für /var/run/named/ müssten daher Schreibrechte für die Gruppe bind > gegeben werden, > > Sep 15 17:54:46 qamaster named[10088]: could not open file > '/var/run/named/named.pid': Permission denied Dieses Verzeichnis wird nun in den univention-bind* Startskripten entsprechend angelegt (wie es auch im debian init Skript gemacht wird). (In reply to comment #6) > Ich hatte den Eindruck, dass Änderungen von IP-Adressen an host_recrod Objekten > im LDAP nicht vom univention-bind-proxy übernommen wurden. Unter > /var/cache/bind lag ein core und /var/cache/bind/univention.qa.zone war > unverändert. Erst das Löschen der Datei und ein resync auf das Listener Modul > "bind" hat die Cachedatei neu geschrieben. > > Das Problem liegt ggf. aber auch nicht an bind9.8. Das konnte ich nicht nachvollziehen. DNS HostRecord angelegt und nach einer Weile (ohne expliziten Neustart von bind) konnte der Name aufgelöst werden, ebenso beim Löschen des HostRecord.
Wir sollten bind9 mit der configure Option --with-dlz-dlopen bauen, damit bind9 in named.conf die Anweisung 'database "dlopen auf /usr/lib/samba/libdlz_bind9.so"' akzeptiert, siehe Bug 23168.
bind9 ist nochmal mit "--with-dlz-dlopen" für 3.0 gebaut.
Changelog Eintrag fehlt noch? 012_configure_bdb.patch und 010_control.patch wurden nicht übernommen. Vermutlich ist das aber egal, weil wir keine bdb-Datenbanken für bind verwenden. Etwas seltsam daran ist, dass in debian/control als Build-Dependency libdb-dev (>>4.6) steht, aber dann gegen db4.6 gelinkt wird. Hmm.. bind9 funktioniert sonst normal, insbesondere die LDAP Patches sind übernommen und der named ist mit --with-dlz-dlopen gebaut.
(In reply to comment #11) > Changelog Eintrag fehlt noch? Hier reicht ein Eintrag an diesem Bug #22136.
(In reply to comment #12) > 012_configure_bdb.patch und 010_control.patch wurden nicht übernommen. > Vermutlich ist das aber egal, weil wir keine bdb-Datenbanken für bind > verwenden. Etwas seltsam daran ist, dass in debian/control als Build-Dependency > libdb-dev (>>4.6) steht, aber dann gegen db4.6 gelinkt wird. Hmm.. bind9 ist nun so gepatched, dass er gegen db4.8 geht. (In reply to comment #12) > Hier reicht ein Eintrag an diesem Bug #22136. Wurde am Bug kommentiert. Im Moment gibt es noch eine merkwürdige Sache. "host -l domain" scheint nicht ganz zu funktionieren. -> host -l drei ; Transfer failed. drei name server master.drei. master.drei has address 10.200.7.133 syslog: named[1497]: client 10.200.7.133#41142: bad zone transfer request: 'drei.drei/IN': non-authoritative zone (NOTAUTH) named[1497]: client 10.200.7.133#49751: transfer of 'drei/IN': AXFR started named[1497]: client 10.200.7.133#49751: transfer of 'drei/IN': AXFR ended Jedoch funktioniert dies. -> host -l drei. drei name server master.drei. master.drei has address 10.200.7.133 syslog: named[1497]: client 10.200.7.133#57143: transfer of 'drei/IN': AXFR started named[1497]: client 10.200.7.133#57143: transfer of 'drei/IN': AXFR ended Ich muss hier nochmal schauen, ob das Probleme machen könnte oder ob die Konfiguration da noch kaputt ist.
(In reply to comment #13) > (In reply to comment #12) > > 012_configure_bdb.patch und 010_control.patch wurden nicht übernommen. > > Vermutlich ist das aber egal, weil wir keine bdb-Datenbanken für bind > > verwenden. Etwas seltsam daran ist, dass in debian/control als Build-Dependency > > libdb-dev (>>4.6) steht, aber dann gegen db4.6 gelinkt wird. Hmm.. > > bind9 ist nun so gepatched, dass er gegen db4.8 geht. > > (In reply to comment #12) > > Hier reicht ein Eintrag an diesem Bug #22136. > > Wurde am Bug kommentiert. > > Im Moment gibt es noch eine merkwürdige Sache. "host -l domain" scheint nicht > ganz zu funktionieren. > > -> host -l drei > ; Transfer failed. > drei name server master.drei. > master.drei has address 10.200.7.133 > > syslog: > named[1497]: client 10.200.7.133#41142: bad zone transfer request: > 'drei.drei/IN': non-authoritative zone (NOTAUTH) > named[1497]: client 10.200.7.133#49751: transfer of 'drei/IN': AXFR started > named[1497]: client 10.200.7.133#49751: transfer of 'drei/IN': AXFR ended > > Jedoch funktioniert dies. > > -> host -l drei. > drei name server master.drei. > master.drei has address 10.200.7.133 > > syslog: > named[1497]: client 10.200.7.133#57143: transfer of 'drei/IN': AXFR started > named[1497]: client 10.200.7.133#57143: transfer of 'drei/IN': AXFR ended > > Ich muss hier nochmal schauen, ob das Probleme machen könnte oder ob die > Konfiguration da noch kaputt ist. Da "host -l drei" trotz Warnung funktioniert (im syslog sieht man das erste drei.drei/IN versucht wird, dann aber auch drei/IN), der Output OK ist und ich auch sonst keine Hinweise gefunden habe, dass das ein Problem verursachen könnte, mache ich den Bug erst einmal zu. Bitte in der QA vielleicht auch nochmal diesbezüglich recherchieren.
TODO: Vermutlich sollten die cd-contents/ucs_3.0-0_*_dvd.txt Listen noch angepaast werden, da steht noch: ./libdns46_9.5.1.dfsg.P1-2.59.201005191431_i386.deb Analog für die anderen Binärpakete, der Namen versionsabhängig sind, z.B. : for bp in libbind9- libdns libisc liblwres libisccc libisccfg; do grep ${bp}[0-9][0-9] \ /var/univention/buildsystem2/cd-contents/ucs_3.0-0_i386_dvd.txt; done Vielleicht kann buildsystem2/apt/ucs_3.0-0/*/libdns69_9.7.3.dfsg-*.deb entfernt werden, analog für die anderen Binärpakete, der Namen versionsabhängig sind: for bp in libbind9- libdns libisc liblwres libisccc libisccfg; do ls /var/univention/buildsystem2/apt/ucs_3.0-0/*/${bp}[0-9][0-9]*.deb | head -1; done Nicht so schön: Der 040_bind9_ldap.patch Passt nur noch mit fuzz 2, das ist potentiell gefährlich: ----------------------- patching file bin/named/main.c Hunk #1 succeeded at 80 with fuzz 2 (offset 10 lines). Hunk #2 succeeded at 856 with fuzz 2 (offset 185 lines). Hunk #3 succeeded at 883 with fuzz 2 (offset 195 lines). ----------------------- In diesem Fall reicht die eine Zeile Kontext in allen Fällen aus. Bisher VERIFIED: * Die aktuelle Version aus http://www.isc.org/software/bind/ wurde paketiert * 9.8.0.P4 ist mit Unterstützung für dlz-dlopen konfiguriert. * 040_bind9_ldap.patch und 060_bind9_ldap_openldap2.4.patch wurden unmodifiziert übernommen und beim Paketbau angewendet (ucs_3.0-0.bind9.201108151400.log.bz2). * Unsere Konfiguration per univention-bind und univention-bind-proxy funktioniert weiterhin.
Der Patch aus Comment 2 führt nebenbei geoip-Suuprt mit in das configure-Skript usw ein, siehe http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=625988#12 . Ich denke das sollten wir in debian/rules nicht mit aktivieren, d.h. + --with-geoip=/usr \ sollte raus.
(In reply to comment #16) > Der Patch aus Comment 2 führt nebenbei geoip-Suuprt mit in das configure-Skript > usw ein, siehe http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=625988#12 . > Ich denke das sollten wir in debian/rules nicht mit aktivieren, d.h. > > + --with-geoip=/usr \ > > sollte raus. Das (-with-geoip=/usr) kommt so aus dem Debian Squeeze Paket von bind9, die geoip Geschichten von http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=625988#12 wurden NICHT übernommen.
cd-contents/ucs_3.0-0_*_dvd.txt wird später angepasst.
Verified. Die alten 9.7.3 Pakete sind jetzt auch entfernt.
UCS 3.0-0 wurde veröffentlicht. Sollte der hier beschriebene Bug mit einer neueren Version von UCS erneut auftreten, so sollte dieser Bug dupliziert werden: "Clone This Bug"