Deleted
Added
nxt_http_parse.c (481:4bfbd8ce0e8a) | nxt_http_parse.c (482:48e1b9d61fbf) |
---|---|
1 2/* 3 * Copyright (C) NGINX, Inc. 4 * Copyright (C) Valentin V. Bartenev 5 */ 6 7#include <nxt_main.h> 8 --- 369 unchanged lines hidden (view full) --- 378 } 379 380 rp->space_in_target = 1; 381 goto rest_of_target; 382 } 383 384 /* " HTTP/1.1\r\n" or " HTTP/1.1\n" */ 385 | 1 2/* 3 * Copyright (C) NGINX, Inc. 4 * Copyright (C) Valentin V. Bartenev 5 */ 6 7#include <nxt_main.h> 8 --- 369 unchanged lines hidden (view full) --- 378 } 379 380 rp->space_in_target = 1; 381 goto rest_of_target; 382 } 383 384 /* " HTTP/1.1\r\n" or " HTTP/1.1\n" */ 385 |
386 if (nxt_slow_path(p[9] != '\r' && p[9] != '\n')) { 387 388 if (p[1] == ' ') { 389 /* surplus space after tartet */ 390 p++; 391 goto space_after_target; 392 } 393 394 rp->space_in_target = 1; 395 goto rest_of_target; 396 } 397 |
|
386 nxt_memcpy(ver.str, &p[1], 8); 387 | 398 nxt_memcpy(ver.str, &p[1], 8); 399 |
388 if (nxt_fast_path((ver.ui64 == http11.ui64 389 || ver.ui64 == http10.ui64 390 || (nxt_memcmp(ver.s.prefix, "HTTP/", 5) == 0 391 && ver.s.major >= '0' && ver.s.major <= '9' 392 && ver.s.point == '.' 393 && ver.s.minor >= '0' && ver.s.minor <= '9')) 394 && (p[9] == '\r' || p[9] == '\n'))) | 400 if (nxt_fast_path(ver.ui64 == http11.ui64 401 || ver.ui64 == http10.ui64 402 || (nxt_memcmp(ver.str, "HTTP/1.", 7) == 0 403 && ver.s.minor >= '0' && ver.s.minor <= '9'))) |
395 { 396 rp->version.ui64 = ver.ui64; 397 398 if (nxt_fast_path(p[9] == '\r')) { 399 p += 10; 400 401 if (nxt_slow_path(p == end)) { 402 return NXT_AGAIN; --- 35 unchanged lines hidden (view full) --- 438 rp->exten.length = rp->path.start + rp->path.length - 439 rp->exten_start; 440 rp->exten.start = rp->exten_start; 441 } 442 443 return nxt_http_parse_field_name(rp, pos, end); 444 } 445 | 404 { 405 rp->version.ui64 = ver.ui64; 406 407 if (nxt_fast_path(p[9] == '\r')) { 408 p += 10; 409 410 if (nxt_slow_path(p == end)) { 411 return NXT_AGAIN; --- 35 unchanged lines hidden (view full) --- 447 rp->exten.length = rp->path.start + rp->path.length - 448 rp->exten_start; 449 rp->exten.start = rp->exten_start; 450 } 451 452 return nxt_http_parse_field_name(rp, pos, end); 453 } 454 |
446 if (p[1] == ' ') { 447 /* surplus space after tartet */ 448 p++; 449 goto space_after_target; | 455 if (nxt_memcmp(ver.s.prefix, "HTTP/", 5) == 0 456 && ver.s.major >= '0' && ver.s.major <= '9' 457 && ver.s.point == '.' 458 && ver.s.minor >= '0' && ver.s.minor <= '9') 459 { 460 return NXT_HTTP_PARSE_UNSUPPORTED_VERSION; |
450 } 451 | 461 } 462 |
452 rp->space_in_target = 1; 453 goto rest_of_target; | 463 return NXT_HTTP_PARSE_INVALID; |
454} 455 456 457static nxt_int_t 458nxt_http_parse_unusual_target(nxt_http_request_parse_t *rp, u_char **pos, 459 u_char *end) 460{ 461 u_char *p, ch; --- 788 unchanged lines hidden --- | 464} 465 466 467static nxt_int_t 468nxt_http_parse_unusual_target(nxt_http_request_parse_t *rp, u_char **pos, 469 u_char *end) 470{ 471 u_char *p, ch; --- 788 unchanged lines hidden --- |