Add an allocator-passing mechanism throughout the bucket brigades API.
From Apache's standpoint, the apr_bucket_alloc_t* used throughout a given
connection is stored in the conn_rec by the create_connection hook. That
means it's the MPM's job to optimize recycling of apr_bucket_alloc_t's --
the MPM must ensure that no two threads can ever use the same one at the
same time, for instance.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94304 13f79535-47bb-0310-9956-ffa450edef68
in some server restart scenarios.
It relied on getting SIGHUP to die, but it wasn't careful
about establishing the SIGHUP handling it needed so after
apachectl restart, SIGHUP was ignored since the new cgid
daemon process inherited a signal(SIGHUP,SIG_IGN) done by
the MPM during its restart logic.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94116 13f79535-47bb-0310-9956-ffa450edef68
1. rename ap_rset_content_type to ap_set_content_type
2. reverse the arguments on the call to aligh with ap_set_content_length
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94056 13f79535-47bb-0310-9956-ffa450edef68
of Jeff Trawick's style changes to the first patches. Doesn't include
the fixes to ssl [more complex], and we won't trap errors that involve
ap_serverroot, since we presume that was normalized on the way in.
Therefore, testing ap_server_root_relative(DEFAULT_FOO) cases
should never become necessary.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93965 13f79535-47bb-0310-9956-ffa450edef68
the !HAVE_TIMES path. This will help avoid future errors similar
to the ones fixed earlier today.
The code change also has the benefit of getting the paren-matching
feature of some editors to work properly.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93954 13f79535-47bb-0310-9956-ffa450edef68
the main loop
clean up the main loop by continuing when the server isn't active instead
of introducing yet another level of nesting
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93950 13f79535-47bb-0310-9956-ffa450edef68
(currently nobody sets the start/stop times so this fix isn't
immediately apparent)
Submitted by: Stas Bekman
Reviewed by: Jeff Trawick
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93901 13f79535-47bb-0310-9956-ffa450edef68
the request over the unix socket
it isn't perfect (EINTR, partial reads) but it is good enough to
avoid segfaulting if some code tries to verify that cgid is active
by connecting to its unix socket
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93790 13f79535-47bb-0310-9956-ffa450edef68
will never be run - or we expect to pass the subreq to fast_redirect.
The comming fix will break invalid ap_sub_req_lookups* expecting to
run subrequests with the next_filter NULL semantic.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93663 13f79535-47bb-0310-9956-ffa450edef68
properly initialized.
Move ap_restart_time into the scoreboard global area so the child process
on non-forking platforms can have access to it.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93502 13f79535-47bb-0310-9956-ffa450edef68
so that only one stat() is needed.
If we get APR_FINFO_MIN bits, lookup_dirent won't do a repeated stat()
call. So, let's do it here. Also, if we see a symlink, expand it.
(Technically, we don't *have* to expand the symlinks - the resolve_symlink
fix handles that, but we can't really assume that.) Since we know that
dirent will be rr->finfo anyway, go back to relying on dirent only for
APR_DIR checks.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93329 13f79535-47bb-0310-9956-ffa450edef68
successes and redirections, since there's a chance the client will
actually have the proper authorization to retrieve them.
Reported by: Stas Bekman
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93250 13f79535-47bb-0310-9956-ffa450edef68
mod_autoindex on systems such as Unix where apr_dir_read doesn't automatically
return the filetype. You see a '?' icon rather than a folder icon
for directories on 2.0.31 because mod_autoindex doesn't realize that the thing
is a directory.
No, we don't want more stat()s either.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93232 13f79535-47bb-0310-9956-ffa450edef68
enough to keep up with new requests. Start using
HTTP_SERVER_UNAVAILABLE instead of HTTP_INTERNAL_SERVER_ERROR
when we can't talk to the daemon.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93170 13f79535-47bb-0310-9956-ffa450edef68
working again. Also rounds out our fix to work around negotiated
directories which Greg Ames fixed; this addition in request.c simply
shortcuts all further processing.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93045 13f79535-47bb-0310-9956-ffa450edef68
mod_so, mod_win32 and the winnt mpm] into individual loadable
modules, so the administrator may individually disable the former
compiled-in modules by simply commenting out their LoadModule
directives. [William Rowe]
*) Saved Win32 module authors and porters many future headaches, by
duplicating the appropriate .h files such as os.h into the include
directory, including in the build tree. [William Rowe]
Also noticed that version stamp resources weren't generated for proxy
modules, this too is now fixed.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92804 13f79535-47bb-0310-9956-ffa450edef68
pointer math. This is required for portable scoreboards.
vhost becomes the 'vhost name string' so it now survives ap_generation
clicks. next was apparently never used.
This patch also accounts for the changes to the apr_shm api, and gives
Win32 the magic of a shared scoreboard.
Breakage aplenty on non-win32 platforms, I suspect, but this radical
surgery, and culling of unused functions, was really, really needed.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92791 13f79535-47bb-0310-9956-ffa450edef68
The reason for this, is that it is very possible to want a temp
file that isn't deleted when the file is closed. It also makes sense
to have the flags in the apr_file_t if possible.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92766 13f79535-47bb-0310-9956-ffa450edef68
Now you can :) Provides $0..$9 results for any regex evaluation,
and strengthens the expr parser for regex expressions.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92676 13f79535-47bb-0310-9956-ffa450edef68
redirects of dirs into other resources, while still treating such a
resource as a dir, based on the original apr_dir_read results.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92638 13f79535-47bb-0310-9956-ffa450edef68