From 5277489d159e8f853157d28aae406d9516f8c79333c568b87203f17731a19aa5 Mon Sep 17 00:00:00 2001 From: OBS User buildservice-autocommit Date: Thu, 18 Mar 2010 14:37:03 +0000 Subject: [PATCH 1/4] Updating link to change in openSUSE:Factory/bind revision 44.0 OBS-URL: https://build.opensuse.org/package/show/network/bind?expand=0&rev=50f336e047d7ffe7ad6fdb4d6a8a9f4f --- ready | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 ready diff --git a/ready b/ready deleted file mode 100644 index 473a0f4..0000000 From cb8f633ea0c506a94f04e9cb597a7f998f33d2e7b8bcfcfd1f46baf7ee5d5512 Mon Sep 17 00:00:00 2001 From: Uwe Gansert Date: Thu, 1 Apr 2010 10:17:51 +0000 Subject: [PATCH 2/4] Accepting request 33443 from home:jengelh:dns Copy from home:jengelh:dns/bind via accept of submit request 33443 revision 2. Request was accepted with message: Reviewed ok OBS-URL: https://build.opensuse.org/request/show/33443 OBS-URL: https://build.opensuse.org/package/show/network/bind?expand=0&rev=25 --- bind.changes | 5 ++ bind.spec | 11 ++- dlz-dollarvar.patch | 21 +++++ dlz-schema.txt | 187 ++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 221 insertions(+), 3 deletions(-) create mode 100644 dlz-dollarvar.patch create mode 100644 dlz-schema.txt diff --git a/bind.changes b/bind.changes index 98f337a..bd0770f 100644 --- a/bind.changes +++ b/bind.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Wed Feb 24 18:30:08 UTC 2010 - jengelh@medozas.de + +- Enable DLZ-LDAP (supersedes sdb_ldap) and add a patch + ------------------------------------------------------------------- Wed Feb 17 12:27:56 CET 2010 - ug@suse.de diff --git a/bind.spec b/bind.spec index 8154a28..42b676b 100644 --- a/bind.spec +++ b/bind.spec @@ -21,7 +21,7 @@ Name: bind %define pkg_name bind %define pkg_vers 9.7.0 -#BuildRequires: openldap2 openldap2-devel +BuildRequires: openldap2-devel BuildRequires: libcap libcap-devel libmysqlclient-devel libxml2-devel openssl openssl-devel Summary: Domain Name System (DNS) Server (named) Version: 9.7.0 @@ -45,6 +45,8 @@ Patch2: pid-path.diff Patch4: perl-path.diff Patch51: pie_compile.diff Patch52: named-bootconf.diff +Patch60: dlz-dollarvar.patch +Source60: dlz-schema.txt %if %ul_version >= 1 %define VENDOR UL %else @@ -221,6 +223,7 @@ Authors: %endif %patch52 #%patch53 +%patch -P 60 -p1 # modify settings of some files regarding to OS version and vendor function replaceStrings() { @@ -278,10 +281,10 @@ CONFIGURE_OPTIONS="\ --with-libtool \ --enable-runidn \ --with-libxml2 \ - --with-dlz-mysql + --with-dlz-mysql --with-dlz-ldap " ./configure ${CONFIGURE_OPTIONS} -%{__make} %{?jobs:-j%jobs}; +%{__make} %{?_smp_mflags} pushd contrib/idn/idnkit-1.0-src ./configure ${CONFIGURE_OPTIONS} %{__make} %{?jobs:-j%jobs}; @@ -341,6 +344,7 @@ install -m 0754 vendor-files/tools/createNamedConfInclude ${RPM_BUILD_ROOT}/%{_d install -m 0755 vendor-files/tools/bind.genDDNSkey ${RPM_BUILD_ROOT}/%{_bindir}/genDDNSkey cp -a vendor-files/docu/BIND.desktop ${RPM_BUILD_ROOT}/%{_datadir}/susehelp/meta/Administration/System cp -p ${RPM_SOURCE_DIR}/dnszone-schema.txt ${RPM_BUILD_ROOT}/%{_sysconfdir}/openldap/schema/dnszone.schema +cp -p "%{S:60}" "${RPM_BUILD_ROOT}/%{_sysconfdir}/openldap/schema/dlz.schema" install -m 0754 vendor-files/tools/ldapdump ${RPM_BUILD_ROOT}/%{_datadir}/bind find ${RPM_BUILD_ROOT}/%{_libdir} -type f -name '*.so*' -print0 | xargs -0 chmod 0755 touch ${RPM_BUILD_ROOT}/var/lib/named/etc/{localtime,named.conf.include,named.d/rndc.access.conf} @@ -679,6 +683,7 @@ fi %dir %{_sysconfdir}/openldap %dir %{_sysconfdir}/openldap/schema %attr(0444,root,root) %config %{_sysconfdir}/openldap/schema/dnszone.schema +%attr(0444,root,root) %config %{_sysconfdir}/openldap/schema/dlz.schema %{_bindir}/dig %{_bindir}/host %{_bindir}/idnconv diff --git a/dlz-dollarvar.patch b/dlz-dollarvar.patch new file mode 100644 index 0000000..d98fa6a --- /dev/null +++ b/dlz-dollarvar.patch @@ -0,0 +1,21 @@ +https://bugs.launchpad.net/ubuntu/+source/bind9/+bug/227344 + +LDAP API does not like %. + +--- bind-9.6.1P1/contrib/dlz/drivers/sdlz_helper.c.orig ++++ bind-9.6.1P1/contrib/dlz/drivers/sdlz_helper.c +@@ -166,12 +166,12 @@ build_querylist(isc_mem_t *mctx, const c + ISC_LIST_APPEND(*tql, tseg, link); + + /* +- * split string at the first "%". set query segment to ++ * split string at the first "$". set query segment to + * left portion + */ + tseg->sql = isc_mem_strdup(mctx, + isc_string_separate(&right_str, +- "%")); ++ "$")); + if (tseg->sql == NULL) { + /* no memory, clean everything up. */ + result = ISC_R_NOMEMORY; diff --git a/dlz-schema.txt b/dlz-schema.txt new file mode 100644 index 0000000..af42e76 --- /dev/null +++ b/dlz-schema.txt @@ -0,0 +1,187 @@ +# +# +# 1.3.6.1.4.1.18420.1.1.X is reserved for attribute types declared by the DLZ project. +# 1.3.6.1.4.1.18420.1.2.X is reserved for object classes declared by the DLZ project. +# 1.3.6.1.4.1.18420.1.3.X is reserved for PRIVATE extensions to the DLZ attribute +# types and object classes that may be needed by end users +# to add security, etc. Attributes and object classes using +# this OID MUST NOT be published outside of an organization +# except to offer them for consideration to become part of the +# standard attributes and object classes published by the DLZ project. + +attributetype ( 1.3.6.1.4.1.18420.1.1.10 + NAME 'dlzZoneName' + DESC 'DNS zone name - domain name not including host name' + SUP name + SINGLE-VALUE ) + +attributetype ( 1.3.6.1.4.1.18420.1.1.20 + NAME 'dlzHostName' + DESC 'Host portion of a domain name' + SUP name + SINGLE-VALUE ) + +attributetype ( 1.3.6.1.4.1.18420.1.1.30 + NAME 'dlzData' + DESC 'Data for the resource record' + SUP name + SINGLE-VALUE ) + +attributetype ( 1.3.6.1.4.1.18420.1.1.40 + NAME 'dlzType' + DESC 'DNS record type - A, SOA, NS, MX, etc...' + SUP name + SINGLE-VALUE ) + +attributetype ( 1.3.6.1.4.1.18420.1.1.50 + NAME 'dlzSerial' + DESC 'SOA record serial number' + EQUALITY integerMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 + SINGLE-VALUE ) + +attributetype ( 1.3.6.1.4.1.18420.1.1.60 + NAME 'dlzRefresh' + DESC 'SOA record refresh time in seconds' + EQUALITY integerMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 + SINGLE-VALUE ) + +attributetype ( 1.3.6.1.4.1.18420.1.1.70 + NAME 'dlzRetry' + DESC 'SOA retry time in seconds' + EQUALITY integerMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 + SINGLE-VALUE ) + +attributetype ( 1.3.6.1.4.1.18420.1.1.80 + NAME 'dlzExpire' + DESC 'SOA expire time in seconds' + EQUALITY integerMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 + SINGLE-VALUE ) + +attributetype ( 1.3.6.1.4.1.18420.1.1.90 + NAME 'dlzMinimum' + DESC 'SOA minimum time in seconds' + EQUALITY integerMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 + SINGLE-VALUE ) + +attributetype ( 1.3.6.1.4.1.18420.1.1.100 + NAME 'dlzAdminEmail' + DESC 'E-mail address of person responsible for this zone - @ should be replaced with . (period)' + SUP name + SINGLE-VALUE ) + +attributetype ( 1.3.6.1.4.1.18420.1.1.110 + NAME 'dlzPrimaryNS' + DESC 'Primary name server for this zone - should be host name not IP address' + SUP name + SINGLE-VALUE ) + +attributetype ( 1.3.6.1.4.1.18420.1.1.120 + NAME 'dlzIPAddr' + DESC 'IP address - IPV4 should be in dot notation xxx.xxx.xxx.xxx IPV6 should be in colon notation xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx' + EQUALITY caseExactIA5Match + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{40} + SINGLE-VALUE ) + +attributetype ( 1.3.6.1.4.1.18420.1.1.130 + NAME 'dlzCName' + DESC 'DNS cname' + SUP name + SINGLE-VALUE ) + +attributetype ( 1.3.6.1.4.1.18420.1.1.140 + NAME 'dlzPreference' + DESC 'DNS MX record preference. Lower numbers have higher preference' + EQUALITY integerMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 + SINGLE-VALUE ) + +attributetype ( 1.3.6.1.4.1.18420.1.1.150 + NAME 'dlzTTL' + DESC 'DNS time to live - how long this record can be cached by caching DNS servers' + EQUALITY integerMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 + SINGLE-VALUE ) + +attributetype ( 1.3.6.1.4.1.18420.1.1.160 + NAME 'dlzRecordID' + DESC 'Unique ID for each DLZ resource record' + SUP name + SINGLE-VALUE ) + +#------------------------------------------------------------------------------ +# Object class definitions +#------------------------------------------------------------------------------ + +objectclass ( 1.3.6.1.4.1.18420.1.2.10 + NAME 'dlzZone' + DESC 'Zone name portion of a domain name' + SUP top STRUCTURAL + MUST ( objectclass $ dlzZoneName ) ) + +objectclass ( 1.3.6.1.4.1.18420.1.2.20 + NAME 'dlzHost' + DESC 'Host name portion of a domain name' + SUP top STRUCTURAL + MUST ( objectclass $ dlzHostName ) ) + +objectclass ( 1.3.6.1.4.1.18420.1.2.30 + NAME 'dlzAbstractRecord' + DESC 'Data common to all DNS record types' + SUP top ABSTRACT + MUST ( objectclass $ dlzRecordID $ dlzHostName $ dlzType $ dlzTTL ) ) + +objectclass ( 1.3.6.1.4.1.18420.1.2.40 + NAME 'dlzGenericRecord' + DESC 'Generic DNS record - useful when a specific object class has not been defined for a DNS record' + SUP dlzAbstractRecord STRUCTURAL + MUST ( dlzData ) ) + +objectclass ( 1.3.6.1.4.1.18420.1.2.50 + NAME 'dlzARecord' + DESC 'DNS A record' + SUP dlzAbstractrecord STRUCTURAL + MUST ( dlzIPAddr ) ) + +objectclass ( 1.3.6.1.4.1.18420.1.2.60 + NAME 'dlzNSRecord' + DESC 'DNS NS record' + SUP dlzGenericRecord STRUCTURAL ) + +objectclass ( 1.3.6.1.4.1.18420.1.2.70 + NAME 'dlzMXRecord' + DESC 'DNS MX record' + SUP dlzGenericRecord STRUCTURAL + MUST ( dlzPreference ) ) + +objectclass ( 1.3.6.1.4.1.18420.1.2.80 + NAME 'dlzSOARecord' + DESC 'DNS SOA record' + SUP dlzAbstractRecord STRUCTURAL + MUST ( dlzSerial $ dlzRefresh $ dlzRetry + $ dlzExpire $ dlzMinimum $ dlzAdminEmail $ dlzPrimaryNS ) ) + +objectclass ( 1.3.6.1.4.1.18420.1.2.90 + NAME 'dlzTextRecord' + DESC 'Text data with spaces should be wrapped in double quotes' + SUP dlzGenericRecord STRUCTURAL ) + +objectclass ( 1.3.6.1.4.1.18420.1.2.100 + NAME 'dlzPTRRecord' + DESC 'DNS PTR record' + SUP dlzGenericRecord STRUCTURAL ) + +objectclass ( 1.3.6.1.4.1.18420.1.2.110 + NAME 'dlzCNameRecord' + DESC 'DNS CName record' + SUP dlzGenericRecord STRUCTURAL ) + +objectclass ( 1.3.6.1.4.1.18420.1.2.120 + NAME 'dlzXFR' + DESC 'Host allowed to perform zone transfer' + SUP top STRUCTURAL + MUST ( objectclass $ dlzRecordID $ dlzIPAddr ) ) From 8698661c2f25733a48c2cc208db1fab1d3c782a95e797cae926952123534e5d1 Mon Sep 17 00:00:00 2001 From: OBS User autobuild Date: Tue, 13 Apr 2010 19:20:43 +0000 Subject: [PATCH 3/4] Accepting request 37088 from network checked in (request 37088) OBS-URL: https://build.opensuse.org/request/show/37088 OBS-URL: https://build.opensuse.org/package/show/network/bind?expand=0&rev=26 --- bind.changes | 5 -- bind.spec | 11 +-- dlz-dollarvar.patch | 21 ----- dlz-schema.txt | 187 -------------------------------------------- 4 files changed, 3 insertions(+), 221 deletions(-) delete mode 100644 dlz-dollarvar.patch delete mode 100644 dlz-schema.txt diff --git a/bind.changes b/bind.changes index bd0770f..98f337a 100644 --- a/bind.changes +++ b/bind.changes @@ -1,8 +1,3 @@ -------------------------------------------------------------------- -Wed Feb 24 18:30:08 UTC 2010 - jengelh@medozas.de - -- Enable DLZ-LDAP (supersedes sdb_ldap) and add a patch - ------------------------------------------------------------------- Wed Feb 17 12:27:56 CET 2010 - ug@suse.de diff --git a/bind.spec b/bind.spec index 42b676b..8154a28 100644 --- a/bind.spec +++ b/bind.spec @@ -21,7 +21,7 @@ Name: bind %define pkg_name bind %define pkg_vers 9.7.0 -BuildRequires: openldap2-devel +#BuildRequires: openldap2 openldap2-devel BuildRequires: libcap libcap-devel libmysqlclient-devel libxml2-devel openssl openssl-devel Summary: Domain Name System (DNS) Server (named) Version: 9.7.0 @@ -45,8 +45,6 @@ Patch2: pid-path.diff Patch4: perl-path.diff Patch51: pie_compile.diff Patch52: named-bootconf.diff -Patch60: dlz-dollarvar.patch -Source60: dlz-schema.txt %if %ul_version >= 1 %define VENDOR UL %else @@ -223,7 +221,6 @@ Authors: %endif %patch52 #%patch53 -%patch -P 60 -p1 # modify settings of some files regarding to OS version and vendor function replaceStrings() { @@ -281,10 +278,10 @@ CONFIGURE_OPTIONS="\ --with-libtool \ --enable-runidn \ --with-libxml2 \ - --with-dlz-mysql --with-dlz-ldap + --with-dlz-mysql " ./configure ${CONFIGURE_OPTIONS} -%{__make} %{?_smp_mflags} +%{__make} %{?jobs:-j%jobs}; pushd contrib/idn/idnkit-1.0-src ./configure ${CONFIGURE_OPTIONS} %{__make} %{?jobs:-j%jobs}; @@ -344,7 +341,6 @@ install -m 0754 vendor-files/tools/createNamedConfInclude ${RPM_BUILD_ROOT}/%{_d install -m 0755 vendor-files/tools/bind.genDDNSkey ${RPM_BUILD_ROOT}/%{_bindir}/genDDNSkey cp -a vendor-files/docu/BIND.desktop ${RPM_BUILD_ROOT}/%{_datadir}/susehelp/meta/Administration/System cp -p ${RPM_SOURCE_DIR}/dnszone-schema.txt ${RPM_BUILD_ROOT}/%{_sysconfdir}/openldap/schema/dnszone.schema -cp -p "%{S:60}" "${RPM_BUILD_ROOT}/%{_sysconfdir}/openldap/schema/dlz.schema" install -m 0754 vendor-files/tools/ldapdump ${RPM_BUILD_ROOT}/%{_datadir}/bind find ${RPM_BUILD_ROOT}/%{_libdir} -type f -name '*.so*' -print0 | xargs -0 chmod 0755 touch ${RPM_BUILD_ROOT}/var/lib/named/etc/{localtime,named.conf.include,named.d/rndc.access.conf} @@ -683,7 +679,6 @@ fi %dir %{_sysconfdir}/openldap %dir %{_sysconfdir}/openldap/schema %attr(0444,root,root) %config %{_sysconfdir}/openldap/schema/dnszone.schema -%attr(0444,root,root) %config %{_sysconfdir}/openldap/schema/dlz.schema %{_bindir}/dig %{_bindir}/host %{_bindir}/idnconv diff --git a/dlz-dollarvar.patch b/dlz-dollarvar.patch deleted file mode 100644 index d98fa6a..0000000 --- a/dlz-dollarvar.patch +++ /dev/null @@ -1,21 +0,0 @@ -https://bugs.launchpad.net/ubuntu/+source/bind9/+bug/227344 - -LDAP API does not like %. - ---- bind-9.6.1P1/contrib/dlz/drivers/sdlz_helper.c.orig -+++ bind-9.6.1P1/contrib/dlz/drivers/sdlz_helper.c -@@ -166,12 +166,12 @@ build_querylist(isc_mem_t *mctx, const c - ISC_LIST_APPEND(*tql, tseg, link); - - /* -- * split string at the first "%". set query segment to -+ * split string at the first "$". set query segment to - * left portion - */ - tseg->sql = isc_mem_strdup(mctx, - isc_string_separate(&right_str, -- "%")); -+ "$")); - if (tseg->sql == NULL) { - /* no memory, clean everything up. */ - result = ISC_R_NOMEMORY; diff --git a/dlz-schema.txt b/dlz-schema.txt deleted file mode 100644 index af42e76..0000000 --- a/dlz-schema.txt +++ /dev/null @@ -1,187 +0,0 @@ -# -# -# 1.3.6.1.4.1.18420.1.1.X is reserved for attribute types declared by the DLZ project. -# 1.3.6.1.4.1.18420.1.2.X is reserved for object classes declared by the DLZ project. -# 1.3.6.1.4.1.18420.1.3.X is reserved for PRIVATE extensions to the DLZ attribute -# types and object classes that may be needed by end users -# to add security, etc. Attributes and object classes using -# this OID MUST NOT be published outside of an organization -# except to offer them for consideration to become part of the -# standard attributes and object classes published by the DLZ project. - -attributetype ( 1.3.6.1.4.1.18420.1.1.10 - NAME 'dlzZoneName' - DESC 'DNS zone name - domain name not including host name' - SUP name - SINGLE-VALUE ) - -attributetype ( 1.3.6.1.4.1.18420.1.1.20 - NAME 'dlzHostName' - DESC 'Host portion of a domain name' - SUP name - SINGLE-VALUE ) - -attributetype ( 1.3.6.1.4.1.18420.1.1.30 - NAME 'dlzData' - DESC 'Data for the resource record' - SUP name - SINGLE-VALUE ) - -attributetype ( 1.3.6.1.4.1.18420.1.1.40 - NAME 'dlzType' - DESC 'DNS record type - A, SOA, NS, MX, etc...' - SUP name - SINGLE-VALUE ) - -attributetype ( 1.3.6.1.4.1.18420.1.1.50 - NAME 'dlzSerial' - DESC 'SOA record serial number' - EQUALITY integerMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 - SINGLE-VALUE ) - -attributetype ( 1.3.6.1.4.1.18420.1.1.60 - NAME 'dlzRefresh' - DESC 'SOA record refresh time in seconds' - EQUALITY integerMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 - SINGLE-VALUE ) - -attributetype ( 1.3.6.1.4.1.18420.1.1.70 - NAME 'dlzRetry' - DESC 'SOA retry time in seconds' - EQUALITY integerMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 - SINGLE-VALUE ) - -attributetype ( 1.3.6.1.4.1.18420.1.1.80 - NAME 'dlzExpire' - DESC 'SOA expire time in seconds' - EQUALITY integerMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 - SINGLE-VALUE ) - -attributetype ( 1.3.6.1.4.1.18420.1.1.90 - NAME 'dlzMinimum' - DESC 'SOA minimum time in seconds' - EQUALITY integerMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 - SINGLE-VALUE ) - -attributetype ( 1.3.6.1.4.1.18420.1.1.100 - NAME 'dlzAdminEmail' - DESC 'E-mail address of person responsible for this zone - @ should be replaced with . (period)' - SUP name - SINGLE-VALUE ) - -attributetype ( 1.3.6.1.4.1.18420.1.1.110 - NAME 'dlzPrimaryNS' - DESC 'Primary name server for this zone - should be host name not IP address' - SUP name - SINGLE-VALUE ) - -attributetype ( 1.3.6.1.4.1.18420.1.1.120 - NAME 'dlzIPAddr' - DESC 'IP address - IPV4 should be in dot notation xxx.xxx.xxx.xxx IPV6 should be in colon notation xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx' - EQUALITY caseExactIA5Match - SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{40} - SINGLE-VALUE ) - -attributetype ( 1.3.6.1.4.1.18420.1.1.130 - NAME 'dlzCName' - DESC 'DNS cname' - SUP name - SINGLE-VALUE ) - -attributetype ( 1.3.6.1.4.1.18420.1.1.140 - NAME 'dlzPreference' - DESC 'DNS MX record preference. Lower numbers have higher preference' - EQUALITY integerMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 - SINGLE-VALUE ) - -attributetype ( 1.3.6.1.4.1.18420.1.1.150 - NAME 'dlzTTL' - DESC 'DNS time to live - how long this record can be cached by caching DNS servers' - EQUALITY integerMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 - SINGLE-VALUE ) - -attributetype ( 1.3.6.1.4.1.18420.1.1.160 - NAME 'dlzRecordID' - DESC 'Unique ID for each DLZ resource record' - SUP name - SINGLE-VALUE ) - -#------------------------------------------------------------------------------ -# Object class definitions -#------------------------------------------------------------------------------ - -objectclass ( 1.3.6.1.4.1.18420.1.2.10 - NAME 'dlzZone' - DESC 'Zone name portion of a domain name' - SUP top STRUCTURAL - MUST ( objectclass $ dlzZoneName ) ) - -objectclass ( 1.3.6.1.4.1.18420.1.2.20 - NAME 'dlzHost' - DESC 'Host name portion of a domain name' - SUP top STRUCTURAL - MUST ( objectclass $ dlzHostName ) ) - -objectclass ( 1.3.6.1.4.1.18420.1.2.30 - NAME 'dlzAbstractRecord' - DESC 'Data common to all DNS record types' - SUP top ABSTRACT - MUST ( objectclass $ dlzRecordID $ dlzHostName $ dlzType $ dlzTTL ) ) - -objectclass ( 1.3.6.1.4.1.18420.1.2.40 - NAME 'dlzGenericRecord' - DESC 'Generic DNS record - useful when a specific object class has not been defined for a DNS record' - SUP dlzAbstractRecord STRUCTURAL - MUST ( dlzData ) ) - -objectclass ( 1.3.6.1.4.1.18420.1.2.50 - NAME 'dlzARecord' - DESC 'DNS A record' - SUP dlzAbstractrecord STRUCTURAL - MUST ( dlzIPAddr ) ) - -objectclass ( 1.3.6.1.4.1.18420.1.2.60 - NAME 'dlzNSRecord' - DESC 'DNS NS record' - SUP dlzGenericRecord STRUCTURAL ) - -objectclass ( 1.3.6.1.4.1.18420.1.2.70 - NAME 'dlzMXRecord' - DESC 'DNS MX record' - SUP dlzGenericRecord STRUCTURAL - MUST ( dlzPreference ) ) - -objectclass ( 1.3.6.1.4.1.18420.1.2.80 - NAME 'dlzSOARecord' - DESC 'DNS SOA record' - SUP dlzAbstractRecord STRUCTURAL - MUST ( dlzSerial $ dlzRefresh $ dlzRetry - $ dlzExpire $ dlzMinimum $ dlzAdminEmail $ dlzPrimaryNS ) ) - -objectclass ( 1.3.6.1.4.1.18420.1.2.90 - NAME 'dlzTextRecord' - DESC 'Text data with spaces should be wrapped in double quotes' - SUP dlzGenericRecord STRUCTURAL ) - -objectclass ( 1.3.6.1.4.1.18420.1.2.100 - NAME 'dlzPTRRecord' - DESC 'DNS PTR record' - SUP dlzGenericRecord STRUCTURAL ) - -objectclass ( 1.3.6.1.4.1.18420.1.2.110 - NAME 'dlzCNameRecord' - DESC 'DNS CName record' - SUP dlzGenericRecord STRUCTURAL ) - -objectclass ( 1.3.6.1.4.1.18420.1.2.120 - NAME 'dlzXFR' - DESC 'Host allowed to perform zone transfer' - SUP top STRUCTURAL - MUST ( objectclass $ dlzRecordID $ dlzIPAddr ) ) From 10e3427e7a09157ae17cebf641c5d5638d93a533c93ce3453eb60aa04d1b1bdc Mon Sep 17 00:00:00 2001 From: OBS User buildservice-autocommit Date: Tue, 13 Apr 2010 19:20:44 +0000 Subject: [PATCH 4/4] Updating link to change in openSUSE:Factory/bind revision 45.0 OBS-URL: https://build.opensuse.org/package/show/network/bind?expand=0&rev=f8b70814ea62eec997879f6cdb429e72 --- bind.changes | 5 ++ bind.spec | 13 ++- dlz-dollarvar.patch | 21 +++++ dlz-schema.txt | 187 ++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 222 insertions(+), 4 deletions(-) create mode 100644 dlz-dollarvar.patch create mode 100644 dlz-schema.txt diff --git a/bind.changes b/bind.changes index 98f337a..bd0770f 100644 --- a/bind.changes +++ b/bind.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Wed Feb 24 18:30:08 UTC 2010 - jengelh@medozas.de + +- Enable DLZ-LDAP (supersedes sdb_ldap) and add a patch + ------------------------------------------------------------------- Wed Feb 17 12:27:56 CET 2010 - ug@suse.de diff --git a/bind.spec b/bind.spec index 8154a28..0a262f7 100644 --- a/bind.spec +++ b/bind.spec @@ -21,11 +21,11 @@ Name: bind %define pkg_name bind %define pkg_vers 9.7.0 -#BuildRequires: openldap2 openldap2-devel +BuildRequires: openldap2-devel BuildRequires: libcap libcap-devel libmysqlclient-devel libxml2-devel openssl openssl-devel Summary: Domain Name System (DNS) Server (named) Version: 9.7.0 -Release: 1 +Release: 2 License: BSD3c(or similar) ; MIT License (or similar) Group: Productivity/Networking/DNS/Servers Provides: dns_daemon bind8 bind9 @@ -45,6 +45,8 @@ Patch2: pid-path.diff Patch4: perl-path.diff Patch51: pie_compile.diff Patch52: named-bootconf.diff +Patch60: dlz-dollarvar.patch +Source60: dlz-schema.txt %if %ul_version >= 1 %define VENDOR UL %else @@ -221,6 +223,7 @@ Authors: %endif %patch52 #%patch53 +%patch -P 60 -p1 # modify settings of some files regarding to OS version and vendor function replaceStrings() { @@ -278,10 +281,10 @@ CONFIGURE_OPTIONS="\ --with-libtool \ --enable-runidn \ --with-libxml2 \ - --with-dlz-mysql + --with-dlz-mysql --with-dlz-ldap " ./configure ${CONFIGURE_OPTIONS} -%{__make} %{?jobs:-j%jobs}; +%{__make} %{?_smp_mflags} pushd contrib/idn/idnkit-1.0-src ./configure ${CONFIGURE_OPTIONS} %{__make} %{?jobs:-j%jobs}; @@ -341,6 +344,7 @@ install -m 0754 vendor-files/tools/createNamedConfInclude ${RPM_BUILD_ROOT}/%{_d install -m 0755 vendor-files/tools/bind.genDDNSkey ${RPM_BUILD_ROOT}/%{_bindir}/genDDNSkey cp -a vendor-files/docu/BIND.desktop ${RPM_BUILD_ROOT}/%{_datadir}/susehelp/meta/Administration/System cp -p ${RPM_SOURCE_DIR}/dnszone-schema.txt ${RPM_BUILD_ROOT}/%{_sysconfdir}/openldap/schema/dnszone.schema +cp -p "%{S:60}" "${RPM_BUILD_ROOT}/%{_sysconfdir}/openldap/schema/dlz.schema" install -m 0754 vendor-files/tools/ldapdump ${RPM_BUILD_ROOT}/%{_datadir}/bind find ${RPM_BUILD_ROOT}/%{_libdir} -type f -name '*.so*' -print0 | xargs -0 chmod 0755 touch ${RPM_BUILD_ROOT}/var/lib/named/etc/{localtime,named.conf.include,named.d/rndc.access.conf} @@ -679,6 +683,7 @@ fi %dir %{_sysconfdir}/openldap %dir %{_sysconfdir}/openldap/schema %attr(0444,root,root) %config %{_sysconfdir}/openldap/schema/dnszone.schema +%attr(0444,root,root) %config %{_sysconfdir}/openldap/schema/dlz.schema %{_bindir}/dig %{_bindir}/host %{_bindir}/idnconv diff --git a/dlz-dollarvar.patch b/dlz-dollarvar.patch new file mode 100644 index 0000000..d98fa6a --- /dev/null +++ b/dlz-dollarvar.patch @@ -0,0 +1,21 @@ +https://bugs.launchpad.net/ubuntu/+source/bind9/+bug/227344 + +LDAP API does not like %. + +--- bind-9.6.1P1/contrib/dlz/drivers/sdlz_helper.c.orig ++++ bind-9.6.1P1/contrib/dlz/drivers/sdlz_helper.c +@@ -166,12 +166,12 @@ build_querylist(isc_mem_t *mctx, const c + ISC_LIST_APPEND(*tql, tseg, link); + + /* +- * split string at the first "%". set query segment to ++ * split string at the first "$". set query segment to + * left portion + */ + tseg->sql = isc_mem_strdup(mctx, + isc_string_separate(&right_str, +- "%")); ++ "$")); + if (tseg->sql == NULL) { + /* no memory, clean everything up. */ + result = ISC_R_NOMEMORY; diff --git a/dlz-schema.txt b/dlz-schema.txt new file mode 100644 index 0000000..af42e76 --- /dev/null +++ b/dlz-schema.txt @@ -0,0 +1,187 @@ +# +# +# 1.3.6.1.4.1.18420.1.1.X is reserved for attribute types declared by the DLZ project. +# 1.3.6.1.4.1.18420.1.2.X is reserved for object classes declared by the DLZ project. +# 1.3.6.1.4.1.18420.1.3.X is reserved for PRIVATE extensions to the DLZ attribute +# types and object classes that may be needed by end users +# to add security, etc. Attributes and object classes using +# this OID MUST NOT be published outside of an organization +# except to offer them for consideration to become part of the +# standard attributes and object classes published by the DLZ project. + +attributetype ( 1.3.6.1.4.1.18420.1.1.10 + NAME 'dlzZoneName' + DESC 'DNS zone name - domain name not including host name' + SUP name + SINGLE-VALUE ) + +attributetype ( 1.3.6.1.4.1.18420.1.1.20 + NAME 'dlzHostName' + DESC 'Host portion of a domain name' + SUP name + SINGLE-VALUE ) + +attributetype ( 1.3.6.1.4.1.18420.1.1.30 + NAME 'dlzData' + DESC 'Data for the resource record' + SUP name + SINGLE-VALUE ) + +attributetype ( 1.3.6.1.4.1.18420.1.1.40 + NAME 'dlzType' + DESC 'DNS record type - A, SOA, NS, MX, etc...' + SUP name + SINGLE-VALUE ) + +attributetype ( 1.3.6.1.4.1.18420.1.1.50 + NAME 'dlzSerial' + DESC 'SOA record serial number' + EQUALITY integerMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 + SINGLE-VALUE ) + +attributetype ( 1.3.6.1.4.1.18420.1.1.60 + NAME 'dlzRefresh' + DESC 'SOA record refresh time in seconds' + EQUALITY integerMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 + SINGLE-VALUE ) + +attributetype ( 1.3.6.1.4.1.18420.1.1.70 + NAME 'dlzRetry' + DESC 'SOA retry time in seconds' + EQUALITY integerMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 + SINGLE-VALUE ) + +attributetype ( 1.3.6.1.4.1.18420.1.1.80 + NAME 'dlzExpire' + DESC 'SOA expire time in seconds' + EQUALITY integerMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 + SINGLE-VALUE ) + +attributetype ( 1.3.6.1.4.1.18420.1.1.90 + NAME 'dlzMinimum' + DESC 'SOA minimum time in seconds' + EQUALITY integerMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 + SINGLE-VALUE ) + +attributetype ( 1.3.6.1.4.1.18420.1.1.100 + NAME 'dlzAdminEmail' + DESC 'E-mail address of person responsible for this zone - @ should be replaced with . (period)' + SUP name + SINGLE-VALUE ) + +attributetype ( 1.3.6.1.4.1.18420.1.1.110 + NAME 'dlzPrimaryNS' + DESC 'Primary name server for this zone - should be host name not IP address' + SUP name + SINGLE-VALUE ) + +attributetype ( 1.3.6.1.4.1.18420.1.1.120 + NAME 'dlzIPAddr' + DESC 'IP address - IPV4 should be in dot notation xxx.xxx.xxx.xxx IPV6 should be in colon notation xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx' + EQUALITY caseExactIA5Match + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{40} + SINGLE-VALUE ) + +attributetype ( 1.3.6.1.4.1.18420.1.1.130 + NAME 'dlzCName' + DESC 'DNS cname' + SUP name + SINGLE-VALUE ) + +attributetype ( 1.3.6.1.4.1.18420.1.1.140 + NAME 'dlzPreference' + DESC 'DNS MX record preference. Lower numbers have higher preference' + EQUALITY integerMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 + SINGLE-VALUE ) + +attributetype ( 1.3.6.1.4.1.18420.1.1.150 + NAME 'dlzTTL' + DESC 'DNS time to live - how long this record can be cached by caching DNS servers' + EQUALITY integerMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 + SINGLE-VALUE ) + +attributetype ( 1.3.6.1.4.1.18420.1.1.160 + NAME 'dlzRecordID' + DESC 'Unique ID for each DLZ resource record' + SUP name + SINGLE-VALUE ) + +#------------------------------------------------------------------------------ +# Object class definitions +#------------------------------------------------------------------------------ + +objectclass ( 1.3.6.1.4.1.18420.1.2.10 + NAME 'dlzZone' + DESC 'Zone name portion of a domain name' + SUP top STRUCTURAL + MUST ( objectclass $ dlzZoneName ) ) + +objectclass ( 1.3.6.1.4.1.18420.1.2.20 + NAME 'dlzHost' + DESC 'Host name portion of a domain name' + SUP top STRUCTURAL + MUST ( objectclass $ dlzHostName ) ) + +objectclass ( 1.3.6.1.4.1.18420.1.2.30 + NAME 'dlzAbstractRecord' + DESC 'Data common to all DNS record types' + SUP top ABSTRACT + MUST ( objectclass $ dlzRecordID $ dlzHostName $ dlzType $ dlzTTL ) ) + +objectclass ( 1.3.6.1.4.1.18420.1.2.40 + NAME 'dlzGenericRecord' + DESC 'Generic DNS record - useful when a specific object class has not been defined for a DNS record' + SUP dlzAbstractRecord STRUCTURAL + MUST ( dlzData ) ) + +objectclass ( 1.3.6.1.4.1.18420.1.2.50 + NAME 'dlzARecord' + DESC 'DNS A record' + SUP dlzAbstractrecord STRUCTURAL + MUST ( dlzIPAddr ) ) + +objectclass ( 1.3.6.1.4.1.18420.1.2.60 + NAME 'dlzNSRecord' + DESC 'DNS NS record' + SUP dlzGenericRecord STRUCTURAL ) + +objectclass ( 1.3.6.1.4.1.18420.1.2.70 + NAME 'dlzMXRecord' + DESC 'DNS MX record' + SUP dlzGenericRecord STRUCTURAL + MUST ( dlzPreference ) ) + +objectclass ( 1.3.6.1.4.1.18420.1.2.80 + NAME 'dlzSOARecord' + DESC 'DNS SOA record' + SUP dlzAbstractRecord STRUCTURAL + MUST ( dlzSerial $ dlzRefresh $ dlzRetry + $ dlzExpire $ dlzMinimum $ dlzAdminEmail $ dlzPrimaryNS ) ) + +objectclass ( 1.3.6.1.4.1.18420.1.2.90 + NAME 'dlzTextRecord' + DESC 'Text data with spaces should be wrapped in double quotes' + SUP dlzGenericRecord STRUCTURAL ) + +objectclass ( 1.3.6.1.4.1.18420.1.2.100 + NAME 'dlzPTRRecord' + DESC 'DNS PTR record' + SUP dlzGenericRecord STRUCTURAL ) + +objectclass ( 1.3.6.1.4.1.18420.1.2.110 + NAME 'dlzCNameRecord' + DESC 'DNS CName record' + SUP dlzGenericRecord STRUCTURAL ) + +objectclass ( 1.3.6.1.4.1.18420.1.2.120 + NAME 'dlzXFR' + DESC 'Host allowed to perform zone transfer' + SUP top STRUCTURAL + MUST ( objectclass $ dlzRecordID $ dlzIPAddr ) )