]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
Merge r1923639 from trunk:
authorJoe Orton <jorton@apache.org>
Mon, 2 Jun 2025 14:52:51 +0000 (14:52 +0000)
committerJoe Orton <jorton@apache.org>
Mon, 2 Jun 2025 14:52:51 +0000 (14:52 +0000)
Add API exposing the DavBasePath setting for use by DAV repository
backend modules (mod_dav_svn needs this for POST method handling).

* modules/dav/main/mod_dav.c (dav_get_base_path): New function.

* include/ap_mmn.h: Bump MMN minor.

Github: closes #526
Reviewed by: jorton, rpluem, covener

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1926064 13f79535-47bb-0310-9956-ffa450edef68

changes-entries/dav-get-base-path.txt [new file with mode: 0644]
include/ap_mmn.h
modules/dav/main/mod_dav.c
modules/dav/main/mod_dav.h

diff --git a/changes-entries/dav-get-base-path.txt b/changes-entries/dav-get-base-path.txt
new file mode 100644 (file)
index 0000000..e24e41d
--- /dev/null
@@ -0,0 +1,2 @@
+  *) mod_dav: Add API to expose DavBasePath setting.  [Joe Orton]
+
index c124eb5370e513f519db713e0f7cf5d230d443d0..9bc1d6b1169351c1a7c1a54484b4560386ab9fdf 100644 (file)
  * 20120211.136 (2.4.63-dev) Add wait_io field to struct process_score
  * 20120211.137 (2.4.63-dev) Add AP_MPMQ_CAN_WAITIO
  * 20120211.138 (2.4.63-dev) Add is_host_matchable to proxy_worker_shared
+ * 20120211.139 (2.4.63-dev) Add dav_get_base_path() to mod_dav
  */
 
 #define MODULE_MAGIC_COOKIE 0x41503234UL /* "AP24" */
 #ifndef MODULE_MAGIC_NUMBER_MAJOR
 #define MODULE_MAGIC_NUMBER_MAJOR 20120211
 #endif
-#define MODULE_MAGIC_NUMBER_MINOR 138                 /* 0...n */
+#define MODULE_MAGIC_NUMBER_MINOR 139                 /* 0...n */
 
 /**
  * Determine if the server's current MODULE_MAGIC_NUMBER is at least a
index 7a3eed7644a4280236952d18912bd362eee91860..2625f909cbf308e1bee0d2f243d53b744dfffdf9 100644 (file)
@@ -250,6 +250,13 @@ DAV_DECLARE(const dav_hooks_search *) dav_get_search_hooks(request_rec *r)
     return dav_get_provider(r)->search;
 }
 
+DAV_DECLARE(const char *) dav_get_base_path(request_rec *r)
+{
+    dav_dir_conf *conf = ap_get_module_config(r->per_dir_config, &dav_module);
+
+    return conf && conf->base ? conf->base : NULL;
+}
+
 /*
  * Command handler for the DAV directive, which is TAKE1.
  */
index c8c54f3877653c54e1fefdcf191cc2486a83ea7a..3c1309f6243822205d9f425b65d1432f202c316b 100644 (file)
@@ -430,6 +430,11 @@ typedef struct dav_locktoken dav_locktoken;
 DAV_DECLARE(dav_error *) dav_get_resource(request_rec *r, int label_allowed,
                                           int use_checked_in, dav_resource **res_p);
 
+/*
+** If DavBasePath is configured for the request location, return the
+** configured path, otherwise NULL.
+*/
+DAV_DECLARE(const char *) dav_get_base_path(request_rec *r);
 
 /* --------------------------------------------------------------------
 **