1
0
mirror of https://github.com/apache/httpd.git synced 2025-11-06 16:49:32 +03:00
Commit Graph

126 Commits

Author SHA1 Message Date
William A. Rowe Jr
05fba48654 Clean up isapi_load, removing the request_rec arg [which we never need],
and using the given server and request rather than deref'ing r->server
  [which segfaulted ISAPILoadModule in the 1.73 rev.]

Reported by: Sebastian Hantsch


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95187 13f79535-47bb-0310-9956-ffa450edef68
2002-05-20 16:51:31 +00:00
Cliff Woolley
81c03e82c4 Renames:
APR_XtOffset   -> APR_OFFSET
  APR_XtOffsetOf -> APR_OFFSETOF


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95164 13f79535-47bb-0310-9956-ffa450edef68
2002-05-18 04:13:13 +00:00
Jeff Trawick
bc0cf18899 stop using APLOG_NOERRNO in calls to ap_log_[pr]error()
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95151 13f79535-47bb-0310-9956-ffa450edef68
2002-05-17 11:33:10 +00:00
William A. Rowe Jr
1bd430c9f8 Short of final troubleshooting and diagnostics, this patch introduces
Async support via the ISAPIFakeAsync directive [default - still off.]


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95123 13f79535-47bb-0310-9956-ffa450edef68
2002-05-15 23:29:03 +00:00
William A. Rowe Jr
56595d3f35 Fixes to;
* accept HTTP/1.1 ### Status results [another bogus convolution.]
  * accept status+headers in status or headers [alone].
  * fix I/O completion (correct the order of args.)
  * fix a number of bugs and behavior flukes in TransmitFile.
  * fix bug #8740 [truncated output due to bad status return]


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95120 13f79535-47bb-0310-9956-ffa450edef68
2002-05-15 19:42:42 +00:00
William A. Rowe Jr
e7eb9c3838 Fix GetServerVariable() to return the buffer consumed, including the
terminating NULL.

Bug: 8934


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95087 13f79535-47bb-0310-9956-ffa450edef68
2002-05-14 13:44:48 +00:00
William A. Rowe Jr
4eff0bab27 Replace our Event HANDLE with an apr_thread_mutex_t, and add completion
logic to WriteClient/TransmitFile.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95086 13f79535-47bb-0310-9956-ffa450edef68
2002-05-14 12:41:36 +00:00
William A. Rowe Jr
532c1059f6 One last commit for tonight I'd postponed ... take variable names within
mod_isapi out of Eastern Europe.  Hungarian now applies to ISAPI and MS
  defined fields of structures, only.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95078 13f79535-47bb-0310-9956-ffa450edef68
2002-05-14 05:36:22 +00:00
William A. Rowe Jr
9dd6e44552 Now for the major refactoring. Introduce mod_isapi.h, as we have had
untold problems with compatibility between different Visual Studio and
  PlatformSDK users [based on their generation of the MS ISAPI header.]
  This header is coded from scratch in native APR types.

  Replace the apr_array_t with an apr_hash_t, mutex protected, to allow us
  to preload and late-load isapi modules.  This closes a significant bug
  with trafficed sites using uncached isapi modules, where one would be
  closing the module just as another request is opening it [as if for the
  first time.]  This would cause some ISAPI modules to crash.  Now that
  we load modules for the lifetime of the server, a simple graceful restart
  is all that's required to unload all the non-precached modules.

  Crack out all FAKE_ASYNC code while we complete it.  Total support for
  the Completion Context callback and end-of-request termination is required
  before we can toggle this on.

  My next commit; complete fake async support.  But this was all I'd had
  in me for one night.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95077 13f79535-47bb-0310-9956-ffa450edef68
2002-05-14 05:23:54 +00:00
William A. Rowe Jr
30f711a6fd Part 3 of the ISAPI overhaul. Reframe the 'server conf' into 'dir conf'
options, creating one single cache of loaded modules [heck, that's what
  it was before.]  This allows finer grained control of specific modules
  that must be 'configured' around to deal with their peculiarities.
  This actually saves much code when we can use global config accessors.

  Grant the module cache it's own pool, and straighen up some other nits.
  No other substantial changes in this pass.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95073 13f79535-47bb-0310-9956-ffa450edef68
2002-05-13 22:44:40 +00:00
William A. Rowe Jr
c58e8ecf40 Part two; nearly inconsequential - Made the log message prefix ISAPI:
(rather than ISAPI with no trailing colon) and normalized some variables
  and static fn names to 'apache names' rather than MSisms.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95070 13f79535-47bb-0310-9956-ffa450edef68
2002-05-13 21:23:13 +00:00
William A. Rowe Jr
daab0fd78d Part one of a several-fold overhaul to isapi. This part simply
normalizes the module to the usual order of config-cmds/helpers/
  handlers/setup.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95069 13f79535-47bb-0310-9956-ffa450edef68
2002-05-13 21:00:58 +00:00
William A. Rowe Jr
e712670527 After review and testing against all of the PSDK examples (see
http://www.apache.org/~wrowe/ for commentary on building the
  examples and making them work) ... this disable-optimization
  should no longer be required.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94820 13f79535-47bb-0310-9956-ffa450edef68
2002-04-26 22:23:06 +00:00
Cliff Woolley
768d65eeac AcceptPathInfo was totally backwards... it would reject when set to on and
by default and accept when set to off for the default handler, and would
reject only if set to accept for mod_cgi(d) and mod_isapi.

PR: 8234


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94751 13f79535-47bb-0310-9956-ffa450edef68
2002-04-22 08:08:38 +00:00
Cliff Woolley
3e2ce19baf BUCKET FREELISTS
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
2002-03-29 08:17:26 +00:00
William A. Rowe Jr
65a37752ec Eliminate potential ap_server_root_relative segfaults, with the input
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
2002-03-16 18:26:58 +00:00
William A. Rowe Jr
06429468f2 Style touchup
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93958 13f79535-47bb-0310-9956-ffa450edef68
2002-03-15 16:58:27 +00:00
William A. Rowe Jr
07a0a459f4 Another potential ap_server_root_relative failure.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93957 13f79535-47bb-0310-9956-ffa450edef68
2002-03-15 16:57:08 +00:00
Roy T. Fielding
845cbfd508 Update our copyright for this year.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93918 13f79535-47bb-0310-9956-ffa450edef68
2002-03-13 20:48:07 +00:00
William A. Rowe Jr
30d1548be6 Fix a handful of AP_MODULE_DECLARE_DATA exports for .so modules.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92805 13f79535-47bb-0310-9956-ffa450edef68
2002-01-10 09:11:33 +00:00
Ryan Bloom
a14a4f5b66 Add the ability to pass flags to both apr_file_open and apr_mktemp.
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
2002-01-08 06:26:10 +00:00
William A. Rowe Jr
67c3d93b2c Apply the converse of the AcceptPathInfo patch for isapi's/cgi's.
The default behavior remains, accept PATH_INFO, but it may be expressly
  revoked with AcceptPathInfo Off


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92452 13f79535-47bb-0310-9956-ffa450edef68
2001-12-13 17:22:20 +00:00
William A. Rowe Jr
4dbe79c5f6 Resolved segfault in mod_isapi when configuring with ISAPICacheFile.
PR: 8563, 8919


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92301 13f79535-47bb-0310-9956-ffa450edef68
2001-12-03 19:46:32 +00:00
Ian Holsman
b4b99c040c change so that it doesn't rely on the structure of the apr_table's elt internal
structure


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92178 13f79535-47bb-0310-9956-ffa450edef68
2001-11-26 16:27:01 +00:00
Ian Holsman
86b792b21c Modify post_config hook so that it can return a error,
causing the server not to start.
previous method was to call exit(1) which would not fail
gracefully

PR:
Obtained from:
Submitted by:
Reviewed by:	(Idea only Jeff Trawick)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92144 13f79535-47bb-0310-9956-ffa450edef68
2001-11-23 16:35:22 +00:00
Ian Holsman
eea38d7c2e This patch changes the apr_table_elts macro so that it provides
access to the internals of an apr_table_t via a const pointer
instead of the current non-const pointer.


Submitted by:	Brian Pane <BPane@pacbell.net>
Reviewed by:	Ian Holsman


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91860 13f79535-47bb-0310-9956-ffa450edef68
2001-11-11 22:31:04 +00:00
William A. Rowe Jr
9444ee9bc3 There is no errno using apr. A quick grep reveals a dozen or so files
with serious errno problems, particularly in mod_dav :(


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90975 13f79535-47bb-0310-9956-ffa450edef68
2001-09-10 03:51:28 +00:00
William A. Rowe Jr
b1c92cdceb We already extract e for subprocess_env, and set SECURE_SERVER_PORT
for real.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90589 13f79535-47bb-0310-9956-ffa450edef68
2001-08-23 21:17:38 +00:00
William A. Rowe Jr
69cc655706 ap_server_root_relative will take care of this canonical_file call.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90565 13f79535-47bb-0310-9956-ffa450edef68
2001-08-23 18:57:08 +00:00
Jeff Trawick
c216c2184a fix some homophonic issues in comments, as well as some
mispelings found near "its" or "it's"

(helping our 4th grader with homework, couldn't help but
grep)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90173 13f79535-47bb-0310-9956-ffa450edef68
2001-08-15 21:11:59 +00:00
William A. Rowe Jr
0c32d662bf Flush the off_t compiler emits from mod_isapi
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89729 13f79535-47bb-0310-9956-ffa450edef68
2001-07-26 16:27:42 +00:00
William A. Rowe Jr
743342d8e7 Some odd XXX fixups that are closed (or unneeded)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89665 13f79535-47bb-0310-9956-ffa450edef68
2001-07-23 19:33:03 +00:00
Cliff Woolley
29212e8c6b *) Account for the new pool parameter to apr_bucket_file_create()
and apr_bucket_file_make().

*) Simplify mod_file_cache's sendfile_handler by taking advantage
   the new ability of file buckets to handle files opened in XTHREAD
   mode.  [Also inlined some of the brigade construction stuff in
   mod_file_cache's handlers to save a palloc() or two.]


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89438 13f79535-47bb-0310-9956-ffa450edef68
2001-06-27 20:18:09 +00:00
William A. Rowe Jr
fbb6f73fc3 We don't want these operations to end the stream, simply flush out
the contents.  It's up to any downstream filters to collect c-l or
  other stats when the handler has exited.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89156 13f79535-47bb-0310-9956-ffa450edef68
2001-05-18 17:26:22 +00:00
William A. Rowe Jr
40fb8176e6 Interesting, ISAPI thinks a 0 result is cool. Already patched in 1.3.20.
[Jessie Oberreuter <joberreu@moselle.com>]


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89154 13f79535-47bb-0310-9956-ffa450edef68
2001-05-18 16:12:06 +00:00
William A. Rowe Jr
afec1645f6 Damnable casts
Submitted by:  Jessie Oberreuter <jessieo@westside.com>


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88980 13f79535-47bb-0310-9956-ffa450edef68
2001-05-03 04:15:21 +00:00
William A. Rowe Jr
badfcd1c8c Hmmm... missed one. There has to be a better home for this.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88391 13f79535-47bb-0310-9956-ffa450edef68
2001-02-28 15:31:29 +00:00
Bill Stoddard
dc43b4e920 Fix Windows compile breaks caused by mod_core.h foobar
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88371 13f79535-47bb-0310-9956-ffa450edef68
2001-02-27 18:58:59 +00:00
Roy T. Fielding
381f88d56a Update copyright to 2001
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88184 13f79535-47bb-0310-9956-ffa450edef68
2001-02-16 04:26:53 +00:00
Doug MacEachern
88d3406f9a renaming various functions for consistency sake
see: http://apr.apache.org/~dougm/apr_rename.pl
PR:
Obtained from:
Submitted by:
Reviewed by:


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88019 13f79535-47bb-0310-9956-ffa450edef68
2001-02-08 07:45:33 +00:00
William A. Rowe Jr
7f4a5fe7f5 Use the appropriate APR_FINFO_flags for the apr_stat/lstat/getfileinfo
calls to avoid ownership and permissions on Win32 when they are not
  required, and until they are implemented.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87873 13f79535-47bb-0310-9956-ffa450edef68
2001-01-27 21:28:28 +00:00
William A. Rowe Jr
cd1ef027c2 The changes required for the APR_FINFO_wanted argument to
apr_stat/lstat/getfileinfo.  These are -NOT- optimal, they
  are simply the required changes to get the server working.
  The size of the patch is a warning about how we need to
  really look at what we are trying to accomplish with all
  of these stat/lstat calls.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87760 13f79535-47bb-0310-9956-ffa450edef68
2001-01-20 21:42:23 +00:00
William A. Rowe Jr
59bbd68bec The big change. This is part 3 of the apr-util symbols rename, please
see the first commit of srclib/apr-util/include (cvs apr-util/include)
  for the quick glance at symbols changed.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87731 13f79535-47bb-0310-9956-ffa450edef68
2001-01-19 07:04:36 +00:00
William A. Rowe Jr
7c8a252a45 Some missing exports
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87725 13f79535-47bb-0310-9956-ffa450edef68
2001-01-18 23:52:03 +00:00
Doug MacEachern
40391fb9f2 adjust remaining modules to use the new handler hook method (Alan Edwards)
bring back the old handler prototype by reusing r->handler (dougm)
PR:
Obtained from:
Submitted by:
Reviewed by:


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87617 13f79535-47bb-0310-9956-ffa450edef68
2001-01-08 23:55:12 +00:00
William A. Rowe Jr
7cf10a490d Fix uninitialized badness
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87132 13f79535-47bb-0310-9956-ffa450edef68
2000-11-29 18:50:12 +00:00
Greg Stein
d0968eb9af add the "next filter" parameter to the rest of the ap_sub_req_* calls.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87076 13f79535-47bb-0310-9956-ffa450edef68
2000-11-23 13:03:46 +00:00
William A. Rowe Jr
25fca54294 Disable two features, with warnings, if a relatively Win32 SDK headers
are not available (e.g. stock distribution of MSVC 5.0).

Submitted by:	Jeff Trawick
Reviewed by:	Will Rowe


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87027 13f79535-47bb-0310-9956-ffa450edef68
2000-11-19 18:35:14 +00:00
William A. Rowe Jr
e6668f5a87 Change to buckets for isapi output. Still requires emulation of IO
Completion/Async behavior, but a non-async REQ_HSE_TRANSMIT_FILE is
  now implemented.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86592 13f79535-47bb-0310-9956-ffa450edef68
2000-10-14 23:18:52 +00:00
William A. Rowe Jr
9dcd313a9f Movin on over from 1.3.13-dev : this patch fixes the problem of nasty
popup windows alerting an Admin that the isapi isn't working, and
  simplifies mod_isapi by relying on dso.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86447 13f79535-47bb-0310-9956-ffa450edef68
2000-10-08 06:00:26 +00:00