On Fri, Nov 18, 2011 at 02:52:44PM +0100, Stefan Sperling wrote:
> Suggestion (not tested);
> 
>       ap_log_error(APLOG_MARK, APLOG_WARNING, 0, NULL,
>                    "mod_dav_svn: nested Location '%s' inside "
>                    "SVNPath Location '%s'; this hinders access to a file "
>                  "or directory '%s' inside the repository '%s'",
>                    child->root_dir, parent->root_dir,
>                  svn_dirent_basename(child->root_dir, scratch_pool),
>                  parent->fs_path);

Better suggestion.

[[[
Follow-up to r1203546:

* subversion/mod_dav_svn/mod_dav_svn.c
  (merge_dir_config): Only log a warning about nested SVNPath locations,
   but still allow access. Also improve the message being logged.
]]]

Index: subversion/mod_dav_svn/mod_dav_svn.c
===================================================================
--- subversion/mod_dav_svn/mod_dav_svn.c        (revision 1203650)
+++ subversion/mod_dav_svn/mod_dav_svn.c        (working copy)
@@ -218,16 +218,14 @@ merge_dir_config(apr_pool_t *p, void *base, void *
   newconf->root_dir = INHERIT_VALUE(parent, child, root_dir);
 
   if (parent->fs_path)
-    {
-      /* Nesting inside SVNPath is ambiguous so prevent access. */
-      newconf->fs_path = newconf->fs_parent_path = NULL;
+    ap_log_error(APLOG_MARK, APLOG_WARNING, 0, NULL,
+                 "mod_dav_svn: nested Location '%s' inside "
+                 "SVNPath Location '%s'; this hinders access to a "
+                 "file or directory '%s' inside of repository '%s'",
+                 child->root_dir, parent->root_dir,
+                 svn_fspath__skip_ancestor(parent->root_dir, child->root_dir),
+                 parent->fs_path);
 
-      ap_log_error(APLOG_MARK, APLOG_ERR, 0, NULL,
-                   "mod_dav_svn: invalid nested Location '%s' inside "
-                   "SVNPath Location '%s'",
-                   child->root_dir, parent->root_dir);
-    }
-
   return newconf;
 }
 

Reply via email to