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

154 Commits

Author SHA1 Message Date
Sander Striker
97851ed800 Another mod_cache fixlet.
* modules/cache/mod_cache.c

  (cache_url_handler): Add more debug output.  Restore original request
   headers when CACHE_SAVE filter isn't added to fix up after the request.


* modules/cache/cache_storage.c

  (cache_select_url): Add more debug output.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@157162 13f79535-47bb-0310-9956-ffa450edef68
2005-03-11 21:39:45 +00:00
Sander Striker
7402943941 Make IgnoreCacheControl do what it implies when it comes to requests and
freshness checks.

* modules/cache/cache_util.c

  (ap_cache_check_freshness): Ignore CacheControl: max-age and min-fresh
   if IgnoreCacheControl is set.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@156567 13f79535-47bb-0310-9956-ffa450edef68
2005-03-08 21:11:07 +00:00
Sander Striker
f92cbd8dbc Improve caching a bit more...
* modules/cache/cache_util.c

  (ap_cache_check_freshness): On Cache-Control/Pragma no-cache force
   revalidation by marking the resource as stale.  Unless IgnoreCacheControl
   is set ofcourse.

 
* modules/cache/mod_cache.c

  (cache_url_handler): Remove Cache-Control/Pragma no-cache check and
   accompagnying comment.

  (cache_save_filter): Move FIXME comment to the correct location.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@156480 13f79535-47bb-0310-9956-ffa450edef68
2005-03-08 02:35:50 +00:00
Sander Striker
c8c8263f9c Remove an unused function.
* cache_util.c
* mod_cache.imp
* mod_cache.h

  (ap_cache_request_is_conditional): Removed.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@156471 13f79535-47bb-0310-9956-ffa450edef68
2005-03-08 01:34:32 +00:00
Justin Erenkrantz
a32a693014 * modules/cache/cache_util.c (ap_cache_check_freshness): Use r->headers_in not
the stored headers for the Cache-Control check.

Pointed out by: Sander Striker


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@156401 13f79535-47bb-0310-9956-ffa450edef68
2005-03-07 07:18:34 +00:00
Sander Striker
c70cb4ba14 More mod_cache tweakage...
* modules/cache/mod_cache.c

  (cache_save_filter): Instead of unconditionally returning a 304 when
   the original request was conditional and we issued a cache revalidating
   request, handle the request as if it came in while our cache was
   still valid.


* modules/cache/cache_storage.c

  (cache_select_url): Strip off the conditional headers from the original
   request, prior to adding our own for the purpose of revalidating our
   cached response.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@156330 13f79535-47bb-0310-9956-ffa450edef68
2005-03-06 18:57:22 +00:00
Sander Striker
438c65986e Tracked down by Justin Erenkrantz.
* modules/cache/mod_disk_cache.c

  (store_headers): Stop second guessing mod_cache and just store the
   headers in a new file (overwriting the old).

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@156306 13f79535-47bb-0310-9956-ffa450edef68
2005-03-06 12:52:46 +00:00
Sander Striker
11344ad83a * modules/cache/mod_cache.c
(cache_url_handler): Tweak a few comments.

  (cache_save_filter): Add a FIXME for a corner case.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@156304 13f79535-47bb-0310-9956-ffa450edef68
2005-03-06 12:43:42 +00:00
Joe Orton
519b48fce1 * modules/cache/mod_disk_cache.c (store_body): Fix format string
warnings; print integers using _FMT strings.

* modules/cache/cache_util.c (ap_cache_check_freshness): Remove unused
variable.

* modules/cache/cache_storage.c (cache_select_url): Remove unused
variable.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@153385 13f79535-47bb-0310-9956-ffa450edef68
2005-02-11 12:16:06 +00:00
Sander Striker
c4afdce3fd Some minimal tweaks to mod_cache.
* modules/cache/mod_mem_cache.c

  (store_headers): Remove unused variable.


* modules/cache/mod_cache.c

  (cache_save_filter): Slightly improve comment.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@153104 13f79535-47bb-0310-9956-ffa450edef68
2005-02-09 18:56:41 +00:00
Justin Erenkrantz
441086ecfd More work to properly handle revalidated responses correctly.
* modules/cache/mod_cache.c: If we add a new Expires value, tell our client;
  merge in headers properly (or better than before) so that we can update the
  header fields on a revalidated but with updated header fields.
* modules/cache/mod_cache.h, modules/cache/cache_storage.c:
  Add preserve_orig flag to ap_cache_accept_headers to allow updating of fields.
* modules/cache/mod_disk_cache.c: Load status value from disk.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@152973 13f79535-47bb-0310-9956-ffa450edef68
2005-02-09 01:38:59 +00:00
Sander Striker
876ee19013 More mod_cache tweakage.
* modules/cache/cache_storage.c

  (cache_select_url): Add If-Modified-Since regardless of having
    an ETag or not.  See: RFC2616, 14.26.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@152948 13f79535-47bb-0310-9956-ffa450edef68
2005-02-08 22:23:31 +00:00
Bradley Nicholes
f193418fa8 Make the function declaration match the prototype
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@152927 13f79535-47bb-0310-9956-ffa450edef68
2005-02-08 19:41:15 +00:00
Justin Erenkrantz
74a70d429a Return the proper status and headers when serving a revalidated response.
* modules/cache/mod_cache.c
  (cache_save_filter): Load in the cached status and headers; send a flush
  rather than an EOS when the client request is conditional.
* modules/cache/mod_cache.h: Export ap_cache_accept_headers.
* modules/cache/cache_storage.c: Rename accept_headers to
  ap_cache_accept_headers.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@152680 13f79535-47bb-0310-9956-ffa450edef68
2005-02-08 17:56:38 +00:00
Justin Erenkrantz
1d4c6d1c6d Cleanup structures in mod_cache and friends to remove unused or unnecessary
fields.  Also resolves a number of latent bugs due to the wrong fields being
accessed.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@152679 13f79535-47bb-0310-9956-ffa450edef68
2005-02-08 17:39:56 +00:00
Justin Erenkrantz
1e352ba28e * modules/cache/mod_cache.h: Move the structure declaration of cache_handle
near its typedef declaration.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@151817 13f79535-47bb-0310-9956-ffa450edef68
2005-02-08 02:05:05 +00:00
Justin Erenkrantz
268fba842f * modules/cache/mod_cache.c: One more try at proper handling of revalidated
responses.

...All together now, we hate uninitialized variables...


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@151816 13f79535-47bb-0310-9956-ffa450edef68
2005-02-08 02:03:47 +00:00
Justin Erenkrantz
3846ec8b48 * modules/cache/mod_disk_cache.c: Properly load cached ETag from on-disk
structures.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@151815 13f79535-47bb-0310-9956-ffa450edef68
2005-02-08 02:01:46 +00:00
Justin Erenkrantz
905cdf9f0b Update copyright year to 2005 and standardize on current copyright owner line.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@151408 13f79535-47bb-0310-9956-ffa450edef68
2005-02-04 20:28:49 +00:00
Sander Striker
fcb4674f0d Error out on configurations where the cache provider starts with a '/'.
Saves certain people a bit of time figuring out why their caching
doesn't work...

* modules/cache/mod_cache.c

  (add_cache_enable): Throw an error when a provider starting with
   a '/' is encountered.  The user probably switched arguments.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@151232 13f79535-47bb-0310-9956-ffa450edef68
2005-02-03 21:15:36 +00:00
Justin Erenkrantz
4743f301f2 Add CacheStorePrivate, CacheStoreNoStore, and clarify CacheIgnoreCacheControl.
* docs/manual/mod/mod_cache.xml: Update documentation for
  CacheIgnoreCacheControl and add documentation for two new directives.
* modules/cache/mod_cache.c
  (cache_url_handler): Honor 'Cache-Control: no-cache' request header.
  (cache_save_filter): Only honor no-store or private when their respective
                       directives are Off (which is the default).
  rest of file: add in standard configuration syntax stuff...
* modules/cache/mod_cache.h: Minor formatting tweak and add new fields.

Suggested by: Pier Fumagalli


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@149492 13f79535-47bb-0310-9956-ffa450edef68
2005-02-02 07:10:20 +00:00
Justin Erenkrantz
e597158021 * modules/cache/mod_disk_cache.c: Cache r->err_headers_out headers. This
allows CGI scripts to be properly cached.

This issue was pointed out by Sander Striker.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@126042 13f79535-47bb-0310-9956-ffa450edef68
2005-01-22 17:59:48 +00:00
Justin Erenkrantz
45fdd72155 mod_cache: Remove unimplemented CacheForceCompletion directive.
* modules/cache/mod_cache.h: Remove DEFAULT_CACHE_COMPLETION #define and
  complete-related vars.
* modules/cache/mod_cache.c: Ditto.
* modules/cache/mod_disk_cache.c: Clarify error message; remove unused
  complete var (unrelated to CacheForceCompletion removal).
* docs/manual/mod/mod_cache.xml.ja, docs/manual/mod/mod_cache.xml.ko,
  docs/manual/mod/mod_cache.xml: Remove references to CacheForceCompletion.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@125573 13f79535-47bb-0310-9956-ffa450edef68
2005-01-19 00:19:58 +00:00
Jean-Frederic Clere
d850e22dcb util_charset.h has already the needed #if APR_CHARSET_EBCDIC.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@124224 13f79535-47bb-0310-9956-ffa450edef68
2005-01-05 16:16:07 +00:00
Jean-Frederic Clere
af7e1482aa Add including of util_charset.h otherwise ap_hdrs_from_ascii is not defined.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@124080 13f79535-47bb-0310-9956-ffa450edef68
2005-01-04 09:58:01 +00:00
André Malo
a68539be28 svn:eol-style = native
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@111895 13f79535-47bb-0310-9956-ffa450edef68
2004-12-14 23:01:47 +00:00
Bradley Nicholes
804ff9ab22 Allow APR to exist and build outside of the httpd/srclib file structure
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@106975 13f79535-47bb-0310-9956-ffa450edef68
2004-11-30 00:12:39 +00:00
Bradley Nicholes
1918883c39 Move mod_cache out of experimental for the NetWare build
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@106757 13f79535-47bb-0310-9956-ffa450edef68
2004-11-27 20:42:00 +00:00
Justin Erenkrantz
63dd4623e1 At long last, promote mod_cache and friends out of experimental/.
Also, take quick pass through docs files to remove experimental label for them.

Reviewed by: Paul Querna, Bill Stoddard, Justin Erenkrantz


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@106737 13f79535-47bb-0310-9956-ffa450edef68
2004-11-27 19:06:48 +00:00
Joe Orton
c36ecfa64f Remove the .cvsignore files.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@105796 13f79535-47bb-0310-9956-ffa450edef68
2004-11-19 09:07:29 +00:00
André Malo
a688f06b19 fix name of The Apache Software Foundation
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@102618 13f79535-47bb-0310-9956-ffa450edef68
2004-02-09 20:31:03 +00:00
André Malo
4f02cb1e18 apply Apache License, Version 2.0
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@102525 13f79535-47bb-0310-9956-ffa450edef68
2004-02-06 22:58:42 +00:00
Joe Orton
c4aa600023 Use -export-dynamic only when linking an httpd which includes mod_so,
not when linking modules or support programs.

* modules/aaa/config.m4, modules/arch/win32/config.m4,
modules/cache/config.m4, modules/echo/config.m4,
modules/filters/config.m4, modules/generators/config5.m4,
modules/metadata/config.m4: Don't add -export-dynamic to LT_LDFLAGS.

* modules/mappers/config9.m4: Add -export-dynamic to HTTPD_LDFLAGS
when mod_so is enabled.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@102235 13f79535-47bb-0310-9956-ffa450edef68
2004-01-08 20:47:29 +00:00
André Malo
fb07607180 update license to 2004.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@102135 13f79535-47bb-0310-9956-ffa450edef68
2004-01-01 13:26:26 +00:00
Jeff Trawick
aa21671e13 switch to APR 1.0 API (which is still in flux)
because of the changes to the argument lists of apr_mmap_dup and apr_socket_create,
2.1-dev won't build with apr and apr-util's 0.9 branch anymore


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@101154 13f79535-47bb-0310-9956-ffa450edef68
2003-09-03 19:27:12 +00:00
William A. Rowe Jr
281948b722 After discussions at length on dev@apr/httpd, it is determined that
the older .dbg format symbols are not worth the interference with
  generating complete .pdb symbolic debugging databases.

  This patch further eliminates pdbtype:sept flags that interfere with
  deciphering local symbols and type information.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@98970 13f79535-47bb-0310-9956-ffa450edef68
2003-03-11 00:58:59 +00:00
William A. Rowe Jr
25ac108fe2 After consultations on the APR list, it was decided that /map files are
fairly redundant when you retain rich .pdb debugging symbol files.  We
  have rarely used them, and generally .dbg and .pdb files prove much more
  useful for the cases we have.

  While eliminating /map files, we are also shrinking the size of the .dbg
  files by stripping 'private' symbol information.  Really this means less
  rich diagnostics from Dr. Watson on NT or Win9x when they query the .dbg
  symbols in creating a DrWatson log file.  But it's more than compensated
  for on newer OS'es where Dr. Watson will query the .pdb symbols, on all
  Win32 flavors when WinDbg is used with the .pdb symbols, and the fact that
  the distribution of binary symbols will use less bandwidth when less
  information is duplicated from the .pdb format into the .dbg files.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@98743 13f79535-47bb-0310-9956-ffa450edef68
2003-02-20 15:56:04 +00:00
William A. Rowe Jr
e8c0a9532f foo.dbgmark turned out to be the same 8.3 name as foo.dbg itself, which
was badness.  Twist this puppy to .dbr, the only name I could invent that
  doesn't look like any database file extension I recall.

  It stands for .dbg rebased.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@98712 13f79535-47bb-0310-9956-ffa450edef68
2003-02-18 22:07:21 +00:00
William A. Rowe Jr
a45632ba37 *) Introduce debugging symbols for Win32 release builds, both .pdb
and .dbg files (older debuggers and Dr. Watson-type utilities
     on WinNT or Win9x don't support the newer .pdb flavor.)
     [Allen Edwards, William Rowe]


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@98596 13f79535-47bb-0310-9956-ffa450edef68
2003-02-07 21:30:53 +00:00
André Malo
742af25096 finished that boring job:
update license to 2003.

Happy New Year! ;-))


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@98573 13f79535-47bb-0310-9956-ffa450edef68
2003-02-03 17:53:28 +00:00
Bill Stoddard
bc20e54bd4 dup the apr_mmap_t out of the request pool for sending down on the brigade
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@98478 13f79535-47bb-0310-9956-ffa450edef68
2003-01-23 21:01:08 +00:00
Cliff Woolley
3b060bce5f Fix a problem whereby multiple MMapFile directives would cause a segfault
on startup.

mod_file_cache keeps a hash table in the cmd->pool and puts an entry in
that hash table for each of its files and mmaps, all of which are opened
into cmd->pool.  But it registered a cleanup on cmd->pool that would walk
the hash table and close each file and delete each mmap, even though by
the time that happened those things would have been done already anyway
by the files' and mmaps' own cleanups on cmd->pool.  So it was deleting
mmaps that were already cleaned up and closing files that were already
cleaned up in all cases.  This has never been valid... amazed it ever
worked.  But apparently the true bogosity wasn't revealed until the new
mmap cleanup code went into APR.

PR: 16313


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@98463 13f79535-47bb-0310-9956-ffa450edef68
2003-01-23 00:55:47 +00:00
William A. Rowe Jr
b67d127829 Catch up with the changes to apr/build/win32ver.awk and name all loadable
httpd modules as .so, internally.  Credit to Mladen Turk for identifing
  the issue.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@98380 13f79535-47bb-0310-9956-ffa450edef68
2003-01-20 19:52:30 +00:00
Cliff Woolley
2d1643e96e update a comment
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@97616 13f79535-47bb-0310-9956-ffa450edef68
2002-11-23 21:18:16 +00:00
William A. Rowe Jr
178e10e3da Well the wrappers work out well... nice to be able to put off committing
these API changes until the evening ;)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95587 13f79535-47bb-0310-9956-ffa450edef68
2002-06-09 03:44:03 +00:00
William A. Rowe Jr
93dc524eb3 cvs up/diff gets pretty hard to track with vc7 builds.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95524 13f79535-47bb-0310-9956-ffa450edef68
2002-06-05 14:56:46 +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
Paul J. Reder
ef6c5b6076 Moved the call to apr_mmap_dup outside the error branch so
that it would actually get called. This fixes a core dump
 at init everytime you use the MMapFile directive. [Paul J. Reder]


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94721 13f79535-47bb-0310-9956-ffa450edef68
2002-04-19 19:16:23 +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