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:
geos_one 2008-07-30 19:24:29 +00:00
parent fe52ad2028
commit 6e69fb5d70
36 changed files with 2 additions and 2163 deletions

View File

@ -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

View File

@ -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

View File

@ -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
}

View File

@ -1 +0,0 @@
CONFIG_PROTECT="/var/bind"

View File

@ -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.

View File

@ -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

View File

@ -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);
+}

View File

@ -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);
+}

View File

@ -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

View File

@ -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

View File

@ -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");

View File

@ -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

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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@

View File

@ -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,

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View 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;
};

View File

@ -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;
};

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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 $?
}

View File

@ -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 $?
}

View File

@ -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>

View File

@ -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