* modules/dav/main/mod_dav.h: Add dav_if_unknown to dav_if_state_type
enum.
* modules/dav/main/util.c (dav_add_if_state): Set returned type to
dav_if_unknown for an unknown state token.
(dav_validate_resource_state): Evaluate dav_if_unknown to fail
match unless in a Not condition.
PR: 37288
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@329562 13f79535-47bb-0310-9956-ffa450edef68
This makes binaries far easier to debug, during operation and for post-crash
.dmp analysis. Do not alter /Gs optimizations per brane.
Reviewed by: stoddard, brane
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@170253 13f79535-47bb-0310-9956-ffa450edef68
Bumped mmn, and ap module cookie, for this function rename.
It's not a deprecation, as ap_http_method would be a lovely function
name sometime in the future: to determine what the function name implies.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@123882 13f79535-47bb-0310-9956-ffa450edef68
* modules/dav/main/util.c (dav_validate_resource_state): Fix a 2617
violation: if the lock user validation fails, rather than giving a 401
without a WWW-Authenticate header, give a 403.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@102958 13f79535-47bb-0310-9956-ffa450edef68
factored out, sends an EOS bucket after the response body.
(dav_send_multistatus, dav_method_propfind): Use it.
[might be related to PR 27576 if there is a real issue described
there]
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@102933 13f79535-47bb-0310-9956-ffa450edef68
function calls, provides type safety for the ap_filter_t*, and
clarifies what is really going on (i.e. we aren't sending a FLUSH
bucket of any kind).
* mod_dav.c (dav_send_multistatus, dav_method_propfind): change the
ap_filter_flush call to ap_pass_brigade; flip the params to match
the prototype.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@100647 13f79535-47bb-0310-9956-ffa450edef68
response.
* mod_dav.c (dav_method_propfind, dav_method_report): if the dav
provider throws an error in the middle of streaming a response,
have mod_dav log an error and abort the connection.
Submitted by: Ben Collins-Sussman <sussman@collab.net>
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@100309 13f79535-47bb-0310-9956-ffa450edef68
* mod_dav.c (dav_method_propfind): the PROPFIND request might not have
a body. Therefore, we cannot dereference 'doc' unconditionally.
Test it to decide what to pass on to dav_begin_multistatus().
Submitted by: Ben Collins-Sussman <sussman@collab.net>,
David Waite <mass@akuma.org>
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@100308 13f79535-47bb-0310-9956-ffa450edef68
rather than cache every <response> object and send the whole 207 at once.
Note: this patch doesn't affect the mod_dav provider API at all.
Providers still return property results in text-buffers, but mod_dav
then streams them out immediately.
Submitted by: Ben Collins-Sussman <sussman@collab.net>
Reviewed by: gstein, jerenkrantz, sander
* mod_dav.h (dav_walker_ctx): add a brigade field and a scratchpool field.
* mod_dav.c (dav_send_one_response): new helper function to write a
<DAV:response> into a brigade/filter. this code has been factorized
out of dav_send_multistatus.
(dav_begin_multistatus): new factorized helper func; creates brigade
and sends initial <multistatus> tag.
(dav_send_multistatus): create brigade, call dav_begin_multistatus,
and switch all ap_rputs calls to ap_fputs instead. call
dav_send_one_response when looping over response list. use a
subpool when iterating.
(dav_method_propfind): initialize walker ctx's brigade. initialize
ctx's scratchpool as a subpool of r->pool. Send a <multistatus> tag
before calling the provider's walk() function, and a </multistatus>
tag afterwards.
(dav_stream_response): new function, originally based on
dav_add_repsonse. don't build linked list of responses in memory;
just spew each response object into the brigade via
dav_send_one_response(). take an incoming pool argument to do the
temporary allocation and streaming.
(dav_propfind_walker): pass ctx->scratchpool to dav_stream_response,
and clear the pool when finished.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@100164 13f79535-47bb-0310-9956-ffa450edef68
mod_dav isn't calling it before creating an activity. This is a
required precondition (along with the resource not existing), as
defined in the deltaV RFC (3253), section 13.5.
* mod_dav.c (dav_method_make_activity): if available, call provider's
'can_be_activity' callback as a precondition to making an activity.
Submitted by: Ben Collins-Sussman <sussman@apache.org>
Reviewed by: Sander Striker
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@99966 13f79535-47bb-0310-9956-ffa450edef68
the older .dbg format symbols are not worth the interference with
generating complete .pdb symbolic debugging databases.
This patch further eliminates pdbtype:sept flags that interfere with
deciphering local symbols and type information.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@98970 13f79535-47bb-0310-9956-ffa450edef68
fairly redundant when you retain rich .pdb debugging symbol files. We
have rarely used them, and generally .dbg and .pdb files prove much more
useful for the cases we have.
While eliminating /map files, we are also shrinking the size of the .dbg
files by stripping 'private' symbol information. Really this means less
rich diagnostics from Dr. Watson on NT or Win9x when they query the .dbg
symbols in creating a DrWatson log file. But it's more than compensated
for on newer OS'es where Dr. Watson will query the .pdb symbols, on all
Win32 flavors when WinDbg is used with the .pdb symbols, and the fact that
the distribution of binary symbols will use less bandwidth when less
information is duplicated from the .pdb format into the .dbg files.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@98743 13f79535-47bb-0310-9956-ffa450edef68
was badness. Twist this puppy to .dbr, the only name I could invent that
doesn't look like any database file extension I recall.
It stands for .dbg rebased.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@98712 13f79535-47bb-0310-9956-ffa450edef68
and .dbg files (older debuggers and Dr. Watson-type utilities
on WinNT or Win9x don't support the newer .pdb flavor.)
[Allen Edwards, William Rowe]
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@98596 13f79535-47bb-0310-9956-ffa450edef68