]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
Add API exposing the DavBasePath setting for use by DAV repository
authorJoe Orton <jorton@apache.org>
Fri, 7 Feb 2025 11:09:25 +0000 (11:09 +0000)
committerJoe Orton <jorton@apache.org>
Fri, 7 Feb 2025 11:09:25 +0000 (11:09 +0000)
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 #513

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1923639 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 659520f74570af8cd0b5e54fceba7933f8b18a3b..18e5597e140823c8b552ec1b7699aa79750d750a 100644 (file)
  * 20211221.25 (2.5.1-dev) AP_SLASHES and AP_IS_SLASH
  * 20211221.26 (2.5.1-dev) Add is_host_matchable to proxy_worker_shared
  * 20211221.27 (2.5.1-dev) Add sock_proto to proxy_worker_shared, and AP_LISTEN_MPTCP
+ * 20211221.28 (2.5.1-dev) Add dav_get_base_path() to mod_dav
  */
 
 #define MODULE_MAGIC_COOKIE 0x41503235UL /* "AP25" */
 #ifndef MODULE_MAGIC_NUMBER_MAJOR
 #define MODULE_MAGIC_NUMBER_MAJOR 20211221
 #endif
-#define MODULE_MAGIC_NUMBER_MINOR 27             /* 0...n */
+#define MODULE_MAGIC_NUMBER_MINOR 28             /* 0...n */
 
 /**
  * Determine if the server's current MODULE_MAGIC_NUMBER is at least a
index 17caaf8969ba172f14d2d598e1c4f41660b5dc52..fdfe2c609481b184a4041d1b4a1060500b10205d 100644 (file)
@@ -263,6 +263,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 2bfec337573feb1efd7f81e81bf99367c36d31f3..6b42d8203fdc712c0874b586a5ce527d2762d1c0 100644 (file)
@@ -436,6 +436,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);
 
 /* --------------------------------------------------------------------
 **