summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorGraham Leggett <minfrin@apache.org>2013-05-06 13:41:10 +0200
committerGraham Leggett <minfrin@apache.org>2013-05-06 13:41:10 +0200
commit997e0f6d33051abddc95b39fcd71a8191d83a22a (patch)
tree993bfb996f992bb8d0bb9206de1ba46357c8e6da /include
parentmod_cache: Ensure that updated responses to HEAD requests don't get (diff)
downloadapache2-997e0f6d33051abddc95b39fcd71a8191d83a22a.tar.xz
apache2-997e0f6d33051abddc95b39fcd71a8191d83a22a.zip
core: Add the ability to do explicit matching on weak and strong ETags
as per RFC2616 Section 13.3.3. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1479528 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'include')
-rw-r--r--include/ap_mmn.h3
-rw-r--r--include/httpd.h18
2 files changed, 20 insertions, 1 deletions
diff --git a/include/ap_mmn.h b/include/ap_mmn.h
index 6aab61e32d..9d42cf0a9b 100644
--- a/include/ap_mmn.h
+++ b/include/ap_mmn.h
@@ -422,6 +422,7 @@
* 20121222.8 (2.5.0-dev) Add dav_join_error()
* 20121222.9 (2.5.0-dev) Add conn_sense_e
* 20121222.10 (2.5.0-dev) Add cache_control_t.invalidated
+ * 20121222.11 (2.5.0-dev) Add ap_find_etag_weak(), ap_find_etag_strong()
*/
#define MODULE_MAGIC_COOKIE 0x41503235UL /* "AP25" */
@@ -429,7 +430,7 @@
#ifndef MODULE_MAGIC_NUMBER_MAJOR
#define MODULE_MAGIC_NUMBER_MAJOR 20121222
#endif
-#define MODULE_MAGIC_NUMBER_MINOR 10 /* 0...n */
+#define MODULE_MAGIC_NUMBER_MINOR 11 /* 0...n */
/**
* Determine if the server's current MODULE_MAGIC_NUMBER is at least a
diff --git a/include/httpd.h b/include/httpd.h
index 2b8f08ab55..efcb2907c9 100644
--- a/include/httpd.h
+++ b/include/httpd.h
@@ -1520,6 +1520,24 @@ AP_DECLARE(char *) ap_get_list_item(apr_pool_t *p, const char **field);
AP_DECLARE(int) ap_find_list_item(apr_pool_t *p, const char *line, const char *tok);
/**
+ * Do a weak ETag comparison within an HTTP field value list.
+ * @param p The pool to allocate from
+ * @param line The field value list to search
+ * @param tok The token to search for
+ * @return 1 if found, 0 if not found.
+ */
+AP_DECLARE(int) ap_find_etag_weak(apr_pool_t *p, const char *line, const char *tok);
+
+/**
+ * Do a strong ETag comparison within an HTTP field value list.
+ * @param p The pool to allocate from
+ * @param line The field value list to search
+ * @param tok The token to search for
+ * @return 1 if found, 0 if not found.
+ */
+AP_DECLARE(int) ap_find_etag_strong(apr_pool_t *p, const char *line, const char *tok);
+
+/**
* Retrieve a token, spacing over it and adjusting the pointer to
* the first non-white byte afterwards. Note that these tokens
* are delimited by semis and commas and can also be delimited