[netfilter-cvslog] r7002 - trunk/ulog/ulogd/mysql

pablo at netfilter.org pablo at netfilter.org
Mon Aug 6 12:05:10 CEST 2007


Author: pablo at netfilter.org
Date: 2007-08-06 12:05:09 +0200 (Mon, 06 Aug 2007)
New Revision: 7002

Modified:
   trunk/ulog/ulogd/mysql/ulogd_MYSQL.c
Log:
MySQL 5.0 has changed the default for database reconnection after
timeout. It is now not enabled by default. The following patch restores
the reconnection functionnality for the ulogd-mysql plugin.

Eric Leblond <eric at inl.fr>



Modified: trunk/ulog/ulogd/mysql/ulogd_MYSQL.c
===================================================================
--- trunk/ulog/ulogd/mysql/ulogd_MYSQL.c	2007-08-06 10:01:45 UTC (rev 7001)
+++ trunk/ulog/ulogd/mysql/ulogd_MYSQL.c	2007-08-06 10:05:09 UTC (rev 7002)
@@ -407,6 +407,9 @@
 static int mysql_open_db(char *server, int port, char *user, char *pass, 
 			 char *db)
 {
+#ifdef MYSQL_OPT_RECONNECT
+	my_bool trueval = 1;
+#endif 
 	dbh = mysql_init(NULL);
 	if (!dbh)
 		return -1;
@@ -415,12 +418,25 @@
 		mysql_options(dbh, MYSQL_OPT_CONNECT_TIMEOUT,
 			(const char *) &connect_timeout_ce.u.value);
 
+#ifdef MYSQL_OPT_RECONNECT
+#  if defined(MYSQL_VERSION_ID) && (MYSQL_VERSION_ID >= 50019)
+	mysql_options(dbh, MYSQL_OPT_RECONNECT, &trueval);
+#  endif
+#endif 
+
+
 	if (!mysql_real_connect(dbh, server, user, pass, db, port, NULL, 0))
 	{
 		_mysql_fini();
 		return -1;
 	}
 
+#ifdef MYSQL_OPT_RECONNECT
+#  if defined(MYSQL_VERSION_ID) && (MYSQL_VERSION_ID < 50019)
+	mysql_options(dbh, MYSQL_OPT_RECONNECT, &trueval);
+#  endif
+#endif
+
 	return 0;
 }
 




More information about the netfilter-cvslog mailing list