1
0
mirror of https://github.com/apache/httpd.git synced 2026-10-23 22:49:01 +03:00
Commit Graph

424 Commits

Author SHA1 Message Date
Ryan Bloom
fcc4d8c669 Port reliable piped logs to mpmt_pthread and dexter. Also a couple of small
cleanups for reliable piped logs.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85137 13f79535-47bb-0310-9956-ffa450edef68
2000-05-04 19:42:57 +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
Bill Stoddard
3512abd7b4 Win32: Fix some bugs in the restart logic. This is still rather adhoc. A more rigorous solution
is to maintain a list of overlapped io structures in the child_main control thread
and use HasOverLappedIoCompleted() to manage the connections and pending io.

We must resort to maintaining a list of pending io (i.e. overlapped structures) should
we ever begin using AcceptEx to receive data. Why? We need to be able to detect when
a connection is received but no data is being sent over that connection. There is a
Win32 function (whose name I forget at the moment) to handle this. Why can't Win32
just timeout the connection using setopt??? It would make life so much easier if AcceptEx
just returned TIMEOUT in this condition rather than requiring the application to
explicitly poll the socket to see if data is available.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85131 13f79535-47bb-0310-9956-ffa450edef68
2000-05-03 16:28:04 +00:00
William A. Rowe Jr
85a9f216b6 Final .dsp changes to produce the lightest weight builds
without precompiled headers or source browse files under
  Win32.  Enabling these is straightforward, if that's what
  the user desires.  Also correct minor errors, and reset
  some project defaults to their current config.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85121 13f79535-47bb-0310-9956-ffa450edef68
2000-05-01 16:51:24 +00:00
William A. Rowe Jr
6d9adaf3a8 Significantly shorten the Win32 build and shrink symbol tables
for precompiled headers and debugging by eliminating large chunks
  of the windows.h declarations, especially the graphical user
  interface declarations.

  Also eliminates redundant inclusion of winsock and windows headers.
  As the GUI sections can be included by adding the windows.h include
  prior to any apr headers, these includes now imply something
  completely different.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85117 13f79535-47bb-0310-9956-ffa450edef68
2000-05-01 14:40:03 +00:00
Sascha Schumann
5c5d265c73 Use F_SETFL for setting the O_NONBLOCK status flag. F_SETFD is for setting
file descriptor flags (like FD_CLOEXEC).

PR: #47


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85115 13f79535-47bb-0310-9956-ffa450edef68
2000-04-30 21:42:46 +00:00
Ryan Bloom
0a29229315 Make piped logs work again in 2.0. The next step is reliable piped logs.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85114 13f79535-47bb-0310-9956-ffa450edef68
2000-04-30 21:21:51 +00:00
Sascha Schumann
6a0e55e698 Add VPATH support to Apache:
os/$(OS_DIR) is now equivalent to the old $(OS_DIR)

  Necessary include paths are added only in VPATH mode.

  Dependencies are stored in the build directory now.
  They contain paths which depend on the current build,
  and therefore they are not general.

  Fixed two dependencies in main/Makefile.in.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85113 13f79535-47bb-0310-9956-ffa450edef68
2000-04-30 18:27:18 +00:00
Sascha Schumann
bb5807c705 Work around the non-working pthread.h detection on OpenBSD.
We can savely assume that pthread.h exists on every system which
supports Pthreads.

PR: #29


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85104 13f79535-47bb-0310-9956-ffa450edef68
2000-04-30 02:31:07 +00:00
Sascha Schumann
99fa11cb5f Overall UNIX build system improvements:
* Makefile header is now completely dynamic
* Absolute paths everywhere
  (fixes Tru64 support)
* Get rid of LTLIBRARY_SHARED_NAME rule in library.mk
  (fixes Irix support, untested)
* VPATH does not contain variables anymore
  (fixes UnixWare support)
* Remove inclusion of program.mk in support/Makefile.in
  (PROGRAM_NAME is empty => breaks Irix and others)
* Call REENTRANCY_FLAGS earlier, so that flags are passed to header checks
  (might fix OpenBSD pthread.h-detection, untested)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85102 13f79535-47bb-0310-9956-ffa450edef68
2000-04-30 00:06:07 +00:00
Sascha Schumann
0cfb1d0be3 Add ap_sigwait() to support old-style sigwait().
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85101 13f79535-47bb-0310-9956-ffa450edef68
2000-04-29 23:57:54 +00:00
William A. Rowe Jr
85845c9bcb PR:
Obtained from:
Submitted by:	William Rowe
Reviewed by:

  Created ap_base64.h to extract those declarations for clarity from ap.h

  CORE_PRIVATE, httpd.h do not belong in library functions, removed from ap.lib

  Use apr headers for declarations in ap.lib stuff, kill AP_LONG from ap_sha1.h

  Move credit to lib/apr/lib/ap_snprintf.c from ap.h for authorship


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85097 13f79535-47bb-0310-9956-ffa450edef68
2000-04-29 16:00:33 +00:00
William A. Rowe Jr
7d4602b4ae PR:
Obtained from:
Submitted by:	William Rowe
Reviewed by:

  First round of .cvsignore changes for Win32's droppings


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85086 13f79535-47bb-0310-9956-ffa450edef68
2000-04-28 19:58:06 +00:00
Ryan Bloom
de87338df2 Update the version string for the current dev version.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85085 13f79535-47bb-0310-9956-ffa450edef68
2000-04-28 19:03:15 +00:00
Ryan Bloom
78b0a254fd Update version information for 3rd alpha.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85084 13f79535-47bb-0310-9956-ffa450edef68
2000-04-28 18:41:53 +00:00
Doug MacEachern
2f45db7e82 back out APR_ prefix for TRUE,FALSE
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85081 13f79535-47bb-0310-9956-ffa450edef68
2000-04-28 18:27:55 +00:00
Bill Stoddard
37ed753f42 Backout the APR_TRUE|FALSE patch for the Windows MPM.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85077 13f79535-47bb-0310-9956-ffa450edef68
2000-04-28 15:10:38 +00:00
Doug MacEachern
f3a4cf49be prefix TRUE,FALSE with APR_
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85074 13f79535-47bb-0310-9956-ffa450edef68
2000-04-28 06:49:53 +00:00
Jeff Trawick
e469801566 extremely minor cleanup:
apr_file_io.h: fix comment describing APR_OS_DEFAULT
sockets.c: use socklen_t instead of int to avoid compile
  warning on systems with unsigned sock len parms
dexter/.cvsignore: ignore .deps, .libs
errorcodes.c: get rid of some unused vars


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85069 13f79535-47bb-0310-9956-ffa450edef68
2000-04-28 02:35:40 +00:00
Doug MacEachern
b7f8b9d3df change ap_hook_pre_connection from VOID to RUN_ALL
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85066 13f79535-47bb-0310-9956-ffa450edef68
2000-04-27 23:44:16 +00:00
Ryan Bloom
f3efd8ef52 Fix the parsing of a config file when the first item in either the
config file or a container is a container.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85061 13f79535-47bb-0310-9956-ffa450edef68
2000-04-27 18:54:14 +00:00
Bill Stoddard
5d1791d8b1 Eliminate redundant calls to initialize the Winsock.
Submitted by:	Tim Costello


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85057 13f79535-47bb-0310-9956-ffa450edef68
2000-04-27 14:59:50 +00:00
Doug MacEachern
6644b34387 add AP_ prefix to *HOOK* macros
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85045 13f79535-47bb-0310-9956-ffa450edef68
2000-04-26 07:14:39 +00:00
Bill Stoddard
4ea1a363d3 Get rid of ap_pool_t argument on ap_strerror
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85044 13f79535-47bb-0310-9956-ffa450edef68
2000-04-26 02:36:38 +00:00
Bill Stoddard
b663505286 Win32: Graceful restart is working again, and better than before.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85042 13f79535-47bb-0310-9956-ffa450edef68
2000-04-26 00:36:49 +00:00
Bill Stoddard
385effc089 Tell APR to truncate the httpd.pid file if it exists. Fix a bug in the
Windows side of APR to correctly handle this flag. Also fix related bug
in ap_write.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85039 13f79535-47bb-0310-9956-ffa450edef68
2000-04-25 23:15:46 +00:00
Bill Stoddard
d0d596a417 Win32: First cut at new shutdown/restart logic. The key new feature here is
the use of CancelIo on the listen socket. Threads can only cancel
their own I/O. To enable use of this nifty feature, I needed to make
sure only one thread ever initiated async I/O. So, if the workers
detect that they need more completion contexts (async AcceptExes),
they set the maintenance_event, which directs the control thread to
do the work on behalf of the workers. Most of the other changes are
to support this end.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85030 13f79535-47bb-0310-9956-ffa450edef68
2000-04-24 22:44:21 +00:00
Greg Stein
b97ec4c63a drop the "container" param from ap_walk_config(). callers should simply
pass the first child, rather than expecting the walker to do it.
remove the nasty "static" variable inside ap_walk_config(). it now walks the
    tree provided with no worries about bumping up/down levels.
minor refactor between ap_walk_config() and ap_walk_config_sub() to clean up
    some logic and clarify the code.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85025 13f79535-47bb-0310-9956-ffa450edef68
2000-04-24 12:27:02 +00:00
Greg Stein
c2c13c67c3 clean up cmd_parms: config_file is no longer valid; end_token is bogus;
add directive.
move configfile_t and functions from httpd.h to http_config.h
new signature for ap_build_config() (since config_file removed from cmd_parms)
add "data" to ap_directive_t for future use by modules. add filename.
syntax checking for section-close directives: a section-open must exist,
    the section-close must be </FOO>, and the open/close must match.
    the file as a whole must be properly balanced (issue errors for each
    unmatched section-open).
</FOO> command_rec structures are obsolete. Remove from http_core.c.
do not store </FOO> directives in the config tree.
clean out section-close logic from http_core.c (and old, related comments)
<Limit> and <LimitExcept> must walk their children.
new mechanism in ap_check_cmd_context() for testing enclosure in a
    Directory/Location/File: find_parent()
<IfModule> and <IfDefine> must pass cmd->context when walking the children
several places: we had a walk followed by ap_get_module_config(). that
    assumed the walk would create a config that we could fetch, which is not
    true -- it is possible that the children are all from other modules
    (e.g. the <Files> section in httpd.conf-dist has no "core" directives).
    using ap_set_config_vectors() ensures we get a structure, and it returns
    it to us.
    [ note: when we had </Directory> (and friends) in the tree, the config
      would get created; removing the directive removed the config; this
      was a bitch to track down :-) ]


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85024 13f79535-47bb-0310-9956-ffa450edef68
2000-04-24 12:00:43 +00:00
Greg Stein
059ab7a790 handle error messages during building and processing of the configuration.
add missing return statements, wrap some lines, remove unused vars.
move syntax error reporting and exit(1) back to the right place (to be
    fixed in a future pass; the exit() is inappropriate for parsing
    .htaccess files).


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85023 13f79535-47bb-0310-9956-ffa450edef68
2000-04-24 08:35:56 +00:00
Brian Havard
5c2410d6e2 Change strncasecmp() definition to match Bill's prototype. Fixes compile
break on OS/2.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85022 13f79535-47bb-0310-9956-ffa450edef68
2000-04-24 06:51:22 +00:00
Jeff Trawick
3548f16478 Fix some problems on systems where EAGAIN != EWOULDBLOCK (e.g., OS/390).
ap_canonical_errror() for Unix now maps EWOULDBLOCK to EAGAIN/APR_EAGAIN
when appropriate so that the changes here (as well as bjh's changes from a
few days ago) to call ap_canonical_error() before comparing with EWOULDBLOCK
will work on Unix as well.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85019 13f79535-47bb-0310-9956-ffa450edef68
2000-04-23 13:22:08 +00:00
Roy T. Fielding
7cbb1cb050 Finished move of ap_md5 routines to apr_md5. Removed ap_md5.h.
Replaced more magic numbers with MD5_DIGESTSIZE.  Yuck.

Submitted by:	William Rowe, Roy Fielding


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85017 13f79535-47bb-0310-9956-ffa450edef68
2000-04-23 02:32:58 +00:00
Ryan Bloom
ab31187b8d Parse the config tree, instead of the config file. This is a first step there
are some big improvements to be made to this code, but this works now, and
it is a first step.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85015 13f79535-47bb-0310-9956-ffa450edef68
2000-04-22 22:54:30 +00:00
Bill Stoddard
17c5e3fb7a Revamp the Win32 make environment. Makefiles have been removed and
Apache.dsw created to bring together all the pieces. Create new file
os/win32/BaseAddr.ref to define module base addresses (to prevent
dll relocation at start-up).

Submitted by:	William Rowe
Reviewed by:	Bill Stoddard


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85004 13f79535-47bb-0310-9956-ffa450edef68
2000-04-20 19:28:08 +00:00
Brian Havard
e062a42188 OS/2: EXTRA_LDFLAGS is required when linking the table generation programs.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85003 13f79535-47bb-0310-9956-ffa450edef68
2000-04-20 17:01:11 +00:00
Ryan Bloom
52c04b67a7 Add support for pool to log_error_core. Also add ap_log_perror to allow
logging without either a request or server _rec.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85002 13f79535-47bb-0310-9956-ffa450edef68
2000-04-20 16:25:40 +00:00
Brian Havard
f5b782f5b8 Use ap_canonical_error() where appropriate.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85000 13f79535-47bb-0310-9956-ffa450edef68
2000-04-20 15:20:33 +00:00
Brian Havard
cf313109f0 OS/2: Clean up spmt_os2 mpm to get shutdowns working cleanly.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84999 13f79535-47bb-0310-9956-ffa450edef68
2000-04-20 14:56:36 +00:00
Jeff Trawick
cc6e027c47 [EBCDIC] Port Paul Gilmartin's CRLF patch from 1.3. This replaces most
of the \015, \012, and \015\012 constants with macros.
Submitted by:	Greg Ames
Reviewed by:	Jeff Trawick


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84998 13f79535-47bb-0310-9956-ffa450edef68
2000-04-20 14:36:01 +00:00
Bill Stoddard
acec159ebf Win32: More winnt MPM cleanup. Moved code to queue acceptex completion
contexts to after the worker thread pool is created. Sometime over that
last month or so, we checked something in that tanked performance about 15%.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84997 13f79535-47bb-0310-9956-ffa450edef68
2000-04-19 22:35:45 +00:00
Bill Stoddard
b026efefaf Win32: Change message type to INFO
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84989 13f79535-47bb-0310-9956-ffa450edef68
2000-04-18 13:20:37 +00:00
Bill Stoddard
5f10349437 Watching for tornadoes tonite
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84988 13f79535-47bb-0310-9956-ffa450edef68
2000-04-18 03:37:20 +00:00
Bill Stoddard
04effbc31b Begin some long overdue clean-up fo winnt.c
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84987 13f79535-47bb-0310-9956-ffa450edef68
2000-04-18 03:21:23 +00:00
Ryan Bloom
860eb11705 Add a pool to dupfile. There is no reason that when we duplicate a file, we would want to use the same pool for the duplicated file as we used for
the original file.  This should solve a problem we were having with
dieing quietly on startup, because we are no longer closing stderr in the
original process and then opening the config file as file descriptor 2.

The original problem report can be found in the message
<20000311232812.A1066@sanguine.linuxcare.com.au>


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84985 13f79535-47bb-0310-9956-ffa450edef68
2000-04-17 19:57:30 +00:00
Ryan Bloom
a27e83a881 Add back in logic to put the ending container directive in the tree. This
needs to be there until we have a validating tree.  Without this, it is
possible for a config file to read:

<Ifmodule mod_foo.c>
    some directive
</Limit>

and still be read correctly.  When the tree building functions can validate
for us, this should be removed, and there is a comment that says so.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84979 13f79535-47bb-0310-9956-ffa450edef68
2000-04-16 23:28:52 +00:00
Bill Stoddard
a572f9206b Win32:
1. Move the space stripping of physical service names
fix up from Apache 1.3.
2. #include'ing "ap_mpm.h" fixes up an unresolved symbol.
3. Add dependency checking to the CreateService call to ensure TCPIP and
AFP (winsock) is started before Apache.

Submitted by:	William Rowe
Reviewed by:	Bill Stoddard


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84973 13f79535-47bb-0310-9956-ffa450edef68
2000-04-15 17:48:16 +00:00
Roy T. Fielding
369722dc56 cleaned up a comment
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84971 13f79535-47bb-0310-9956-ffa450edef68
2000-04-15 01:16:44 +00:00
Roy T. Fielding
442861a840 Somebody needs to check the labels on their medicine.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84970 13f79535-47bb-0310-9956-ffa450edef68
2000-04-15 01:09:32 +00:00
Ryan Bloom
48ed70a21b apr_config.h is a private include file, and shouldn't be used by any
C files outside of APR.  ap_signal has been moved to apr.h, so this
include is no longer needed.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84967 13f79535-47bb-0310-9956-ffa450edef68
2000-04-14 20:54:25 +00:00