From 6ad58b7d5c5d0ca53ec644021f0108811bceac4a Mon Sep 17 00:00:00 2001
From: Edward Rudd
Date: Fri, 5 Mar 2004 00:30:58 +0000
Subject: updated compatability header for Apache 1.3 Changed log_error routing
for Apache 1.3 to include APLOG_NOERRNO re-added quarter second delay between
reconnect and query retry. updated makefile to generate HTML version of
docbook docs. added comments to mod_log_sql_mysql.c updated documentation
about --with-db-inc configure option
---
CHANGELOG | 4 +++-
Documentation/Makefile.in | 10 +++++++++-
Documentation/manual.xml | 3 ++-
apache13.h | 18 ++++++++++++++++--
mod_log_sql.c | 16 +++++++++++++++-
mod_log_sql.prj | 5 +++--
mod_log_sql_mysql.c | 5 ++++-
mod_log_sql_ssl.c | 8 ++++----
8 files changed, 56 insertions(+), 13 deletions(-)
diff --git a/CHANGELOG b/CHANGELOG
index 06ff1bd..319eb0b 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,4 +1,4 @@
-$Id: CHANGELOG,v 1.15 2004/03/04 05:41:12 urkle Exp $
+$Id: CHANGELOG,v 1.16 2004/03/05 00:30:58 urkle Exp $
1.96: ?
* fixed LogSQLPreserveFile config parameter
* reworked safe_create_tables and core SQL insert routine.
@@ -12,6 +12,8 @@ $Id: CHANGELOG,v 1.15 2004/03/04 05:41:12 urkle Exp $
* LogSQLDelayedInserts config option removed
* Added DB generic LogSQLDBParam. Usage is LogSQLDBParam param value
example: LogSQLDBParam tcpport 12345
+* notes, cookes, headersin, headersout tables are no longer created unless they
+ are used.
1.95: 2004-02-05
* audit and update of extract_* functions to acheive same output as
diff --git a/Documentation/Makefile.in b/Documentation/Makefile.in
index 2d07cfd..81f2298 100644
--- a/Documentation/Makefile.in
+++ b/Documentation/Makefile.in
@@ -3,7 +3,9 @@
# Modify these top variables.
SUBDIRS =
-EXTRA_DIST = README documentation.lyx
+EXTRA_DIST = README \
+ manual.xml \
+ manual.html
#Don't modify anything below here
@@ -16,6 +18,12 @@ DISTFILES = $(STD_DIST) $(EXTRA_DIST)
all: all-subdirs
+%.html: %.xml
+ @xmlto html-nochunks $<
+
+%.pdf: %.xml
+ @xmlto pdf $<
+
all-subdirs install-subdirs update-subdirs clean-subdirs distclean-subdirs:
@otarget=`echo $@|sed s/-subdirs//`; \
list=' $(SUBDIRS)'; \
diff --git a/Documentation/manual.xml b/Documentation/manual.xml
index 5ff595e..495b15f 100644
--- a/Documentation/manual.xml
+++ b/Documentation/manual.xml
@@ -213,7 +213,8 @@ $ cd mod_log_sql-1.9
$ locate ndbm.h
/usr/include/db1/ndbm.h
/usr/include/gdbm/ndbm.h
- As far as I can tell, there is no difference as to which you specify, but it should be the one that you compiled mod_ssl with. If unsure specify the /usr/include/db1.
+ As far as I can tell, there is no difference as to which you specify, but it should be the one that you compiled mod_ssl with.
+ The default is /usr/include/db1, which should work on most systems.
diff --git a/apache13.h b/apache13.h
index 11e8dcb..6d756b6 100644
--- a/apache13.h
+++ b/apache13.h
@@ -1,4 +1,4 @@
-/* $Header: /home/cvs/mod_log_sql/apache13.h,v 1.5 2004/02/29 23:36:17 urkle Exp $ */
+/* $Header: /home/cvs/mod_log_sql/apache13.h,v 1.6 2004/03/05 00:30:58 urkle Exp $ */
#ifndef APACHE13_H
#define APACHE13_H
@@ -24,6 +24,9 @@
/** method of declaring a directive which takes 1 argument */
# define AP_INIT_TAKE1(directive, func, mconfig, where, help) \
{ directive, func, mconfig, where, TAKE1, help }
+/** method of declaring a directive which takes 2 argument */
+# define AP_INIT_TAKE2(directive, func, mconfig, where, help) \
+ { directive, func, mconfig, where, TAKE2, help }
/** method of declaring a directive which takes multiple arguments */
# define AP_INIT_ITERATE(directive, func, mconfig, where, help) \
{ directive, func, mconfig, where, ITERATE, help }
@@ -37,6 +40,7 @@
/* Types */
#define apr_pool_t pool
#define apr_array_header_t array_header
+#define apr_table_t table
/* Functions */
#define ap_get_remote_host(a,b,c,d) ap_get_remote_host(a,b,c)
@@ -62,6 +66,16 @@
#define apr_tolower ap_tolower
-#define log_error ap_log_error
+static void log_error(char *file, int line, int level, const server_rec *s, const char *fmt, ...) __attribute__ ((format (printf, 5,6)));
+static inline void log_error(char *file, int line, int level, const server_rec *s, const char *fmt, ...)
+{
+ static char buff[MAX_STRING_LEN];
+ va_list args;
+ va_start(args, fmt);
+ ap_vsnprintf(buff,MAX_STRING_LEN, fmt,args);
+ ap_log_error(file,line,level | APLOG_NOERRNO ,s,"%s",buff);
+ va_end(args);
+}
+
#endif /* APACHE13_H */
diff --git a/mod_log_sql.c b/mod_log_sql.c
index 754a224..666ac46 100644
--- a/mod_log_sql.c
+++ b/mod_log_sql.c
@@ -1,4 +1,4 @@
-/* $Id: mod_log_sql.c,v 1.19 2004/03/04 05:43:20 urkle Exp $ */
+/* $Id: mod_log_sql.c,v 1.20 2004/03/05 00:30:58 urkle Exp $ */
#if defined(WITH_APACHE20)
# include "apache20.h"
@@ -459,6 +459,20 @@ static logsql_query_ret safe_sql_insert(request_rec *r, logsql_tabletype table_t
/* re-open the connection and try again */
if (log_sql_opendb_link(r->server) != LOGSQL_OPENDB_FAIL) {
log_error(APLOG_MARK,APLOG_ERR,r->server,"db reconnect successful");
+# if defined(WITH_APACHE20)
+ apr_sleep(apr_time_from_sec(0.25)); /* pause for a quarter second */
+# elif defined(WITH_APACHE13)
+ {
+ struct timespec delay, remainder;
+ int nanoret;
+ delay.tv_sec = 0;
+ delay.tv_nsec = 250000000; /* pause for a quarter second */
+ nanoret = nanosleep(&delay, &remainder);
+ if (nanoret && errno != EINTR) {
+ log_error(APLOG_MARK,APLOG_ERR,r->server,"nanosleep unsuccessful");
+ }
+ }
+# endif
result = log_sql_mysql_query(r,&global_config.db,query);
if (result == LOGSQL_QUERY_SUCCESS) {
return LOGSQL_QUERY_SUCCESS;
diff --git a/mod_log_sql.prj b/mod_log_sql.prj
index 4c194ce..9cd8fea 100644
--- a/mod_log_sql.prj
+++ b/mod_log_sql.prj
@@ -97,10 +97,11 @@ module.doc.expanded=1
module.doc.files=\
Documentation/README\
INSTALL\
- Documentation/documentation.lyx\
CHANGELOG\
LICENSE\
- AUTHORS
+ AUTHORS\
+ TODO\
+ Documentation/manual.xml
module.po.expanded=0
module.po.files=
diff --git a/mod_log_sql_mysql.c b/mod_log_sql_mysql.c
index 86c259a..edc0189 100644
--- a/mod_log_sql_mysql.c
+++ b/mod_log_sql_mysql.c
@@ -1,4 +1,4 @@
-/* $Id: mod_log_sql_mysql.c,v 1.3 2004/03/04 05:41:12 urkle Exp $ */
+/* $Id: mod_log_sql_mysql.c,v 1.4 2004/03/05 00:30:58 urkle Exp $ */
#include "mysql.h"
#include "mysqld_error.h"
@@ -62,6 +62,7 @@ logsql_opendb_ret log_sql_mysql_connect(server_rec *s, logsql_dbconnection *db)
}
}
+/* Close the DB link */
void log_sql_mysql_close(logsql_dbconnection *db)
{
mysql_close((MYSQL *)db->handle);
@@ -108,6 +109,7 @@ const char *log_sql_mysql_escape(const char *from_str, apr_pool_t *p,
}
}
+/* Run a mysql insert query and return a categorized error or success */
logsql_query_ret log_sql_mysql_query(request_rec *r,logsql_dbconnection *db,
const char *query)
{
@@ -144,6 +146,7 @@ logsql_query_ret log_sql_mysql_query(request_rec *r,logsql_dbconnection *db,
return LOGSQL_QUERY_FAIL;
}
+/* Create table table_name of type table_type. */
logsql_table_ret log_sql_mysql_create(request_rec *r, logsql_dbconnection *db,
logsql_tabletype table_type, const char *table_name)
{
diff --git a/mod_log_sql_ssl.c b/mod_log_sql_ssl.c
index fd68a7d..d65ca79 100644
--- a/mod_log_sql_ssl.c
+++ b/mod_log_sql_ssl.c
@@ -1,4 +1,4 @@
-/* $Id: mod_log_sql_ssl.c,v 1.6 2004/03/04 05:43:20 urkle Exp $ */
+/* $Id: mod_log_sql_ssl.c,v 1.7 2004/03/05 00:30:58 urkle Exp $ */
/* mod_log_sql_ssl */
#if defined(WITH_APACHE20)
@@ -37,7 +37,7 @@ static const char *extract_ssl_keysize(request_rec *r, char *a)
if (TEST_SSL(r) != NULL)
{
result = ssl_var_lookup(r->pool, r->server, r->connection, r, "SSL_CIPHER_USEKEYSIZE");
- log_error(APLOG_MARK,APLOG_DEBUG,0,r->server,"SSL_KEYSIZE: %s", result);
+ log_error(APLOG_MARK,APLOG_DEBUG,r->server,"SSL_KEYSIZE: %s", result);
if (result != NULL && result[0] == '\0')
result = NULL;
return result;
@@ -52,7 +52,7 @@ static const char *extract_ssl_maxkeysize(request_rec *r, char *a)
if (TEST_SSL(r) != NULL)
{
result = ssl_var_lookup(r->pool, r->server, r->connection, r, "SSL_CIPHER_ALGKEYSIZE");
- log_error(APLOG_MARK,APLOG_DEBUG,0,r->server,"SSL_ALGKEYSIZE: %s", result);
+ log_error(APLOG_MARK,APLOG_DEBUG,r->server,"SSL_ALGKEYSIZE: %s", result);
if (result != NULL && result[0] == '\0')
result = NULL;
return result;
@@ -67,7 +67,7 @@ static const char *extract_ssl_cipher(request_rec *r, char *a)
if (TEST_SSL(r) != NULL)
{
result = ssl_var_lookup(r->pool, r->server, r->connection, r, "SSL_CIPHER");
- log_error(APLOG_MARK,APLOG_DEBUG,0,r->server,"SSL_CIPHER: %s", result);
+ log_error(APLOG_MARK,APLOG_DEBUG,r->server,"SSL_CIPHER: %s", result);
if (result != NULL && result[0] == '\0')
result = NULL;
return result;
--
cgit