Fixed URI normalization with merge_slashes switched off.
Previously, "/foo///../bar" was normalized into "/foo/bar"
instead of "/foo//bar".
Maxim Dounin
2 years ago
1470 | 1470 | case '/': |
1471 | 1471 | case '?': |
1472 | 1472 | case '#': |
1473 | u -= 5; | |
1473 | u -= 4; | |
1474 | 1474 | for ( ;; ) { |
1475 | 1475 | if (u < r->uri.data) { |
1476 | 1476 | return NGX_HTTP_PARSE_INVALID_REQUEST; |
1574 | 1574 | u--; |
1575 | 1575 | |
1576 | 1576 | } else if (state == sw_dot_dot) { |
1577 | u -= 5; | |
1577 | u -= 4; | |
1578 | 1578 | |
1579 | 1579 | for ( ;; ) { |
1580 | 1580 | if (u < r->uri.data) { |