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

214 Commits

Author SHA1 Message Date
Roy T. Fielding
de659cbed0 update license header text
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@420983 13f79535-47bb-0310-9956-ffa450edef68
2006-07-11 20:33:53 +00:00
William A. Rowe Jr
6df9b82d20 Revert Revision 397647
While it solves the studio 2005 (we desire this), it breaks
the studio 6 packaging (we require this).  Discussion on list
of practical solutions.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@419644 13f79535-47bb-0310-9956-ffa450edef68
2006-07-06 18:36:23 +00:00
Joe Orton
c13f8dd6eb * server/core.c (default_handler): Use apr_brigade_insert_file() to
append the file to the brigade.

* server/protocol.c (ap_send_fd),
modules/proxy/mod_proxy_http.c (spool_reqbody_cl), 
modules/cache/mod_mem_cache.c (recall_body),
modules/cache/mod_disk_cache.c (recall_body),
modules/mappers/mod_negotiation.c (handle_map_file),
modules/generators/mod_asis.c (asis_handler),
modules/dav/fs/repos.c [DEBUG_GET_HANDLER] (dav_fs_deliver),
modules/arch/win32/mod_isapi.c (ServerSupportFunction): Likewise.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@414238 13f79535-47bb-0310-9956-ffa450edef68
2006-06-14 13:16:29 +00:00
Ruediger Pluem
cab5846455 * If possible, check if the size of an object to cache is within the
configured boundaries before actually saving data.

Submitted by: Niklas Edmundsson <nikke acc.umu.se>
Reviewed by: rpluem


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@411469 13f79535-47bb-0310-9956-ffa450edef68
2006-06-03 20:52:58 +00:00
Ruediger Pluem
a8482b67cf * info->expire and info->date are in microseconds. So convert the difference
to seconds before comparing it to age which is in seconds.

PR: 39713
Submitted by: Owen Taylor <otaylor redhat.com>
Reviewed by: rpluem


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@411464 13f79535-47bb-0310-9956-ffa450edef68
2006-06-03 19:41:49 +00:00
Ruediger Pluem
6b175e597f * Keep the Content-Type for successfully revalidated
cached objects, by unsetting possible Content-Type headers in
  r->headers_out and r->err_headers_out as they may be different to what
  we have received from the cache.
  Actually they are not needed as r->content_type set by
  ap_set_content_type a few lines above will be used in the store_headers
  functions of the storage providers as a fallback and the HTTP_HEADER filter
  does overwrite the Content-Type header with r->content_type anyway.

PR: 39647


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@410370 13f79535-47bb-0310-9956-ffa450edef68
2006-05-30 20:48:09 +00:00
Ruediger Pluem
5450296c9a * Remove temporary files if renaming fails, otherwise they may accumulate.
Submitted by: Davi Arnaut <davi haxent.com.br>
Reviewed by: rpluem


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@409942 13f79535-47bb-0310-9956-ffa450edef68
2006-05-28 10:32:01 +00:00
Ruediger Pluem
db02633be5 * Cleanup the code by replacing some inline code to lower-case a string with
ap_str_tolower.

Proposed by: Joe Orton


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@408729 13f79535-47bb-0310-9956-ffa450edef68
2006-05-22 19:05:09 +00:00
Ruediger Pluem
6ce4498198 * Fix const compiler warning introduced by r407357.
Noticed by: Joe Orton


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@408154 13f79535-47bb-0310-9956-ffa450edef68
2006-05-21 10:29:09 +00:00
Ruediger Pluem
a3d86dbf15 * Handle the cases "no proxy request" and "reverse proxy request" in the same
manner, when setting scheme and port_str. This is needed because if a cached
  entry is looked up by mod_cache's quick handler r->proxyreq
  is still unset in the reverse proxy case as it only gets set in the
  translate name hook (either by ProxyPass or mod_rewrite) which is run
  after the quick handler hook. This is different to the forward proxy
  case where it gets set before the quick handler is run (in the
  post_read_request hook).
  If a cache entry is created by the CACHE_SAVE filter we always have
  r->proxyreq set correctly.
  Also set scheme to ap_http_scheme(r) instead of "http" to handle SSL
  correctly.

PR: 39593


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@407357 13f79535-47bb-0310-9956-ffa450edef68
2006-05-17 19:16:43 +00:00
Ruediger Pluem
69c7b9eea9 * Add Content-Type to headers_out if not already set. This ensures that
the Content-Type of the cached entity gets restored correctly.

PR: 39266


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@399388 13f79535-47bb-0310-9956-ffa450edef68
2006-05-03 19:34:35 +00:00
William A. Rowe Jr
b2820e8da8 This resource /D syntax was pretty horridly imported into VS 2005,
change the quotation to ensure a peaceful transition to sln/vcproj files.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@397647 13f79535-47bb-0310-9956-ffa450edef68
2006-04-27 21:41:29 +00:00
William A. Rowe Jr
f65c47bd75 Remove all /machine:I386 references, these are getting in the way
of switching linkers from the x86 (default linker) to x64 or other
  possible target platforms.  (Also, this commit cleans up lingering
  /GX switches from the 'BASE' options that are supposed to be unused).

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@397407 13f79535-47bb-0310-9956-ffa450edef68
2006-04-27 05:30:39 +00:00
Ruediger Pluem
3f821517aa * Consequently use disk_cache: in error log strings
PR: 39380
Submitted by: Niklas Edmundsson <nikke acc.umu.se>
Reviewed by: rpluem


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@396252 13f79535-47bb-0310-9956-ffa450edef68
2006-04-23 10:52:48 +00:00
William A. Rowe Jr
663687ae8e s|/GX |/EHsc | because they were always synonyms, and Visual Studio
2005 edition complains bitterly and loudly that /GX is deprecated.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@395419 13f79535-47bb-0310-9956-ffa450edef68
2006-04-19 22:51:02 +00:00
William A. Rowe Jr
862d0e231e Remove a host of dependencies upon awk, using the same template for
nearly every .rc compilation (giving the output .res file a different
  name for each component).  Adds AP_SERVER_BASEPROJECT to ap_revision.h
  so we can display the proper name of "Apache HTTP Server" as opposed
  to AP_SERVER_BASEPRODUCT (which is, and should remain, simply "Apache"
  for the server string tokens.)



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@395418 13f79535-47bb-0310-9956-ffa450edef68
2006-04-19 22:47:49 +00:00
Colm MacCarthaigh
dd95d7c37c Update the copyright year in all .c, .h and .xml files
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@395228 13f79535-47bb-0310-9956-ffa450edef68
2006-04-19 12:11:27 +00:00
Ruediger Pluem
8280850d65 * As per discussion on the list: Return error code of apr_file_write_full
or apr_bucket_read instead of APR_EGENERAL if they fail.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@390499 13f79535-47bb-0310-9956-ffa450edef68
2006-03-31 21:09:58 +00:00
Ruediger Pluem
a11b86ee63 * Check return value of apr_bucket_read when storing the response body to disk.
Delete already cached data if an error occurs.

Submitted by: Brian Akins <brian.akins turner.com>
Reviewed by: Ruediger Pluem


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@389697 13f79535-47bb-0310-9956-ffa450edef68
2006-03-29 06:53:51 +00:00
Ian Holsman
314aa8e9c9 add Colm's explanation of the cache_info structure from his explaination on dev@
Message-ID: <20060124223004.GA26461@dochas.stdlib.net>


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@372096 13f79535-47bb-0310-9956-ffa450edef68
2006-01-25 04:03:31 +00:00
Ruediger Pluem
395b632269 * Add CacheMinExpire directive to set the minimum time in seconds to cache a document
in the case that no valid expire time was supplied with the document.

Submitted by: Brian Akins <brian.akins turner.com>
Reviewed by: Ruediger Pluem


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@369811 13f79535-47bb-0310-9956-ffa450edef68
2006-01-17 15:12:23 +00:00
Ruediger Pluem
bb2af228cd * Fix PR38017 by handling the selection of the hostname in the same way for
non proxied and reverse proxied requests.

  We need to handle both cases in the same manner as for the reverse proxy
  case we have the following situation:

  If a cached entry is looked up by mod_cache's quick handler r->proxyreq
  is still unset in the reverse proxy case as it only gets set in the
  translate name hook (either by ProxyPass or mod_rewrite) which is run
  after the quick handler hook. This is different to the forward proxy
  case where it gets set before the quick handler is run (in the
  post_read_request hook).
  If a cache entry is created by the CACHE_SAVE filter we always have
  r->proxyreq set correctly.
  So we must ensure that in the reverse proxy case we use the same code
  path and using the canonical name seems to be the right thing to do
  in the reverse proxy case.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@367798 13f79535-47bb-0310-9956-ffa450edef68
2006-01-10 21:34:11 +00:00
Ruediger Pluem
dcc563844c * If the mod_proxy backend connection broke in the middle of the response,
then
  - Do not cache it.
  - Signal the client that something went wrong by closing the connection
    and not sending the last-chunk marker if the response was T-E chunked.

server/core_filters.c         : Close the connection to the client by setting
                                c->keepalive to AP_CONN_CLOSE.
modules/http/chunk_filter.c   : Do not send last-chunk marker in the case
                                the backend broke.
modules/proxy/mod_proxy_http.c: Signal that the backend connection broke.
modules/cache/mod_disk_cache.c: Respect r->no_cache for discarding the response


Submitted by: Roy T. Fielding, Jim Jagielski, Ruediger Pluem
Reviewed by: Roy T. Fielding, Jim Jagielski, Ruediger Pluem


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@357461 13f79535-47bb-0310-9956-ffa450edef68
2005-12-18 12:07:39 +00:00
Jim Jagielski
08c97ba290 No functional change: remove "internal" tab spacing/formatting.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@345053 13f79535-47bb-0310-9956-ffa450edef68
2005-11-16 16:31:25 +00:00
Jim Jagielski
5061d9fa92 No functional Change: Removing trailing whitespace. This also
means that "blank" lines consisting of just spaces or
tabs are now really blank lines


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@332306 13f79535-47bb-0310-9956-ffa450edef68
2005-11-10 15:11:44 +00:00
Jim Jagielski
5d2fae4818 No functional change: simple detabbing of indented code.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@332305 13f79535-47bb-0310-9956-ffa450edef68
2005-11-10 15:05:51 +00:00
Bill Stoddard
36aaef31a1 fix memory leak. Reported by <christophe.jaillet@wanadoo.fr>
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@330380 13f79535-47bb-0310-9956-ffa450edef68
2005-11-02 22:42:45 +00:00
Ruediger Pluem
fd4bdc00ce * Create new filters CACHE_OUT_SUBREQ / CACHE_SAVE_SUBREQ which only differ
by the type (AP_FTYPE_CONTENT_SET-1) from CACHE_OUT / CACHE_SAVE
  (AP_FTYPE_CONTENT_SET+1). This ensures that subrequests to non local
  resources do not get stuck in the middle of the road with the contents
  only written to the temp file, because CACHE_OUT_SUBREQ / CACHE_SAVE_SUBREQ
  are inserted *before* the SUBREQ_CORE filter in the filter chain.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@325960 13f79535-47bb-0310-9956-ffa450edef68
2005-10-17 18:59:52 +00:00
Colm MacCarthaigh
d7bd8dbda1 Two minor whitespace cleanups. Syncs with the 2.2.x branch.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@293291 13f79535-47bb-0310-9956-ffa450edef68
2005-10-03 10:30:52 +00:00
Colm MacCarthaigh
6eeba097be Fixes and cleanups for mod_cache;
* Add r->uri to the debug messages in the quick handler; makes debugging
      easier.
    
    * Always reset headers_in for lookup's, some modules make subrequests
      and then rewrite the url. Having a conditional request at this point
      is not what they expect (nor reasonable for them to handle). 

    * Don't store a per-request config on lookups; for the same reason.

    * Return DECLINED when in lookup mode and ap_meets_conditions() indicated
      we have the content but don't know if it's fresh or not. We have no idea
      whether the backend will have a 404, a 304 or any other kind of a 
      response - so we have to assume we cannot handle the request.

    * remove the unused "url" argument from the cache_create_entity() function

    * Whitespace/comment fixups in mod_cache.h



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@291588 13f79535-47bb-0310-9956-ffa450edef68
2005-09-26 09:21:45 +00:00
Ian Holsman
8c1e315d3f Doxygen fixup / cleanup
submited by: Neale Ranns neale ranns.org
reviewed by: Ian Holsman



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@263931 13f79535-47bb-0310-9956-ffa450edef68
2005-08-28 23:03:59 +00:00
Colm MacCarthaigh
acf227a492 Enhance CacheEnable/CacheDisable to control caching on a per-protocol, per-host
and per-path basis. Makes Cache(En|Dis)able useful for forward proxy servers.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@239421 13f79535-47bb-0310-9956-ffa450edef68
2005-08-23 15:43:23 +00:00
Colm MacCarthaigh
c6700d7708 remove some unused variables and re-name cache_select_url() to simply
cache_select()



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@239420 13f79535-47bb-0310-9956-ffa450edef68
2005-08-23 15:25:08 +00:00
Colm MacCarthaigh
2e702882bd Improve the cache hit/miss ratio by canonicalising the url key. hostname's
are matched case-insensitively, port-based vhosts are catered for and the
scheme included for future multi-scheme caching compatibility.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@239407 13f79535-47bb-0310-9956-ffa450edef68
2005-08-23 13:50:47 +00:00
Andreas Steinmetz
59a68232cc Split mod_disk_cache.c into mod_disk_cache.c and mod_disk_cache.h
to allow inclusion of mod_disk_cache.h in htcacheclean.c.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@239406 13f79535-47bb-0310-9956-ffa450edef68
2005-08-23 13:35:00 +00:00
Justin Erenkrantz
03a775765f Move the debuging log message about the removal of a url from
cache_remove_url_filter to cache_remove_url.

Submitted by: Rudiger Plum <ruediger.pluem vodafone.com>
Reviewed by: Justin Erenkrantz


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@232335 13f79535-47bb-0310-9956-ffa450edef68
2005-08-12 16:57:13 +00:00
Justin Erenkrantz
8998c32fb6 mod_disk_cache: Remove the directory path of the cached file as far as possible
(up to the cache root) to get rid of unused empty directories.

* cache/mod_disk_cache.c
  (remove_url): Try to delete directories; also change two APR_ENOENT to
  APR_STATUS_IS_ENOENT.

(Justin tweaked some comments.)

Submitted by: Rudiger Plum <ruediger.pluem vodafone.com>
Reviewed by: Justin Erenkrantz


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@232334 13f79535-47bb-0310-9956-ffa450edef68
2005-08-12 16:52:28 +00:00
Joe Orton
5d7d8f280f * modules/cache/cache_storage.c (cache_remove_url): Remove unused
variables.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@232272 13f79535-47bb-0310-9956-ffa450edef68
2005-08-12 11:32:55 +00:00
Justin Erenkrantz
929eb45aaf Fix incorrectly served 304 responses when expired cache entity
is valid, but cache is unwritable and headers cannot be updated.

Submitted by: Colm MacCarthaigh <colm stdlib.net>
Reviewed by: Justin Erenkrantz


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@231488 13f79535-47bb-0310-9956-ffa450edef68
2005-08-11 17:38:18 +00:00
Justin Erenkrantz
d757d824b8 mod_cache: Implement remove URL via a filter.
Remove entities from the cache when re-validation receives a 404 or other
content-no-longer-present error.

Suggested by: Paul Querna, Justin Erenkrantz
Submitted by: Rudiger Plum <ruediger.pluem vodafone.com>
Reviewed by: Justin Erenkrantz


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@231487 13f79535-47bb-0310-9956-ffa450edef68
2005-08-11 17:35:48 +00:00
Justin Erenkrantz
a992d08b42 Implement mod_disk_cache's remove_url.
(Minor tweaks and comment fixes by Justin.)

Suggested by: Paul Querna, Justin Erenkrantz
Submitted by: Rudiger Plum <ruediger.pluem vodafone.com>
Reviewed by: Justin Erenkrantz


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@231486 13f79535-47bb-0310-9956-ffa450edef68
2005-08-11 17:31:10 +00:00
Justin Erenkrantz
d971ca4ef8 mod_disk_cache: Retry file rename up to three times to ameliorate race
condition with htcacheclean removing the directories underneath us.

(Includes tweaks by Justin.)

Suggested by: Graham Leggett
Submitted by: Andreas Steinmetz <ast@domdv.de>
Reviewed by: Justin Erenkrantz


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@231349 13f79535-47bb-0310-9956-ffa450edef68
2005-08-10 23:03:38 +00:00
Paul Querna
f4b3ad20aa Opps. Use the correct member of the structure.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@220038 13f79535-47bb-0310-9956-ffa450edef68
2005-07-21 11:40:30 +00:00
Paul Querna
f00dcbee2e Correctly restore the HTTP status from the cache handler.
Submitted by: Hansjoerg Pehofer


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@220036 13f79535-47bb-0310-9956-ffa450edef68
2005-07-21 11:37:07 +00:00
Paul Querna
01d65f9f59 Quick hack to store varied contents under the same path, making it
easier for admins to manage the cache.

Still requires modifications to htcacheclean to work.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@219945 13f79535-47bb-0310-9956-ffa450edef68
2005-07-20 16:56:23 +00:00
Paul Querna
7d836630f7 Now you can run mod_deflate before mod_cache, and cache it.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@219913 13f79535-47bb-0310-9956-ffa450edef68
2005-07-20 14:35:21 +00:00
William A. Rowe Jr
2e3f62d979 caddr_t is quite non-portable, but a (void*) will do the trick.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@191174 13f79535-47bb-0310-9956-ffa450edef68
2005-06-17 16:27:58 +00:00
Bradley Nicholes
a5930f73ee Fix up some type mismatches that are causing compiler errors in Metrowerks on NetWare
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@190819 13f79535-47bb-0310-9956-ffa450edef68
2005-06-15 21:37:10 +00:00
Paul Querna
13424c5f6e - Remove unneeded cast.
Reported by: Garrett Rooney


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@190547 13f79535-47bb-0310-9956-ffa450edef68
2005-06-14 01:50:27 +00:00
Paul Querna
d4293052e2 - Partial revert of revision 190535. Remove const from tempfile, since apr_file_mktemp() requires it.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@190536 13f79535-47bb-0310-9956-ffa450edef68
2005-06-14 00:23:13 +00:00