gen_test_char.c

Checkout Tools
  • last updated 5 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Provide TEST_CHAR marco in test_char.h

For (internal) usage outside server/util.c, mod_log_forensic for now

and mod_cache (T_HTTP_TOKEN_STOP) in a few...

  1. … 2 more files in changeset.

Dropped the never-released ap_has_cntrls() as it had very limited

and inefficient application at that, added ap_scan_vchar_obstext()

to accomplish a similar purpose.

Dropped HttpProtocolOptions StrictURL option, this will be better

handled in the future with a specific directive and perhaps multiple

levels of scrutiny, use ap_scan_vchar_obstext() to simply ensure there

are no control characters or whitespace within the URI.

Changed the scanning of the response header table by check_headers()

to follow the same rulesets as reading request headers. Disallow any

CTL character within a response header value, and any CTL or whitespace

in response header field name, even in strict mode.

Apply HttpProtocolOptions Strict to chunk header parsing, invalid

whitespace is invalid, line termination must follow CRLF convention.

  1. … 5 more files in changeset.
Review of IE 11, Firefox 48 and Chrome 53 all indicate that ';' URI characters

are transmitted unencoded, per RFC3986 section 3.3 grammer. Correct httpd's

behavior to not encode ';' in proxied URI's or Location: response headers.

  1. … 1 more file in changeset.
Yann is correct, % is distinct from reserved and unreserved
Surpress noise about syntax
Introduce StrictURI|UnsafeURI for RFC3986 enforcement
  1. … 7 more files in changeset.
After lengthy investigation with covener's assistance, it seems we cannot

use a static table. We cannot change this to dynamic use of the local iconv

without build changes to avoid such use on cross-platform builds.

I'm satisfied if we trust iscntrl to at least catch all the most lethal

C0 Ctrls (we are promised it catches bad carriage control/line endings)

and leave this in the short term with an XXX to revisit at a future time.

The token stop never needed this table, because we can use the affirmative

list of token characters to define it.

Generally, the cart comes before the horse, this mirrors apr_lib.h
Resolve Netware (and other arch) build error for non-portable isascii()
A band-aid to resolve an immediate IBM MVS'ism
Fix spelling in comments and text files.

No functional change.

PR 59990

  1. … 69 more files in changeset.
Replacement solution to identify VCHAR/ASCII symbols, even in EBCDIC.

Looking for someone with an EBCDIC environment to post the output of

the test_char.h generated file for verification.

Friendly catch by Rüdiger, restore line mis-removed by the previous commit
Leave an emphatic TODO per Jeff's observations
Introduce T_HTTP_CTRLS for efficiently finding non-text chars
Be more explicit about NUL in case iscntrl is inconsistent
Correct T_HTTP_TOKEN_STOP per RFC2068 (2.2) - RFC7230 (3.2.6),

which has always defined 'token' as CHAR or VCHAR - visible USASCII only.

NUL char is also a stop, end of parsing.

Improve legibility of reviewing the generated table, using hex rather than dec
Fixed position of the NEED_ENHANCED_ESCAPES define.

This define should be outside of the else case so that it

gets also defined if we cross-compile for Win32 or OS2.

mod_include: Add support for application/x-www-form-urlencoded encoding

and decoding.

  1. … 6 more files in changeset.
Small cleanup and macro rename to make clearer for what it is.

Bring back OS/2 support.

Reverses r758929 with a little bit of conflict resolution.

  1. … 37 more files in changeset.
removed useless comments added with r795438.

enabled building gen_test_char for running on build when cross-compiling;

this does not change code for any platform unless CROSS_COMPILE is defined.

remove OS/2 platform support

  1. … 31 more files in changeset.
gen_test_char: add double-quote to the list of T_HTTP_TOKEN_STOP.

PR: 9727

Submitted by: Ville Skytt <ville.skytta iki.fi>

  1. … 1 more file in changeset.
update license header text
  1. … 316 more files in changeset.
Update the copyright year in all .c, .h and .xml files

  1. … 497 more files in changeset.
No functional Change: Removing trailing whitespace. This also

means that "blank" lines consisting of just spaces or

tabs are now really blank lines

  1. … 180 more files in changeset.
Update copyright year to 2005 and standardize on current copyright owner line.

  1. … 522 more files in changeset.