| 2039 | } |
| 2040 | |
| 2041 | static void dav_cache_badprops(dav_walker_ctx *ctx) |
| 2042 | { |
| 2043 | const apr_xml_elem *elem; |
| 2044 | apr_text_header hdr = { 0 }; |
| 2045 | |
| 2046 | /* just return if we built the thing already */ |
| 2047 | if (ctx->propstat_404 != NULL) { |
| 2048 | return; |
| 2049 | } |
| 2050 | |
| 2051 | apr_text_append(ctx->w.pool, &hdr, |
| 2052 | "<D:propstat>" DEBUG_CR |
| 2053 | "<D:prop>" DEBUG_CR); |
| 2054 | |
| 2055 | elem = dav_find_child(ctx->doc->root, "prop"); |
| 2056 | for (elem = elem->first_child; elem; elem = elem->next) { |
| 2057 | apr_text_append(ctx->w.pool, &hdr, |
| 2058 | apr_xml_empty_elem(ctx->w.pool, elem)); |
| 2059 | } |
| 2060 | |
| 2061 | apr_text_append(ctx->w.pool, &hdr, |
| 2062 | "</D:prop>" DEBUG_CR |
| 2063 | "<D:status>HTTP/1.1 404 Not Found</D:status>" DEBUG_CR |
| 2064 | "</D:propstat>" DEBUG_CR); |
| 2065 | |
| 2066 | ctx->propstat_404 = hdr.first; |
| 2067 | } |
| 2068 | |
| 2069 | static dav_error * dav_propfind_walker(dav_walk_resource *wres, int calltype) |
| 2070 | { |
no test coverage detected