summaryrefslogtreecommitdiffstats
path: root/CHANGELOG
blob: b0da0a21f82bcb86cd261e3eb301f63eac4e86c0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
<Gravatar Christopher Powell
2002-04-08
|
* *** empty log message ***1.14 href='#n104'>104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194
$Id: CHANGELOG,v 1.6 2002/02/24 20:17:16 helios Exp $


TODO:
* Full commenting of the code.
* Rethink documentation flow and rewrite?
* Message queueing during server downtime?


CHANGES:

1.14:
* Improved the apxs instructions based on user feedback, including the
  mysql.sock define issue.
* Corrected the INSTALL example directives to the new format.
* Some improvements to 'make distro'


1.13:

* Now use ap_get_server_name() in extract_virtual_host() to fix the
  instances where mass-virtual-hosting sites were getting the wrong
  server-name written to the log.
* Now use mysql_real_connect() instead of mysql_connect().  The
  latter's use was deprecated and did not work in MySQL 4.
* There is now a DEFINE for the socket name.  This is used by the 
  mysql_real_connect() function and is relevant only if the db resides
  on localhost.  It is irrelevant if the db resides on a networked
  machine and is ignored in that case (although it still must be defined
  for the connect to work).


1.12:

* Added a mysql_close() call to get rid of those annoying MySQL
  complaints every time an httpd child process terminates. (Apache
  1.3 or later.)
* Considerable code reorganization and cleanup.  


1.11:

* Completely re-worked the cookie code.  Now the user can instruct
  mod_log_mysql which cookie (out of many available) to log.  (See
  the online directives documentation and FAQ.)
* New config capability: 'H' to log the request protocol 
  (e.g. HTTP/1.1)
* New config capability: 'm' to log the request method
  (e.g. GET, PUT, etc.)
* New config capabilities: 'z' 'q' & 'Q' to log SSL_CIPHER,
  SSL_CIPHER_USEKEYSIZE and SSL_CIPHER_ALGKEYSIZE.  These require
  openssl and glibc-devel to be installed.  (See the online 
  directives documentation and FAQ.)
* Fixed a bug in make_combined_log.pl that caused it to generate
  incorrect output on single-digit days.
* Fixed make_combined_log.pl to use the data logged by 'H' and 'm'.
* Migrated all log_error calls to the newer ap_log_error call.
* Added a DEBUG define to activate certain debugging/informational
  error-log messages (for devel purposes).
* I apologize for the inconvenience this may cause:  I decided to
  rename the runtime configuration directives so that they would
  make more sense and group together with a "MySQL" prefix.  They
  are now:
	MySQLRefererLogTable
        The MySQL table that holds the referer log
	MySQLAgentLogTable 
        The MySQL table that holds the agent log
	MySQLTransferLogTable 
        The MySQL table that holds the transfer log
	MySQLTransferLogFormat 
        Instruct the module what information to log to the MySQL transfer log
	MySQLRefererIgnore 
        List of referers to ignore, accesses that match will not be logged to MySQL
	MySQLRequestIgnore 
        List of URIs to ignore, accesses that match will not be logged to MySQL
	MySQLRemhostIgnore 
        List of remote hosts to ignore, accesses that match will not be logged to MySQL
	MySQLDatabase 
        The name of the MySQL database for logging
	MySQLWhichCookie 
        The CookieName that you want logged when using the 'c' config directive
	MySQLLoginInfo 
        The MySQL host, user-id and password for logging
  You'll need to just do a search-and-replace in your httpd.conf...
  Again, I'm sorry, but it really is better this way.
* Cleaned up the summaries that get output on "httpd -L"
* Expanded the enclosed access_log.sql file to support every column type
  that mod_log_mysql provides -- delete the ones that you don't need.
* Some cleanup of the Makefile - pay attention to the settings
* Made the MySQLTransferLogFormat default "AbHhmRSsTUuv" to incorporate the
  new column types and sort the characters alphabetically for reading ease.
  
  
1.10:

* New config directive/capability: 'c' to log mod_usertrack cookies.
* Some code cleanup and commenting.
* Referer and User-Agent now set to want_orig=1 ( a very minor detail )
* Corrected mysql_escape_log to properly check for and escape strings
  with `dangerous' characters.  It appears that it was doing this 
  incorrectly before.
* Deleted log_mysql_child(), a function that was never called.


1.09:

* If the MySQL INSERT causes an error, we re-try that INSERT after
  a short 1/2-second sleep just to make sure it wasn't due to a 
  network glitch or other gremlin.
* Made the default log format: huSUsbTvRA.  This provides everything
  required to reproduce Combined Log Format data.


1.08: 

* Now log a single '-' (instead of a zero-length string) when
  User-Agent is blank. This is similar to what Apache does in its own
  logs.  (Should have caught this when I did the same thing for
  Referer.)
* Separated documentation into README, INSTALL, CHANGELOG, etc. as
  appropriate.


1.07:

* Renamed TransferIgnore directive to RequestIgnore, since that's
  really a more specific and accurate description of what that
  directive means. 
* Now log a single '-' (instead of a zero-length string) when Referer
  is blank. This is similar to what Apache does in its own logs.


1.06:

* Added 'R' and 'A' options to TransferLogMySQLFormat so that we now
  can log Referer and Agent respectively. 
* Code cleanup: all compilation warnings are now gone, even with -Wall. 
  (They were mainly "const" issues that needed straightening up.)
* Added RemhostIgnore configuration directive to permit non-logging of
  any request coming from a specific host, e.g. a local network
  machine, etc. 
* Now use the non-obsolete ap_compat.h headerfile instead of
  compat.h.  This simply gets rid of a compilation warning, nothing
  more.
* Now include a headerfile (http_log.h) that was missing.  Its
  absence was giving us this warning message: "implicit declaration of
  function `ap_log_error_old'." 
* For numerics that Apache customarily logs as a "-" we now log a zero
  instead of a -1.  This seems to be more intuitive, e.g. in the
  "bytes_sent" column.
* We now have a Makefile and a full "make" process that does all
  the real work.
* New maintainer.
 

1.05:

* Removed some redundant code, after being noted by Vivek Khera that
  this code doesn't even get called with the current apache code.  It
  can be done in apache 1.3, but it works ok without it anyway.
* Added the necessary include file to make the module compile under
  Apache 1.3b6.  I haven't actually tested that it works, though.
  indent'd the code.


1.04:

* Rearranged some code to allow for a successful apache 1.3beta
  compilation.  Please note that this is *untested*, I only got it to
  compile, I haven't actually tried to run apache 1.3.


1.03:

* Changed the check for 'mysql server has gone away' to be case
  insensitive, so that it works with MySQL 3.21 
* Changed the behavior so that a link isn't established until it's
  necessary (e.g., if SQL logging is used for one virtual IP, a link
  won't be opened until there's an access to that IP).


1.02:

* Managed to track down that segmentation fault that occured once, and
  fixed it.  No known bugs now exist.


1.01:

* Segmentation fault in case of certain parameters lacking fixed.
* Worked around the SIGPIPE signal that's sent in certain events from
* mysql_query(). Minor modifications