summaryrefslogtreecommitdiff
path: root/ot_http.c
diff options
context:
space:
mode:
authorDirk Engling <erdgeist@erdgeist.org>2026-10-26 18:13:27 +0100
committerDirk Engling <erdgeist@erdgeist.org>2026-10-26 18:13:27 +0100
commit78c3cebc389a2b0d426d74900a65b8656edb426d (patch)
tree122003fecc6b53c2dde6393896a852e3689900ff /ot_http.c
parent6837c5ac80e3624c6dc3a82d03e50d68b2f5a989 (diff)
Third run of making variable and function names more readable, integer scans and ip parsers
Diffstat (limited to 'ot_http.c')
-rw-r--r--ot_http.c23
1 files changed, 12 insertions, 11 deletions
diff --git a/ot_http.c b/ot_http.c
index 6c3332c..3c135cb 100644
--- a/ot_http.c
+++ b/ot_http.c
@@ -482,7 +482,8 @@ static ot_keywords keywords_announce[] = {{"port", 1}, {"left", 2}, {"event",
482static ot_keywords keywords_announce_event[] = {{"completed", 1}, {"stopped", 2}, {NULL, -3}}; 482static ot_keywords keywords_announce_event[] = {{"completed", 1}, {"stopped", 2}, {NULL, -3}};
483static ssize_t http_handle_announce(const int64_t sock, struct ot_workstruct *ws, char *read_ptr) { 483static ssize_t http_handle_announce(const int64_t sock, struct ot_workstruct *ws, char *read_ptr) {
484 size_t numwant; 484 size_t numwant;
485 int tmp, scanon; 485 int64_t tmp;
486 int scanon;
486 unsigned short port = 0; 487 unsigned short port = 0;
487 char *write_ptr; 488 char *write_ptr;
488 ssize_t len; 489 ssize_t len;
@@ -501,7 +502,7 @@ static ssize_t http_handle_announce(const int64_t sock, struct ot_workstruct
501 if (accesslist_is_blessed(cookie->ip, OT_PERMISSION_MAY_PROXY)) { 502 if (accesslist_is_blessed(cookie->ip, OT_PERMISSION_MAY_PROXY)) {
502 ot_ip6 proxied_ip; 503 ot_ip6 proxied_ip;
503 char *fwd = http_header(ws->request, ws->header_size, "x-forwarded-for"); 504 char *fwd = http_header(ws->request, ws->header_size, "x-forwarded-for");
504 if (fwd && ip_scan(fwd, proxied_ip)) { 505 if (fwd && ip_parse(fwd, proxied_ip)) {
505 OT_SETIP(ws->peer, proxied_ip); 506 OT_SETIP(ws->peer, proxied_ip);
506 } else 507 } else
507 OT_SETIP(ws->peer, cookie->ip); 508 OT_SETIP(ws->peer, cookie->ip);
@@ -529,15 +530,15 @@ static ssize_t http_handle_announce(const int64_t sock, struct ot_workstruct
529 break; 530 break;
530 case 1: /* matched "port" */ 531 case 1: /* matched "port" */
531 len = urlencoded_parse(&read_ptr, write_ptr = read_ptr, SCAN_SEARCHPATH_VALUE); 532 len = urlencoded_parse(&read_ptr, write_ptr = read_ptr, SCAN_SEARCHPATH_VALUE);
532 if ((len <= 0) || scan_fixed_int(write_ptr, len, &tmp) || (tmp > 0xffff)) 533 if ((len <= 0) || scan_int(write_ptr, len, &tmp) || (tmp > 0xffff))
533 HTTPERROR_400_PARAM; 534 HTTPERROR_400_PARAM;
534 port = htons(tmp); 535 port = htons((uint16_t)tmp);
535 OT_SETPORT(&ws->peer, &port); 536 OT_SETPORT(&ws->peer, &port);
536 break; 537 break;
537 case 2: /* matched "left" */ 538 case 2: /* matched "left" */
538 if ((len = urlencoded_parse(&read_ptr, write_ptr = read_ptr, SCAN_SEARCHPATH_VALUE)) <= 0) 539 if ((len = urlencoded_parse(&read_ptr, write_ptr = read_ptr, SCAN_SEARCHPATH_VALUE)) <= 0)
539 HTTPERROR_400_PARAM; 540 HTTPERROR_400_PARAM;
540 if (scan_fixed_int(write_ptr, len, &tmp)) 541 if (scan_int(write_ptr, len, &tmp))
541 tmp = 0; 542 tmp = 0;
542 if (!tmp) 543 if (!tmp)
543 OT_PEERFLAG(&ws->peer) |= PEER_FLAG_SEEDING; 544 OT_PEERFLAG(&ws->peer) |= PEER_FLAG_SEEDING;
@@ -558,17 +559,17 @@ static ssize_t http_handle_announce(const int64_t sock, struct ot_workstruct
558 break; 559 break;
559 case 4: /* matched "numwant" */ 560 case 4: /* matched "numwant" */
560 len = urlencoded_parse(&read_ptr, write_ptr = read_ptr, SCAN_SEARCHPATH_VALUE); 561 len = urlencoded_parse(&read_ptr, write_ptr = read_ptr, SCAN_SEARCHPATH_VALUE);
561 if ((len <= 0) || scan_fixed_int(write_ptr, len, &tmp)) 562 if ((len <= 0) || scan_int(write_ptr, len, &tmp))
562 HTTPERROR_400_PARAM; 563 HTTPERROR_400_PARAM;
563 if (tmp < 0) 564 if (tmp < 0)
564 tmp = 50; 565 tmp = 50;
565 if (tmp > 200) 566 if (tmp > 200)
566 tmp = 200; 567 tmp = 200;
567 numwant = tmp; 568 numwant = (size_t)tmp;
568 break; 569 break;
569 case 5: /* matched "compact" */ 570 case 5: /* matched "compact" */
570 len = urlencoded_parse(&read_ptr, write_ptr = read_ptr, SCAN_SEARCHPATH_VALUE); 571 len = urlencoded_parse(&read_ptr, write_ptr = read_ptr, SCAN_SEARCHPATH_VALUE);
571 if ((len <= 0) || scan_fixed_int(write_ptr, len, &tmp)) 572 if ((len <= 0) || scan_int(write_ptr, len, &tmp))
572 HTTPERROR_400_PARAM; 573 HTTPERROR_400_PARAM;
573 if (!tmp) 574 if (!tmp)
574 HTTPERROR_400_COMPACT; 575 HTTPERROR_400_COMPACT;
@@ -587,7 +588,7 @@ static ssize_t http_handle_announce(const int64_t sock, struct ot_workstruct
587 char *tmp_buf1 = ws->reply, *tmp_buf2 = ws->reply + 16; 588 char *tmp_buf1 = ws->reply, *tmp_buf2 = ws->reply + 16;
588 len = urlencoded_parse(&read_ptr, tmp_buf2, SCAN_SEARCHPATH_VALUE); 589 len = urlencoded_parse(&read_ptr, tmp_buf2, SCAN_SEARCHPATH_VALUE);
589 tmp_buf2[len] = 0; 590 tmp_buf2[len] = 0;
590 if ((len <= 0) || !ip_scan(tmp_buf2, tmp_buf1)) 591 if ((len <= 0) || !ip_parse(tmp_buf2, tmp_buf1))
591 HTTPERROR_400_PARAM; 592 HTTPERROR_400_PARAM;
592 OT_SETIP(&ws->peer, tmp_buf1); 593 OT_SETIP(&ws->peer, tmp_buf1);
593 } break; 594 } break;
@@ -609,13 +610,13 @@ static ssize_t http_handle_announce(const int64_t sock, struct ot_workstruct
609 loglist_reset(); 610 loglist_reset();
610 return ws->reply_size = sprintf(ws->reply, "Successfully removed.\n"); 611 return ws->reply_size = sprintf(ws->reply, "Successfully removed.\n");
611 } 612 }
612 parsed = ip_scan(tmp_buf, net.address); 613 parsed = ip_parse(tmp_buf, net.address);
613 if (!parsed) 614 if (!parsed)
614 HTTPERROR_400_PARAM; 615 HTTPERROR_400_PARAM;
615 if (tmp_buf[parsed++] != '/') 616 if (tmp_buf[parsed++] != '/')
616 bits = 128; 617 bits = 128;
617 else { 618 else {
618 parsed = scan_udec(tmp_buf + parsed, &value, 128); 619 parsed = scan_uint(tmp_buf + parsed, &value, 128);
619 if (!parsed) 620 if (!parsed)
620 HTTPERROR_400_PARAM; 621 HTTPERROR_400_PARAM;
621 bits = (signed short)value; 622 bits = (signed short)value;