summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorStefan Fritsch <sf@sfritsch.de>2015-12-19 09:17:42 +0100
committerStefan Fritsch <sf@sfritsch.de>2015-12-19 09:17:42 +0100
commitd5325781b38052fbdf4cc28a6c6d3052b9424b51 (patch)
tree0dd970f541f3d816f3b2217a9cd7a77f1733cbc9 /include
parentf775596dea7222b55efc18005acf1919609c3602 (diff)
downloadapache2-d5325781b38052fbdf4cc28a6c6d3052b9424b51.tar.gz
Imported Upstream version 2.4.18
Diffstat (limited to 'include')
-rw-r--r--include/ap_config_auto.h.in7
-rw-r--r--include/ap_mmn.h3
-rw-r--r--include/ap_release.h2
-rw-r--r--include/http_core.h13
-rw-r--r--include/http_protocol.h71
-rw-r--r--include/httpd.h7
6 files changed, 100 insertions, 3 deletions
diff --git a/include/ap_config_auto.h.in b/include/ap_config_auto.h.in
index eecd4aad..5a95d95a 100644
--- a/include/ap_config_auto.h.in
+++ b/include/ap_config_auto.h.in
@@ -115,9 +115,16 @@
/* Define to 1 if you have the <nghttp2/nghttp2.h> header file. */
#undef HAVE_NGHTTP2_NGHTTP2_H
+/* Define to 1 if you have the `nghttp2_session_change_stream_priority'
+ function. */
+#undef HAVE_NGHTTP2_SESSION_CHANGE_STREAM_PRIORITY
+
/* Define to 1 if you have the `nghttp2_session_server_new2' function. */
#undef HAVE_NGHTTP2_SESSION_SERVER_NEW2
+/* Define to 1 if you have the `nghttp2_stream_get_weight' function. */
+#undef HAVE_NGHTTP2_STREAM_GET_WEIGHT
+
/* Define if OpenSSL is available */
#undef HAVE_OPENSSL
diff --git a/include/ap_mmn.h b/include/ap_mmn.h
index 015ff6d3..3233ef80 100644
--- a/include/ap_mmn.h
+++ b/include/ap_mmn.h
@@ -456,6 +456,7 @@
* ap_select_protocol(), ap_switch_protocol(),
* ap_get_protocol(). Add HTTP_MISDIRECTED_REQUEST.
* Added ap_parse_token_list_strict() to httpd.h
+ * 20120211.52 (2.4.17-dev) Add master conn_rec* member in conn_rec.
*/
#define MODULE_MAGIC_COOKIE 0x41503234UL /* "AP24" */
@@ -463,7 +464,7 @@
#ifndef MODULE_MAGIC_NUMBER_MAJOR
#define MODULE_MAGIC_NUMBER_MAJOR 20120211
#endif
-#define MODULE_MAGIC_NUMBER_MINOR 51 /* 0...n */
+#define MODULE_MAGIC_NUMBER_MINOR 52 /* 0...n */
/**
* Determine if the server's current MODULE_MAGIC_NUMBER is at least a
diff --git a/include/ap_release.h b/include/ap_release.h
index 0b49ada5..79eeee39 100644
--- a/include/ap_release.h
+++ b/include/ap_release.h
@@ -43,7 +43,7 @@
#define AP_SERVER_MAJORVERSION_NUMBER 2
#define AP_SERVER_MINORVERSION_NUMBER 4
-#define AP_SERVER_PATCHLEVEL_NUMBER 17
+#define AP_SERVER_PATCHLEVEL_NUMBER 18
#define AP_SERVER_DEVBUILD_BOOLEAN 0
/* Synchronize the above with docs/manual/style/version.ent */
diff --git a/include/http_core.h b/include/http_core.h
index 6ca53f76..85354552 100644
--- a/include/http_core.h
+++ b/include/http_core.h
@@ -465,6 +465,17 @@ typedef unsigned long etag_components_t;
/* This is the default value used */
#define ETAG_BACKWARD (ETAG_MTIME | ETAG_SIZE)
+/* Generic ON/OFF/UNSET for unsigned int foo :2 */
+#define AP_CORE_CONFIG_OFF (0)
+#define AP_CORE_CONFIG_ON (1)
+#define AP_CORE_CONFIG_UNSET (2)
+
+/* Generic merge of flag */
+#define AP_CORE_MERGE_FLAG(field, to, base, over) to->field = \
+ over->field != AP_CORE_CONFIG_UNSET \
+ ? over->field \
+ : base->field
+
/**
* @brief Server Signature Enumeration
*/
@@ -630,6 +641,8 @@ typedef struct {
* advice
*/
unsigned int cgi_pass_auth : 2;
+ unsigned int qualify_redirect_url :2;
+
} core_dir_config;
/* macro to implement off by default behaviour */
diff --git a/include/http_protocol.h b/include/http_protocol.h
index 64ed0136..316850e3 100644
--- a/include/http_protocol.h
+++ b/include/http_protocol.h
@@ -736,6 +736,10 @@ AP_DECLARE_HOOK(apr_port_t,default_port,(const request_rec *r))
* NULL to indicated that the hooks are free to propose
* @param proposals The list of protocol identifiers proposed by the hooks
* @return OK or DECLINED
+ * @bug This API or implementation and order of operations should be considered
+ * experimental and will continue to evolve in future 2.4 releases, with
+ * a corresponding minor module magic number (MMN) bump to indicate the
+ * API revision level.
*/
AP_DECLARE_HOOK(int,protocol_propose,(conn_rec *c, request_rec *r,
server_rec *s,
@@ -765,6 +769,10 @@ AP_DECLARE_HOOK(int,protocol_propose,(conn_rec *c, request_rec *r,
* @param choices A list of protocol identifiers, normally the clients whishes
* @param proposals the list of protocol identifiers proposed by the hooks
* @return OK or DECLINED
+ * @bug This API or implementation and order of operations should be considered
+ * experimental and will continue to evolve in future 2.4 releases, with
+ * a corresponding minor module magic number (MMN) bump to indicate the
+ * API revision level.
*/
AP_DECLARE_HOOK(int,protocol_switch,(conn_rec *c, request_rec *r,
server_rec *s,
@@ -780,9 +788,37 @@ AP_DECLARE_HOOK(int,protocol_switch,(conn_rec *c, request_rec *r,
*
* @param c The current connection
* @return The identifier of the protocol in place or NULL
+ * @bug This API or implementation and order of operations should be considered
+ * experimental and will continue to evolve in future 2.4 releases, with
+ * a corresponding minor module magic number (MMN) bump to indicate the
+ * API revision level.
*/
AP_DECLARE_HOOK(const char *,protocol_get,(const conn_rec *c))
-
+
+/**
+ * Get the protocols that the connection and optional request may
+ * upgrade to - besides the protocol currently active on the connection. These
+ * values may be used to announce to a client what choices it has.
+ *
+ * If report_all == 0, only protocols more preferable than the one currently
+ * being used, are reported. Otherwise, all available protocols beside the
+ * current one are being reported.
+ *
+ * @param c The current connection
+ * @param r The current request or NULL
+ * @param s The server/virtual host selected or NULL
+ * @param report_all include also protocols less preferred than the current one
+ * @param pupgrades on return, possible protocols to upgrade to in descending order
+ * of preference. Maybe NULL if none are available.
+ * @bug This API or implementation and order of operations should be considered
+ * experimental and will continue to evolve in future 2.4 releases, with
+ * a corresponding minor module magic number (MMN) bump to indicate the
+ * API revision level.
+ */
+AP_DECLARE(apr_status_t) ap_get_protocol_upgrades(conn_rec *c, request_rec *r,
+ server_rec *s, int report_all,
+ const apr_array_header_t **pupgrades);
+
/**
* Select a protocol for the given connection and optional request. Will return
* the protocol identifier selected which may be the protocol already in place
@@ -797,6 +833,10 @@ AP_DECLARE_HOOK(const char *,protocol_get,(const conn_rec *c))
* @param s The server/virtual host selected
* @param choices A list of protocol identifiers, normally the clients whishes
* @return The selected protocol or NULL if no protocol could be agreed upon
+ * @bug This API or implementation and order of operations should be considered
+ * experimental and will continue to evolve in future 2.4 releases, with
+ * a corresponding minor module magic number (MMN) bump to indicate the
+ * API revision level.
*/
AP_DECLARE(const char *) ap_select_protocol(conn_rec *c, request_rec *r,
server_rec *s,
@@ -815,6 +855,10 @@ AP_DECLARE(const char *) ap_select_protocol(conn_rec *c, request_rec *r,
* APR_EINVAL, if the protocol is already in place
* APR_NOTIMPL, if no module performed the switch
* Other errors where appropriate
+ * @bug This API or implementation and order of operations should be considered
+ * experimental and will continue to evolve in future 2.4 releases, with
+ * a corresponding minor module magic number (MMN) bump to indicate the
+ * API revision level.
*/
AP_DECLARE(apr_status_t) ap_switch_protocol(conn_rec *c, request_rec *r,
server_rec *s,
@@ -830,9 +874,34 @@ AP_DECLARE(apr_status_t) ap_switch_protocol(conn_rec *c, request_rec *r,
*
* @param c The connection to determine the protocol for
* @return the protocol in use, never NULL
+ * @bug This API or implementation and order of operations should be considered
+ * experimental and will continue to evolve in future 2.4 releases, with
+ * a corresponding minor module magic number (MMN) bump to indicate the
+ * API revision level.
*/
AP_DECLARE(const char *) ap_get_protocol(conn_rec *c);
+/**
+ * Check if the given protocol is an allowed choice on the given
+ * combination of connection, request and server.
+ *
+ * When server is NULL, it is taken from request_rec, unless
+ * request_rec is NULL. Then it is taken from the connection base
+ * server.
+ *
+ * @param c The current connection
+ * @param r The current request or NULL
+ * @param s The server/virtual host selected or NULL
+ * @param protocol the protocol to switch to
+ * @return != 0 iff protocol is allowed
+ * @bug This API or implementation and order of operations should be considered
+ * experimental and will continue to evolve in future 2.4 releases, with
+ * a corresponding minor module magic number (MMN) bump to indicate the
+ * API revision level.
+ */
+AP_DECLARE(int) ap_is_allowed_protocol(conn_rec *c, request_rec *r,
+ server_rec *s, const char *protocol);
+
/** @see ap_bucket_type_error */
typedef struct ap_bucket_error ap_bucket_error;
diff --git a/include/httpd.h b/include/httpd.h
index 4204cd04..1cd71d66 100644
--- a/include/httpd.h
+++ b/include/httpd.h
@@ -200,6 +200,10 @@ extern "C" {
#ifndef DEFAULT_LIMIT_REQUEST_FIELDS
#define DEFAULT_LIMIT_REQUEST_FIELDS 100
#endif
+/** default/hard limit on number of leading/trailing empty lines */
+#ifndef DEFAULT_LIMIT_BLANK_LINES
+#define DEFAULT_LIMIT_BLANK_LINES 10
+#endif
/**
* The default default character set name to add if AddDefaultCharset is
@@ -1167,6 +1171,9 @@ struct conn_rec {
#if APR_HAS_THREADS
apr_thread_t *current_thread;
#endif
+
+ /** The "real" master connection. NULL if I am the master. */
+ conn_rec *master;
};
/**