1
0
mirror of https://github.com/apache/httpd.git synced 2025-11-05 05:30:39 +03:00
Commit Graph

161 Commits

Author SHA1 Message Date
Ryan Bloom
22d9fbdec0 Move all APR functions related to strings to their own directory, and
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
2000-07-21 19:50:58 +00:00
Bill Stoddard
c4aeab10dc #ifdef APR_HAS_OTHER_CHILD to #if APR_HAS_OTHER_CHILD. Not tested.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85821 13f79535-47bb-0310-9956-ffa450edef68
2000-07-11 22:12:18 +00:00
Jeff Trawick
a8591e550e Fix a couple of problems with the pre/post config processing changes:
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
2000-06-11 22:06:57 +00:00
Ryan Bloom
8a9a5b90ac Cleanup more of the Apache configuration. This removes all of the shared
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
2000-06-10 16:15:08 +00:00
Jeff Trawick
cd6953bbf5 httpd -V now displays APR's selection of the lock mechanism instead of the
symbols previously respected by prefork.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85499 13f79535-47bb-0310-9956-ffa450edef68
2000-06-10 11:46:37 +00:00
Ryan Bloom
cc8eeb2d84 Remove all occurances of gettimeofday. Replace it with ap_now which
provides the same function but works cross-paltform.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85463 13f79535-47bb-0310-9956-ffa450edef68
2000-06-08 00:28:35 +00:00
William A. Rowe Jr
20f66c9f65 PR:
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
2000-06-05 22:39:03 +00:00
Ryan Bloom
71d8e39db6 Modify the config order so that we read the config, process all EXEC_ON_READ
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
2000-06-03 16:27:03 +00:00
Ryan Bloom
24beda9563 Remove a warning when compiled with --use-maintainer-mode. Basically,
process_rec should just be storing argv the same way that getopt
expects it.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85361 13f79535-47bb-0310-9956-ffa450edef68
2000-05-31 22:06:33 +00:00
William A. Rowe Jr
eb266c4118 PR:
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
2000-05-30 22:54:31 +00:00
William A. Rowe Jr
677c482d63 PR:
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
2000-05-29 04:17:41 +00:00
William A. Rowe Jr
f7e32fc893 PR:
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
2000-05-28 03:52:42 +00:00
William A. Rowe Jr
553f9f3e25 PR:
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
2000-05-27 23:53:45 +00:00
William A. Rowe Jr
f8fdc29678 PR:
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
2000-05-27 07:05:17 +00:00
William A. Rowe Jr
5e05af51e4 Pass the process_rec to the MPM to allow rewriting of the args list.
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
2000-05-27 06:22:55 +00:00
Jeff Trawick
e7241389ed Add "-D APACHE_XLATE" to the output of httpd -V when APACHE_XLATE
is defined at compile time.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85248 13f79535-47bb-0310-9956-ffa450edef68
2000-05-18 19:56:16 +00:00
William A. Rowe Jr
9bfb956e51 Radical overhaul of the Apache-2.0/Win32 mpm <-> service schema.
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
2000-05-17 00:35:21 +00:00
Jeff Trawick
69e47b9ddb generic EBCDIC support code, changes to rfc1413.c to use APR
translation in its EBCDIC support


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85171 13f79535-47bb-0310-9956-ffa450edef68
2000-05-09 20:25:00 +00:00
Ryan Bloom
8c385f0dbd Make reliable piped logs work on 2.0.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85136 13f79535-47bb-0310-9956-ffa450edef68
2000-05-04 04:02:37 +00:00
Ryan Bloom
de3a77dc01 Change ap_context_t to ap_pool_t. This compiles, runs, and serves pages
on Linux, but probably breaks somewhere.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84963 13f79535-47bb-0310-9956-ffa450edef68
2000-04-14 15:59:20 +00:00
dgaudet
59864841f2 more namespace cleanup
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84961 13f79535-47bb-0310-9956-ffa450edef68
2000-04-14 02:39:08 +00:00
Roy T. Fielding
057b29f829 Update to Apache Software License version 1.1
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84878 13f79535-47bb-0310-9956-ffa450edef68
2000-03-31 08:44:21 +00:00
Ryan Bloom
69ad445e8b Fix the warnings associated with the pre_config patch.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84864 13f79535-47bb-0310-9956-ffa450edef68
2000-03-30 18:39:46 +00:00
Ryan Bloom
3fa139e050 Put the pre_config hook back into the table. This solves the problem of
the pre-config hook only being valid for MPM's.  This patch also
distinguishes between STANDARD modules and MPM's.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84862 13f79535-47bb-0310-9956-ffa450edef68
2000-03-30 15:30:36 +00:00
Jeff Trawick
3d43419b03 Tweaked APR initialization and termination so that the lifetime
of memory management mutexes is longer than the lifetime of
managed memory.  APR apps must now call ap_terminate().


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84846 13f79535-47bb-0310-9956-ffa450edef68
2000-03-28 22:59:05 +00:00
Allan K. Edwards
789a32d2f1 Clear hook registrations between reads of the config file.
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
2000-03-23 14:48:45 +00:00
Jeff Trawick
b2af7ce137 axe code to print "-D MULTITHREAD" for apache -V; MULTITHREAD
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
2000-03-22 10:26:44 +00:00
Manoj Kasichainula
ad3cb55128 Eliminate implicit usage of access.conf and srm.conf.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84771 13f79535-47bb-0310-9956-ffa450edef68
2000-03-15 23:18:32 +00:00
David Reid
f982c85388 This gets the server working again after Ryan's order change for
ap_getopt.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84768 13f79535-47bb-0310-9956-ffa450edef68
2000-03-14 22:06:47 +00:00
Ryan Bloom
b1c26f031a Fix all the License issues. Including:
s/Apache Group/Apache Software Foundation/
s/1999/2000/
s/Sascha's license/ASF license


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84725 13f79535-47bb-0310-9956-ffa450edef68
2000-03-10 00:07:37 +00:00
Ryan Bloom
69f23ae4f0 Remove second ap_initialize left over from previous patch.
Submitted by:	Jeff Trawick
Reviewed by:	Ryan Bloom


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84677 13f79535-47bb-0310-9956-ffa450edef68
2000-02-28 03:13:47 +00:00
Bill Stoddard
151d004b7d 2.0 builds, but dumps core on FreeBSD 3.3 (ap_lock).
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
2000-02-23 15:37:37 +00:00
Bill Stoddard
aab3db57fd Rework the code to handle apache -k shutdown|restart. The fundamental problem
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
2000-02-14 22:01:08 +00:00
Ryan Bloom
2211d0e85b APR requires that ap_initialize is called as one of the first functions.
It sets up the rest of the APR types.  This was causing lockups whenever
we tried to us an APR lock.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84566 13f79535-47bb-0310-9956-ffa450edef68
2000-02-03 19:38:08 +00:00
Ryan Bloom
f8a7fce423 Include ap_config.h before httpd.h, this ensures that AP_USE_HSREGEX is
defined correctly in all C files.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84531 13f79535-47bb-0310-9956-ffa450edef68
2000-01-28 18:02:29 +00:00
Ryan Bloom
a8ce196da5 Finish the commits for the change in the header files. Basically, this hides
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
2000-01-19 01:16:31 +00:00
Bill Stoddard
f69d6ac434 Get rid of the C++ style comment.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84342 13f79535-47bb-0310-9956-ffa450edef68
1999-12-20 19:16:34 +00:00
Bill Stoddard
ec1cc5b5ce Handle -k restart|shutdown command line option from http_main.c
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84341 13f79535-47bb-0310-9956-ffa450edef68
1999-12-20 19:07:33 +00:00
Manoj Kasichainula
04c494c2b5 Eliminate ap_config.h's checks when using autoconf. Now, ap_ac_config.h
is used instead, and autoconf's configure script will check for
everything else.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84200 13f79535-47bb-0310-9956-ffa450edef68
1999-12-01 01:16:23 +00:00
Ryan Bloom
444531b691 Clean up the getopt stuff a bit. Basically, I am removing the #define's,
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
1999-11-22 14:52:17 +00:00
Martin Kraemer
7b7373e940 Use APR's getopt
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84142 13f79535-47bb-0310-9956-ffa450edef68
1999-11-21 22:10:22 +00:00
Ryan Bloom
975ea85ea2 First step in removing the fprintf(stderr problem from Apache. Basically,
I defined APLOG_STARTUP, which refrains from printing the date string
and the log level information in log_error_core.  I then changed all the
fprintf(stderr calls to ap_log_error, and used APLOG_STARTUP.
log_error_core on Unix takes care of creating a log file and directing
it to stderr if a log file isn't already active.  I will continue to
make these changes tomorrow.  Currently, the main code and the dexter
mpm have been modified.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84134 13f79535-47bb-0310-9956-ffa450edef68
1999-11-18 23:07:53 +00:00
Bill Stoddard
3fb176b8aa Get rid of dependency on os/win32/getopt.c & .h
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84110 13f79535-47bb-0310-9956-ffa450edef68
1999-11-08 18:54:12 +00:00
Brian Havard
db0dd36aef Use APR's getopt.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84006 13f79535-47bb-0310-9956-ffa450edef68
1999-10-19 15:54:52 +00:00
Ben Hyde
ec15673a2a Remove all but one WIN32 from http_main. Other minor changes.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83987 13f79535-47bb-0310-9956-ffa450edef68
1999-10-13 20:27:55 +00:00
Martin Kraemer
0c7673561b Fix typos
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83969 13f79535-47bb-0310-9956-ffa450edef68
1999-10-11 22:07:29 +00:00
Martin Kraemer
db9bd13ea1 ap_server_argv0 was undefined. Use a simple default (basename(argv[0]))
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83945 13f79535-47bb-0310-9956-ffa450edef68
1999-10-07 21:48:30 +00:00
Ben Hyde
cd06de1ce3 Well this was thought provoking.
Drive out the use of malloc in two places.

In listen.c, using the global process pool instead.  That changes the
API into listen so that a process is passed in rather than the config
pool.  That's all was easy.

The pain is propogating a change into all N of the mpm, they
are all similar but different in their use of listen.c  There
is a lot to dislike about similar but code scattered code.

I changed the N setup_listener routines, they now take only
the server since they can dig the config and global pool
out of there.

Free today: ap_setup_prelinked_modules now takes the process so it
can allocate it's table in the process's pool rathern than use
malloc.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83943 13f79535-47bb-0310-9956-ffa450edef68
1999-10-07 20:48:26 +00:00
Ben Hyde
2921356fcf Add process_rec to the top of {server,connection,request}_rec
hierarchy of structs that abstract server activities.  Store some
stuff in process_rec (finally a place to have nearly guiltless
globals) for example the global and configuration pools.  Put some
operations on process_rec in http_main, in particular the
destroy_and_exit operation, and the use it to do all the exit calls.
Change ap_read_config to operation on this "object" rather than on the
configuration pool.  Modify server_rec to point to the process, so you
can get at it most all the time which should finally allow most of the
server's malloc calls to be eliminated.

There are no locks in the process struct as yet, put them in as needed.
Some of the hooks should take this rather than conf. pool.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83942 13f79535-47bb-0310-9956-ffa450edef68
1999-10-07 18:13:17 +00:00
Ben Hyde
622311151d Duh.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83941 13f79535-47bb-0310-9956-ffa450edef68
1999-10-07 15:36:40 +00:00