The official NGINX Open Source repository.
Go to file
Maxim Dounin fee09fc49d Core: escaping of chars not allowed in URIs per RFC 3986.
Per RFC 3986 only the following characters are allowed in URIs unescaped:

unreserved    = ALPHA / DIGIT / "-" / "." / "_" / "~"
gen-delims    = ":" / "/" / "?" / "#" / "[" / "]" / "@"
sub-delims    = "!" / "$" / "&" / "'" / "(" / ")"
              / "*" / "+" / "," / ";" / "="

And "%" can appear as a part of escaping itself.  The following
characters are not allowed and need to be escaped: %00-%1F, %7F-%FF,
" ", """, "<", ">", "\", "^", "`", "{", "|", "}".

Not escaping ">" is known to cause problems at least with MS Exchange (see
http://nginx.org/pipermail/nginx-ru/2010-January/031261.html) and in
Tomcat (ticket #2191).

The patch adds escaping of the following chars in all URI parts: """, "<",
">", "\", "^", "`", "{", "|", "}".  Note that comments are mostly preserved
to outline important characters being escaped.
2021-06-28 18:01:11 +03:00
auto Configure: fixed --test-build-epoll on FreeBSD 13. 2021-04-05 20:14:16 +03:00
conf MIME: added application/wasm type (ticket #1606). 2021-05-08 20:31:03 +03:00
contrib Contrib: vim syntax, update core and 3rd party module directives. 2021-05-30 12:26:00 +03:00
docs nginx-1.21.0-RELEASE 2021-05-25 15:28:55 +03:00
misc Updated OpenSSL used for win32 builds. 2021-03-30 17:44:36 +03:00
src Core: escaping of chars not allowed in URIs per RFC 3986. 2021-06-28 18:01:11 +03:00
.hgtags release-1.21.0 tag 2021-05-25 15:28:56 +03:00