1.100: 2005-01-11
* fixes for NULL fields (empty request_args)
* fixed a mysql reconnect bug
* wrong hostname was logged when using mass virtual hosting
Use, the new 'V' logformat
* formatted massvirutalhosting tables to swap - with _.
* included winconfig.h in makefile
* fixed quoting of unique_id
* converted documentation to OOO Docbook ( a subset of the full docbook DTD)
1.99: 2004-07-28
* Added DBI support (not completed yet)
* fixed segfault in the mysql driver escape_string function
* fixed segfault when forcepreserve is set on.
* switched escape_string driver function to include the string quotes.
* On Database connection failure Database errors are printed at ERR loglevel
instead of debug
* included build-apache(13|2).bat scripts in the distribution
1.98: 2004-05-12
* re-fixed apache.m4 to better detect APR and APU code
* fixed for win32 compilation under apache 2
* lowered minumum required apache 2 version to 2.0.40 (RH9)
* Added LogSQLDisablePreserve to disable the preserve file.
* Changed default preserve file location to logs/mod_log_sql-preserve
And made LogSQLPreserveFile root relative.
* fixed bug where preserve file wouldn't be created in apache 2
* finished TransferLog documentation
* changed strstr to ap_strstr calls and strchr to ap_strchr calls to
stop warning when compiling with AP_DEBUG enabled in apache 2
* Updated apache m4 to not pass for apache 1.3 if apache 2 is found
1.97: 2004-04-08
* fixed apache.m4 to work with apache 2 setups with different include
directories for APR and APU then core Apache
* cleaned up configuration documentation (updated due to deprecated commands)
* LogSQLLoginInfo updated to support a connection URI
* new module "registration" macros to clean up new driver modules
* mysql driver completely separted from core module
1.96: 2004-03-04
* fixed LogSQLPreserveFile config parameter
* reworked safe_create_tables and core SQL insert routine.
* renamed log_sql_* variables and typedefs to logsql_*
* separated all mysql specific code to separate code module (DB abstraction)
* separated TODO from Changelog
* fixed default value of socket file. it's really /var/lib/mysql/mysql.sock not
/tmp/mysql.sock
* Documentation completely converted to Docbook
* Documentation updated. (still needs more work done)
* 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
mod_log_config.
1.94: 2004-02-03
* ssl loggin back in as separate module under 1.3 and 2.0
* preparsing of format tags is now done to speed up main logging loop.
* fixed a nasty bug with pointer arithmetic (ick) that caused a segfault with
LogSQLWhichCookies
1.93: 2004-01-20
* Compiles for apache 1.3 AND 2.0
* split apache version specific functions to seperate header files
* split apache version specific includes to seperate header files
* added wrapper defines for apache 1.3
* updated configure m4 scripts to detect both apache versions at the same time
and assign defines as to which version was found.
* made install default to not activate module in configuration files.
use make activate instead
* split SSL logging to separate module (still needs to be finished)
1.92: 2004-01-05
* fixed compilation issue with mysql 4.x where mysql_error returns const char *
* Have SSL support compiling (though not really tested)
* updated configure macros to detect mod_ssl.h
* configure now uses --with-apxs instead of --with-apache
* Added documentation from 1.19b (needs to be update)
* Fixed an issue with dependencies in Makefile.in
1.91: 2003-12-23
* Added checks for MySQL to autoconf
* fixed merge code to work correctly.
* Merged in 1.19b1 changes
* Hostnames are now converted to lowercase in the mass-virtual naming section.
The loop that converts dots to underscores has been optimized as well.
* New directive LogSQLTableType allows one to specify the kind of table that
the module makes during table creation (e.g. InnoDB, MyISAM). Thanks to Jim
Turner for the suggestion and patch. If your MySQL server does not support
the specified type, it will create a MyISAM table instead.
* Directives can now be placed in the 'main' server config and will be
inherited by the virtual hosts. This means a LOT less repetition: you only
specify the item once to have it inherited, but it can still be overridden
on a virtualhost level. These can be specified in this manner:
LogSQLTransferLogTable
LogSQLTransferLogFormat
LogSQLPreserveFile
LogSQLNotesLogTable
LogSQLHeadersInLogTable
LogSQLHeadersOutLogTable
LogSQLCookieLogTable
LogSQLRemhostIgnore
LogSQLRequestIgnore
LogSQLRequestAccept
LogSQLWhichNotes
LogSQLWhichHeadersOut
LogSQLWhichHeadersIn
LogSQLWhichCookies
LogSQLWhichCookie
1.90: 2003-12-22
* updated code to compile under apache 2.0
* rewrote and consolidate configuration handler routines
* made all functions static.
* made delayed insert configurable, instead of compile time
* moved to my autoconfigure support
1.18:
* Delayed inserts (a MySQL extension) are now available at compile-time.
THIS IS UGLY because there seems to be a bug in the way MySQL returns
errors on failed INSERT DELAYED queries. See the FAQ.
* Reworked the Makefile a tad.
* Added stdlib.h to the includes, some systems need it for atoi(). Added
string.h to the includes just to be safe.
* Reworked table creation (again). Inserts are attempted and tables
are made only on ER_NO_SUCH_TABLE. This should solve all the multiple-
creation-attempt issues as well as reduce overhead.
* safe_mysql_query reworked; it now can be counted on to preserve_entry()
if the query doesn't succeed. [Before, preserve_entry() was called
separately.]
* Always reset SIGPIPE to handler before leaving safe_mysql_query().
* New directive LogSQLRequestAccept, another filter for excluding things
from being logged.
* Alphabetized the directives in the reference section of the docs.
* New format char 'a' lets one log the request arguments, i.e. the
part of a CGI request after the ? character. Also put a column for
this in the create_tables.sql file. Thanks to Dave Wilson for this.
* Reorganized the FAQ by section.
* Renamed global variables (e.g. tcp_port -> logsql_tcpport) throughout
the code in order to ensure against naming conflicts. tcp_port, in
particular, seemed to be causing problems / segfaults on certain systems.
* Renamed safe_mysql_query() to safe_sql_query().
* Now check for minimum configuration info to establish db link and
log an error if it's insufficient.
1.17:
* Renamed the module mod_log_sql to conform to the project goal of
database-inspecificity.
* Added capability of logging Notes field. This is useful for folks using
custom modules that provide loggable info in the notes, e.g. mod_gzip.
A new directive LogSQLWhichNotes configures which notes to log to the
notes_log table.
* Added capability of logging inbound and outbound headers. New directives
LogSQLWhichHeadersIn and LogSQLWhichHeadersOut configure which headers to
capture. Headers are stored in their own table or tables.
* Fixed potential segfault in preserve file function due to silly pfclose
placement. (Only affected user if the preserve file couldn't
be opened.)
* Changed default socket file to /tmp/mysql.sock because that's the
default on a compiled MySQL.
* Put back-quotes (`) around table name so that names with dashes are
legal.
* Took away the prepend of /tmp to the preserve filename. Now the
user can specify whatever local path they want. I figure that
filesystem permissions will prevent people from doing anything
really dumb, and people have requested this change.
* Better checking in the extract_cookie routine. Before, it could
segfault if a person specified "c" but didn't define MySQLWhichCookie.
* Some code reorg/renaming for clarity and to support the new direction
of database inspecificity. More to come.
* Simplified error messages.
* Table creation now uses safe_mysql_query and checks the result.
* Config directives used to begin with MySQL, now begin with LogSQL.
This is for database inspecificity. In your httpd.conf just do
a search-and-replace.
* Christopher Powell