From e44704a468b4798b793184d064fd2fda35b113af Mon Sep 17 00:00:00 2001 From: Joe Orton Date: Sat, 13 Mar 2004 12:56:47 +0000 Subject: [PATCH] Fix litmus test copy_nodestcoll; 2518 requires that MKCOL MUST fail with 409 on missing intermediates: * modules/dav/fs/repos.c (dav_fs_create_collection): Give a 409 rather than a 403 if apr_dir_make fails with ENOENT. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@102946 13f79535-47bb-0310-9956-ffa450edef68 --- modules/dav/fs/repos.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/dav/fs/repos.c b/modules/dav/fs/repos.c index cf7876534c..01dc4f87f1 100644 --- a/modules/dav/fs/repos.c +++ b/modules/dav/fs/repos.c @@ -1011,6 +1011,11 @@ static dav_error * dav_fs_create_collection(dav_resource *resource) "There is not enough storage to create " "this collection."); } + else if (APR_STATUS_IS_ENOENT(status)) { + return dav_new_error(ctx->pool, HTTP_CONFLICT, 0, + "Cannot create collection; intermediate " + "collection does not exist."); + } else if (status != APR_SUCCESS) { /* ### refine this error message? */ return dav_new_error(ctx->pool, HTTP_FORBIDDEN, 0, -- 2.40.0