config tree instead of re-reading the config file. As a part of this
change, the config tree needs to be exposed to modules as ap_conftree.
Submitted by: Ryan Morgan <rmorgan@covalent.net>
Reviewed by: Ryan Bloom
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86948 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
create a new header for those functions. This is the first step to
removing the apr/lib directory completely, and moving those files/functions
to descriptive directories.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85867 13f79535-47bb-0310-9956-ffa450edef68
1) symptom: on system with bad/no DNS setup, ServerName isn't
processed so init fails
cause:
ap_fini_vhost_config() called before ap_process_config_tree(), so
ServerName was never stored in the config structure
2) symptom: on system with virtual hosts configured, SIGSEGV in
open_multi_logs()
cause:
the module configs for the virtual hosts haven't been merged in
yet, and open_multi_logs() gets NULL for the mod_log_config
configuration
This stuff needs to be cleaned up further, exploring the use of a
post-config hook for fixup_virtual_hosts(), ap_fini_vhost_config(),
and ap_sort_hooks(), getting a lot of logic out of main(), and
processing the config tree only once.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85522 13f79535-47bb-0310-9956-ffa450edef68
memory checks, because Apache relies completely on APR for shared memory
support. In doing this, we also need to know how APR/MM are providing
our shared memory (ie file or memory) that requires the change made to
APR's configure script that was just committed.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85501 13f79535-47bb-0310-9956-ffa450edef68
Obtained from:
Submitted by:
Reviewed by:
Unbind the old main_win32.c code and rebind to the new mpm logic
in the modules/mpm/winnt directory. Includes some simple cleanups.
The old sources in os/win32 will disappear at the end of this week.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85430 13f79535-47bb-0310-9956-ffa450edef68
directives at the same time, run pre_config hook for all modules, and
then walk the tree. This allows all modules to have a pre_config hook and
know that it will be called at a reasonable time. I also made "Include"
an EXEC_ON_READ directive so that it is included in the tree properly.
This was required after the other changes that were made.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85393 13f79535-47bb-0310-9956-ffa450edef68
Obtained from:
Submitted by:
Reviewed by:
How, precisely, was Apache going to do anything with rewritten args ;-?
+1 on my personal oh-duh tally for the weekend.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85354 13f79535-47bb-0310-9956-ffa450edef68
Obtained from:
Submitted by:
Reviewed by:
One last precursor to the common code base for Win32 rewrite_args from
it's MPM. Since we need to walk the arg list... why maintain it in
several places. This patch adds the AP_SERVER_BASEARGS definition to
the header, so any mpm (and mod_info, for example) can know what args
are legitimate, even when they plan to ignore them.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85340 13f79535-47bb-0310-9956-ffa450edef68
Obtained from:
Submitted by:
Reviewed by:
Finally a patch that can't (well, shouldn't :-) break any other platform.
Open up the symbols defined for http_main.c to move main() from the core
under Win32 (that's the real main(), not that apache_main() thing).
Win32 Project file changes will follow in a seperate patch.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85326 13f79535-47bb-0310-9956-ffa450edef68
Obtained from:
Submitted by:
Reviewed by:
Document the lack of exports so http_main.c stays that way,
as suggested by Greg Stein.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85321 13f79535-47bb-0310-9956-ffa450edef68
Obtained from:
Submitted by:
Reviewed by:
Cleaning up. Note that apache (or https) -D DEFINE is now enabled, the
shared data is now properly moved to either ap_hooks.c or http_config.c,
and all should be well with rewrite_args.
Next stop, no more apache_main entry point. That's why this file needs
to be empty of any callbacks or shared data, as it will bind to the core
but the core won't be looking back into http_main.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85312 13f79535-47bb-0310-9956-ffa450edef68
Especially necessary under Win32, or other non-unix front ends where
oddball arguments might be required, but without causing a mess in
http_main.c.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85311 13f79535-47bb-0310-9956-ffa450edef68
1) Services and Registry are not part of the core Apache operations,
so registry.c and service.c are moved into Apache.exe - assuring
the service control layers of NT and 95 are truly isolated.
2) Isolation can't be complete, we need to know when the mpm is
fully initialized. A new pointer to a no-arg function returning
void is provided for this purpose, ap_mpm_init_complete. It is
only called if overridden with a non-NULL value prior to invoking
apache_main.
3) Control+C, Control+Break are handled on both WinNT and Win9x.
4) The window close, logoff and shutdown events are handled on WinNT.
5) The beginnings of a Win95 service startup are provided, -k startservice
but this is horribly incomplete since Win95 will NOT report shutdown.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85235 13f79535-47bb-0310-9956-ffa450edef68
When DSOs are unloaded and re-loaded the old hook pointers may
no longer be valid. This fix eliminates potential segfaults.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84828 13f79535-47bb-0310-9956-ffa450edef68
is a 1.3 hangover;
exit with a log message if ap_create_context() fails when
creating the initial context; otherwise, we SIGSEGV later
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84822 13f79535-47bb-0310-9956-ffa450edef68
Basically, ap_initialize() needs to get called before create_process(),
since create_process() passes op_on structure to semop() to get a lock, but
op_on isn't initialized until ap_initialize() calls setup_lock(). Here is
a slight rearrangement to main() which calls ap_initialize() earlier...
Submitted by: Jeff Trawick <trawick@us.ibm.com>
Reviewed by: Bill Stoddard <stoddard@us.ibm.com>
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84661 13f79535-47bb-0310-9956-ffa450edef68
being solved here is determining the best way to discover the Apache
parent process PID (stored in the location specified by the PidFile directive).
This patch attempts to read the config file directly to determine the
pidfile and avoids going through the motions of calling all the module initialization
routines.
This patch will not work if the pidfile directive is in a file pointed to by
an include directive. Not sure is this is a common case or not on Windows.
If it is, it is easy enough to add a bit more code to follow include
directives. An interesting modification would be to detect the presence of a \
-C directive containing a pointer to the pidfile: E.g.,
apache -k restart -C "pidfile d:/mypidfile". Let's keep it simple for now and
see what happens.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84620 13f79535-47bb-0310-9956-ffa450edef68
all of the Apache macros that modules don't need access to. This should
have been committed with the modules, but I wasn't paying attention to the
directory I was in when I ran the commit.
Submitted by: Manoj Kasichainula and Ryan Bloom
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84493 13f79535-47bb-0310-9956-ffa450edef68
and changing the names in the getopt.c file so that we are sure there is
no namespace collision between regular getopt's, and APR's getopt.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84143 13f79535-47bb-0310-9956-ffa450edef68