mod_proxy_ftp: NULL pointer dereference on error paths.
[Stefan Fritsch <sf fritsch.de>, Joe Orton]
+ *) mod_dav: Provide a mechanism to obtain the request_rec and pathname
+ from the dav_resource. [Jari Urpalainen <jari.urpalainen nokia.com>,
+ Brian France <brian brianfrance.com>]
+
*) Build: Use install instead of cp if available on installing
modules to avoid segmentation fault. PR 47951. [hirose31 gmail.com]
apr_pool_t *pool; /* memory storage pool associated with request */
const char *pathname; /* full pathname to resource */
apr_finfo_t finfo; /* filesystem info */
+ request_rec *r;
};
/* private context for doing a filesystem walk */
**
** PRIVATE REPOSITORY FUNCTIONS
*/
+request_rec *dav_fs_get_request_rec(const dav_resource *resource)
+{
+ return resource->info->r;
+}
+
apr_pool_t *dav_fs_pool(const dav_resource *resource)
{
return resource->info->pool;
/* Create private resource context descriptor */
ctx = apr_pcalloc(r->pool, sizeof(*ctx));
ctx->finfo = r->finfo;
+ ctx->r = r;
/* ### this should go away */
ctx->pool = r->pool;
dav_fs_remove_resource,
dav_fs_walk,
dav_fs_getetag,
+ dav_fs_get_request_rec,
+ dav_fs_pathname,
+ NULL
};
static dav_prop_insert dav_fs_insert_prop(const dav_resource *resource,
** then this field may be used. In most cases, it will just be NULL.
*/
void *ctx;
+
+ /* return request record */
+ request_rec * (*get_request_rec)(const dav_resource *resource);
+
+ /* return path */
+ const char * (*get_pathname)(const dav_resource *resource);
};