aboutsummaryrefslogtreecommitdiffstats
path: root/serf_private.h
diff options
context:
space:
mode:
Diffstat (limited to 'serf_private.h')
-rw-r--r--serf_private.h22
1 files changed, 16 insertions, 6 deletions
diff --git a/serf_private.h b/serf_private.h
index 982d977618bd..d38680b473bc 100644
--- a/serf_private.h
+++ b/serf_private.h
@@ -23,7 +23,9 @@
/* Windows does not define IOV_MAX, so we need to ensure it is defined. */
#ifndef IOV_MAX
-#define IOV_MAX 16
+/* There is no limit for iovec count on Windows, but apr_socket_sendv
+ allocates WSABUF structures on stack if vecs_count <= 50. */
+#define IOV_MAX 50
#endif
/* Older versions of APR do not have this macro. */
@@ -93,7 +95,7 @@ struct serf_request_t {
serf_bucket_t *resp_bkt;
- int written;
+ int writing_started;
int priority;
/* 1 if this is a request to setup a SSL tunnel, 0 for normal requests. */
int ssltunnel;
@@ -117,6 +119,8 @@ typedef struct serf__authn_info_t {
const serf__authn_scheme_t *scheme;
void *baton;
+
+ int failed_authn_types;
} serf__authn_info_t;
struct serf_context_t {
@@ -266,9 +270,8 @@ struct serf_connection_t {
port values are filled in. */
apr_uri_t host_info;
- /* connection and authentication scheme specific information */
- void *authn_baton;
- void *proxy_authn_baton;
+ /* authentication info for this connection. */
+ serf__authn_info_t authn_info;
/* Time marker when connection begins. */
apr_time_t connect_time;
@@ -292,6 +295,12 @@ struct serf_connection_t {
*/
apr_status_t serf_response_full_become_aggregate(serf_bucket_t *bucket);
+/**
+ * Remove the header from the list, do nothing if the header wasn't added.
+ */
+void serf__bucket_headers_remove(serf_bucket_t *headers_bucket,
+ const char *header);
+
/*** Authentication handler declarations ***/
typedef enum { PROXY, HOST } peer_t;
@@ -352,7 +361,8 @@ typedef apr_status_t
* (if needed).
*/
typedef apr_status_t
-(*serf__validate_response_func_t)(peer_t peer,
+(*serf__validate_response_func_t)(const serf__authn_scheme_t *scheme,
+ peer_t peer,
int code,
serf_connection_t *conn,
serf_request_t *request,