André Malo [Thu, 27 Feb 2003 02:50:04 +0000 (02:50 +0000)]
Fix mod_rewrite's abs_URI handling.
- uris were partially not correctly escaped (in particular:
ldap, news, mailto)
- not all uri schemes contain an authority component (//)
- add nntp:// scheme
- don't add a query string (and drop r->args) if it's not
http or mailto scheme
- be more efficient (think so)
Stas Bekman [Tue, 25 Feb 2003 23:25:19 +0000 (23:25 +0000)]
check the return value of ap_run_pre_connection(). So if the
pre_connection phase fails (without setting c->aborted)
ap_run_process_connection is not executed.
PR:
Obtained from:
Submitted by:
Reviewed by: trawick, jim
Confirmed by Milan Kosina that this code was still broken - I realized
we weren't updating stat correctly, and shouldn't have been trying to
pass the status, but the headers instead, from WriteClient(). This way
we can actually count the bytes consumed and begin treating the rest
as body contents.
Jeff Trawick [Tue, 25 Feb 2003 14:44:42 +0000 (14:44 +0000)]
fix some const-ness problems which break the compile with the native
compiler for AIX (and probably HP-UX and Tru64 as well, since they
tend to be picky too)
Bradley Nicholes [Mon, 24 Feb 2003 23:19:30 +0000 (23:19 +0000)]
Don't try to use the LDAP cache if it has been turned off. Make sure that we
have a "curl" before trying to use it. If caching has been turned off then the
curl variable will be NULL. This fixes a problem where LDAP caching would
fault when caching was disabled.
André Malo [Mon, 24 Feb 2003 21:55:07 +0000 (21:55 +0000)]
This is part three.
It fixes the misunderstandings between local URL paths and local
system paths. Note that mod_rewrite handles _both_.
Fixed also some comments to make the explanations more clear.
André Malo [Mon, 24 Feb 2003 21:44:15 +0000 (21:44 +0000)]
This is part two.
It fixes the prefix_stat function. (which does a stat call on the first
path segment). This function was still tailored for unix systems only.
It should work on other systems as well now.
André Malo [Mon, 24 Feb 2003 21:34:51 +0000 (21:34 +0000)]
Well, here comes a major fix. I've splitted the patch into 3 parts
for better understanding, what I'm doing there. This is part one.
mod_rewrite appears to be very broken in several cases, especially on
non-unix systems. However, let's start with fixing the path handling, since
it's _the_ major PITA, e.g. on win32.
This part removes _unused_ code. The condition is never true, because
"A local rewrite in per-directory context" was caught much earlier.
I'd guess this piece of code was c&p accidentally...
Someone (I need to refer back) asked that we do the same skip for the
utf-8 win32 prefix when testing for shebang lines. Here's just such
a test with some bad sizeof(buffer) v.s. bytes read assumptions fixed,
and the code made generally a little more legible. Please review and
comment to consider this patch for backporting to 2.0.
Jim Jagielski [Sun, 23 Feb 2003 17:12:43 +0000 (17:12 +0000)]
Right now SSLMutex is bogus. It just uses APR_LOCK_DEFAULT no
matter what. We now allow for the full range of APR mutex
locking mechanims to be used, while maintaining backwards
compatibility.
PR: 8122
Obtained from:
Submitted by:
Reviewed by: William Rowe
After consultations on the APR list, it was decided that /map files are
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.
After consultations on the APR list, it was decided that /map files are
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.
Bradley Nicholes [Tue, 18 Feb 2003 22:21:24 +0000 (22:21 +0000)]
Update the mod_auth_ldap and mod_ldap documentation to show the new
directives for establishing an SSL connection and the addition of the Novell
LDAP SDK.
foo.dbgmark turned out to be the same 8.3 name as foo.dbg itself, which
was badness. Twist this puppy to .dbr, the only name I could invent that
doesn't look like any database file extension I recall.
André Malo [Tue, 18 Feb 2003 00:23:20 +0000 (00:23 +0000)]
While processing filters on internal redirects, remember seen EOS
buckets also in the request structure of the redirect issuer(s). This
prevents filters (such as mod_deflate) to add garbage to the response,
because ap_finalize_request_protocol won't send another EOS bucket then.
Allow restart of httpd to occur even with syntax errors in the config
file. (Out-of-date DSOs with bad MMNs will still be fatal unfortunately.)
Add return parameter to ap_process_config_tree - OK on success, !OK on
syntax error. We will no longer call exit() from ap_process_config_tree.
The caller must exit if there is an error (makes sense anyway). This allows
the initial start-up code to delay the exit until trying to let the
signal_server optional function execute first.
(The chances are that the syntax error isn't in the PidFile directive. If
that happens, we'll try the default one. Oh, well.)
Rework the delete-exports target once more. Leave a comment there explaining
why we have to be complicated. (Why make's dependency code doesn't catch this,
I don't know.)
André Malo [Sat, 15 Feb 2003 04:57:10 +0000 (04:57 +0000)]
fill out parms->err_directive while looking for open parents.
Otherwise when trying to log the error
(a) we segfault (if the directive was in another file)
(b) we show a wrong occurrence line number (start line of the previous
container) or probably segfault, too (if no previous container exists).
Bradley Nicholes [Fri, 14 Feb 2003 16:04:01 +0000 (16:04 +0000)]
Added support for Novell LDAP SDK and standardized the SSL support across
the various LDAP SDKs. Isolated the SSL functionality to mod_ldap rather than
speading it across mod_auth_ldap and mod_ldap. Also added LDAPTrustedCA
and LDAPTrustedCAType directives to allow for a more common method of
specifying the SSL certificate.
Ian Holsman [Fri, 14 Feb 2003 04:17:34 +0000 (04:17 +0000)]
change optional function to return the previous writer, allowing to have mutliple types
of writers in the same server. (previously you could only have one)
André Malo [Fri, 14 Feb 2003 03:51:01 +0000 (03:51 +0000)]
people often assume that their Aliases will be found by "best match" rather
than "first match". Throw out warnings, if there are obvious overlappings, e.g.:
André Malo [Thu, 13 Feb 2003 02:28:57 +0000 (02:28 +0000)]
drop the guess_domain function.
Our docs say about AuthDigestDomain:
This directive should always be specified and contain at least the (set of)
root URI(s) for this space. Omitting to do so will cause the client to send
the Authorization header for every request sent to this server.
guessing the parameter is somewhat bogus. guess_domain() also resulted sometimes
in relative URIs, non-URI strings or empty strings, which caused a lot of
problems.
According to the docs, the domain parameter will be omitted now,
if not specified. This is exactly, what one would expect.
Jeff Trawick [Wed, 12 Feb 2003 18:27:37 +0000 (18:27 +0000)]
mod_cgi, mod_cgid, mod_ext_filter: Log errors when scripts cannot
be started on Unix because of such problems as bad permissions,
bad shebang line, etc.
Some minor points:
If mod_ext_filter debug is enabled, we go ahead and burn cycles
in the parent to try to discover when we won't be able to exec
the script.
The mod_cgid handler wasn't communicating the right log level to the
daemon; that was required to get the child errfn to spit out the
right message, and it may fix an existing problem.
Jeff Trawick [Mon, 10 Feb 2003 16:27:28 +0000 (16:27 +0000)]
Fix an existing problem with error handling in piped_log_spawn().
Use new APR apr_proc_create() features to prevent Apache from starting
on Unix* in most cases where a piped log program can be started,
and add log messages for the other situations. *Other platforms
already failed Apache initialization if a piped log program
couldn't be started.
*) Introduce debugging symbols for Win32 release builds, both .pdb
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]