Commit Graph

3390 Commits

Author SHA1 Message Date
dec9e4241d * .gitlab-ci.yml: fix test-pages 2024-05-21 17:17:03 +02:00
6c0eb48f98 * .gitlab-ci.yml (pages): Explicitly clean docs (required to build HTML) 2024-05-21 16:56:16 +02:00
722f725c47 * .gitlab-ci.yml (pages): Explicitly create HTML docs 2024-05-21 16:27:44 +02:00
98b52d946a * .gitlab-ci.yml (pages): Use make-coverage-badge from git source tree 2024-05-21 14:28:56 +02:00
22a00fae27 * .gitlab-ci.yml: Restructuring 2024-05-21 14:17:20 +02:00
769dc861fc * tests/valgrind-suppressions: Drop libgpgme version from suppression 2024-05-21 13:56:10 +02:00
570a022fd2 * tests/Makefile.am: Add suppression files 2024-05-21 13:56:02 +02:00
4d1504aa53 * fuzz/Makefile.am: Add valgrind-suppressions to EXTRA_DIST 2024-05-21 13:55:50 +02:00
b9accafecb * libwget/io.c (getline_internal): Clear memory to not trigger valgrind 2024-05-21 13:55:38 +02:00
e8f1e99c96 Accept --progress=dot:... for backwards compatibility
* src/options.c (parse_progress_type): Fix checking dot options.
* tests/test-wget-1.c: Add check for --progress variants.
2024-05-20 13:19:15 +02:00
97566d051f * Makefile.am: Ignore geninfo errors 2024-05-19 20:18:16 +02:00
de294c8ddf * libwget/ssl_gnutls.c (verify_certificate_callback): Fix gcc warning -Wjump-misses-init 2024-05-19 20:02:31 +02:00
81cf05e1da Move Win32 console save/restore from libwget into wget.c.
* libwget/init.c: Remove Win32 console code.
* src/wget.c: Add Win32 console code.
2024-05-19 19:58:29 +02:00
f4e7c46073 * libwget/ssl_gnutls.c (verify_certificate_callback): Fix 'do not translate debug strings' 2024-05-19 19:36:59 +02:00
543e1f2708 * libwget/ssl_gnutls.c (verify_certificate_callback): Warn about OCSP privacy leak 2024-05-19 19:29:32 +02:00
2b6bd2e190 Windows: handle ctrl+break to restore console modes
* libwget/init.c: Add HandleCtrlEvent(),
  (global_exit): Restore console modes,
  (global_init): Save console modes.

Copyright-paperwork-exempt: Yes
2024-05-19 13:34:30 +02:00
3967c803d4 * .gitlab-ci.yml: Let Valgrind runners use more cores 2024-05-19 13:20:35 +02:00
b5dc13759d * tests/libtest.c: Fix two memleaks 2024-05-19 13:18:19 +02:00
c556a3226a * libwget/ssl_openssl.c (verify_ocsp): Fix segfault when OCSP response is missing 2024-05-19 13:05:11 +02:00
c341fcd1df Disable explicit OCSP requests by default for TLS library functions
* libwget/ssl_openssl: Disable explicit OCSP requests by default.
* libwget/ssl_gnutls: Likewise.
* libwget/ssl_wolfssl.c: Likewise.
2024-05-19 12:46:40 +02:00
6f6632ee45 * .gitlab-ci.yml: Use faster CI runners for MinGW builds 2024-05-18 19:35:53 +02:00
689b708291 * configure.ac: Remove -Wuseless-cast (gcc 14) from manywarnings 2024-05-18 19:33:36 +02:00
24419cd330 * tests/libtest.c: Remove superfluous casts 2024-05-18 19:26:37 +02:00
e309cbcca3 * .gitlab-ci.yml: Remove 'tags' (breaking changes in Gitlab 1.7) 2024-05-18 18:26:08 +02:00
0895f92308 * libwget/ssl_gnutls.c: Improve messages for OCSP stapling 2024-05-18 14:46:07 +02:00
35986bd093 Disable explicit OCSP requests by default
* docs/wget2.md: Document --ocsp default value as 'off'.
* src/options.c (struct config): Disable .ocsp by default.

OCSP validation of the server certificate implies privacy issues:
  - The OCSP request tells the CA which web service the client tries to reach.
  - The OCSP requests are sent via unencrypted HTTP, so every "listener in the
    middle" can see which web service the client tries to connect.
Additionally, the OCSP requests slow down operation and may cause unexpected
network traffic, which may trigger security alarms unnecessarily.

Due to these issues we explicitly disable OCSP by default.
2024-05-18 14:44:53 +02:00
715e646642 Fix tests/test-ocsp-server
* tests/libtest.c: Handle > 1 OCSP responses.
* tests/libtest.h: Rename WGET_TEST_OCSP_RESP_FILE to WGET_TEST_OCSP_RESP_FILES.
* tests/test-ocsp-server.c: Make use of WGET_TEST_OCSP_RESP_FILES.
2024-05-12 19:51:44 +02:00
a96f88a054 -* libwget/ssl_gnutls.c (cert_verify_ocsp): Fix segfault when OCSP response is missing 2024-05-12 19:51:03 +02:00
53a8a88e84 Fix OCSP verification of first intermediate certificate.
* libwget/ssl_gnutls.c (verify_certificate_callback): Fix off-by-one check.

See https://gitlab.com/gnuwget/wget2/-/issues/664#note_1901610438
2024-05-12 15:14:36 +02:00
7929bf887c Allow option --no-tcp-fastopen to work on Linux kernels >= 4.11.
* libwget/net.c (set_socket_options): Add check for tcp->tcp_fastopen.

Copyright-paperwork-exempt: Yes
2024-05-11 18:55:49 +02:00
b06c5012df * src/wget.c (add_statistics): Don't account already downloaded files as error
Co-authored-by: Tim Rühsen <tim.ruehsen@gmx.de>
2024-05-05 12:08:22 +02:00
bb3199fd4a * src/wget.c: Remove trailing space 2024-04-29 20:20:51 +02:00
329d1282ca Limit cases where methods are redirected to GET
* tests/test-spider-r.c: Add new test for redirections with spider
* src/wget.c(process_response_header): Prevent changing the request
  method during a redirection to GET.

Fixes: #660
2024-04-29 19:54:14 +02:00
9bcee4e021 * contrib/check_options: Replace deprecated use of egrep 2024-04-29 18:51:31 +02:00
761ae5082d * libwget/cookie.c (cookie_db_load): Fix return value 2024-04-28 17:37:14 +02:00
235df6545e * libwget/io.c (wget_update_load_fn): Fix parameter name 2024-04-28 17:36:29 +02:00
8ebd0a25f0 Fix --no-clobber + --no-parent including a possible deadlock
* src/wget.c (queue_url_from_local): Move parents handling further up,
  (queue_url_from_remote): Fix check for parse_localfile(),
  (html_parse): Fix locking for known_urls,
  (sitemap_parse_xml): Fix locking for known_urls,
  (add_urls): Fix locking for known_urls.
2024-04-28 13:40:19 +02:00
299d9b9cf9 * src/wget.c (set_file_metadata): Fix http:// to https:// in comment 2024-04-28 12:21:44 +02:00
ac9c84b3ba * src/wget.c (parse_localfile): Fix xattr reading of user.mime_type 2024-04-28 12:20:22 +02:00
04d5e583d2 * src/options.c (struct config): Use 'Wget' as user-agent
Some websites use browser sniffing, and a 'Wget' user agent header
is likely to be more compatible than 'Wget2'.

See https://github.com/rockdaboot/wget2/issues/314
2024-04-27 19:36:38 +02:00
635c7bbf7b * .gitlab-ci.yml: Remove FreeBSD runner 2024-04-27 19:28:23 +02:00
c7301933d2 * gnulib: Update 2024-04-27 19:02:31 +02:00
62ba66116c Fix progress bar for multiple downloads
* libwget/bar.c (wget_bar_slot_begin): Remove numfiles handling,
  (struct bar_slot): Remove member 'numfiles'.

Report: https://github.com/rockdaboot/wget2/issues/307
2024-04-01 18:10:58 +02:00
fbfa096506 * libwget/net.c (wget_tcp_connect): Fix return code on resolve failure 2024-04-01 15:43:45 +02:00
5bd0af6852 Switch some variables from int to bool
* src/plugin.c: Use bool for global variables "initialized" and
  "plugin_help_forwarded".
* src/wget_plugin.h (plugin_db_help_forwarded): Use bool for return type.
2024-03-29 16:10:06 +00:00
25b28e2c1a * libwget/xml.c (xml_context): Add docs to member fields 2024-03-29 12:01:32 +01:00
9aeab55d09 Fix --no-parent for denormalized paths
* libwget/iri.c (wget_iri_parse): Normalize path part of URL.
* unit-tests/test.c (test_iri_parse): Add test with denormalized path.
2024-03-28 18:17:26 +01:00
d55ecc7113 Update gnulib link libraries
* fuzz/Makefile.am: Update gnulib link libraries.
* libwget/Makefile.am: Likewise.
* src/Makefile.am: Likewise.
* tests/Makefile.am: Likewise.
* unit-tests/Makefile.am: Likewise.
2024-03-24 15:58:27 +01:00
1bb48422fd Skip failing OCSP tests with WolfSSL
* tests/test-ocsp-server.c: Skip failing tests.
* tests/test-ocsp-stap.c: Likewise.
2024-03-23 16:03:54 +01:00
75fed2bee4 gnulib: Update 2024-03-23 15:27:06 +01:00