* server/main.c (main): Bail out *before* signalling the server
if the config is bad. (as per the claim in the docs!)
Submitted by: jorton
Reviewed by: jorton, jim, sf
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1331847 13f79535-47bb-0310-9956-ffa450edef68
Adapt loglevel of config errors during second pass
Don't use APLOG_STARTUP since at that point, the error log is already
available. This gives us timestamps if these errors happen during graceful
restart.
Use level 'emerg' as these errors are fatal.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1225201 13f79535-47bb-0310-9956-ffa450edef68
* start at 0 instead of 1
* don't increment until after pconf cleanups run, in case a
cleanup needs to check the related config generation
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1200147 13f79535-47bb-0310-9956-ffa450edef68
from the parsed (or default) config. This is useful for init scripts that
need to setup temporary directories and permissions, for example if those
temporary directories are located on a ram disk.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1180681 13f79535-47bb-0310-9956-ffa450edef68
situations. Use them in most places where malloc, and friends are used.
This results in clean error messages in an out of memory situation instead of
segfaulting or silently malfunctioning. In some places, it just allows to
remove some logging code.
PR 51568, PR 51569, PR 51571.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1172686 13f79535-47bb-0310-9956-ffa450edef68
if the current configuration run is the initial one at server startup,
and if the server is started for testing/config dumping only.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1070151 13f79535-47bb-0310-9956-ffa450edef68
the new parser. Rework ap_expr's public interface and provide hooks for modules
to add variables and functions.
The Netware and Windows build files still need to be adjusted
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1032073 13f79535-47bb-0310-9956-ffa450edef68
Move modules/http/config2.m4 back to modules/http/config.m4, since this was
only done as work-around in r88887 for the broken hook-sorting.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1032002 13f79535-47bb-0310-9956-ffa450edef68
It causes build problems on Windows and the ap_log* calls in main.c
don't profit from it anyway, because there is no server_rec yet where
they could look up core_module's loglevel.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@952783 13f79535-47bb-0310-9956-ffa450edef68
and WatchdogMutexPath with a single Mutex directive. Add APIs to
simplify setup and user customization of APR proc and global mutexes.
(See util_mutex.h.) Build-time setting DEFAULT_LOCKFILE is no longer
respected; set DEFAULT_REL_RUNTIMEDIR instead.
Some existing modules, such as mod_ldap and mod_auth_digest gain
configurability for their mutexes.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@883540 13f79535-47bb-0310-9956-ffa450edef68
- do not include graceful commands and duplicate
start|restart|stop
- add ServerRoot to the parameters encapsulated by "-n"
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@772356 13f79535-47bb-0310-9956-ffa450edef68
makes no sense with loadable MPMs
axe the unnecessary MPM_DIR build variable
move the stray APACHE_SUBST(MPM_LIB) from configure.in to server/mpm/config.m4, where
the other MPM_foos are handled
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@760403 13f79535-47bb-0310-9956-ffa450edef68
after module loading if there is no built-in MPM
(we could just defer displaying the MPM info, but that would change the order of
output from what people/scripts expect)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@758335 13f79535-47bb-0310-9956-ffa450edef68
of module state across unload/load.
The existing idiom used by modules to associate userdata with pglobal
doesn't work in the earliest phases of module execution.
(This does expose pglobal as an implementation detail, but it would be great
to unexpose it if at all possible (but modules already have access to pglobal
at almost all stages of execution anyway).)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@758173 13f79535-47bb-0310-9956-ffa450edef68
MPMs no longer provide those definitions
(the signal server support is an interesting problem, since it has to be known before loading
loading the MPM)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@758014 13f79535-47bb-0310-9956-ffa450edef68
of integral parts which share global variables, functions, and macros
with the rest of httpd.
Converted now:
prefork, worker, event, simple, WinNT*
*WinNT hasn't been built or tested, and relies on a hack to include the
WinNT mpm.h to disable Unixy MPM support routines in mpm_common.c
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@757853 13f79535-47bb-0310-9956-ffa450edef68
configurations which match those of the initial request. Revert to
the original behaviour (call access control hooks for internal requests
with URIs different from the initial request) if any access control hooks
or providers are not registered as permitting this optimization.
Introduce wrappers for access control hook and provider registration
which can accept additional mode and flag data.
The configuration walk optimizations were originally proposed a while
ago (see http://marc.info/?l=apache-httpd-dev&m=116536713506234&w=2);
they have been used since then in production systems and appear to be
stable and effective. They permit certain combinations of modules
and clients to function efficiently, especially when a deeply recursive
series of internal requests, such as those generated by certain WebDAV
requests, are all subject to the identical authentication and authorization
directives.
The major change from the original proposal is a cleaner mechanism for
detecting modules which may expect the old behaviour. This has been
tested successfully with Subversion's mod_authz_svn, which specifically
requires the old behaviour when performing path-based authorization based
against its own private access control configuration files.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@644525 13f79535-47bb-0310-9956-ffa450edef68
of the message instead of our shell prompt
don't be overprotective of apr_ctime() by giving it
more memory than it requires or nuking a newline
which isn't there
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@569934 13f79535-47bb-0310-9956-ffa450edef68
or apr_pool_create() (when apr-based error reporting is not ready).
This moves apr_app_initialize() into init_process (and indirects the
argv/argc parameters for this function) since the same error logging
is appropriate to either failure.
Note the change of the internal name create_process to init_process,
since create_process means something very different in apr-land.
(Replaces the misapplied commit r568762, already backed out).
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@568779 13f79535-47bb-0310-9956-ffa450edef68