summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobias Scherbaum <dertobi123@gentoo.org>2008-05-03 19:27:22 +0000
committerTobias Scherbaum <dertobi123@gentoo.org>2008-05-03 19:27:22 +0000
commit1c5fd4de699b9bc1af20b25e4edd136483b116d5 (patch)
tree4293896ac509539448760faa5d9e8e2a66fc93b1 /net-dns/bind
parentfiltered jikes (diff)
downloadhistorical-1c5fd4de699b9bc1af20b25e4edd136483b116d5.tar.gz
historical-1c5fd4de699b9bc1af20b25e4edd136483b116d5.tar.bz2
historical-1c5fd4de699b9bc1af20b25e4edd136483b116d5.zip
Fix dlz/mysql5 autoreconnect, patch by Nicolas Brousse, #180720
Package-Manager: portage-2.1.5_rc6
Diffstat (limited to 'net-dns/bind')
-rw-r--r--net-dns/bind/ChangeLog6
-rw-r--r--net-dns/bind/Manifest5
-rw-r--r--net-dns/bind/bind-9.4.2.ebuild6
-rw-r--r--net-dns/bind/files/bind-dlzmysql5-reconnect.patch59
4 files changed, 72 insertions, 4 deletions
diff --git a/net-dns/bind/ChangeLog b/net-dns/bind/ChangeLog
index 191703873a62..2add80e9637c 100644
--- a/net-dns/bind/ChangeLog
+++ b/net-dns/bind/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for net-dns/bind
# Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-dns/bind/ChangeLog,v 1.186 2008/05/03 18:27:44 dertobi123 Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-dns/bind/ChangeLog,v 1.187 2008/05/03 19:27:21 dertobi123 Exp $
+
+ 03 May 2008; Tobias Scherbaum <dertobi123@gentoo.org>
+ +files/bind-dlzmysql5-reconnect.patch, bind-9.4.2.ebuild:
+ Fix dlz/mysql5 autoreconnect, patch by Nicolas Brousse, #180720
03 May 2008; Tobias Scherbaum <dertobi123@gentoo.org> -bind-9.2.7.ebuild,
-bind-9.3.3.ebuild:
diff --git a/net-dns/bind/Manifest b/net-dns/bind/Manifest
index 613908ecf71d..4563e91847a8 100644
--- a/net-dns/bind/Manifest
+++ b/net-dns/bind/Manifest
@@ -9,6 +9,7 @@ AUX bind-9.3.4-missing_odbc_test.patch 613 RMD160 ec141cef65e470dfc8df4c641ec96b
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
@@ -56,6 +57,6 @@ EBUILD bind-9.3.4-r3.ebuild 8464 RMD160 a061cb9af89fc42cbafb86bffd5776b08b4f7f92
EBUILD bind-9.3.4.ebuild 8298 RMD160 61c783d7411ac600837c6b9d50dffe623646b433 SHA1 ec9305b80ac8dcd55c66e34789eb5f59a93021e0 SHA256 721749020b17413479057648d5be73d6c735c2c3618492c58fbfad4f2ecbbba0
EBUILD bind-9.4.1-r1.ebuild 8379 RMD160 08db006e3e4b84f2ae50cdac3ad014d0b4b02995 SHA1 9bac3046540063c58d8df76b33be86ef64152729 SHA256 f40b88c8e05106a547710fc952cc8f03e901f83cd69027c86e253f73c57bcfd5
EBUILD bind-9.4.1_p1.ebuild 8407 RMD160 594b5015dca8d4a6a1e38407d55104b2eb466cd2 SHA1 5f512e1215d0e1956ea4313d0b5f68b682731022 SHA256 ed714345944e4b9b0efb75759347a4ee145b9a8aedf75dacb22f34846b66150f
-EBUILD bind-9.4.2.ebuild 8589 RMD160 8dfc0c4d3b628d176e9c3d5154774b34ce37d8b7 SHA1 857edca7b03e9cd8d443c3c491428bc2d6a3cebf SHA256 ca986bf48279e4d0ca40347a9071068168ddcc97d7588af54d4de1d0d1fbc7a1
-MISC ChangeLog 30340 RMD160 22a69341293946160ad5849d235c70efdb40046d SHA1 544b35e96746d4dde9ac65ad90810a40a29ad00d SHA256 dc3ebcb3c5fd95a82b3243c4b9dca8b9a394dce7dc36ab05e5d5fcc4165dc097
+EBUILD bind-9.4.2.ebuild 8840 RMD160 17bc1d19e5901f8fa16d4f6e91a9dd9e3ddc19e1 SHA1 72dcb081c6ab77ee08c439fee602e6708d3cebe3 SHA256 e5be4da75b8ee8a3dc715618c3bf35dad6ae921cd7c06b80170766745c6cba49
+MISC ChangeLog 30523 RMD160 a97b53af19e320bd3726d204f50bcfc27ed0771e SHA1 2e57f699f1cb200fad034315efe9cefaad5327e8 SHA256 6c28a6189d3284dadebbf22fe3bdd67b480738dcd66b7cb691016356086ae890
MISC metadata.xml 352 RMD160 0c1a848023a0dd76c5173c0a2135beed46e90263 SHA1 24f998969c955accd1fd4f3719bdf83d4e9d432b SHA256 f6f6ae15da16a20d5e0ce76563e3e27901e25787131b8784ffe872ffe3ddd034
diff --git a/net-dns/bind/bind-9.4.2.ebuild b/net-dns/bind/bind-9.4.2.ebuild
index f23b907287ed..1d415b1363fb 100644
--- a/net-dns/bind/bind-9.4.2.ebuild
+++ b/net-dns/bind/bind-9.4.2.ebuild
@@ -1,6 +1,6 @@
# 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.4.2.ebuild,v 1.1 2008/05/03 18:21:35 dertobi123 Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-dns/bind/bind-9.4.2.ebuild,v 1.2 2008/05/03 19:27:21 dertobi123 Exp $
inherit eutils libtool autotools toolchain-funcs flag-o-matic
@@ -57,6 +57,10 @@ src_unpack() {
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/)
+ 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
diff --git a/net-dns/bind/files/bind-dlzmysql5-reconnect.patch b/net-dns/bind/files/bind-dlzmysql5-reconnect.patch
new file mode 100644
index 000000000000..b854b9583f16
--- /dev/null
+++ b/net-dns/bind/files/bind-dlzmysql5-reconnect.patch
@@ -0,0 +1,59 @@
+--- 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,