a post-rotate program when -p is used, per the documentation.
[Joe Orton]
+ *) mod_session_dbd: fix a segmentation fault in the function dbd_remove.
+ PR 53452. [<rebanerebane gmail com>, Reimo Rebane]
+
*) core: Functions to provide server load values: ap_get_sload() and
ap_get_loadavg(). [Jim Jagielski, Jan Kaluza <jkaluza redhat.com>,
Jeff Trawick]
documentation patch : http://apache-doc-fr.gryzor.com/fallbackresource_disabled_2.4_doc.patch
+1: gryzor, covener, sf
- * mod_session_dbd: fix a segmentation fault in the function dbd_remove.
- PR 53452
- trunk patch: http://svn.apache.org/viewvc?view=revision&revision=1408958
- http://svn.apache.org/viewvc?view=revision&revision=1408961 (style issue)
- http://svn.apache.org/viewvc?view=revision&revision=1409170 (style issue)
- 2.4.x patch: http://people.apache.org/~jailletc36/backport_mod_session_dbd.patch
- +1: jailletc36, sf, jim
-
* mod_log_forensic: Don't log spurious "-" characters.
trunk patch: http://svn.apache.org/viewvc?view=revision&revision=1410954
2.4.x patch: trunk patch works (modulo CHANGES)
{
apr_status_t rv;
+ ap_dbd_t *dbd;
apr_dbd_prepared_t *statement;
int rows = 0;
session_dbd_dir_conf *conf = ap_get_module_config(r->per_dir_config,
&session_dbd_module);
- ap_dbd_t *dbd = session_dbd_acquire_fn(r);
- if (dbd == NULL) {
- ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r, APLOGNO(01861)
- "failed to acquire database connection to remove "
- "session with key '%s'", key);
- return APR_EGENERAL;
- }
if (conf->deletelabel == NULL) {
ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r, APLOGNO(01862)
return APR_EGENERAL;
}
- statement = apr_hash_get(dbd->prepared, conf->deletelabel,
- APR_HASH_KEY_STRING);
- if (statement == NULL) {
- ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r, APLOGNO(01863)
- "prepared statement could not be found for "
- "SessionDBDdeletelabel with the label '%s'",
- conf->deletelabel);
- return APR_EGENERAL;
+ rv = dbd_init(r, conf->deletelabel, &dbd, &statement);
+ if (rv != APR_SUCCESS) {
+ /* No need to do additional error logging here, it has already
+ been done in dbd_init if needed */
+ return rv;
}
+
rv = apr_dbd_pvbquery(dbd->driver, r->pool, dbd->handle, &rows, statement,
key, NULL);
if (rv != APR_SUCCESS) {