http_protocol.h

Checkout Tools
  • last updated 2 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Revert r1869222, wrong files committed.
  1. … 3 more files in changeset.
mod_proxy_http: follow up to r1869216.

Let's call stream_reqbody() for all rb_methods, no RB_SPOOL_CL special case.

This both simplifies code and allows to keep EOS into the input_brigade until

it's sent, and thus detect whether we already fetched the whole body if/when

proxy_http_handler() re-enters for different balancer members.

[reverted by r1869223]

  1. … 3 more files in changeset.
Axe ap_rgetline_core(), not used anymore.

  1. … 4 more files in changeset.
http: add ap_fgetline() and AP_GETLINE_NONBLOCK flag.

It allows to read a line directly from an input filter, in blocking mode

or not. Since no request_rec is needed, a pool may be given.

Existing ap_[r]getline() function are now based off ap_fgetline() by calling:

ap_fgetline(s, n, read, r->proto_input_filters, flags, bb, r->pool);

Will follow up with a new ap_get_mime_headers_*() flavor which can be used by

any filter that needs non-blocking and not necessarily has a request_rec (e.g.

ap_http_filter() to read proxied response trailers).

  1. … 2 more files in changeset.
core: Add and handle AP_GETLINE_NOSPC_EOL flag in ap_rgetline_core().

This tells the ap_getline() family of functions to consume the end of line

when the buffer is exhausted.

PR 62198.

  1. … 3 more files in changeset.
Fix some doxygen comment
CVE-2017-3167: add documentation to ap_get_basic_auth_pw()

Now that we've released, add clarifying comments to the now-deprecated

API.

core: deprecate and replace ap_get_basic_auth_pw

*) core: Deprecate ap_get_basic_auth_pw() and add

ap_get_basic_auth_components().

Submitted By: Emmanuel Dreyfus <manu netbsd.org>, Jacob Champion, Eric Covener

CVEID: CVE-2017-3167

  1. … 4 more files in changeset.
http: Allow unknown response status' lines returned in the form of:

HTTP/x.x xxx Status xxx

  1. … 2 more files in changeset.
New optional flag to enforce <CR><LF> line delimiters in ap_[r]getline,

created by overloading 'int fold' (1 or 0) as 'int flags', with the same

value 1 for AP_GETLINE_FOLD (which httpd doesn't use), and a new value

2 for AP_GETLINE_CRLF

Enforce CRLF when HttpProtocolOptions Strict is in force.

Correctly introduces a new t/TEST fail.

  1. … 2 more files in changeset.
Fix a small doxygen issue
added AP_DECLARE for new ap_create_request
core: Split ap_create_request() from ap_read_request()

  1. … 4 more files in changeset.
* include/http_protocol.h: Tweak wording.

first request on master connection only reports more preferred protocols in Upgrade header
  1. … 2 more files in changeset.
announce protocol choices on first request
  1. … 3 more files in changeset.
new ap_is_allowed_protocol() for testing configured protocols, added H2Upgrade on/off directive, changed H2Direct default back to on when h2c is in Protocols
  1. … 8 more files in changeset.
improvements in ap_select_protocol(), supplied by yann ylavic
  1. … 1 more file in changeset.
changed Protocols default to http/1.1 only, updated documentation, changed ap_select_protocol() to return NULL when no protocol could be agreed upon
  1. … 4 more files in changeset.
Allowing protocol_propose hooks to be called with offers=NULL, clarifying semantics as proposed by chaosed0@gmail.com
  1. … 1 more file in changeset.
adding ap_get_protocol(c) which safeguards against NULL returns, for use instead of direct calling ap_run_protocol_get
  1. … 5 more files in changeset.
new Protocols directive and core API changes to enable protocol switching on HTTP Upgrade or ALPN, implemented in mod_ssl and mod_h2
  1. … 37 more files in changeset.
Correct typo in comments for ap_map_http_request_error().

ap_rputs() silently truncated size_t to int, resulting in 130+ warnings

when building httpd and a rich set of modules on Windows.

core: Stop the HTTP_IN filter from attempting to write error buckets

to the output filters, which is bogus in the proxy case. Create a

clean mapping from APR codes to HTTP status codes, and use it where

needed.

  1. … 11 more files in changeset.
core, mod_cache: Ensure RFC2616 compliance in ap_meets_conditions()

with weak validation combined with If-Range and Range headers. Break

out explicit conditional header checks to be useable elsewhere in the

server. Ensure weak validation RFC compliance in the byteranges filter.

Ensure RFC validation compliance when serving cached entities. PR 16142

  1. … 6 more files in changeset.
fix comment typo

Typo fix
bad header info: ap_rflush does not return the number of bytes flushed, it returns 0 on success, -1 on error.
Rename ap_func_attr_* macros to AP_FN_ATTR_*

Add macro for attribute alloc_size on newer gcc's

  1. … 6 more files in changeset.