summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander M Pickering <alex@cogarr.net>2024-11-11 15:28:11 -0600
committerAlexander M Pickering <alex@cogarr.net>2024-11-11 15:28:11 -0600
commitfa8da3513615d2a2feda7cce294f056078437ba6 (patch)
treea897bd2251101258e358ebed0ddc958537081e81
parent70d3399b58a8b4d8a5206bb82ed45c6933e83346 (diff)
downloadbusybox-w32-packaging-fa8da3513615d2a2feda7cce294f056078437ba6.tar.gz
busybox-w32-packaging-fa8da3513615d2a2feda7cce294f056078437ba6.tar.bz2
busybox-w32-packaging-fa8da3513615d2a2feda7cce294f056078437ba6.zip
More error reporting
-rw-r--r--libressl.patch64
1 files changed, 40 insertions, 24 deletions
diff --git a/libressl.patch b/libressl.patch
index d8a5430..d10206f 100644
--- a/libressl.patch
+++ b/libressl.patch
@@ -135,7 +135,7 @@ index 9f1dd67ec..7e8da6df2 100644
135 static void tls_xwrite(tls_state_t *tls, int len) 135 static void tls_xwrite(tls_state_t *tls, int len)
136 { 136 {
137diff --git a/networking/wget.c b/networking/wget.c 137diff --git a/networking/wget.c b/networking/wget.c
138index 6a64836fb..33d5ff2d5 100644 138index 6a64836fb..99d0233ba 100644
139--- a/networking/wget.c 139--- a/networking/wget.c
140+++ b/networking/wget.c 140+++ b/networking/wget.c
141@@ -169,7 +169,11 @@ 141@@ -169,7 +169,11 @@
@@ -305,7 +305,7 @@ index 6a64836fb..33d5ff2d5 100644
305 /*G.content_len = 0; - redundant, got_clen = 0 is enough */ 305 /*G.content_len = 0; - redundant, got_clen = 0 is enough */
306 G.got_clen = 0; 306 G.got_clen = 0;
307 G.chunked = 0; 307 G.chunked = 0;
308@@ -1229,37 +1300,58 @@ static void download_one_url(const char *url) 308@@ -1229,37 +1300,59 @@ static void download_one_url(const char *url)
309 309
310 /* Open socket to http(s) server */ 310 /* Open socket to http(s) server */
311 #if ENABLE_FEATURE_WGET_OPENSSL 311 #if ENABLE_FEATURE_WGET_OPENSSL
@@ -330,16 +330,17 @@ index 6a64836fb..33d5ff2d5 100644
330+ servername = xstrdup(host); 330+ servername = xstrdup(host);
331+ ctx = tls_client(); 331+ ctx = tls_client();
332+ if(ctx == NULL) 332+ if(ctx == NULL)
333+ bb_error_msg_and_die("Out of memory 1"); 333+ bb_error_msg_and_die("Out of memory 1");
334+ struct tls_config *config; 334+ struct tls_config *config;
335+ config = tls_config_new(); 335+ config = tls_config_new();
336+ if(config == NULL) 336+ if(config == NULL)
337+ bb_error_msg_and_die("Out of memory 2"); 337+ bb_error_msg_and_die("Out of memory 2");
338+ if(tls_configure(ctx,config) != 0) 338+ if(tls_configure(ctx,config) != 0)
339+ bb_error_msg_and_die("Failed to configure client"); 339+ bb_error_msg_and_die("Failed to configure client");
340+ sfp = tmpfile(); 340+ sfp = tmpfile();
341+ dfp = tmpfile(); 341+ dfp = tmpfile();
342+ tls_connect_fds(ctx, dfp, sfp, servername); 342+ if(tls_connect_fds(ctx, dfp, sfp, servername) != 0)
343+ bb_error_msg_and_die("Failed to connect: %s", tls_error(ctx));
343+ tls_config_free(config); 344+ tls_config_free(config);
344+ free(allocated); 345+ free(allocated);
345+ free(servername); 346+ free(servername);
@@ -377,7 +378,7 @@ index 6a64836fb..33d5ff2d5 100644
377 /* Send HTTP request */ 378 /* Send HTTP request */
378 if (use_proxy) { 379 if (use_proxy) {
379 SENDFMT(sfp, "GET %s://%s/%s HTTP/1.1\r\n", 380 SENDFMT(sfp, "GET %s://%s/%s HTTP/1.1\r\n",
380@@ -1270,6 +1362,7 @@ static void download_one_url(const char *url) 381@@ -1270,6 +1363,7 @@ static void download_one_url(const char *url)
381 (option_mask32 & WGET_OPT_POST) ? "POST" : "GET", 382 (option_mask32 & WGET_OPT_POST) ? "POST" : "GET",
382 target.path); 383 target.path);
383 } 384 }
@@ -385,7 +386,7 @@ index 6a64836fb..33d5ff2d5 100644
385 if (!USR_HEADER_HOST) 386 if (!USR_HEADER_HOST)
386 SENDFMT(sfp, "Host: %s\r\n", target.host); 387 SENDFMT(sfp, "Host: %s\r\n", target.host);
387 if (!USR_HEADER_USER_AGENT) 388 if (!USR_HEADER_USER_AGENT)
388@@ -1280,6 +1373,7 @@ static void download_one_url(const char *url) 389@@ -1280,6 +1374,7 @@ static void download_one_url(const char *url)
389 */ 390 */
390 SENDFMT(sfp, "Connection: close\r\n"); 391 SENDFMT(sfp, "Connection: close\r\n");
391 392
@@ -393,7 +394,7 @@ index 6a64836fb..33d5ff2d5 100644
393 #if ENABLE_FEATURE_WGET_AUTHENTICATION 394 #if ENABLE_FEATURE_WGET_AUTHENTICATION
394 if (target.user && !USR_HEADER_AUTH) { 395 if (target.user && !USR_HEADER_AUTH) {
395 SENDFMT(sfp, "Proxy-Authorization: Basic %s\r\n"+6, 396 SENDFMT(sfp, "Proxy-Authorization: Basic %s\r\n"+6,
396@@ -1291,6 +1385,7 @@ static void download_one_url(const char *url) 397@@ -1291,6 +1386,7 @@ static void download_one_url(const char *url)
397 } 398 }
398 #endif 399 #endif
399 400
@@ -401,7 +402,7 @@ index 6a64836fb..33d5ff2d5 100644
401 if (G.beg_range != 0 && !USR_HEADER_RANGE) 402 if (G.beg_range != 0 && !USR_HEADER_RANGE)
402 SENDFMT(sfp, "Range: bytes=%"OFF_FMT"u-\r\n", G.beg_range); 403 SENDFMT(sfp, "Range: bytes=%"OFF_FMT"u-\r\n", G.beg_range);
403 404
404@@ -1300,6 +1395,7 @@ static void download_one_url(const char *url) 405@@ -1300,6 +1396,7 @@ static void download_one_url(const char *url)
405 fputs(G.extra_headers, sfp); 406 fputs(G.extra_headers, sfp);
406 } 407 }
407 408
@@ -409,7 +410,7 @@ index 6a64836fb..33d5ff2d5 100644
409 if (option_mask32 & WGET_OPT_POST_FILE) { 410 if (option_mask32 & WGET_OPT_POST_FILE) {
410 int fd = xopen_stdin(G.post_file); 411 int fd = xopen_stdin(G.post_file);
411 G.post_data = xmalloc_read(fd, NULL); 412 G.post_data = xmalloc_read(fd, NULL);
412@@ -1314,15 +1410,18 @@ static void download_one_url(const char *url) 413@@ -1314,15 +1411,18 @@ static void download_one_url(const char *url)
413 ); 414 );
414 } 415 }
415 # if ENABLE_PLATFORM_MINGW32 416 # if ENABLE_PLATFORM_MINGW32
@@ -428,7 +429,7 @@ index 6a64836fb..33d5ff2d5 100644
428 } else 429 } else
429 # else 430 # else
430 SENDFMT(sfp, 431 SENDFMT(sfp,
431@@ -1338,6 +1437,7 @@ static void download_one_url(const char *url) 432@@ -1338,6 +1438,7 @@ static void download_one_url(const char *url)
432 SENDFMT(sfp, "\r\n"); 433 SENDFMT(sfp, "\r\n");
433 } 434 }
434 435
@@ -436,12 +437,27 @@ index 6a64836fb..33d5ff2d5 100644
436 fflush(sfp); 437 fflush(sfp);
437 438
438 /* Tried doing this unconditionally. 439 /* Tried doing this unconditionally.
439@@ -1358,14 +1458,23 @@ static void download_one_url(const char *url) 440@@ -1345,27 +1446,38 @@ static void download_one_url(const char *url)
441 */
442 #if SSL_SUPPORTED
443 if (target.protocol == P_HTTPS) {
444+ printf("wget download_one_url 26-2\n");
445 /* If we use SSL helper, keeping our end of the socket open for writing
446 * makes our end (i.e. the same fd!) readable (EAGAIN instead of EOF)
447 * even after child closes its copy of the fd.
448 * This helps:
449 */
450 shutdown(fileno(sfp), SHUT_WR);
451+ printf("wget download_one_url 26-3\n");
452 }
453 #endif
454
455+ rewind(dfp);
456+ sfp = dfp;
457 /*
440 * Retrieve HTTP response line and check for "200" status code. 458 * Retrieve HTTP response line and check for "200" status code.
441 */ 459 */
442 read_response: 460 read_response:
443+ rewind(dfp);
444+ sfp = dfp;
445+ printf("wget download_one_url 27\n"); 461+ printf("wget download_one_url 27\n");
446 fgets_trim_sanitize(sfp, " %s\n"); 462 fgets_trim_sanitize(sfp, " %s\n");
447+ printf("wget download_one_url 27-1\n"); 463+ printf("wget download_one_url 27-1\n");
@@ -460,7 +476,7 @@ index 6a64836fb..33d5ff2d5 100644
460 switch (status) { 476 switch (status) {
461 case 0: 477 case 0:
462 case 100: 478 case 100:
463@@ -1441,6 +1550,7 @@ However, in real world it was observed that some web servers 479@@ -1441,6 +1553,7 @@ However, in real world it was observed that some web servers
464 /* 480 /*
465 * Retrieve HTTP headers. 481 * Retrieve HTTP headers.
466 */ 482 */
@@ -468,7 +484,7 @@ index 6a64836fb..33d5ff2d5 100644
468 while ((str = get_sanitized_hdr(sfp)) != NULL) { 484 while ((str = get_sanitized_hdr(sfp)) != NULL) {
469 static const char keywords[] ALIGN1 = 485 static const char keywords[] ALIGN1 =
470 "content-length\0""transfer-encoding\0""location\0"; 486 "content-length\0""transfer-encoding\0""location\0";
471@@ -1497,6 +1607,7 @@ However, in real world it was observed that some web servers 487@@ -1497,6 +1610,7 @@ However, in real world it was observed that some web servers
472 goto establish_session; 488 goto establish_session;
473 } 489 }
474 } 490 }
@@ -476,7 +492,7 @@ index 6a64836fb..33d5ff2d5 100644
476 // if (status >= 300) 492 // if (status >= 300)
477 // bb_error_msg_and_die("bad redirection (no Location: header from server)"); 493 // bb_error_msg_and_die("bad redirection (no Location: header from server)");
478 494
479@@ -1514,6 +1625,7 @@ However, in real world it was observed that some web servers 495@@ -1514,6 +1628,7 @@ However, in real world it was observed that some web servers
480 496
481 free(lsa); 497 free(lsa);
482 498
@@ -484,7 +500,7 @@ index 6a64836fb..33d5ff2d5 100644
484 if (!(option_mask32 & WGET_OPT_SPIDER)) { 500 if (!(option_mask32 & WGET_OPT_SPIDER)) {
485 if (G.output_fd < 0) 501 if (G.output_fd < 0)
486 G.output_fd = xopen(G.fname_out, G.o_flags); 502 G.output_fd = xopen(G.fname_out, G.o_flags);
487@@ -1536,6 +1648,7 @@ However, in real world it was observed that some web servers 503@@ -1536,6 +1651,7 @@ However, in real world it was observed that some web servers
488 /* ftpcmd("QUIT", NULL, sfp); - why bother? */ 504 /* ftpcmd("QUIT", NULL, sfp); - why bother? */
489 } 505 }
490 #endif 506 #endif
@@ -492,7 +508,7 @@ index 6a64836fb..33d5ff2d5 100644
492 fclose(sfp); 508 fclose(sfp);
493 509
494 free(server.allocated); 510 free(server.allocated);
495@@ -1544,11 +1657,13 @@ However, in real world it was observed that some web servers 511@@ -1544,11 +1660,13 @@ However, in real world it was observed that some web servers
496 free(target.user); 512 free(target.user);
497 free(fname_out_alloc); 513 free(fname_out_alloc);
498 free(redirected_path); 514 free(redirected_path);
@@ -506,7 +522,7 @@ index 6a64836fb..33d5ff2d5 100644
506 #if ENABLE_FEATURE_WGET_LONG_OPTIONS 522 #if ENABLE_FEATURE_WGET_LONG_OPTIONS
507 static const char wget_longopts[] ALIGN1 = 523 static const char wget_longopts[] ALIGN1 =
508 /* name, has_arg, val */ 524 /* name, has_arg, val */
509@@ -1590,6 +1705,7 @@ IF_DESKTOP( "no-parent\0" No_argument "\xf0") 525@@ -1590,6 +1708,7 @@ IF_DESKTOP( "no-parent\0" No_argument "\xf0")
510 #endif 526 #endif
511 527
512 INIT_G(); 528 INIT_G();
@@ -514,7 +530,7 @@ index 6a64836fb..33d5ff2d5 100644
514 530
515 #if ENABLE_FEATURE_WGET_TIMEOUT 531 #if ENABLE_FEATURE_WGET_TIMEOUT
516 G.timeout_seconds = 900; 532 G.timeout_seconds = 900;
517@@ -1626,6 +1742,8 @@ IF_DESKTOP( "no-parent\0" No_argument "\xf0") 533@@ -1626,6 +1745,8 @@ IF_DESKTOP( "no-parent\0" No_argument "\xf0")
518 IF_FEATURE_WGET_LONG_OPTIONS(, &G.post_data) 534 IF_FEATURE_WGET_LONG_OPTIONS(, &G.post_data)
519 IF_FEATURE_WGET_LONG_OPTIONS(, &G.post_file) 535 IF_FEATURE_WGET_LONG_OPTIONS(, &G.post_file)
520 ); 536 );
@@ -523,7 +539,7 @@ index 6a64836fb..33d5ff2d5 100644
523 #if 0 /* option bits debug */ 539 #if 0 /* option bits debug */
524 if (option_mask32 & WGET_OPT_RETRIES) bb_error_msg("-t NUM"); 540 if (option_mask32 & WGET_OPT_RETRIES) bb_error_msg("-t NUM");
525 if (option_mask32 & WGET_OPT_nsomething) bb_error_msg("-nsomething"); 541 if (option_mask32 & WGET_OPT_nsomething) bb_error_msg("-nsomething");
526@@ -1670,6 +1788,7 @@ IF_DESKTOP( "no-parent\0" No_argument "\xf0") 542@@ -1670,6 +1791,7 @@ IF_DESKTOP( "no-parent\0" No_argument "\xf0")
527 } 543 }
528 #endif 544 #endif
529 545
@@ -531,7 +547,7 @@ index 6a64836fb..33d5ff2d5 100644
531 G.output_fd = -1; 547 G.output_fd = -1;
532 G.o_flags = O_WRONLY | O_CREAT | O_TRUNC | O_EXCL; 548 G.o_flags = O_WRONLY | O_CREAT | O_TRUNC | O_EXCL;
533 if (G.fname_out) { /* -O FILE ? */ 549 if (G.fname_out) { /* -O FILE ? */
534@@ -1691,8 +1810,11 @@ IF_DESKTOP( "no-parent\0" No_argument "\xf0") 550@@ -1691,8 +1813,11 @@ IF_DESKTOP( "no-parent\0" No_argument "\xf0")
535 } 551 }
536 } 552 }
537 553