Drop old ebuilds
git-svn-id: https://svn.disconnected-by-peer.at/svn/linamh/trunk/linamh@425 6952d904-891a-0410-993b-d76249ca496b
This commit is contained in:
parent
fe52ad2028
commit
6e69fb5d70
@ -1,7 +0,0 @@
|
||||
# ChangeLog for net-dns/bind
|
||||
# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
|
||||
# $Header: $
|
||||
|
||||
08 Jun 2008; Mario Fetka <mario-fetka@gmx.at> +metadata.xml:
|
||||
Initial ldap patched bind
|
||||
|
@ -1,37 +0,0 @@
|
||||
AUX 10bind.env 27 RMD160 872245707b4f72a212cda162c59495744d77a6e3 SHA1 7b8c1abd5910bb7a07c6b7c820c2b34a534b2593 SHA256 5ad6a4402372b43809618051873b63646746f400447bba30dc4dfecd028e3650
|
||||
AUX 127.zone 227 RMD160 66ab92f201d71da613702a85806d2e8d27f6516f SHA1 6787635fd44b1f29dc34b31053ca28e4353f69e0 SHA256 65b909fc1398dfa5b532ab395d6920758937093cf7e5b5bec8242dff4fe15e89
|
||||
AUX bind-9.2.5-berkdb_fix.patch 537 RMD160 db4a569f94447687410d6c0145790185a5e2b177 SHA1 e21f0148987e79a27a5d3c662223fb743a67f6c9 SHA256 f2602bb014e5e60da50019447aefadff4ff352467ed9c360aaaec01b54115ff8
|
||||
AUX bind-9.2.5-dlz-mysql.patch 11296 RMD160 8a414c89c2479ad1e0212b0d6e263bbc77bed4e8 SHA1 019b83f2f87919820267d473b05d57d2052c921d SHA256 c7130b90a0afa27d91117466a6e09783b43a0ae9227e86d9f2d7e08b89539b37
|
||||
AUX bind-9.2.5-mysql.patch 11315 RMD160 6161e9ebaed3b13a64d3cc17edcce8a0e64e48fc SHA1 d22cf2f08c1f4a923513c8ae06a596ac51c2441c SHA256 f275c2f5566bdc57dbe54c6a17db4397f54999715bda1c06a5457b10a8dbbc94
|
||||
AUX bind-9.2.8-missing_odbc_test.patch 613 RMD160 ec141cef65e470dfc8df4c641ec96bfbd5d8cdd1 SHA1 dbc3a933cac7e474fa62fb2f71e50be91825b963 SHA256 5e6465bdb01cbb662333cc2b0a00ad51905a0cda2eb6b7abc3a0b2dd3e701f4e
|
||||
AUX bind-9.3.2-missing_odbc_test.patch 613 RMD160 ec141cef65e470dfc8df4c641ec96bfbd5d8cdd1 SHA1 dbc3a933cac7e474fa62fb2f71e50be91825b963 SHA256 5e6465bdb01cbb662333cc2b0a00ad51905a0cda2eb6b7abc3a0b2dd3e701f4e
|
||||
AUX bind-9.3.2-sdb-ldap.patch 1466 RMD160 7dad010d273e0975ef661280460932dbd29fc888 SHA1 077279fdb2b5c44ef40638ae7cad402e6d96d29d SHA256 306910a891dcc28bb520c7e663d021f7786eba4d5cf0bd573b7fbcc63812abee
|
||||
AUX bind-9.3.4-missing_odbc_test.patch 613 RMD160 ec141cef65e470dfc8df4c641ec96bfbd5d8cdd1 SHA1 dbc3a933cac7e474fa62fb2f71e50be91825b963 SHA256 5e6465bdb01cbb662333cc2b0a00ad51905a0cda2eb6b7abc3a0b2dd3e701f4e
|
||||
AUX bind-9.4.0-dlzbdb-close_cursor.patch 338 RMD160 3c92206a6c77ac8e9ea854dfc22fda5753b653a9 SHA1 903383e2b142d76a73030c27f2cdab8d100df150 SHA256 4a004d72565d6db683b879851ae8dfaddcf1b39fd0f97a995d9c5d22d72c6395
|
||||
AUX bind-dlzbdb-close_cursor.patch 307 RMD160 1bbf09d393b5db40b483a952db5f39fe60efda7c SHA1 4214a98ca49b6b85366f85d40dd9d5bbfd008151 SHA256 e18fb5668ffaa540d8ec3e01fe40b1f0d1c562a094c06fa902ef67953daed9f5
|
||||
AUX bind-dlzbdb-includes.patch 465 RMD160 07e120527c34ebc044f1312e491a8d8dc13ec558 SHA1 0184830214317aac4c2f60a8eeabdbbdbf3b2276 SHA256 16ac0b8ba61287a2172c99ab21dd66d0a46b104ef34f710da5933720604f70c6
|
||||
AUX bind-dlzmysql5-reconnect.patch 1842 RMD160 687f6128b6511dbeecdfc81b197520b1afd74005 SHA1 7b9b8e1b85f1344e4b5d8566ab868fcb1e87a049 SHA256 7376ac37c2d3fbcf5d8e886008639bdbe642f44c9021f435af370bddd3f03bd4
|
||||
AUX localhost.zone 412 RMD160 74d734f124f9078c300d089218536bcb108643d9 SHA1 8ed1efa7ba9560f59eff83712b65a4d75cee8340 SHA256 a67891fb66beb12999ade1b599f57a349337ec9a7f941962db94ac5816bc4088
|
||||
AUX localhost.zone-r1 419 RMD160 4013a4c855081d823c3b17f898e483d96eac2c3a SHA1 e0c5329c72039b6abd5dca60199aee2b617475f3 SHA256 bb7ec96335f265f7d6d21b6dd63e0a794477c0ec2675864a4851717a72ac447f
|
||||
AUX localhost.zone-r2 423 RMD160 d4b5c18d7f1678595799320b0bfa238d23e5119e SHA1 0e7bdf1cf307b553a572a6775efd69d9a254a77c SHA256 b6dff70386920adb21883566610b0a45b9de5a3847a870e4ad1902c5c7900399
|
||||
AUX named.ca 2878 RMD160 f374039998071794501461ccc13012c052b7d117 SHA1 c2f8c46a51493e4209fca6c3f2ba7755ae6dcf2b SHA256 0bd88f7f5cab2f872d3619700e382c1df6837a8aacf28cf6a0bf336742a0ee56
|
||||
AUX named.conf-r2 768 RMD160 911a089113451cf0ac58446069f6046b90f3250a SHA1 60ae31cde6a84694a1773de862c423c150e2f974 SHA256 1f6f47647c9e332ed6636f2b154cb23adad9ee53a50d0cec16b6243547418fb4
|
||||
AUX named.conf-r3 1314 RMD160 b8189eaac58eb27b612eacc66826802748e145ca SHA1 d8b2af94a89472ed0b767bdebadcfebcbf6ddfd3 SHA256 ab2f7305e9a1d30406528c5ef079beb4970c89572e90d57bb5ddb27b8126ad13
|
||||
AUX named.confd 319 RMD160 621fa073325cba947ffe63f7ff2867128bd90193 SHA1 c4fb9131c5b9b245ac247a2c0233dcb3bfa834da SHA256 c61a8f3b2488e0b007c9441a761026a94c40537acec4dbf7a9f8d22a14c4f3e0
|
||||
AUX named.confd-r1 392 RMD160 eb80118694d541aeb06df96473ca7d226adf0f6c SHA1 8a0a19237cb661c9d10f545041783edc0f3795ce SHA256 7f985999486b6cfea652b7a7470976bc703c259ef8cbc1cedc3eaacb302805a6
|
||||
AUX named.confd-r2 479 RMD160 0a0452bf9bb6f18d4628ee72abe82a52d484a2cb SHA1 d0b0e2f5d72d43862c5aaff9a226fd8599992323 SHA256 bae05257852ecbc7f66bd30e452162f15b6f6e8c3fc170fb6dfdfa7d22361915
|
||||
AUX named.init 1641 RMD160 8f6ff9334b258a1167ac02572391bc4c71d946d2 SHA1 1dd468ba20c1c050b428d5dedd5bb61b44fc3006 SHA256 505604e2e1ac3d7f8e5aea74e1f9fba543570809dadc4769a0de179a10637c1b
|
||||
AUX named.init-r2 1481 RMD160 e94af8ecbc639f59951ce9828fd3583e9616ca2a SHA1 e619db5d9370325e9bdb40e178dcf5da6f6809d8 SHA256 cbe7b55cf66b606ffede1847dec08e4810c1efd666d38ebc4f75dbe8277f1c13
|
||||
AUX named.init-r3 1513 RMD160 f69d90d619de354b5962ba7d69c4f39e5e5ac747 SHA1 8cd9657761f1ed080e9a8494fdf0b472808e1a26 SHA256 244888788cd9ddd0f2bce687621d96ca4d8b960398b6bc3d5cb1da3639861fd4
|
||||
AUX named.init-r4 1585 RMD160 30ed0f443f0ec1b63d3fd15e4d32fc79ad6199af SHA1 e600929124b4e993552896f6f111f06a706fed89 SHA256 f2eb9393a7380f670af0e09bd378cf619681e33b81ed7e5c7f5b7a1b01964821
|
||||
AUX named.init-r5 1620 RMD160 37279362e437241188a07e5f274730e68645827e SHA1 00a14819a322b391183084c79cc9a4dc04d0d484 SHA256 07fb9d653f086319680d04abde0218495ed09d3528087257788bf294252a0bad
|
||||
AUX named.rc 1644 RMD160 ab040b05deea9b8b1b2a8a75c174be103aa9a4a9 SHA1 1d3503cb3312f68851bda57c1fd23a90af36256e SHA256 07a1b0958594e067259cfbf8b6eeb33125536e2f82f0e63c2d802943eed1bdb6
|
||||
AUX named.rc6 1434 RMD160 f56a0c837609467df4b18b63979542ee7447c83b SHA1 992ef568bade0a5125c58258019b725ca6ac8fc3 SHA256 2619fc7695b84a35f9362bc1c0da4a3835e207f99f1164a56e0bbb97e70df057
|
||||
AUX named.rc6-pid_fix 488 RMD160 e59636895b54535a6e7e378635791c3c01728907 SHA1 3b57a5dce713716617de2e94eb1cb53b9876fc84 SHA256 612fbc406fff920a4a2a35ee6146ff31cf8ca1535b21a6a5eed1c912ee631cb5
|
||||
AUX named.rc6-smart_pid_fix 1204 RMD160 376ecf34ef5543571f1551a7d83da504ac420628 SHA1 7da3b265235a486686affc2806bd497d98ffc68b SHA256 703aa04162bee124fd492c991ba21ca7276112c61c297f0fa424e2cd4333f060
|
||||
DIST bind-9.5.0.tar.gz 6749437 RMD160 1f40217a7baab442f30e024698999ba845f6f05d SHA1 8d622ebcb6061518770cbc66072258c7ff051cb8 SHA256 fbb4c02c792a5298f8c71d617dfbab2acebbbdd51ea1d1e94d1aa66de48ddd61
|
||||
DIST bind-sdb-ldap-1.1.0.tar.gz 8687 RMD160 472b90c3792fe846bb5170e8e1bea9dccb28522a SHA1 99069a42cb318176bd190677209fedc19eeef10c SHA256 c0a07b41d67924e13ff362615f3c18a496fb7cb9ea11431f29f3e46d847e4b1c
|
||||
DIST dyndns-samples.tbz2 22866 RMD160 27d5b2d0edb8e1ff16b3f980c38d7af33ccf0c7d SHA1 0a62e9458d0e16b67a3a2f63ea485ce969f1fb4d SHA256 92fb06a92ca99cbbe96b90bcca229ef9c12397db57ae17e199dad9f1218fdbe8
|
||||
EBUILD bind-9.5.0-r1.ebuild 9216 RMD160 70bb89e617fc93572f9658cf9408f19190f92fb2 SHA1 70fc1d7d51e93ed3c2c85283f9e19237715dfd45 SHA256 80717b2545ffb19ca0aee7110a61ea01e7bcb45f4486209540a72767db1e66a4
|
||||
MISC ChangeLog 205 RMD160 57d8c7cada4a483b7943e37a437f75df8b9706e5 SHA1 7f579e4bf542e9e2a329a5686cf574b1c5879a93 SHA256 ab7093d39f912d0d9a4a97bbad3087d0732746e034800fb221b0021c815e1f48
|
||||
MISC metadata.xml 170 RMD160 645927a396fdc21cdeb089fe42c5397332420ea6 SHA1 ac7f48a14fec325926f9ce1be8fbf1f311b4f2e4 SHA256 d797a2ec6f9dc516c9f9c1a758ee87ad3e8c43101b5dc76c2f872d5bd4639b42
|
@ -1,291 +0,0 @@
|
||||
# Copyright 1999-2008 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/net-dns/bind/bind-9.5.0.ebuild,v 1.2 2008/06/06 14:40:52 dertobi123 Exp $
|
||||
|
||||
inherit eutils libtool autotools toolchain-funcs flag-o-matic
|
||||
|
||||
DESCRIPTION="BIND - Berkeley Internet Name Domain - Name Server"
|
||||
HOMEPAGE="http://www.isc.org/products/BIND/bind9.html"
|
||||
SRC_URI="ftp://ftp.isc.org/isc/bind9/${PV}/${P}.tar.gz
|
||||
doc? ( mirror://gentoo/dyndns-samples.tbz2 )
|
||||
sdb-ldap? ( http://bind9-ldap.bayour.com/bind-sdb-ldap-1.1.0.tar.gz )"
|
||||
|
||||
LICENSE="as-is"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
|
||||
IUSE="ssl ipv6 doc dlz postgres berkdb mysql odbc ldap selinux idn threads resolvconf urandom sdb-ldap"
|
||||
|
||||
DEPEND="ssl? ( >=dev-libs/openssl-0.9.6g )
|
||||
mysql? ( >=virtual/mysql-4.0 )
|
||||
odbc? ( >=dev-db/unixODBC-2.2.6 )
|
||||
ldap? ( net-nds/openldap )
|
||||
idn? ( net-dns/idnkit )"
|
||||
|
||||
RDEPEND="${DEPEND}
|
||||
selinux? ( sec-policy/selinux-bind )
|
||||
resolvconf? ( || ( net-dns/openresolv net-dns/resolvconf-gentoo ) )"
|
||||
|
||||
#S="${WORKDIR}/${P/_p1/-P1}"
|
||||
|
||||
pkg_setup() {
|
||||
use threads && {
|
||||
echo
|
||||
ewarn "If you're in vserver enviroment, you're probably want to"
|
||||
ewarn "disable threads support because of linux capabilities dependency"
|
||||
echo
|
||||
}
|
||||
|
||||
ebegin "Creating named group and user"
|
||||
enewgroup named 40
|
||||
enewuser named 40 -1 /etc/bind named
|
||||
eend ${?}
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
unpack ${A}
|
||||
cd "${S}"
|
||||
|
||||
# Adjusting PATHs in manpages
|
||||
for i in bin/{named/named.8,check/named-checkconf.8,rndc/rndc.8} ; do
|
||||
sed -i \
|
||||
-e 's:/etc/named.conf:/etc/bind/named.conf:g' \
|
||||
-e 's:/etc/rndc.conf:/etc/bind/rndc.conf:g' \
|
||||
-e 's:/etc/rndc.key:/etc/bind/rndc.key:g' \
|
||||
"${i}"
|
||||
done
|
||||
|
||||
use dlz && epatch "${FILESDIR}"/${PN}-9.4.0-dlzbdb-close_cursor.patch
|
||||
|
||||
# bind fails to reconnect to MySQL5 databases, bug #180720, patch by Nicolas Brousse
|
||||
# (http://www.shell-tips.com/2007/09/04/bind-950-patch-dlz-mysql-5-for-auto-reconnect/)
|
||||
|
||||
# Add sdb-ldap support
|
||||
use sdb-ldap && cp "${WORKDIR}"/bind-sdb-ldap-1.1.0/ldapdb.c "${S}"/bin/named/
|
||||
use sdb-ldap && cp "${WORKDIR}"/bind-sdb-ldap-1.1.0/ldapdb.h "${S}"/bin/named/include/
|
||||
use sdb-ldap && epatch "${FILESDIR}"/${PN}-9.3.2-sdb-ldap.patch
|
||||
use dlz && use mysql && epatch ${FILESDIR}/bind-dlzmysql5-reconnect.patch
|
||||
|
||||
# should be installed by bind-tools
|
||||
sed -e "s:nsupdate ::g" -i "${S}"/bin/Makefile.in
|
||||
|
||||
# bug #220361
|
||||
rm "${S}"/aclocal.m4 "${S}"/libtool.m4
|
||||
WANT_AUTOCONF=2.5 AT_NO_RECURSIVE=1 eautoreconf
|
||||
|
||||
# bug #151839
|
||||
sed -e \
|
||||
's:struct isc_socket {:#undef SO_BSDCOMPAT\n\nstruct isc_socket {:' \
|
||||
-i lib/isc/unix/socket.c
|
||||
|
||||
# remove useless c++ checks
|
||||
epunt_cxx
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
local myconf=""
|
||||
|
||||
use ssl && myconf="${myconf} --with-openssl"
|
||||
use idn && myconf="${myconf} --with-idn"
|
||||
|
||||
use dlz && {
|
||||
myconf="${myconf} --with-dlz-filesystem --with-dlz-stub"
|
||||
use postgres && myconf="${myconf} --with-dlz-postgres"
|
||||
use mysql && myconf="${myconf} --with-dlz-mysql"
|
||||
use berkdb && myconf="${myconf} --with-dlz-bdb"
|
||||
use ldap && myconf="${myconf} --with-dlz-ldap"
|
||||
use odbc && myconf="${myconf} --with-dlz-odbc"
|
||||
}
|
||||
|
||||
if use threads; then
|
||||
if use dlz && use mysql; then
|
||||
echo
|
||||
ewarn
|
||||
ewarn "MySQL uses thread local storage in its C api. Thus MySQL"
|
||||
ewarn "requires that each thread of an application execute a MySQL"
|
||||
ewarn "\"thread initialization\" to setup the thread local storage."
|
||||
ewarn "This is impossible to do safely while staying within the DLZ"
|
||||
ewarn "driver API. This is a limitation caused by MySQL, and not"
|
||||
ewarn "the DLZ API."
|
||||
ewarn "Because of this BIND MUST only run with a single thread when"
|
||||
ewarn "using the MySQL driver."
|
||||
ewarn
|
||||
myconf="${myconf} --disable-linux-caps --disable-threads"
|
||||
ewarn "Threading support disabled"
|
||||
epause 10
|
||||
else
|
||||
myconf="${myconf} --enable-linux-caps --enable-threads"
|
||||
einfo "Threading support enabled"
|
||||
fi
|
||||
else
|
||||
myconf="${myconf} --disable-linux-caps --disable-threads"
|
||||
fi
|
||||
|
||||
if use urandom; then
|
||||
myconf="${myconf} --with-randomdev=/dev/urandom"
|
||||
else
|
||||
myconf="${myconf} --with-randomdev=/dev/random"
|
||||
fi
|
||||
|
||||
# bug #158664
|
||||
gcc-specs-ssp && replace-flags -O[23s] -O
|
||||
export BUILD_CC="${CBUILD}-gcc"
|
||||
econf \
|
||||
--sysconfdir=/etc/bind \
|
||||
--localstatedir=/var \
|
||||
--with-libtool \
|
||||
`use_enable ipv6` \
|
||||
${myconf} || die "econf failed"
|
||||
|
||||
emake -j1 || die "failed to compile bind"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
einstall || die "failed to install bind"
|
||||
|
||||
dodoc CHANGES COPYRIGHT FAQ README
|
||||
|
||||
use doc && {
|
||||
docinto misc
|
||||
dodoc doc/misc/*
|
||||
|
||||
docinto html
|
||||
dohtml doc/arm/*
|
||||
|
||||
docinto draft
|
||||
dodoc doc/draft/*
|
||||
|
||||
docinto rfc
|
||||
dodoc doc/rfc/*
|
||||
|
||||
docinto contrib
|
||||
dodoc contrib/named-bootconf/named-bootconf.sh \
|
||||
contrib/nanny/nanny.pl
|
||||
|
||||
# some handy-dandy dynamic dns examples
|
||||
cd "${D}"/usr/share/doc/${PF}
|
||||
tar pjxf ${DISTFILES}/dyndns-samples.tbz2
|
||||
}
|
||||
|
||||
newenvd "${FILESDIR}"/10bind.env 10bind
|
||||
|
||||
dodir /etc/bind /var/bind/{pri,sec}
|
||||
keepdir /var/bind/sec
|
||||
|
||||
insinto /etc/bind ; newins "${FILESDIR}"/named.conf-r3 named.conf
|
||||
|
||||
# ftp://ftp.rs.internic.net/domain/named.ca:
|
||||
insinto /var/bind ; doins "${FILESDIR}"/named.ca
|
||||
|
||||
insinto /var/bind/pri
|
||||
doins "${FILESDIR}"/127.zone
|
||||
newins "${FILESDIR}"/localhost.zone-r2 localhost.zone
|
||||
|
||||
newinitd "${FILESDIR}"/named.init-r5 named
|
||||
newconfd "${FILESDIR}"/named.confd-r2 named
|
||||
|
||||
dosym ../../var/bind/named.ca /var/bind/root.cache
|
||||
dosym ../../var/bind/pri /etc/bind/pri
|
||||
dosym ../../var/bind/sec /etc/bind/sec
|
||||
|
||||
# Let's get rid of those tools and their manpages since they're provided by bind-tools
|
||||
rm -f "${D}"/usr/share/man/man1/{dig.1,host.1,nslookup.1}
|
||||
rm -f "${D}"/usr/share/man/man8/{dnssec-keygen.8,nsupdate.8}
|
||||
rm -f "${D}"/usr/bin/{dig,host,nslookup,dnssec-keygen,nsupdate}
|
||||
|
||||
use resolvconf && {
|
||||
exeinto /etc/resolvconf/update.d
|
||||
newexe "${FILESDIR}"/resolvconf.bind bind
|
||||
}
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [ ! -f '/etc/bind/rndc.key' ]; then
|
||||
if [ -c /dev/urandom ]; then
|
||||
einfo "Using /dev/urandom for generating rndc.key"
|
||||
/usr/sbin/rndc-confgen -r /dev/urandom -a -u named
|
||||
echo
|
||||
else
|
||||
einfo "Using /dev/random for generating rndc.key"
|
||||
/usr/sbin/rndc-confgen -a -u named
|
||||
echo
|
||||
fi
|
||||
fi
|
||||
|
||||
install -d -o named -g named "${ROOT}"/var/run/named \
|
||||
"${ROOT}"/var/bind/pri "${ROOT}"/var/bind/sec
|
||||
chown -R named:named "${ROOT}"/var/bind
|
||||
|
||||
elog "The default zone files are now installed as *.zone,"
|
||||
elog "be careful merging config files if you have modified"
|
||||
elog "/var/bind/pri/127 or /var/bind/pri/localhost"
|
||||
elog
|
||||
elog "You can edit /etc/conf.d/named to customize named settings"
|
||||
elog
|
||||
elog "The BIND ebuild now includes chroot support."
|
||||
elog "If you like to run bind in chroot AND this is a new install OR"
|
||||
elog "your bind doesn't already run in chroot, simply run:"
|
||||
elog "\`emerge --config '=${CATEGORY}/${PF}'\`"
|
||||
elog "Before running the above command you might want to change the chroot"
|
||||
elog "dir in /etc/conf.d/named. Otherwise /chroot/dns will be used."
|
||||
elog
|
||||
elog "Recently verisign added a wildcard A record to the .COM and .NET TLD"
|
||||
elog "zones making all .com and .net domains appear to be registered"
|
||||
elog "This causes many problems such as breaking important anti-spam checks"
|
||||
elog "which verify source domains exist. ISC released a patch for BIND which"
|
||||
elog "adds 'delegation-only' zones to allow admins to return the .com and .net"
|
||||
elog "domain resolution to their normal function."
|
||||
elog
|
||||
elog "There is no need to create a com or net data file. Just the"
|
||||
elog "entries to the named.conf file is enough."
|
||||
elog
|
||||
elog " zone "com" IN { type delegation-only; };"
|
||||
elog " zone "net" IN { type delegation-only; };"
|
||||
|
||||
echo
|
||||
ewarn "BIND >=9.2.5 makes the priority argument to MX records mandatory"
|
||||
ewarn "when it was previously optional. If the priority is missing, BIND"
|
||||
ewarn "won't load the zone file at all."
|
||||
echo
|
||||
}
|
||||
|
||||
pkg_config() {
|
||||
CHROOT=`sed -n 's/^[[:blank:]]\?CHROOT="\([^"]\+\)"/\1/p' /etc/conf.d/named 2>/dev/null`
|
||||
EXISTS="no"
|
||||
|
||||
if [ -z "${CHROOT}" -a ! -d "/chroot/dns" ]; then
|
||||
CHROOT="/chroot/dns"
|
||||
elif [ -d ${CHROOT} ]; then
|
||||
eerror; eerror "${CHROOT:-/chroot/dns} already exists. Quitting."; eerror; EXISTS="yes"
|
||||
fi
|
||||
|
||||
if [ ! "$EXISTS" = yes ]; then
|
||||
einfo ; einfon "Setting up the chroot directory..."
|
||||
mkdir -m 700 -p ${CHROOT}
|
||||
mkdir -p ${CHROOT}/{dev,etc,var/run/named}
|
||||
chown -R named:named ${CHROOT}/var/run/named
|
||||
cp -R /etc/bind ${CHROOT}/etc/
|
||||
cp /etc/localtime ${CHROOT}/etc/localtime
|
||||
chown named:named ${CHROOT}/etc/bind/rndc.key
|
||||
cp -R /var/bind ${CHROOT}/var/
|
||||
chown -R named:named ${CHROOT}/var/
|
||||
mknod ${CHROOT}/dev/zero c 1 5
|
||||
mknod ${CHROOT}/dev/random c 1 8
|
||||
chmod 666 ${CHROOT}/dev/{random,zero}
|
||||
chown root:named ${CHROOT}
|
||||
chmod 0750 ${CHROOT}
|
||||
|
||||
grep -q "^#[[:blank:]]\?CHROOT" /etc/conf.d/named ; RETVAL=$?
|
||||
if [ $RETVAL = 0 ]; then
|
||||
sed 's/^# \?\(CHROOT.*\)$/\1/' /etc/conf.d/named > /etc/conf.d/named.orig 2>/dev/null
|
||||
mv --force /etc/conf.d/named.orig /etc/conf.d/named
|
||||
fi
|
||||
|
||||
sleep 1; echo " Done."; sleep 1
|
||||
einfo
|
||||
einfo "Add the following to your root .bashrc or .bash_profile: "
|
||||
einfo " alias rndc='rndc -k ${CHROOT}/etc/bind/rndc.key'"
|
||||
einfo "Then do the following: "
|
||||
einfo " source /root/.bashrc or .bash_profile"
|
||||
einfo
|
||||
fi
|
||||
}
|
@ -1 +0,0 @@
|
||||
CONFIG_PROTECT="/var/bind"
|
@ -1,11 +0,0 @@
|
||||
$ORIGIN 127.in-addr.arpa.
|
||||
$TTL 1W
|
||||
@ 1D IN SOA localhost. root.localhost. (
|
||||
2002081601 ; serial
|
||||
3H ; refresh
|
||||
15M ; retry
|
||||
1W ; expiry
|
||||
1D ) ; minimum
|
||||
|
||||
1D IN NS localhost.
|
||||
1 1D IN PTR localhost.
|
@ -1,11 +0,0 @@
|
||||
--- configure.in.orig 2005-03-25 23:33:33.000000000 +0300
|
||||
+++ configure.in 2005-03-25 23:34:04.000000000 +0300
|
||||
@@ -453,7 +453,7 @@
|
||||
then
|
||||
use_dlz_bdb=$d
|
||||
DLZ_BDB_INCDIR=$use_dlz_bdb/include
|
||||
- DLB_BDB_LIB="-ldb"
|
||||
+ DLZ_BDB_LIB="-ldb"
|
||||
break
|
||||
fi
|
||||
done
|
@ -1,402 +0,0 @@
|
||||
diff -uraN bind-9.2.5-dlz/bin/named/include/mysqldb.h bind-9.2.5-dlz-mysql/bin/named/include/mysqldb.h
|
||||
--- bind-9.2.5-dlz/bin/named/include/mysqldb.h 1970-01-01 03:00:00.000000000 +0300
|
||||
+++ bind-9.2.5-dlz-mysql/bin/named/include/mysqldb.h 2005-03-25 21:41:25.000000000 +0300
|
||||
@@ -0,0 +1,7 @@
|
||||
+
|
||||
+#include <isc/types.h>
|
||||
+
|
||||
+isc_result_t mysqldb_init(void);
|
||||
+
|
||||
+void mysqldb_clear(void);
|
||||
+
|
||||
diff -uraN bind-9.2.5-dlz/bin/named/main.c bind-9.2.5-dlz-mysql/bin/named/main.c
|
||||
--- bind-9.2.5-dlz/bin/named/main.c 2005-03-25 21:41:01.000000000 +0300
|
||||
+++ bind-9.2.5-dlz-mysql/bin/named/main.c 2005-03-25 21:41:25.000000000 +0300
|
||||
@@ -68,6 +68,7 @@
|
||||
* Include header files for database drivers here.
|
||||
*/
|
||||
/* #include "xxdb.h" */
|
||||
+#include "mysqldb.h"
|
||||
|
||||
#ifdef DLZ_STUB
|
||||
#include <named/dlz_stub_driver.h>
|
||||
@@ -594,6 +595,7 @@
|
||||
* Add calls to register sdb drivers here.
|
||||
*/
|
||||
/* xxdb_init(); */
|
||||
+ mysqldb_init ();
|
||||
|
||||
#ifdef DLZ_STUB
|
||||
dlz_stub_init();
|
||||
@@ -637,6 +639,7 @@
|
||||
* Add calls to unregister sdb drivers here.
|
||||
*/
|
||||
/* xxdb_clear(); */
|
||||
+ mysqldb_clear ();
|
||||
|
||||
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN,
|
||||
ISC_LOG_NOTICE, "exiting");
|
||||
diff -uraN bind-9.2.5-dlz/bin/named/Makefile.in bind-9.2.5-dlz-mysql/bin/named/Makefile.in
|
||||
--- bind-9.2.5-dlz/bin/named/Makefile.in 2005-03-25 21:41:01.000000000 +0300
|
||||
+++ bind-9.2.5-dlz-mysql/bin/named/Makefile.in 2005-03-25 21:41:25.000000000 +0300
|
||||
@@ -26,10 +26,10 @@
|
||||
#
|
||||
# Add database drivers here.
|
||||
#
|
||||
-DBDRIVER_OBJS =
|
||||
-DBDRIVER_SRCS =
|
||||
-DBDRIVER_INCLUDES =
|
||||
-DBDRIVER_LIBS =
|
||||
+DBDRIVER_OBJS = mysqldb.@O@
|
||||
+DBDRIVER_SRCS = mysqldb.c
|
||||
+DBDRIVER_INCLUDES = -I/usr/local/include
|
||||
+DBDRIVER_LIBS = -L/usr/local/lib/mysql -lmysqlclient
|
||||
|
||||
DLZINCLUDES = @DLZ_BDB_INC@ @DLZ_POSTGRES_INC@ @DLZ_ODBC_INC@ \
|
||||
@DLZ_MYSQL_INC@ @DLZ_LDAP_INC@
|
||||
diff -uraN bind-9.2.5-dlz/bin/named/mysqldb.c bind-9.2.5-dlz-mysql/bin/named/mysqldb.c
|
||||
--- bind-9.2.5-dlz/bin/named/mysqldb.c 1970-01-01 03:00:00.000000000 +0300
|
||||
+++ bind-9.2.5-dlz-mysql/bin/named/mysqldb.c 2005-03-25 21:41:25.000000000 +0300
|
||||
@@ -0,0 +1,342 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2002 Mihai Chelaru ( kefren@netbastards.org )
|
||||
+ *
|
||||
+ * Permission to use, copy, modify, and distribute this software for any
|
||||
+ * purpose with or without fee is hereby granted, provided that the above
|
||||
+ * copyright notice and this permission notice appear in all copies.
|
||||
+ *
|
||||
+ * THE SOFTWARE IS PROVIDED "AS IS" AND I DISCLAIM ALL WARRANTIES WITH
|
||||
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
+ * AND FITNESS. IN NO EVENT SHALL I BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
|
||||
+ * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
|
||||
+ * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
|
||||
+ * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
+ */
|
||||
+
|
||||
+
|
||||
+#include <config.h>
|
||||
+#include <stdio.h>
|
||||
+#include <malloc.h>
|
||||
+#include <mysql/mysql.h>
|
||||
+#include <isc/mem.h>
|
||||
+#include <dns/sdb.h>
|
||||
+#include <dns/result.h>
|
||||
+#include <named/globals.h>
|
||||
+
|
||||
+#include <mysqldb.h>
|
||||
+
|
||||
+#define ROWS 20
|
||||
+#define MAXCOLUMN 200
|
||||
+
|
||||
+/*
|
||||
+#define ONEDATABASE
|
||||
+#define MDEBUG
|
||||
+*/
|
||||
+struct mysqlrow {
|
||||
+ char *s[ROWS];
|
||||
+};
|
||||
+
|
||||
+static dns_sdbimplementation_t *mysqldb = NULL;
|
||||
+
|
||||
+struct mydbinfo {
|
||||
+ MYSQL *conn;
|
||||
+ char *database;
|
||||
+ char *table;
|
||||
+ char *host;
|
||||
+ char *user;
|
||||
+ char *passwd;
|
||||
+};
|
||||
+
|
||||
+/* My internal functions */
|
||||
+
|
||||
+int mysql_dbcon(struct mydbinfo *);
|
||||
+
|
||||
+int
|
||||
+mysql_dbcon(struct mydbinfo * dbi)
|
||||
+{
|
||||
+#ifdef MDEBUG
|
||||
+ printf("Connecting\n");
|
||||
+#endif
|
||||
+ dbi->conn=mysql_init(NULL);
|
||||
+ if (dbi->conn == NULL) return 0;
|
||||
+ if (!mysql_real_connect(dbi->conn, dbi->host, dbi->user, dbi->passwd, dbi->database, 3306, NULL, 0))
|
||||
+ return 0;
|
||||
+#ifdef MDEBUG
|
||||
+ printf("Connected\n");
|
||||
+#endif
|
||||
+ return 1;
|
||||
+}
|
||||
+
|
||||
+/* External functions */
|
||||
+
|
||||
+static isc_result_t
|
||||
+mysqldb_lookup(const char *zone, const char *name, void *dbdata, dns_sdblookup_t * lookup)
|
||||
+{
|
||||
+ char *querystring = NULL, seclook[150];
|
||||
+ struct mydbinfo *dbi = (struct mydbinfo *) dbdata;
|
||||
+ MYSQL_RES *result;
|
||||
+ struct mysqlrow myrow;
|
||||
+ int i, j, totlen;
|
||||
+ MYSQL_ROW row;
|
||||
+ int num_fields, putrr_success=0;
|
||||
+#ifdef MDEBUG
|
||||
+ printf("Lookup in %.200s for %.200s ", zone, name);
|
||||
+#endif
|
||||
+ querystring = (char *) malloc(200);
|
||||
+ if (!querystring)
|
||||
+ return ISC_R_NOMEMORY;
|
||||
+ snprintf(querystring, 200, "SELECT TTL,RDTYPE,RDATA FROM %s where name='%.150s'", dbi->table, name);
|
||||
+#ifdef MDEBUG
|
||||
+ printf("Query = %s\n", querystring);
|
||||
+#endif
|
||||
+ mysql_ping(dbi->conn);
|
||||
+ if (mysql_query(dbi->conn, querystring)) {
|
||||
+ printf("Query Error in lookup\n");
|
||||
+ free(querystring);
|
||||
+ return ISC_R_FAILURE;
|
||||
+ }
|
||||
+ free(querystring);
|
||||
+ result = mysql_store_result(dbi->conn);
|
||||
+
|
||||
+ num_fields = mysql_num_fields(result);
|
||||
+ if (num_fields > ROWS) {
|
||||
+ printf("Incorrect database format\n");
|
||||
+ mysql_free_result(result);
|
||||
+ return ISC_R_FAILURE;
|
||||
+ }
|
||||
+ /* allocate to fetch */
|
||||
+ for (i = 0; i < ROWS; i++)
|
||||
+ if (!(myrow.s[i] = (char *) malloc(MAXCOLUMN))) {
|
||||
+ for (j = 0; j < i; j++)
|
||||
+ free(myrow.s[i]);
|
||||
+ mysql_free_result(result);
|
||||
+ return ISC_R_NOMEMORY;
|
||||
+ }
|
||||
+ /* Ok. we found no reason why to not let fetch */
|
||||
+ while ((row = mysql_fetch_row(result))) {
|
||||
+ unsigned long *lengths;
|
||||
+ lengths = mysql_fetch_lengths(result);
|
||||
+ totlen = 0;
|
||||
+ for (i = 0; i < num_fields; i++) {
|
||||
+ totlen += lengths[i];
|
||||
+ snprintf(myrow.s[i], MAXCOLUMN, "%.*s", (int) lengths[i], row[i] ? row[i] : "NULL");
|
||||
+ }
|
||||
+#ifdef MDEBUG
|
||||
+ printf("Lookup: %s %s %s\n", myrow.s[0], myrow.s[1], myrow.s[2]);
|
||||
+#endif
|
||||
+ if (dns_sdb_putrr(lookup, myrow.s[1], strtol(myrow.s[0], NULL, 10), myrow.s[2]) != ISC_R_SUCCESS) {
|
||||
+ for (i = 0; i < ROWS; i++)
|
||||
+ free(myrow.s[i]);
|
||||
+ mysql_free_result(result);
|
||||
+ printf("Lookup Failure\n");
|
||||
+ return ISC_R_FAILURE;
|
||||
+ } else putrr_success=1;
|
||||
+ }
|
||||
+#ifdef MDEBUG
|
||||
+ printf ("Bailing out lookup\n");
|
||||
+#endif
|
||||
+ /* Ok. success. bail out. */
|
||||
+ for (i = 0; i < ROWS; i++)
|
||||
+ free(myrow.s[i]);
|
||||
+ mysql_free_result(result);
|
||||
+
|
||||
+ /* Check if there is any *.foo.com available and return it in case that this is not a *.foo.com call */
|
||||
+ if ((!putrr_success)&&(name[0]!='*')) {
|
||||
+#ifdef MDEBUG
|
||||
+printf ("Cannot find it. Trying to check * record\n");
|
||||
+#endif
|
||||
+ snprintf (seclook,150,"*.%s",zone);
|
||||
+ return mysqldb_lookup (zone, seclook, dbdata, lookup);
|
||||
+ }
|
||||
+
|
||||
+ /* else return SUCCESS */
|
||||
+ return ISC_R_SUCCESS;
|
||||
+}
|
||||
+
|
||||
+static isc_result_t
|
||||
+mysqldb_allnodes(const char *zone, void *dbdata, dns_sdballnodes_t * allnodes)
|
||||
+{
|
||||
+ char *querystring = NULL;
|
||||
+ struct mydbinfo *dbi = (struct mydbinfo *) dbdata;
|
||||
+ MYSQL_RES *result;
|
||||
+ struct mysqlrow myrow;
|
||||
+ MYSQL_ROW row;
|
||||
+ int num_fields;
|
||||
+ int i, totlen, j;
|
||||
+#ifdef MDEBUG
|
||||
+ printf("All Nodes\n");
|
||||
+#endif
|
||||
+ querystring = (char *) malloc(200);
|
||||
+ if (!querystring)
|
||||
+ return ISC_R_NOMEMORY;
|
||||
+ snprintf(querystring, 200, "SELECT TTL,NAME,RDTYPE,RDATA FROM %s where name like('%%%.150s')", dbi->table, zone);
|
||||
+ mysql_ping(dbi->conn);
|
||||
+ if (mysql_query(dbi->conn, querystring)) {
|
||||
+ printf("Query Error\n");
|
||||
+ free(querystring);
|
||||
+ return ISC_R_FAILURE;
|
||||
+ }
|
||||
+ free(querystring);
|
||||
+ result = mysql_store_result(dbi->conn);
|
||||
+
|
||||
+ num_fields = mysql_num_fields(result);
|
||||
+ if (num_fields > ROWS) {
|
||||
+ printf("Incorrect database format\n");
|
||||
+ mysql_free_result(result);
|
||||
+ return ISC_R_FAILURE;
|
||||
+ }
|
||||
+ /* allocate to fetch */
|
||||
+ for (i = 0; i < ROWS; i++)
|
||||
+ if (!(myrow.s[i] = (char *) malloc(MAXCOLUMN))) {
|
||||
+ for (j = 0; j < i; j++)
|
||||
+ free(myrow.s[i]);
|
||||
+ mysql_free_result(result);
|
||||
+ return ISC_R_NOMEMORY;
|
||||
+ }
|
||||
+ /* Ok. we found no reason why to not let fetch */
|
||||
+ while ((row = mysql_fetch_row(result))) {
|
||||
+ unsigned long *lengths;
|
||||
+ lengths = mysql_fetch_lengths(result);
|
||||
+ totlen = 0;
|
||||
+ for (i = 0; i < num_fields; i++) {
|
||||
+ totlen += lengths[i];
|
||||
+ snprintf(myrow.s[i], MAXCOLUMN, "%.*s", (int) lengths[i], row[i] ? row[i] : "NULL");
|
||||
+ }
|
||||
+#ifdef MDEBUG
|
||||
+ printf("All Nodes: %s %s %s %s\n", myrow.s[0], myrow.s[1], myrow.s[2], myrow.s[3]);
|
||||
+#endif
|
||||
+ if (dns_sdb_putnamedrr(allnodes, myrow.s[1], myrow.s[2], strtol(myrow.s[0], NULL, 10), myrow.s[3]) != ISC_R_SUCCESS) {
|
||||
+ for (i = 0; i < ROWS; i++)
|
||||
+ free(myrow.s[i]);
|
||||
+ mysql_free_result(result);
|
||||
+ return ISC_R_FAILURE;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ /* Ok. success. bail out. */
|
||||
+ mysql_free_result(result);
|
||||
+ for (i = 0; i < ROWS; i++)
|
||||
+ free(myrow.s[i]);
|
||||
+ return ISC_R_SUCCESS;
|
||||
+}
|
||||
+
|
||||
+
|
||||
+
|
||||
+/*
|
||||
+ * Open database argv[i]=database,table,hostname,user,passwd
|
||||
+ */
|
||||
+
|
||||
+static isc_result_t
|
||||
+mysqldb_create(const char *zone, int argc, char **argv, void *driverdata, void **dbdata)
|
||||
+{
|
||||
+ struct mydbinfo *dbi;
|
||||
+ #ifdef ONEDATABASE
|
||||
+ static MYSQL *dbconstat;
|
||||
+ #endif
|
||||
+
|
||||
+ /* Argument count checking */
|
||||
+ if (argc < 5)
|
||||
+ return ISC_R_FAILURE;
|
||||
+
|
||||
+ /* dbi init */
|
||||
+
|
||||
+ dbi = (struct mydbinfo *) isc_mem_get(ns_g_mctx, sizeof(struct mydbinfo));
|
||||
+ if (!dbi)
|
||||
+ return ISC_R_NOMEMORY;
|
||||
+ dbi->database = NULL;
|
||||
+ dbi->table = NULL;
|
||||
+ dbi->host = NULL;
|
||||
+ dbi->user = NULL;
|
||||
+ dbi->passwd = NULL;
|
||||
+
|
||||
+ dbi->database = isc_mem_strdup(ns_g_mctx, argv[0]);
|
||||
+ dbi->table = isc_mem_strdup(ns_g_mctx, argv[1]);
|
||||
+ dbi->host = isc_mem_strdup(ns_g_mctx, argv[2]);
|
||||
+ dbi->user = isc_mem_strdup(ns_g_mctx, argv[3]);
|
||||
+ dbi->passwd = isc_mem_strdup(ns_g_mctx, argv[4]);
|
||||
+
|
||||
+ if ((!dbi->database) || (!dbi->table) || (!dbi->host) || (!dbi->user) || (!dbi->passwd)) {
|
||||
+ printf("Cannot strdup\n");
|
||||
+ if (dbi->conn)
|
||||
+ mysql_close(dbi->conn);
|
||||
+ if (dbi->database)
|
||||
+ isc_mem_free(ns_g_mctx, dbi->database);
|
||||
+ if (dbi->table)
|
||||
+ isc_mem_free(ns_g_mctx, dbi->table);
|
||||
+ if (dbi->host)
|
||||
+ isc_mem_free(ns_g_mctx, dbi->host);
|
||||
+ if (dbi->user)
|
||||
+ isc_mem_free(ns_g_mctx, dbi->user);
|
||||
+ if (dbi->passwd)
|
||||
+ isc_mem_free(ns_g_mctx, dbi->passwd);
|
||||
+ isc_mem_put(ns_g_mctx, dbi, sizeof(struct mydbinfo));
|
||||
+ return ISC_R_NOMEMORY;
|
||||
+ }
|
||||
+ /* connect to database */
|
||||
+ #ifdef ONEDATABASE
|
||||
+ if (!((dbconstat) && (!mysql_ping(dbconstat))))
|
||||
+ #endif
|
||||
+ if (!mysql_dbcon(dbi)) {
|
||||
+ printf("Cannot connect to database\n");
|
||||
+ return ISC_R_FAILURE;
|
||||
+ }
|
||||
+ #ifdef ONEDATABASE
|
||||
+ if (dbconstat) dbi->conn = dbconstat; else dbconstat = dbi->conn;
|
||||
+ #endif
|
||||
+ *dbdata = dbi;
|
||||
+ return ISC_R_SUCCESS;
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+mysqldb_destroy(const char *zone, void *driverdata, void **dbdata)
|
||||
+{
|
||||
+ struct mydbinfo *dbi;
|
||||
+
|
||||
+ dbi = (struct mydbinfo *) (*dbdata);
|
||||
+ if (!dbi)
|
||||
+ return;
|
||||
+ if (dbi->conn)
|
||||
+ mysql_close(dbi->conn);
|
||||
+ if (dbi->database)
|
||||
+ isc_mem_free(ns_g_mctx, dbi->database);
|
||||
+ if (dbi->table)
|
||||
+ isc_mem_free(ns_g_mctx, dbi->table);
|
||||
+ if (dbi->host)
|
||||
+ isc_mem_free(ns_g_mctx, dbi->host);
|
||||
+ if (dbi->user)
|
||||
+ isc_mem_free(ns_g_mctx, dbi->user);
|
||||
+ if (dbi->passwd)
|
||||
+ isc_mem_free(ns_g_mctx, dbi->passwd);
|
||||
+ isc_mem_put(ns_g_mctx, dbi, sizeof(struct mydbinfo));
|
||||
+#ifdef MDEBUG
|
||||
+ printf("Destroyed\n");
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
+
|
||||
+/* SDB methods */
|
||||
+
|
||||
+static dns_sdbmethods_t mysqldb_methods = {
|
||||
+ mysqldb_lookup,
|
||||
+ NULL, /* authority */
|
||||
+ mysqldb_allnodes,
|
||||
+ mysqldb_create,
|
||||
+ mysqldb_destroy
|
||||
+};
|
||||
+
|
||||
+
|
||||
+
|
||||
+isc_result_t
|
||||
+mysqldb_init()
|
||||
+{
|
||||
+ unsigned int flags = 0;
|
||||
+ return dns_sdb_register("mysql", &mysqldb_methods, NULL, flags, ns_g_mctx, &mysqldb);
|
||||
+}
|
||||
+
|
||||
+void
|
||||
+mysqldb_clear()
|
||||
+{
|
||||
+ if (mysqldb)
|
||||
+ dns_sdb_unregister(&mysqldb);
|
||||
+}
|
@ -1,402 +0,0 @@
|
||||
diff -uraN bind-9.2.5-orig/bin/named/include/mysqldb.h bind-9.2.5-mysql/bin/named/include/mysqldb.h
|
||||
--- bind-9.2.5-orig/bin/named/include/mysqldb.h 1970-01-01 03:00:00.000000000 +0300
|
||||
+++ bind-9.2.5-mysql/bin/named/include/mysqldb.h 2005-03-25 21:35:47.000000000 +0300
|
||||
@@ -0,0 +1,7 @@
|
||||
+
|
||||
+#include <isc/types.h>
|
||||
+
|
||||
+isc_result_t mysqldb_init(void);
|
||||
+
|
||||
+void mysqldb_clear(void);
|
||||
+
|
||||
diff -uraN bind-9.2.5-orig/bin/named/main.c bind-9.2.5-mysql/bin/named/main.c
|
||||
--- bind-9.2.5-orig/bin/named/main.c 2004-10-25 04:50:53.000000000 +0400
|
||||
+++ bind-9.2.5-mysql/bin/named/main.c 2005-03-25 21:35:47.000000000 +0300
|
||||
@@ -68,6 +68,7 @@
|
||||
* Include header files for database drivers here.
|
||||
*/
|
||||
/* #include "xxdb.h" */
|
||||
+#include "mysqldb.h"
|
||||
|
||||
static isc_boolean_t want_stats = ISC_FALSE;
|
||||
static char program_name[ISC_DIR_NAMEMAX] = "named";
|
||||
@@ -565,6 +566,7 @@
|
||||
* Add calls to register sdb drivers here.
|
||||
*/
|
||||
/* xxdb_init(); */
|
||||
+ mysqldb_init ();
|
||||
|
||||
ns_server_create(ns_g_mctx, &ns_g_server);
|
||||
}
|
||||
@@ -579,6 +581,7 @@
|
||||
* Add calls to unregister sdb drivers here.
|
||||
*/
|
||||
/* xxdb_clear(); */
|
||||
+ mysqldb_clear ();
|
||||
|
||||
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN,
|
||||
ISC_LOG_NOTICE, "exiting");
|
||||
diff -uraN bind-9.2.5-orig/bin/named/Makefile.in bind-9.2.5-mysql/bin/named/Makefile.in
|
||||
--- bind-9.2.5-orig/bin/named/Makefile.in 2004-09-07 01:42:06.000000000 +0400
|
||||
+++ bind-9.2.5-mysql/bin/named/Makefile.in 2005-03-25 21:35:47.000000000 +0300
|
||||
@@ -26,10 +26,10 @@
|
||||
#
|
||||
# Add database drivers here.
|
||||
#
|
||||
-DBDRIVER_OBJS =
|
||||
-DBDRIVER_SRCS =
|
||||
-DBDRIVER_INCLUDES =
|
||||
-DBDRIVER_LIBS =
|
||||
+DBDRIVER_OBJS = mysqldb.@O@
|
||||
+DBDRIVER_SRCS = mysqldb.c
|
||||
+DBDRIVER_INCLUDES = -I/usr/local/include
|
||||
+DBDRIVER_LIBS = -L/usr/local/lib/mysql -lmysqlclient
|
||||
|
||||
CINCLUDES = -I${srcdir}/include -I${srcdir}/unix/include \
|
||||
${LWRES_INCLUDES} ${DNS_INCLUDES} \
|
||||
diff -uraN bind-9.2.5-orig/bin/named/mysqldb.c bind-9.2.5-mysql/bin/named/mysqldb.c
|
||||
--- bind-9.2.5-orig/bin/named/mysqldb.c 1970-01-01 03:00:00.000000000 +0300
|
||||
+++ bind-9.2.5-mysql/bin/named/mysqldb.c 2005-03-25 21:35:47.000000000 +0300
|
||||
@@ -0,0 +1,342 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2002 Mihai Chelaru ( kefren@netbastards.org )
|
||||
+ *
|
||||
+ * Permission to use, copy, modify, and distribute this software for any
|
||||
+ * purpose with or without fee is hereby granted, provided that the above
|
||||
+ * copyright notice and this permission notice appear in all copies.
|
||||
+ *
|
||||
+ * THE SOFTWARE IS PROVIDED "AS IS" AND I DISCLAIM ALL WARRANTIES WITH
|
||||
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
+ * AND FITNESS. IN NO EVENT SHALL I BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
|
||||
+ * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
|
||||
+ * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
|
||||
+ * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
+ */
|
||||
+
|
||||
+
|
||||
+#include <config.h>
|
||||
+#include <stdio.h>
|
||||
+#include <malloc.h>
|
||||
+#include <mysql/mysql.h>
|
||||
+#include <isc/mem.h>
|
||||
+#include <dns/sdb.h>
|
||||
+#include <dns/result.h>
|
||||
+#include <named/globals.h>
|
||||
+
|
||||
+#include <mysqldb.h>
|
||||
+
|
||||
+#define ROWS 20
|
||||
+#define MAXCOLUMN 200
|
||||
+
|
||||
+/*
|
||||
+#define ONEDATABASE
|
||||
+#define MDEBUG
|
||||
+*/
|
||||
+struct mysqlrow {
|
||||
+ char *s[ROWS];
|
||||
+};
|
||||
+
|
||||
+static dns_sdbimplementation_t *mysqldb = NULL;
|
||||
+
|
||||
+struct mydbinfo {
|
||||
+ MYSQL *conn;
|
||||
+ char *database;
|
||||
+ char *table;
|
||||
+ char *host;
|
||||
+ char *user;
|
||||
+ char *passwd;
|
||||
+};
|
||||
+
|
||||
+/* My internal functions */
|
||||
+
|
||||
+int mysql_dbcon(struct mydbinfo *);
|
||||
+
|
||||
+int
|
||||
+mysql_dbcon(struct mydbinfo * dbi)
|
||||
+{
|
||||
+#ifdef MDEBUG
|
||||
+ printf("Connecting\n");
|
||||
+#endif
|
||||
+ dbi->conn=mysql_init(NULL);
|
||||
+ if (dbi->conn == NULL) return 0;
|
||||
+ if (!mysql_real_connect(dbi->conn, dbi->host, dbi->user, dbi->passwd, dbi->database, 3306, NULL, 0))
|
||||
+ return 0;
|
||||
+#ifdef MDEBUG
|
||||
+ printf("Connected\n");
|
||||
+#endif
|
||||
+ return 1;
|
||||
+}
|
||||
+
|
||||
+/* External functions */
|
||||
+
|
||||
+static isc_result_t
|
||||
+mysqldb_lookup(const char *zone, const char *name, void *dbdata, dns_sdblookup_t * lookup)
|
||||
+{
|
||||
+ char *querystring = NULL, seclook[150];
|
||||
+ struct mydbinfo *dbi = (struct mydbinfo *) dbdata;
|
||||
+ MYSQL_RES *result;
|
||||
+ struct mysqlrow myrow;
|
||||
+ int i, j, totlen;
|
||||
+ MYSQL_ROW row;
|
||||
+ int num_fields, putrr_success=0;
|
||||
+#ifdef MDEBUG
|
||||
+ printf("Lookup in %.200s for %.200s ", zone, name);
|
||||
+#endif
|
||||
+ querystring = (char *) malloc(200);
|
||||
+ if (!querystring)
|
||||
+ return ISC_R_NOMEMORY;
|
||||
+ snprintf(querystring, 200, "SELECT TTL,RDTYPE,RDATA FROM %s where name='%.150s'", dbi->table, name);
|
||||
+#ifdef MDEBUG
|
||||
+ printf("Query = %s\n", querystring);
|
||||
+#endif
|
||||
+ mysql_ping(dbi->conn);
|
||||
+ if (mysql_query(dbi->conn, querystring)) {
|
||||
+ printf("Query Error in lookup\n");
|
||||
+ free(querystring);
|
||||
+ return ISC_R_FAILURE;
|
||||
+ }
|
||||
+ free(querystring);
|
||||
+ result = mysql_store_result(dbi->conn);
|
||||
+
|
||||
+ num_fields = mysql_num_fields(result);
|
||||
+ if (num_fields > ROWS) {
|
||||
+ printf("Incorrect database format\n");
|
||||
+ mysql_free_result(result);
|
||||
+ return ISC_R_FAILURE;
|
||||
+ }
|
||||
+ /* allocate to fetch */
|
||||
+ for (i = 0; i < ROWS; i++)
|
||||
+ if (!(myrow.s[i] = (char *) malloc(MAXCOLUMN))) {
|
||||
+ for (j = 0; j < i; j++)
|
||||
+ free(myrow.s[i]);
|
||||
+ mysql_free_result(result);
|
||||
+ return ISC_R_NOMEMORY;
|
||||
+ }
|
||||
+ /* Ok. we found no reason why to not let fetch */
|
||||
+ while ((row = mysql_fetch_row(result))) {
|
||||
+ unsigned long *lengths;
|
||||
+ lengths = mysql_fetch_lengths(result);
|
||||
+ totlen = 0;
|
||||
+ for (i = 0; i < num_fields; i++) {
|
||||
+ totlen += lengths[i];
|
||||
+ snprintf(myrow.s[i], MAXCOLUMN, "%.*s", (int) lengths[i], row[i] ? row[i] : "NULL");
|
||||
+ }
|
||||
+#ifdef MDEBUG
|
||||
+ printf("Lookup: %s %s %s\n", myrow.s[0], myrow.s[1], myrow.s[2]);
|
||||
+#endif
|
||||
+ if (dns_sdb_putrr(lookup, myrow.s[1], strtol(myrow.s[0], NULL, 10), myrow.s[2]) != ISC_R_SUCCESS) {
|
||||
+ for (i = 0; i < ROWS; i++)
|
||||
+ free(myrow.s[i]);
|
||||
+ mysql_free_result(result);
|
||||
+ printf("Lookup Failure\n");
|
||||
+ return ISC_R_FAILURE;
|
||||
+ } else putrr_success=1;
|
||||
+ }
|
||||
+#ifdef MDEBUG
|
||||
+ printf ("Bailing out lookup\n");
|
||||
+#endif
|
||||
+ /* Ok. success. bail out. */
|
||||
+ for (i = 0; i < ROWS; i++)
|
||||
+ free(myrow.s[i]);
|
||||
+ mysql_free_result(result);
|
||||
+
|
||||
+ /* Check if there is any *.foo.com available and return it in case that this is not a *.foo.com call */
|
||||
+ if ((!putrr_success)&&(name[0]!='*')) {
|
||||
+#ifdef MDEBUG
|
||||
+printf ("Cannot find it. Trying to check * record\n");
|
||||
+#endif
|
||||
+ snprintf (seclook,150,"*.%s",zone);
|
||||
+ return mysqldb_lookup (zone, seclook, dbdata, lookup);
|
||||
+ }
|
||||
+
|
||||
+ /* else return SUCCESS */
|
||||
+ return ISC_R_SUCCESS;
|
||||
+}
|
||||
+
|
||||
+static isc_result_t
|
||||
+mysqldb_allnodes(const char *zone, void *dbdata, dns_sdballnodes_t * allnodes)
|
||||
+{
|
||||
+ char *querystring = NULL;
|
||||
+ struct mydbinfo *dbi = (struct mydbinfo *) dbdata;
|
||||
+ MYSQL_RES *result;
|
||||
+ struct mysqlrow myrow;
|
||||
+ MYSQL_ROW row;
|
||||
+ int num_fields;
|
||||
+ int i, totlen, j;
|
||||
+#ifdef MDEBUG
|
||||
+ printf("All Nodes\n");
|
||||
+#endif
|
||||
+ querystring = (char *) malloc(200);
|
||||
+ if (!querystring)
|
||||
+ return ISC_R_NOMEMORY;
|
||||
+ snprintf(querystring, 200, "SELECT TTL,NAME,RDTYPE,RDATA FROM %s where name like('%%%.150s')", dbi->table, zone);
|
||||
+ mysql_ping(dbi->conn);
|
||||
+ if (mysql_query(dbi->conn, querystring)) {
|
||||
+ printf("Query Error\n");
|
||||
+ free(querystring);
|
||||
+ return ISC_R_FAILURE;
|
||||
+ }
|
||||
+ free(querystring);
|
||||
+ result = mysql_store_result(dbi->conn);
|
||||
+
|
||||
+ num_fields = mysql_num_fields(result);
|
||||
+ if (num_fields > ROWS) {
|
||||
+ printf("Incorrect database format\n");
|
||||
+ mysql_free_result(result);
|
||||
+ return ISC_R_FAILURE;
|
||||
+ }
|
||||
+ /* allocate to fetch */
|
||||
+ for (i = 0; i < ROWS; i++)
|
||||
+ if (!(myrow.s[i] = (char *) malloc(MAXCOLUMN))) {
|
||||
+ for (j = 0; j < i; j++)
|
||||
+ free(myrow.s[i]);
|
||||
+ mysql_free_result(result);
|
||||
+ return ISC_R_NOMEMORY;
|
||||
+ }
|
||||
+ /* Ok. we found no reason why to not let fetch */
|
||||
+ while ((row = mysql_fetch_row(result))) {
|
||||
+ unsigned long *lengths;
|
||||
+ lengths = mysql_fetch_lengths(result);
|
||||
+ totlen = 0;
|
||||
+ for (i = 0; i < num_fields; i++) {
|
||||
+ totlen += lengths[i];
|
||||
+ snprintf(myrow.s[i], MAXCOLUMN, "%.*s", (int) lengths[i], row[i] ? row[i] : "NULL");
|
||||
+ }
|
||||
+#ifdef MDEBUG
|
||||
+ printf("All Nodes: %s %s %s %s\n", myrow.s[0], myrow.s[1], myrow.s[2], myrow.s[3]);
|
||||
+#endif
|
||||
+ if (dns_sdb_putnamedrr(allnodes, myrow.s[1], myrow.s[2], strtol(myrow.s[0], NULL, 10), myrow.s[3]) != ISC_R_SUCCESS) {
|
||||
+ for (i = 0; i < ROWS; i++)
|
||||
+ free(myrow.s[i]);
|
||||
+ mysql_free_result(result);
|
||||
+ return ISC_R_FAILURE;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ /* Ok. success. bail out. */
|
||||
+ mysql_free_result(result);
|
||||
+ for (i = 0; i < ROWS; i++)
|
||||
+ free(myrow.s[i]);
|
||||
+ return ISC_R_SUCCESS;
|
||||
+}
|
||||
+
|
||||
+
|
||||
+
|
||||
+/*
|
||||
+ * Open database argv[i]=database,table,hostname,user,passwd
|
||||
+ */
|
||||
+
|
||||
+static isc_result_t
|
||||
+mysqldb_create(const char *zone, int argc, char **argv, void *driverdata, void **dbdata)
|
||||
+{
|
||||
+ struct mydbinfo *dbi;
|
||||
+ #ifdef ONEDATABASE
|
||||
+ static MYSQL *dbconstat;
|
||||
+ #endif
|
||||
+
|
||||
+ /* Argument count checking */
|
||||
+ if (argc < 5)
|
||||
+ return ISC_R_FAILURE;
|
||||
+
|
||||
+ /* dbi init */
|
||||
+
|
||||
+ dbi = (struct mydbinfo *) isc_mem_get(ns_g_mctx, sizeof(struct mydbinfo));
|
||||
+ if (!dbi)
|
||||
+ return ISC_R_NOMEMORY;
|
||||
+ dbi->database = NULL;
|
||||
+ dbi->table = NULL;
|
||||
+ dbi->host = NULL;
|
||||
+ dbi->user = NULL;
|
||||
+ dbi->passwd = NULL;
|
||||
+
|
||||
+ dbi->database = isc_mem_strdup(ns_g_mctx, argv[0]);
|
||||
+ dbi->table = isc_mem_strdup(ns_g_mctx, argv[1]);
|
||||
+ dbi->host = isc_mem_strdup(ns_g_mctx, argv[2]);
|
||||
+ dbi->user = isc_mem_strdup(ns_g_mctx, argv[3]);
|
||||
+ dbi->passwd = isc_mem_strdup(ns_g_mctx, argv[4]);
|
||||
+
|
||||
+ if ((!dbi->database) || (!dbi->table) || (!dbi->host) || (!dbi->user) || (!dbi->passwd)) {
|
||||
+ printf("Cannot strdup\n");
|
||||
+ if (dbi->conn)
|
||||
+ mysql_close(dbi->conn);
|
||||
+ if (dbi->database)
|
||||
+ isc_mem_free(ns_g_mctx, dbi->database);
|
||||
+ if (dbi->table)
|
||||
+ isc_mem_free(ns_g_mctx, dbi->table);
|
||||
+ if (dbi->host)
|
||||
+ isc_mem_free(ns_g_mctx, dbi->host);
|
||||
+ if (dbi->user)
|
||||
+ isc_mem_free(ns_g_mctx, dbi->user);
|
||||
+ if (dbi->passwd)
|
||||
+ isc_mem_free(ns_g_mctx, dbi->passwd);
|
||||
+ isc_mem_put(ns_g_mctx, dbi, sizeof(struct mydbinfo));
|
||||
+ return ISC_R_NOMEMORY;
|
||||
+ }
|
||||
+ /* connect to database */
|
||||
+ #ifdef ONEDATABASE
|
||||
+ if (!((dbconstat) && (!mysql_ping(dbconstat))))
|
||||
+ #endif
|
||||
+ if (!mysql_dbcon(dbi)) {
|
||||
+ printf("Cannot connect to database\n");
|
||||
+ return ISC_R_FAILURE;
|
||||
+ }
|
||||
+ #ifdef ONEDATABASE
|
||||
+ if (dbconstat) dbi->conn = dbconstat; else dbconstat = dbi->conn;
|
||||
+ #endif
|
||||
+ *dbdata = dbi;
|
||||
+ return ISC_R_SUCCESS;
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+mysqldb_destroy(const char *zone, void *driverdata, void **dbdata)
|
||||
+{
|
||||
+ struct mydbinfo *dbi;
|
||||
+
|
||||
+ dbi = (struct mydbinfo *) (*dbdata);
|
||||
+ if (!dbi)
|
||||
+ return;
|
||||
+ if (dbi->conn)
|
||||
+ mysql_close(dbi->conn);
|
||||
+ if (dbi->database)
|
||||
+ isc_mem_free(ns_g_mctx, dbi->database);
|
||||
+ if (dbi->table)
|
||||
+ isc_mem_free(ns_g_mctx, dbi->table);
|
||||
+ if (dbi->host)
|
||||
+ isc_mem_free(ns_g_mctx, dbi->host);
|
||||
+ if (dbi->user)
|
||||
+ isc_mem_free(ns_g_mctx, dbi->user);
|
||||
+ if (dbi->passwd)
|
||||
+ isc_mem_free(ns_g_mctx, dbi->passwd);
|
||||
+ isc_mem_put(ns_g_mctx, dbi, sizeof(struct mydbinfo));
|
||||
+#ifdef MDEBUG
|
||||
+ printf("Destroyed\n");
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
+
|
||||
+/* SDB methods */
|
||||
+
|
||||
+static dns_sdbmethods_t mysqldb_methods = {
|
||||
+ mysqldb_lookup,
|
||||
+ NULL, /* authority */
|
||||
+ mysqldb_allnodes,
|
||||
+ mysqldb_create,
|
||||
+ mysqldb_destroy
|
||||
+};
|
||||
+
|
||||
+
|
||||
+
|
||||
+isc_result_t
|
||||
+mysqldb_init()
|
||||
+{
|
||||
+ unsigned int flags = 0;
|
||||
+ return dns_sdb_register("mysql", &mysqldb_methods, NULL, flags, ns_g_mctx, &mysqldb);
|
||||
+}
|
||||
+
|
||||
+void
|
||||
+mysqldb_clear()
|
||||
+{
|
||||
+ if (mysqldb)
|
||||
+ dns_sdb_unregister(&mysqldb);
|
||||
+}
|
@ -1,20 +0,0 @@
|
||||
--- configure.in 2006-07-09 22:00:54.000000000 +0000
|
||||
+++ configure.in 2006-07-09 22:01:05.000000000 +0000
|
||||
@@ -686,17 +686,7 @@
|
||||
fi
|
||||
done
|
||||
|
||||
- if test -z "`${CC} contrib/sdb/test//test.c -lodbc -o contrib/sdb/test/test.ok 2>&1`"; then
|
||||
DLZ_ODBC_LIB="-lodbc"
|
||||
- elif test -z "`${CC} contrib/sdb/test//test.c -liodbc -o contrib/sdb/test/test.ok 2>&1`"; then
|
||||
- DLZ_ODBC_LIB="-liodbc"
|
||||
- else
|
||||
- DLZ_ODBC_LIB=""
|
||||
- use_dlz_odbc="no"
|
||||
- AC_MSG_RESULT("no ODBC libraries found")
|
||||
- fi
|
||||
- rm -f contrib/sdb/test/test.ok
|
||||
-
|
||||
|
||||
if test "$use_dlz_odbc" = "yes"
|
||||
then
|
@ -1,20 +0,0 @@
|
||||
--- configure.in 2006-07-09 22:00:54.000000000 +0000
|
||||
+++ configure.in 2006-07-09 22:01:05.000000000 +0000
|
||||
@@ -686,17 +686,7 @@
|
||||
fi
|
||||
done
|
||||
|
||||
- if test -z "`${CC} contrib/sdb/test//test.c -lodbc -o contrib/sdb/test/test.ok 2>&1`"; then
|
||||
DLZ_ODBC_LIB="-lodbc"
|
||||
- elif test -z "`${CC} contrib/sdb/test//test.c -liodbc -o contrib/sdb/test/test.ok 2>&1`"; then
|
||||
- DLZ_ODBC_LIB="-liodbc"
|
||||
- else
|
||||
- DLZ_ODBC_LIB=""
|
||||
- use_dlz_odbc="no"
|
||||
- AC_MSG_RESULT("no ODBC libraries found")
|
||||
- fi
|
||||
- rm -f contrib/sdb/test/test.ok
|
||||
-
|
||||
|
||||
if test "$use_dlz_odbc" = "yes"
|
||||
then
|
@ -1,47 +0,0 @@
|
||||
diff -urN bind9-9.3.2-P1.backup/bin/named/Makefile.in bind9-9.3.2-P1/bin/named/Makefile.in
|
||||
--- bind9-9.3.2-P1.backup/bin/named/Makefile.in 2004-09-06 23:47:25.000000000 +0200
|
||||
+++ bind9-9.3.2-P1/bin/named/Makefile.in 2006-10-06 13:09:13.000000000 +0200
|
||||
@@ -26,10 +26,10 @@
|
||||
#
|
||||
# Add database drivers here.
|
||||
#
|
||||
-DBDRIVER_OBJS =
|
||||
+DBDRIVER_OBJS = ldapdb.@O@
|
||||
DBDRIVER_SRCS =
|
||||
-DBDRIVER_INCLUDES =
|
||||
-DBDRIVER_LIBS =
|
||||
+DBDRIVER_INCLUDES = -I/usr/include
|
||||
+DBDRIVER_LIBS = -L/usr/lib -lldap -llber -lresolv
|
||||
|
||||
CINCLUDES = -I${srcdir}/include -I${srcdir}/unix/include \
|
||||
${LWRES_INCLUDES} ${DNS_INCLUDES} ${BIND9_INCLUDES} \
|
||||
diff -urN bind9-9.3.2-P1.backup/bin/named/main.c bind9-9.3.2-P1/bin/named/main.c
|
||||
--- bind9-9.3.2-P1.backup/bin/named/main.c 2005-04-29 03:04:47.000000000 +0200
|
||||
+++ bind9-9.3.2-P1/bin/named/main.c 2006-10-06 13:09:13.000000000 +0200
|
||||
@@ -69,7 +69,7 @@
|
||||
/*
|
||||
* Include header files for database drivers here.
|
||||
*/
|
||||
-/* #include "xxdb.h" */
|
||||
+#include "ldapdb.h"
|
||||
|
||||
static isc_boolean_t want_stats = ISC_FALSE;
|
||||
static char program_name[ISC_DIR_NAMEMAX] = "named";
|
||||
@@ -669,7 +669,7 @@
|
||||
/*
|
||||
* Add calls to register sdb drivers here.
|
||||
*/
|
||||
- /* xxdb_init(); */
|
||||
+ ldapdb_init();
|
||||
|
||||
ns_server_create(ns_g_mctx, &ns_g_server);
|
||||
}
|
||||
@@ -685,7 +685,7 @@
|
||||
/*
|
||||
* Add calls to unregister sdb drivers here.
|
||||
*/
|
||||
- /* xxdb_clear(); */
|
||||
+ ldapdb_clear();
|
||||
|
||||
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN,
|
||||
ISC_LOG_NOTICE, "exiting");
|
@ -1,20 +0,0 @@
|
||||
--- configure.in 2006-07-09 22:00:54.000000000 +0000
|
||||
+++ configure.in 2006-07-09 22:01:05.000000000 +0000
|
||||
@@ -686,17 +686,7 @@
|
||||
fi
|
||||
done
|
||||
|
||||
- if test -z "`${CC} contrib/sdb/test//test.c -lodbc -o contrib/sdb/test/test.ok 2>&1`"; then
|
||||
DLZ_ODBC_LIB="-lodbc"
|
||||
- elif test -z "`${CC} contrib/sdb/test//test.c -liodbc -o contrib/sdb/test/test.ok 2>&1`"; then
|
||||
- DLZ_ODBC_LIB="-liodbc"
|
||||
- else
|
||||
- DLZ_ODBC_LIB=""
|
||||
- use_dlz_odbc="no"
|
||||
- AC_MSG_RESULT("no ODBC libraries found")
|
||||
- fi
|
||||
- rm -f contrib/sdb/test/test.ok
|
||||
-
|
||||
|
||||
if test "$use_dlz_odbc" = "yes"
|
||||
then
|
@ -1,11 +0,0 @@
|
||||
--- contrib/dlz/drivers/dlz_bdbhpt_driver.c 2007-03-02 12:02:12.000000000 +0300
|
||||
+++ contrib/dlz/drivers/dlz_bdbhpt_driver.c 2007-03-02 12:02:18.000000000 +0300
|
||||
@@ -442,7 +442,7 @@
|
||||
xfr_cursor->c_close(xfr_cursor);
|
||||
|
||||
if (dns_cursor != NULL)
|
||||
- dns_cursor->c_close(xfr_cursor);
|
||||
+ dns_cursor->c_close(dns_cursor);
|
||||
|
||||
return result;
|
||||
}
|
@ -1,11 +0,0 @@
|
||||
--- bin/named/dlz_bdbhpt_driver.c Thu May 4 13:13:20 2006
|
||||
+++ bin/named/dlz_bdbhpt_driver.c Thu May 4 13:27:05 2006
|
||||
@@ -462,7 +462,7 @@
|
||||
xfr_cursor->c_close(xfr_cursor);
|
||||
|
||||
if(dns_cursor != NULL)
|
||||
- dns_cursor->c_close(xfr_cursor);
|
||||
+ dns_cursor->c_close(dns_cursor);
|
||||
|
||||
return result;
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
--- bin/dlzbdb/Makefile.in 2006-03-25 22:11:15.840755988 +0000
|
||||
+++ bin/dlzbdb/Makefile.in 2006-03-25 22:33:43.873082259 +0000
|
||||
@@ -26,6 +26,9 @@
|
||||
DLZINCLUDES = @DLZ_BDB_INC@
|
||||
|
||||
CINCLUDES = -I${srcdir}/include -I${srcdir}/unix/include \
|
||||
+ -I${top_srcdir}/lib/isc/include \
|
||||
+ -I${top_srcdir}/lib/isc/unix/include \
|
||||
+ -I${top_srcdir}/lib/isc/@ISC_THREAD_DIR@/include \
|
||||
${ISC_INCLUDES} ${DLZINCLUDES}
|
||||
|
||||
CDEFINES = @USE_DLZ_BDB@
|
@ -1,59 +0,0 @@
|
||||
--- bind-9.5.0a6.orig/contrib/dlz/drivers/dlz_mysql_driver.c 2007-02-06 06:44:26.000000000 +0100
|
||||
+++ bind-9.5.0a6/contrib/dlz/drivers/dlz_mysql_driver.c 2007-09-04 23:57:57.000000000 +0200
|
||||
@@ -92,6 +92,25 @@
|
||||
*/
|
||||
|
||||
/*%
|
||||
+ * Factorize the mysql_ping for adding a log error message
|
||||
+ */
|
||||
+static isc_result_t
|
||||
+mysqldrv_ping(dbinstance_t *dbi) {
|
||||
+ int pres = 0;
|
||||
+
|
||||
+ pres = mysql_ping(dbi->dbconn);
|
||||
+ if ( pres != 0 ) {
|
||||
+ isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE,
|
||||
+ DNS_LOGMODULE_DLZ, ISC_LOG_DEBUG(1),
|
||||
+ "\nMySQL Ping Error : %s (%i)\n",
|
||||
+ mysql_error(dbi->dbconn),
|
||||
+ mysql_errno(dbi->dbconn));
|
||||
+ return (ISC_R_FAILURE);
|
||||
+ }
|
||||
+ return (ISC_R_SUCCESS);
|
||||
+}
|
||||
+
|
||||
+/*%
|
||||
* Allocates memory for a new string, and then constructs the new
|
||||
* string by "escaping" the input string. The new string is
|
||||
* safe to be used in queries. This is necessary because we cannot
|
||||
@@ -225,6 +244,8 @@
|
||||
}
|
||||
|
||||
|
||||
+ mysqldrv_ping(dbi);
|
||||
+
|
||||
/*
|
||||
* was a zone string passed? If so, make it safe for use in
|
||||
* queries.
|
||||
@@ -324,7 +345,7 @@
|
||||
qres = mysql_query((MYSQL *) dbi->dbconn, querystring);
|
||||
if (qres == 0)
|
||||
break;
|
||||
- for (j=0; mysql_ping((MYSQL *) dbi->dbconn) != 0 && j < 4; j++)
|
||||
+ for (j=0; mysqldrv_ping(dbi) != 0 && j < 4; j++)
|
||||
;
|
||||
}
|
||||
|
||||
@@ -923,6 +944,12 @@
|
||||
pass = getParameterValue(argv[1], "pass=");
|
||||
socket = getParameterValue(argv[1], "socket=");
|
||||
|
||||
+ if(mysql_options((MYSQL *) dbi->dbconn, MYSQL_OPT_RECONNECT, "1")) {
|
||||
+ isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE,
|
||||
+ DNS_LOGMODULE_DLZ, ISC_LOG_ERROR,
|
||||
+ "Could not set database reconnect option");
|
||||
+ }
|
||||
+
|
||||
for (j=0; dbc == NULL && j < 4; j++)
|
||||
dbc = mysql_real_connect((MYSQL *) dbi->dbconn, host,
|
||||
user, pass, dbname, port, socket,
|
@ -1,9 +0,0 @@
|
||||
$TTL 1W
|
||||
@ IN SOA ns.localhost. root.localhost. (
|
||||
2002081601 ; Serial
|
||||
28800 ; Refresh
|
||||
14400 ; Retry
|
||||
604800 ; Expire - 1 week
|
||||
86400 ) ; Minimum
|
||||
IN NS ns
|
||||
localhost. IN A 127.0.0.1
|
@ -1,9 +0,0 @@
|
||||
$TTL 1W
|
||||
@ IN SOA ns.localhost. root.localhost. (
|
||||
2002081601 ; Serial
|
||||
28800 ; Refresh
|
||||
14400 ; Retry
|
||||
604800 ; Expire - 1 week
|
||||
86400 ) ; Minimum
|
||||
IN NS 127.0.0.1
|
||||
localhost. IN A 127.0.0.1
|
@ -1,11 +0,0 @@
|
||||
$TTL 1W
|
||||
@ IN SOA ns.localhost. root.localhost. (
|
||||
2002081601 ; Serial
|
||||
28800 ; Refresh
|
||||
14400 ; Retry
|
||||
604800 ; Expire - 1 week
|
||||
86400 ) ; Minimum
|
||||
@ IN NS ns
|
||||
ns IN A 127.0.0.1
|
||||
|
||||
ns IN AAAA ::1
|
@ -1,85 +0,0 @@
|
||||
; This file holds the information on root name servers needed to
|
||||
; initialize cache of Internet domain name servers
|
||||
; (e.g. reference this file in the "cache . <file>"
|
||||
; configuration file of BIND domain name servers).
|
||||
;
|
||||
; This file is made available by InterNIC
|
||||
; under anonymous FTP as
|
||||
; file /domain/named.root
|
||||
; on server FTP.INTERNIC.NET
|
||||
; -OR- RS.INTERNIC.NET
|
||||
;
|
||||
; last update: Feb 04, 2008
|
||||
; related version of root zone: 2008020400
|
||||
;
|
||||
; formerly NS.INTERNIC.NET
|
||||
;
|
||||
. 3600000 IN NS A.ROOT-SERVERS.NET.
|
||||
A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4
|
||||
A.ROOT-SERVERS.NET. 3600000 AAAA 2001:503:BA3E::2:30
|
||||
;
|
||||
; formerly NS1.ISI.EDU
|
||||
;
|
||||
. 3600000 NS B.ROOT-SERVERS.NET.
|
||||
B.ROOT-SERVERS.NET. 3600000 A 192.228.79.201
|
||||
;
|
||||
; formerly C.PSI.NET
|
||||
;
|
||||
. 3600000 NS C.ROOT-SERVERS.NET.
|
||||
C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12
|
||||
;
|
||||
; formerly TERP.UMD.EDU
|
||||
;
|
||||
. 3600000 NS D.ROOT-SERVERS.NET.
|
||||
D.ROOT-SERVERS.NET. 3600000 A 128.8.10.90
|
||||
;
|
||||
; formerly NS.NASA.GOV
|
||||
;
|
||||
. 3600000 NS E.ROOT-SERVERS.NET.
|
||||
E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10
|
||||
;
|
||||
; formerly NS.ISC.ORG
|
||||
;
|
||||
. 3600000 NS F.ROOT-SERVERS.NET.
|
||||
F.ROOT-SERVERS.NET. 3600000 A 192.5.5.241
|
||||
F.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:2f::f
|
||||
;
|
||||
; formerly NS.NIC.DDN.MIL
|
||||
;
|
||||
. 3600000 NS G.ROOT-SERVERS.NET.
|
||||
G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4
|
||||
;
|
||||
; formerly AOS.ARL.ARMY.MIL
|
||||
;
|
||||
. 3600000 NS H.ROOT-SERVERS.NET.
|
||||
H.ROOT-SERVERS.NET. 3600000 A 128.63.2.53
|
||||
H.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:1::803f:235
|
||||
;
|
||||
; formerly NIC.NORDU.NET
|
||||
;
|
||||
. 3600000 NS I.ROOT-SERVERS.NET.
|
||||
I.ROOT-SERVERS.NET. 3600000 A 192.36.148.17
|
||||
;
|
||||
; operated by VeriSign, Inc.
|
||||
;
|
||||
. 3600000 NS J.ROOT-SERVERS.NET.
|
||||
J.ROOT-SERVERS.NET. 3600000 A 192.58.128.30
|
||||
J.ROOT-SERVERS.NET. 3600000 AAAA 2001:503:C27::2:30
|
||||
;
|
||||
; operated by RIPE NCC
|
||||
;
|
||||
. 3600000 NS K.ROOT-SERVERS.NET.
|
||||
K.ROOT-SERVERS.NET. 3600000 A 193.0.14.129
|
||||
K.ROOT-SERVERS.NET. 3600000 AAAA 2001:7fd::1
|
||||
;
|
||||
; operated by ICANN
|
||||
;
|
||||
. 3600000 NS L.ROOT-SERVERS.NET.
|
||||
L.ROOT-SERVERS.NET. 3600000 A 199.7.83.42
|
||||
;
|
||||
; operated by WIDE
|
||||
;
|
||||
. 3600000 NS M.ROOT-SERVERS.NET.
|
||||
M.ROOT-SERVERS.NET. 3600000 A 202.12.27.33
|
||||
M.ROOT-SERVERS.NET. 3600000 AAAA 2001:dc3::35
|
||||
; End of File
|
@ -1,42 +0,0 @@
|
||||
options {
|
||||
directory "/var/bind";
|
||||
|
||||
// uncomment the following lines to turn on DNS forwarding,
|
||||
// and change the forwarding ip address(es) :
|
||||
//forward first;
|
||||
//forwarders {
|
||||
// 123.123.123.123;
|
||||
// 123.123.123.123;
|
||||
//};
|
||||
|
||||
listen-on-v6 { none; };
|
||||
listen-on { 127.0.0.1; };
|
||||
|
||||
// to allow only specific hosts to use the DNS server:
|
||||
//allow-query {
|
||||
// 127.0.0.1;
|
||||
//};
|
||||
|
||||
// if you have problems and are behind a firewall:
|
||||
//query-source address * port 53;
|
||||
pid-file "/var/run/named/named.pid";
|
||||
};
|
||||
|
||||
zone "." IN {
|
||||
type hint;
|
||||
file "named.ca";
|
||||
};
|
||||
|
||||
zone "localhost" IN {
|
||||
type master;
|
||||
file "pri/localhost.zone";
|
||||
allow-update { none; };
|
||||
notify no;
|
||||
};
|
||||
|
||||
zone "127.in-addr.arpa" IN {
|
||||
type master;
|
||||
file "pri/127.zone";
|
||||
allow-update { none; };
|
||||
notify no;
|
||||
};
|
@ -1,53 +0,0 @@
|
||||
options {
|
||||
directory "/var/bind";
|
||||
|
||||
// uncomment the following lines to turn on DNS forwarding,
|
||||
// and change the forwarding ip address(es) :
|
||||
//forward first;
|
||||
//forwarders {
|
||||
// 123.123.123.123;
|
||||
// 123.123.123.123;
|
||||
//};
|
||||
|
||||
listen-on-v6 { none; };
|
||||
listen-on { 127.0.0.1; };
|
||||
|
||||
// to allow only specific hosts to use the DNS server:
|
||||
//allow-query {
|
||||
// 127.0.0.1;
|
||||
//};
|
||||
|
||||
// if you have problems and are behind a firewall:
|
||||
//query-source address * port 53;
|
||||
pid-file "/var/run/named/named.pid";
|
||||
};
|
||||
|
||||
// Briefly, a zone which has been declared delegation-only will be effectively
|
||||
// limited to containing NS RRs for subdomains, but no actual data beyond its
|
||||
// own apex (for example, its SOA RR and apex NS RRset). This can be used to
|
||||
// filter out "wildcard" or "synthesized" data from NAT boxes or from
|
||||
// authoritative name servers whose undelegated (in-zone) data is of no
|
||||
// interest.
|
||||
// See http://www.isc.org/products/BIND/delegation-only.html for more info
|
||||
|
||||
//zone "COM" { type delegation-only; };
|
||||
//zone "NET" { type delegation-only; };
|
||||
|
||||
zone "." IN {
|
||||
type hint;
|
||||
file "named.ca";
|
||||
};
|
||||
|
||||
zone "localhost" IN {
|
||||
type master;
|
||||
file "pri/localhost.zone";
|
||||
allow-update { none; };
|
||||
notify no;
|
||||
};
|
||||
|
||||
zone "127.in-addr.arpa" IN {
|
||||
type master;
|
||||
file "pri/127.zone";
|
||||
allow-update { none; };
|
||||
notify no;
|
||||
};
|
@ -1,13 +0,0 @@
|
||||
# Set various named options here.
|
||||
#
|
||||
OPTIONS=""
|
||||
|
||||
# Set this to the number of processors you have.
|
||||
#
|
||||
CPU="1"
|
||||
|
||||
# If you wish to run bind in a chroot, run:
|
||||
# emerge --config =<bind-version>
|
||||
# and un-comment the following line.
|
||||
# You can specify a different chroot directory but MAKE SURE it's empty.
|
||||
# CHROOT="/chroot/dns"
|
@ -1,16 +0,0 @@
|
||||
# Set various named options here.
|
||||
#
|
||||
OPTIONS=""
|
||||
|
||||
# Set this to the number of processors you have.
|
||||
#
|
||||
CPU="1"
|
||||
|
||||
# If you wish to run bind in a chroot, run:
|
||||
# emerge --config =<bind-version>
|
||||
# and un-comment the following line.
|
||||
# You can specify a different chroot directory but MAKE SURE it's empty.
|
||||
# CHROOT="/chroot/dns"
|
||||
|
||||
# Default pid file location
|
||||
PIDFILE="${CHROOT}/var/run/named/named.pid"
|
@ -1,20 +0,0 @@
|
||||
# Set various named options here.
|
||||
#
|
||||
OPTIONS=""
|
||||
|
||||
# Set this to the number of processors you have.
|
||||
#
|
||||
CPU="1"
|
||||
|
||||
# If you wish to run bind in a chroot, run:
|
||||
# emerge --config =<bind-version>
|
||||
# and un-comment the following line.
|
||||
# You can specify a different chroot directory but MAKE SURE it's empty.
|
||||
# CHROOT="/chroot/dns"
|
||||
|
||||
# Default pid file location
|
||||
PIDFILE="${CHROOT}/var/run/named/named.pid"
|
||||
|
||||
# Scheduling priority: 19 is the lowest and -20 is the highest.
|
||||
#
|
||||
NAMED_NICELEVEL="0"
|
@ -1,72 +0,0 @@
|
||||
#!/sbin/runscript
|
||||
# Copyright 1999-2004 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/net-dns/bind/files/named.init,v 1.1 2005/06/23 17:37:44 voxus Exp $
|
||||
|
||||
opts="start stop reload restart"
|
||||
|
||||
depend() {
|
||||
need net
|
||||
use logger
|
||||
provide dns
|
||||
}
|
||||
|
||||
checkconfig() {
|
||||
if [ ! -f ${CHROOT}/etc/bind/named.conf ] ; then
|
||||
eerror "No ${CHROOT}/etc/bind/named.conf file exists!"
|
||||
fi
|
||||
|
||||
# In case someone doesn't have $CPU set from /etc/conf.d/named
|
||||
if [ ! ${CPU} ] ; then
|
||||
CPU="1"
|
||||
fi
|
||||
|
||||
# As with the named.conf test, above, there's no need
|
||||
# for chroot and non-chroot cases here
|
||||
PIDFILE=$(grep "pid-file" ${CHROOT}/etc/bind/named.conf | \
|
||||
egrep -v ".*[#,//].*pid-file" | \
|
||||
head -n 1 | \
|
||||
sed -ne 's:.*pid-file \"\(.*\)\";:\1:p')
|
||||
[ -n "$PIDFILE" ] || PIDFILE=/var/run/named.pid
|
||||
|
||||
PIDFILE="${CHROOT}$PIDFILE"
|
||||
|
||||
KEY="${CHROOT}/etc/bind/rndc.key"
|
||||
}
|
||||
|
||||
start() {
|
||||
ebegin "Starting ${CHROOT:+chrooted }named"
|
||||
checkconfig || return 1
|
||||
start-stop-daemon --start --quiet --pidfile ${PIDFILE} \
|
||||
--exec /usr/sbin/named \
|
||||
-- -u named -n ${CPU} ${OPTIONS} ${CHROOT:+-t $CHROOT}
|
||||
eend $?
|
||||
}
|
||||
|
||||
stop() {
|
||||
ebegin "Stopping ${CHROOT:+chrooted }named"
|
||||
checkconfig || return 2
|
||||
start-stop-daemon --stop --quiet --pidfile $PIDFILE \
|
||||
--exec /usr/sbin/named -- stop
|
||||
eend $?
|
||||
}
|
||||
|
||||
reload() {
|
||||
checkconfig || return 3
|
||||
if [ ! -f $PIDFILE ] ; then
|
||||
/etc/init.d/named start &>/dev/null
|
||||
exit
|
||||
fi
|
||||
|
||||
if [ -f $KEY ] ; then
|
||||
ebegin "Reloading named.conf and zone files"
|
||||
rndc -k $KEY reload &>/dev/null
|
||||
eend $?
|
||||
else /etc/init.d/named restart &>/dev/null
|
||||
fi
|
||||
}
|
||||
|
||||
restart() {
|
||||
svc_stop
|
||||
svc_start
|
||||
}
|
@ -1,66 +0,0 @@
|
||||
#!/sbin/runscript
|
||||
# Copyright 1999-2004 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/net-dns/bind/files/named.init-r2,v 1.1 2005/09/30 22:33:25 voxus Exp $
|
||||
|
||||
opts="start stop reload restart"
|
||||
|
||||
depend() {
|
||||
need net
|
||||
use logger
|
||||
provide dns
|
||||
}
|
||||
|
||||
checkconfig() {
|
||||
if [ ! -f ${CHROOT}/etc/bind/named.conf ] ; then
|
||||
eerror "No ${CHROOT}/etc/bind/named.conf file exists!"
|
||||
fi
|
||||
|
||||
# In case someone doesn't have $CPU set from /etc/conf.d/named
|
||||
if [ ! ${CPU} ] ; then
|
||||
CPU="1"
|
||||
fi
|
||||
|
||||
# as suggested in bug #107724
|
||||
PIDFILE=$(\
|
||||
egrep -v \
|
||||
"^([[:cntrl:] ]+(#|//|/\*)|(#|//|/\*))" \
|
||||
${CHROOT}/etc/bind/named.conf \
|
||||
| egrep -o -m1 "pid\-file +\".+\" *;" \
|
||||
| cut -d\" -f2
|
||||
)
|
||||
|
||||
KEY="${CHROOT}/etc/bind/rndc.key"
|
||||
}
|
||||
|
||||
start() {
|
||||
ebegin "Starting ${CHROOT:+chrooted }named"
|
||||
checkconfig || return 1
|
||||
start-stop-daemon --start --quiet --pidfile ${PIDFILE} \
|
||||
--exec /usr/sbin/named \
|
||||
-- -u named -n ${CPU} ${OPTIONS} ${CHROOT:+-t $CHROOT}
|
||||
eend $?
|
||||
}
|
||||
|
||||
stop() {
|
||||
ebegin "Stopping ${CHROOT:+chrooted }named"
|
||||
checkconfig || return 2
|
||||
start-stop-daemon --stop --quiet --pidfile $PIDFILE \
|
||||
--exec /usr/sbin/named -- stop
|
||||
eend $?
|
||||
}
|
||||
|
||||
reload() {
|
||||
checkconfig || return 3
|
||||
if [ ! -f $PIDFILE ] ; then
|
||||
/etc/init.d/named start &>/dev/null
|
||||
exit
|
||||
fi
|
||||
|
||||
if [ -f $KEY ] ; then
|
||||
ebegin "Reloading named.conf and zone files"
|
||||
rndc -k $KEY reload &>/dev/null
|
||||
eend $?
|
||||
else /etc/init.d/named restart &>/dev/null
|
||||
fi
|
||||
}
|
@ -1,66 +0,0 @@
|
||||
#!/sbin/runscript
|
||||
# Copyright 1999-2004 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/net-dns/bind/files/named.init-r3,v 1.1 2005/11/09 09:25:53 voxus Exp $
|
||||
|
||||
opts="start stop reload restart"
|
||||
|
||||
depend() {
|
||||
need net
|
||||
use logger
|
||||
provide dns
|
||||
}
|
||||
|
||||
checkconfig() {
|
||||
if [ ! -f ${CHROOT}/etc/bind/named.conf ] ; then
|
||||
eerror "No ${CHROOT}/etc/bind/named.conf file exists!"
|
||||
fi
|
||||
|
||||
# In case someone doesn't have $CPU set from /etc/conf.d/named
|
||||
if [ ! ${CPU} ] ; then
|
||||
CPU="1"
|
||||
fi
|
||||
|
||||
# as suggested in bug #107724
|
||||
[ -n "${PIDFILE}" ] || PIDFILE=${CHROOT}$(\
|
||||
egrep -v \
|
||||
"^([[:cntrl:] ]+(#|//|/\*)|(#|//|/\*))" \
|
||||
${CHROOT}/etc/bind/named.conf \
|
||||
| egrep -o -m1 "pid\-file +\".+\" *;" \
|
||||
| cut -d\" -f2
|
||||
)
|
||||
|
||||
KEY="${CHROOT}/etc/bind/rndc.key"
|
||||
}
|
||||
|
||||
start() {
|
||||
ebegin "Starting ${CHROOT:+chrooted }named"
|
||||
checkconfig || return 1
|
||||
start-stop-daemon --start --quiet --pidfile ${PIDFILE} \
|
||||
--exec /usr/sbin/named \
|
||||
-- -u named -n ${CPU} ${OPTIONS} ${CHROOT:+-t $CHROOT}
|
||||
eend $?
|
||||
}
|
||||
|
||||
stop() {
|
||||
ebegin "Stopping ${CHROOT:+chrooted }named"
|
||||
checkconfig || return 2
|
||||
start-stop-daemon --stop --quiet --pidfile $PIDFILE \
|
||||
--exec /usr/sbin/named -- stop
|
||||
eend $?
|
||||
}
|
||||
|
||||
reload() {
|
||||
checkconfig || return 3
|
||||
if [ ! -f $PIDFILE ] ; then
|
||||
/etc/init.d/named start &>/dev/null
|
||||
exit
|
||||
fi
|
||||
|
||||
if [ -f $KEY ] ; then
|
||||
ebegin "Reloading named.conf and zone files"
|
||||
rndc -k $KEY reload &>/dev/null
|
||||
eend $?
|
||||
else /etc/init.d/named restart &>/dev/null
|
||||
fi
|
||||
}
|
@ -1,70 +0,0 @@
|
||||
#!/sbin/runscript
|
||||
# Copyright 1999-2004 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/net-dns/bind/files/named.init-r4,v 1.2 2007/05/12 23:19:40 uberlord Exp $
|
||||
|
||||
opts="start stop reload restart"
|
||||
|
||||
depend() {
|
||||
need net
|
||||
use logger
|
||||
provide dns
|
||||
}
|
||||
|
||||
checkconfig() {
|
||||
if [ ! -f ${CHROOT}/etc/bind/named.conf ] ; then
|
||||
eerror "No ${CHROOT}/etc/bind/named.conf file exists!"
|
||||
fi
|
||||
|
||||
# In case someone doesn't have $CPU set from /etc/conf.d/named
|
||||
if [ ! ${CPU} ] ; then
|
||||
CPU="1"
|
||||
fi
|
||||
|
||||
# as suggested in bug #107724
|
||||
[ -n "${PIDFILE}" ] || PIDFILE=${CHROOT}$(\
|
||||
egrep -v \
|
||||
"^([[:cntrl:] ]+(#|//|/\*)|(#|//|/\*))" \
|
||||
${CHROOT}/etc/bind/named.conf \
|
||||
| egrep -o -m1 "pid\-file +\".+\" *;" \
|
||||
| cut -d\" -f2
|
||||
)
|
||||
|
||||
KEY="${CHROOT}/etc/bind/rndc.key"
|
||||
}
|
||||
|
||||
start() {
|
||||
ebegin "Starting ${CHROOT:+chrooted }named"
|
||||
checkconfig || return 1
|
||||
start-stop-daemon --start --quiet --pidfile ${PIDFILE} \
|
||||
--exec /usr/sbin/named \
|
||||
-- -u named -n ${CPU} ${OPTIONS} ${CHROOT:+-t} ${CHROOT}
|
||||
eend $?
|
||||
}
|
||||
|
||||
stop() {
|
||||
ebegin "Stopping ${CHROOT:+chrooted }named"
|
||||
checkconfig || return 2
|
||||
if [ -f $KEY ] ; then
|
||||
rndc -k $KEY stop &>/dev/null
|
||||
else
|
||||
start-stop-daemon --stop --quiet --pidfile $PIDFILE \
|
||||
--exec /usr/sbin/named -- stop
|
||||
fi
|
||||
eend $?
|
||||
}
|
||||
|
||||
reload() {
|
||||
checkconfig || return 3
|
||||
if [ ! -f $PIDFILE ] ; then
|
||||
/etc/init.d/named start &>/dev/null
|
||||
exit
|
||||
fi
|
||||
|
||||
if [ -f $KEY ] ; then
|
||||
ebegin "Reloading named.conf and zone files"
|
||||
rndc -k $KEY reload &>/dev/null
|
||||
eend $?
|
||||
else /etc/init.d/named restart &>/dev/null
|
||||
fi
|
||||
}
|
@ -1,71 +0,0 @@
|
||||
#!/sbin/runscript
|
||||
# Copyright 1999-2004 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/net-dns/bind/files/named.init-r5,v 1.1 2007/06/02 22:34:48 voxus Exp $
|
||||
|
||||
opts="start stop reload restart"
|
||||
|
||||
depend() {
|
||||
need net
|
||||
use logger
|
||||
provide dns
|
||||
}
|
||||
|
||||
checkconfig() {
|
||||
if [ ! -f ${CHROOT}/etc/bind/named.conf ] ; then
|
||||
eerror "No ${CHROOT}/etc/bind/named.conf file exists!"
|
||||
fi
|
||||
|
||||
# In case someone doesn't have $CPU set from /etc/conf.d/named
|
||||
if [ ! ${CPU} ] ; then
|
||||
CPU="1"
|
||||
fi
|
||||
|
||||
# as suggested in bug #107724
|
||||
[ -n "${PIDFILE}" ] || PIDFILE=${CHROOT}$(\
|
||||
egrep -v \
|
||||
"^([[:cntrl:] ]+(#|//|/\*)|(#|//|/\*))" \
|
||||
${CHROOT}/etc/bind/named.conf \
|
||||
| egrep -o -m1 "pid\-file +\".+\" *;" \
|
||||
| cut -d\" -f2
|
||||
)
|
||||
|
||||
KEY="${CHROOT}/etc/bind/rndc.key"
|
||||
}
|
||||
|
||||
start() {
|
||||
ebegin "Starting ${CHROOT:+chrooted }named"
|
||||
checkconfig || return 1
|
||||
start-stop-daemon --start --quiet --pidfile ${PIDFILE} \
|
||||
--nicelevel ${NAMED_NICELEVEL:-0} \
|
||||
--exec /usr/sbin/named \
|
||||
-- -u named -n ${CPU} ${OPTIONS} ${CHROOT:+-t} ${CHROOT}
|
||||
eend $?
|
||||
}
|
||||
|
||||
stop() {
|
||||
ebegin "Stopping ${CHROOT:+chrooted }named"
|
||||
checkconfig || return 2
|
||||
if [ -f $KEY ] ; then
|
||||
rndc -k $KEY stop &>/dev/null
|
||||
else
|
||||
start-stop-daemon --stop --quiet --pidfile $PIDFILE \
|
||||
--exec /usr/sbin/named -- stop
|
||||
fi
|
||||
eend $?
|
||||
}
|
||||
|
||||
reload() {
|
||||
checkconfig || return 3
|
||||
if [ ! -f $PIDFILE ] ; then
|
||||
/etc/init.d/named start &>/dev/null
|
||||
exit
|
||||
fi
|
||||
|
||||
if [ -f $KEY ] ; then
|
||||
ebegin "Reloading named.conf and zone files"
|
||||
rndc -k $KEY reload &>/dev/null
|
||||
eend $?
|
||||
else /etc/init.d/named restart &>/dev/null
|
||||
fi
|
||||
}
|
@ -1,72 +0,0 @@
|
||||
#!/sbin/runscript
|
||||
# Copyright 1999-2004 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/net-dns/bind/files/named.rc,v 1.1 2005/08/03 16:54:38 voxus Exp $
|
||||
|
||||
opts="start stop reload restart"
|
||||
|
||||
depend() {
|
||||
need net
|
||||
use logger
|
||||
provide dns
|
||||
}
|
||||
|
||||
checkconfig() {
|
||||
if [ ! -f ${CHROOT}/etc/bind/named.conf ] ; then
|
||||
eerror "No ${CHROOT}/etc/bind/named.conf file exists!"
|
||||
fi
|
||||
|
||||
# In case someone doesn't have $CPU set from /etc/conf.d/named
|
||||
if [ ! ${CPU} ] ; then
|
||||
CPU="1"
|
||||
fi
|
||||
|
||||
# As with the named.conf test, above, there's no need
|
||||
# for chroot and non-chroot cases here
|
||||
PIDFILE=$(grep "pid-file" ${CHROOT}/etc/bind/named.conf | \
|
||||
egrep -v ".*[#,//].*pid-file" | \
|
||||
head -n 1 | \
|
||||
sed -ne 's:.*pid-file\(.*\)\"\(.*\)\";:\2:p')
|
||||
[ -n "$PIDFILE" ] || PIDFILE=/var/run/named.pid
|
||||
|
||||
PIDFILE="${CHROOT}$PIDFILE"
|
||||
|
||||
KEY="${CHROOT}/etc/bind/rndc.key"
|
||||
}
|
||||
|
||||
start() {
|
||||
ebegin "Starting ${CHROOT:+chrooted }named"
|
||||
checkconfig || return 1
|
||||
start-stop-daemon --start --quiet --pidfile ${PIDFILE} \
|
||||
--exec /usr/sbin/named \
|
||||
-- -u named -n ${CPU} ${OPTIONS} ${CHROOT:+-t $CHROOT}
|
||||
eend $?
|
||||
}
|
||||
|
||||
stop() {
|
||||
ebegin "Stopping ${CHROOT:+chrooted }named"
|
||||
checkconfig || return 2
|
||||
start-stop-daemon --stop --quiet --pidfile $PIDFILE \
|
||||
--exec /usr/sbin/named -- stop
|
||||
eend $?
|
||||
}
|
||||
|
||||
reload() {
|
||||
checkconfig || return 3
|
||||
if [ ! -f $PIDFILE ] ; then
|
||||
/etc/init.d/named start &>/dev/null
|
||||
exit
|
||||
fi
|
||||
|
||||
if [ -f $KEY ] ; then
|
||||
ebegin "Reloading named.conf and zone files"
|
||||
rndc -k $KEY reload &>/dev/null
|
||||
eend $?
|
||||
else /etc/init.d/named restart &>/dev/null
|
||||
fi
|
||||
}
|
||||
|
||||
restart() {
|
||||
svc_stop
|
||||
svc_start
|
||||
}
|
@ -1,66 +0,0 @@
|
||||
#!/sbin/runscript
|
||||
# Copyright 1999-2004 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/net-dns/bind/files/named.rc6,v 1.15 2004/07/14 23:18:19 agriffis Exp $
|
||||
|
||||
opts="start stop reload restart"
|
||||
|
||||
depend() {
|
||||
need net
|
||||
use logger
|
||||
provide dns
|
||||
}
|
||||
|
||||
checkconfig() {
|
||||
if [ ! -f ${CHROOT}/etc/bind/named.conf ] ; then
|
||||
eerror "No ${CHROOT}/etc/bind/named.conf file exists!"
|
||||
fi
|
||||
|
||||
# In case someone doesn't have $CPU set from /etc/conf.d/named
|
||||
if [ ! $CPU ] ; then
|
||||
CPU=1
|
||||
fi
|
||||
|
||||
if [ $CHROOT -a -d $CHROOT ] ; then
|
||||
PIDFILE="${CHROOT}/var/run/named/named.pid"
|
||||
KEY="${CHROOT}/etc/bind/rndc.key"
|
||||
else
|
||||
PIDFILE="/var/run/named/named.pid"
|
||||
KEY="/etc/bind/rndc.key"
|
||||
fi
|
||||
}
|
||||
|
||||
start() {
|
||||
ebegin "Starting ${CHROOT:+chrooted }named"
|
||||
checkconfig || return 1
|
||||
start-stop-daemon --start --quiet --exec /usr/sbin/named -- -u named -n $CPU $OPTIONS ${CHROOT:+-t $CHROOT}
|
||||
eend $?
|
||||
}
|
||||
|
||||
stop() {
|
||||
ebegin "Stopping ${CHROOT:+chrooted }named"
|
||||
checkconfig || return 2
|
||||
start-stop-daemon --stop --quiet --pidfile $PIDFILE \
|
||||
--exec /usr/sbin/named -- stop
|
||||
eend $?
|
||||
}
|
||||
|
||||
reload() {
|
||||
checkconfig || return 3
|
||||
if [ ! -f $PIDFILE ] ; then
|
||||
/etc/init.d/named start &>/dev/null
|
||||
exit
|
||||
fi
|
||||
|
||||
if [ -f $KEY ] ; then
|
||||
ebegin "Reloading named.conf and zone files"
|
||||
rndc -k $KEY reload &>/dev/null
|
||||
eend $?
|
||||
else /etc/init.d/named restart &>/dev/null
|
||||
fi
|
||||
}
|
||||
|
||||
restart() {
|
||||
svc_stop
|
||||
svc_start
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
--- files/named.rc6 2004-07-15 03:36:02.000000000 +0400
|
||||
+++ named 2005-03-25 20:19:16.000000000 +0300
|
||||
@@ -33,7 +33,9 @@
|
||||
start() {
|
||||
ebegin "Starting ${CHROOT:+chrooted }named"
|
||||
checkconfig || return 1
|
||||
- start-stop-daemon --start --quiet --exec /usr/sbin/named -- -u named -n $CPU $OPTIONS ${CHROOT:+-t $CHROOT}
|
||||
+ start-stop-daemon --start --quiet --exec /usr/sbin/named \
|
||||
+ --pid ${CHROOT}/var/run/named/named.pid \
|
||||
+ -- -u named -n $CPU $OPTIONS ${CHROOT:+-t $CHROOT}
|
||||
eend $?
|
||||
}
|
||||
|
@ -1,42 +0,0 @@
|
||||
--- named.orig 2005-04-17 16:14:08.000000000 +0400
|
||||
+++ named.rc6 2005-04-17 16:18:00.000000000 +0400
|
||||
@@ -17,23 +17,29 @@
|
||||
fi
|
||||
|
||||
# In case someone doesn't have $CPU set from /etc/conf.d/named
|
||||
- if [ ! $CPU ] ; then
|
||||
- CPU=1
|
||||
+ if [ ! ${CPU} ] ; then
|
||||
+ CPU="1"
|
||||
fi
|
||||
|
||||
- if [ $CHROOT -a -d $CHROOT ] ; then
|
||||
- PIDFILE="${CHROOT}/var/run/named/named.pid"
|
||||
- KEY="${CHROOT}/etc/bind/rndc.key"
|
||||
- else
|
||||
- PIDFILE="/var/run/named/named.pid"
|
||||
- KEY="/etc/bind/rndc.key"
|
||||
- fi
|
||||
+ # As with the named.conf test, above, there's no need
|
||||
+ # for chroot and non-chroot cases here
|
||||
+ PIDFILE=$(grep "pid-file" ${CHROOT}/etc/bind/named.conf | \
|
||||
+ egrep -v ".*[#,//].*pid-file" | \
|
||||
+ head -n 1 | \
|
||||
+ sed -ne 's:.*pid-file \"\(.*\)\";:\1:p')
|
||||
+ [ -n "$PIDFILE" ] || PIDFILE=/var/run/named.pid
|
||||
+
|
||||
+ PIDFILE="${CHROOT}$PIDFILE"
|
||||
+
|
||||
+ KEY="${CHROOT}/etc/bind/rndc.key"
|
||||
}
|
||||
|
||||
start() {
|
||||
ebegin "Starting ${CHROOT:+chrooted }named"
|
||||
checkconfig || return 1
|
||||
- start-stop-daemon --start --quiet --exec /usr/sbin/named -- -u named -n $CPU $OPTIONS ${CHROOT:+-t $CHROOT}
|
||||
+ start-stop-daemon --start --quiet --pidfile ${PIDFILE} \
|
||||
+ --exec /usr/sbin/named \
|
||||
+ -- -u named -n ${CPU} ${OPTIONS} ${CHROOT:+-t $CHROOT}
|
||||
eend $?
|
||||
}
|
||||
|
@ -1,5 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<herd>maintainer-wanted</herd>
|
||||
</pkgmetadata>
|
@ -2,6 +2,8 @@ AUX dirsrv.confd 72 RMD160 d5478a77018aeb727ba72217d3e67af3dcd669c9 SHA1 006d238
|
||||
AUX dirsrv.initd 2382 RMD160 9cd3beda5aa05c8db9c9146ed088b22b85c10aba SHA1 5f3555c20c889fd6466ab8a77f686aa6ccaf3ad7 SHA256 8e060936368a9e996ecdc2d46c439906fe8030819e78a8864b9444c6b4d3920d
|
||||
AUX fedora-ds-cvs.sh 346 RMD160 d9659f0aa8559c59865f42e16bc611a57a63d893 SHA1 8069aeee78a5fd614f19f3438c9f3dada700e944 SHA256 f2e453b1139b010ceae3dee2c0292e616a67ec55046e759b90c1104721ad412a
|
||||
DIST fedora-ds-base-1.1.0.tar.bz2 2596436 RMD160 4680a729cfdbd762e8fa8e348709e01916340854 SHA1 5ed43a030600ca2cf749c2f9f25c18c72f0a935e SHA256 9e6fc529d335d2ffd10bdd49e40bcf9c002fe6034c644a002aa0511dcc76ac70
|
||||
DIST fedora-ds-base-1.1.1.tar.bz2 2590248 RMD160 824ac88f2e901e19a1ec96f5ba9b4d94fc8f39c3 SHA1 78639f5075015cc9663f8e69aacaf2a5aa938e57 SHA256 ffd4cbbd61eef96174784e5de0c01c34738826a6b10bda4fcff6d7369c1cd0b5
|
||||
EBUILD fedora-ds-base-1.1.0.ebuild 2206 RMD160 89ac3b1bf6ffa5a88a631d5dbfc9fd1d88768e2a SHA1 2c90a8aab04ed083414512b496b88911f117669d SHA256 7b1a2848f62537f28f006eda28e3c8d85951eb3b008ad64b12851291d443c41c
|
||||
EBUILD fedora-ds-base-1.1.1.ebuild 2206 RMD160 89ac3b1bf6ffa5a88a631d5dbfc9fd1d88768e2a SHA1 2c90a8aab04ed083414512b496b88911f117669d SHA256 7b1a2848f62537f28f006eda28e3c8d85951eb3b008ad64b12851291d443c41c
|
||||
MISC ChangeLog 1131 RMD160 f853108ecea292d020e98cea6a38a10867cc1445 SHA1 15b7aebc6718e25158e99e92392b3df9f4aea63c SHA256 f7dfec2cc5d88a3aebceac77da3b12bb1edb937ccd974dd162b65635dad0236b
|
||||
MISC metadata.xml 170 RMD160 645927a396fdc21cdeb089fe42c5397332420ea6 SHA1 ac7f48a14fec325926f9ce1be8fbf1f311b4f2e4 SHA256 d797a2ec6f9dc516c9f9c1a758ee87ad3e8c43101b5dc76c2f872d5bd4639b42
|
||||
|
Loading…
Reference in New Issue
Block a user