Prefer will circumvent a Multiple Choices by electing the first matching
language from the LanaguagePriority list.
Fallback will circumvent a None Acceptable by electing the first
language found from the LanaguagePriority list.
This breaks [expectedly] the negotiation tests. They need review.
My test results will be posted to dev.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92655 13f79535-47bb-0310-9956-ffa450edef68
.en components, and exceptions index and foo. This patch will ignore the
'missing' exception html from the request, and go on to test the exception
foo in the list.
This does -not- imply that a request for index.foo will succeed, in the
example above. The pattern match tests index.foo[.*] so we wouldn't find
index.html.foo.anything. The pattern matching proposed at one time by
Francis Daly would allow index.foo to succeed as well [although many to
many matching is dangerous, see comments in this patch.]
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91249 13f79535-47bb-0310-9956-ffa450edef68
strings to numbers in places where the methods are known at compile
time.
(Justin fixed the va_end() call to be correct.)
Submitted by: Brian Pane <bpane@pacbell.net>
Reviewed by: Justin Erenkrantz
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91078 13f79535-47bb-0310-9956-ffa450edef68
we seem to be reading/seeking .var files fine on Unix even with
buffering turned on.
wrowe reports that they're working on Win32 also.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90812 13f79535-47bb-0310-9956-ffa450edef68
ap_directory_walk() phase. Modules that want to use special
walk logic should refer to the mod_proxy map_to_location example,
with it's proxy_walk and proxysection implementation. This makes
either directory_walk flavor much more legible, since that phase
only runs against real <Directory > blocks.
On a technical note, this patch also forces the Directory to be
canonical (unless it is "/" or a regex.) It also allows us to
be more explicit when declaring <Directory > block errors.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90684 13f79535-47bb-0310-9956-ffa450edef68
to agree on what it does. My last question is where do I force this
behavior without tons of extra filesystem/cpu consumption?
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90613 13f79535-47bb-0310-9956-ffa450edef68
time
note that a system trace of .var map processing still shows an
extra read() after we hit EOF the first time; we could make
use of the EOF flag in APR to avoid the read() or play with
mod_negotiation
Suggested by: Marc Slemko
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90609 13f79535-47bb-0310-9956-ffa450edef68
content can be served, it sends a file bucket of the type map file
itself, forward spaced to the <Content>, set to the length of <Content>.
<Content> may contain any binary data. The end tag must exist, anything
between the tag and \n is ignored. This version (v.s. the patch sent to
the list) includes error reporting if the end tag cannot be located.
We need to change the etag code to accept an additional argument, so we
can set the cache controls properly.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90405 13f79535-47bb-0310-9956-ffa450edef68
this idea. If we find files matching (e.g. index.html.bak matches
index.html) but they are rejected because we don't understand them
(e.g. they are a directory, or .bak isn't a mod_mime recognized extension)
then Error 500 out of here, with a note for the system administrator
explaining that index.html matches some files, but their extensions
cannot be grokked. No more (unintentional, or situational) autoindex :)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89961 13f79535-47bb-0310-9956-ffa450edef68
to say about a given set of file extentions (and has only based the
resolved fields on the default language, encoding and content type)
then tell us we can ignore the result by leaving the exception list
entirely undefined. If mod_mime adds anything (a language, charset, or
whatnot) then proceed to use the file in the Multiviews evaluation,
otherwise mod_negotation will ignore the file found.
This points out a need for a slightly twisted DefaultClientLanguage,
as opposed to creating foo.html.html files. Either that, or introduce
a 'neutral' entity that the user can list (say, .default) for mod_mime
to declare it as a fallback language/encoding/content-type/handler.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89919 13f79535-47bb-0310-9956-ffa450edef68
mod_negotiation the 'unresolved' parts of the path in a ->notes
array ap-mime-exceptions-list.
If mod_mime is given index.html.bad.en it will add index and bad
to the list (presuming html and en are both defined.)
mod_negotiation will decide if index and bad are it's fault (the
user requested index.html.bad[.*]) or if it's a messed up file
(say .old, .junk, or .bak).
The next patch to allow any-order negotiation should check each
of these list elements, so that asking for index.bad in the prior
example would succeed. Right now that request would fail because
.html was recognized, so it's not in the exceptions list. This
patch uses a simple strcmp to the given name.
Also, this patch allows any mod_mime processed file to be served,
even if the content type cannot be determined (think README.en).
This is crippled by the client expect headers and omitting the
default content type.
PLEASE vet this code carefully.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89912 13f79535-47bb-0310-9956-ffa450edef68
compliance changes. Note I've left alone the <P> tags, since they
are abused, misused, potentially unsalvageable and certainly more
effort than I care to expend in my quest for brainless end of week
keyboard exercise.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89753 13f79535-47bb-0310-9956-ffa450edef68
need to further optimize this code, there are dozens of perhaps unnecessary
stat calls, and meaningless #ifndef OS2 protections around apr_lstat()'s.
OS2 has lstat (It's simply stat()) so we should pull the os-specific cruft.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89449 13f79535-47bb-0310-9956-ffa450edef68
some type safety. (unfortunately, our old "void*" is type-safe with the
new one, but over time we should be better)
*) Propagate the new type to all appropriate functions.
*) Random cleaning, whitespace, stylistic nits.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88225 13f79535-47bb-0310-9956-ffa450edef68
- explicitly include apr_lib.h since ap_config.h doesn't
- use apr_want.h where possible
- use APR_HAVE_ where possible
- remove some unneeded includes
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88060 13f79535-47bb-0310-9956-ffa450edef68
or absense of a file. finfo.filetype is defined as 0 if APR_NOFILE,
or a non-zero value if the file could be apr_stat()'ed.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87933 13f79535-47bb-0310-9956-ffa450edef68
apr_stat/lstat/getfileinfo. These are -NOT- optimal, they
are simply the required changes to get the server working.
The size of the patch is a warning about how we need to
really look at what we are trying to accomplish with all
of these stat/lstat calls.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87760 13f79535-47bb-0310-9956-ffa450edef68
We copy the data when we store it in the structures, we can just return
a pointer from there, and use const data. This puts the onus back on
Apache to copy the data if it needs to modify it.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87592 13f79535-47bb-0310-9956-ffa450edef68
files need to specifically include stdio.h, or a particular apr_*.h
header.
*) Adjust callers of apr_create_process() to deal with the extra "const"
*) Add "const" to args of ap_os_create_privileged_process()
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87080 13f79535-47bb-0310-9956-ffa450edef68
modules to not have to muck with the output_filter after it creates the
sub-request. Without this change, modules that create a sub-request have
to manually edit the output_filters, and therefore skip the sub-request
output_filter. If they skip the sub-request output_filter, then we end
up sending multiple EOS buckets to the core_output_filter.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87065 13f79535-47bb-0310-9956-ffa450edef68
for CORE_EXPORT to AP_CORE_DECLARE (namespace protecting the wrapper)
and retitled API_EXPORT as AP_DECLARE and APR_EXPORT as APR_DECLARE.
All _VAR_ flavors changes to _DATA to be absolutely clear.
Thank you Greg, for the most obvious suggestion.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86609 13f79535-47bb-0310-9956-ffa450edef68
see src/lib/apr/apr_compat.h for most details.
Also a few minor nits to get Win32 to build.
PR:
Obtained from:
Submitted by:
Reviewed by:
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86008 13f79535-47bb-0310-9956-ffa450edef68