2023-08-31 Tim Rühsen <tim.ruehsen@gmx.de>

     Release v2.1.0

2023-08-31 Tim Rühsen <tim.ruehsen@gmx.de>

     Update copyrights

2023-08-31 Tim Rühsen <tim.ruehsen@gmx.de>

     * libwget/dns.c (resolve): Restrict socket type to SOCK_STREAM on Windows

2023-08-27 Tim Rühsen <tim.ruehsen@gmx.de>

     Fix parsing HTMP/XML entities in URLs from HTML/XML
     
     * libwget/xml.c (wget_xml_decode_entities_inline): Fix decoding of &#dddd; and &#xhhhh;.
     * tests/test-base.c (main): Add test case for &#dddd; and &#xhhhh;.
     
     Reported-by: Michael Roosz

2023-08-13 Ander Juaristi <a@juaristi.eus>

     dns: Return all kinds of socket types available
     
     The resolve() function only returned SOCK_STREAM (TCP) sockets. We lift
     that limitation here, such that it will now return all socket types
     available in the system, both SOCK_STREAM and SOCK_DGRAM. And we let the
     calling function choose the socket type they want. We make this change
     to adapt for the upcoming QUIC code, which works entirely over UDP.
     
      * libwget/dns.c (resolve): Remove SOCK_STREAM constraint, return all
        kinds of sock types available.
      * libwget/net.c (wget_tcp_connect): select SOCK_STREAM socket types
        only
        (tcp_connect): new function to establish TCP connections.

2023-08-14 Mitch Capper <mitch.capper@gmail.com>

     gcc specific C constructor/destructors support for MSVC
     
     * libwget/private.h: Define INITIALIZER to support constructors with MSVC.
     * libwget/dns.c: Use INITIALIZER for library constructor.
     * libwget/http.c: Likewise.
     * libwget/init.c: Likewise.
     * libwget/random.c: Likewise.
     * libwget/ssl_gnutls.c: Likewise.
     * libwget/ssl_openssl.c: Likewise.
     * libwget/ssl_wolfssl.c: Likewise.
     
     Co-authored-by: Tim Rühsen <tim.ruehsen@gmx.e

2023-08-18 Tim Rühsen <tim.ruehsen@gmx.de>

     * AUTHORS: Set Mitch Capper to ASSGN [skip ci]

2023-08-14 Mitch Capper <mitch.capper@gmail.com>

     Add better default cert/bundle paths for Windows
     
     * include/wget/wget.h: New function wget_ssl_default_cert_dir,
       new function wget_ssl_default_ca_bundle_path.
     * libwget/Makefile.am: Add ssl.c.
     * libwget/ssl.c: New file for common ssl/tls code.
     * libwget/ssl_gnutls.c (tls_init): Initialize cert paths.
     * libwget/ssl_openssl.c (tls_init): Likewise.
     * libwget/ssl_wolfssl.c (tls_init): Likewise.
     * src/options.c (struct config): Init ca_cert,
       (init): Allocate / dup config.ca_cert.
     
     Co-authored-by: Tim Rühsen <tim.ruehsen@gmx.d

2023-08-12 Tim Rühsen <tim.ruehsen@gmx.de>

     * src/options.c (print_version): Work around MSVC preprocessor issue

2023-08-14 Mitch Capper <mitch.capper@gmail.com>

     Don't enable debug logging with wolfssl unless defined prior to including the options file
     
     * libwget/ssl_wolfssl.c: Test for DEBUG_WOLFSSL

2023-08-04 Tim Rühsen <tim.ruehsen@gmx.de>

     * .gitlab-ci.yml: New stages

2023-08-05 Tim Rühsen <tim.ruehsen@gmx.de>

     * libwget/io.c (wget_update_file): Fix file name generation for Windows

2023-08-04 Carles Pina i Estany <carles@pina.cat>

     * docs/wget2.md: Wrap short options with backtick
     
     Copyright-paperwork-exempt: Yes

2023-08-04 Carles Pina i Estany <carles@pina.cat>

     * docs/wget2.md: Wrap long options with backtick
     
     Copyright-paperwork-exempt: Yes

2023-08-04 Tim Rühsen <tim.ruehsen@gmx.de>

     * libwget/io.c (wget_update_file): Fix MinGW compilation

2023-08-03 Tim Rühsen <tim.ruehsen@gmx.de>

     * cfg.mk: Disable several new syntax checks

2023-08-03 Tim Rühsen <tim.ruehsen@gmx.de>

     * bootstrap.conf: Call clone_wiki() early to init the wiki submodule

2023-08-03 Tim Rühsen <tim.ruehsen@gmx.de>

     * gnulib: Update (Fixes -Wundef)

2023-08-03 Tim Rühsen <tim.ruehsen@gmx.de>

     * bootstrap: Update

2023-08-03 Tim Rühsen <tim.ruehsen@gmx.de>

     * gnulib: Update

2023-08-03 Tim Rühsen <tim.ruehsen@gmx.de>

     * libwget/ssl_gnutls.c (wget_ssl_init): Check for heap allocation failure

2023-08-03 Tim Rühsen <tim.ruehsen@gmx.de>

     * libwget/http.c (wget_http_send_request): Remove unused variables

2023-08-03 Tim Rühsen <tim.ruehsen@gmx.de>

     * src/wget.c: Silence -Wvla in gnulib regex.h

2023-08-03 Tim Rühsen <tim.ruehsen@gmx.de>

     * libwget/http.c: Replace VLA in http2 code

2023-07-29 Tim Rühsen <tim.ruehsen@gmx.de>

     * configure.ac: Enable VLA warnings

2023-07-31 Tim Rühsen <tim.ruehsen@gmx.de>

     * tests/test-timestamping.c: Replace VLA

2023-07-31 Tim Rühsen <tim.ruehsen@gmx.de>

     * tests/test-include-and-exclude-directories.c: Replace VLA

2023-07-31 Tim Rühsen <tim.ruehsen@gmx.de>

     * tests/test-metalink.c: Replace VLA

2023-07-30 Tim Rühsen <tim.ruehsen@gmx.de>

     * libwget/http.c: Replace VLA

2023-07-30 Tim Rühsen <tim.ruehsen@gmx.de>

     * libwget/hpkp_db.c: Replace VLA

2023-07-30 Tim Rühsen <tim.ruehsen@gmx.de>

     * libwget/hashfile.c: Replace VLA

2023-07-30 Tim Rühsen <tim.ruehsen@gmx.de>

     * libwget/hash_printf.c: Replace VLA

2023-07-30 Tim Rühsen <tim.ruehsen@gmx.de>

     * libwget/bar.c: Replace VLA

2023-07-29 Tim Rühsen <tim.ruehsen@gmx.de>

     * libwget/io.c: Replace VLA

2023-07-29 Tim Rühsen <tim.ruehsen@gmx.de>

     * libwget/iri.c: Replace VLA

2023-07-29 Tim Rühsen <tim.ruehsen@gmx.de>

     * libwget/ocsp.c: Replace VLA

2023-07-29 Tim Rühsen <tim.ruehsen@gmx.de>

     * libwget/tls_session.c: Replace VLA

2023-07-29 Tim Rühsen <tim.ruehsen@gmx.de>

     * libwget/xml.c: Replace VLA

2023-07-29 Tim Rühsen <tim.ruehsen@gmx.de>

     * libwget/ssl_gnutls.c: Replace VLA

2023-07-29 Tim Rühsen <tim.ruehsen@gmx.de>

     * unit-tests/test-parse-html.c: Replace VLA

2023-07-29 Tim Rühsen <tim.ruehsen@gmx.de>

     * src/wget.c: Replace VLA

2023-07-29 Tim Rühsen <tim.ruehsen@gmx.de>

     * unit-tests/test-dl.c: Replace VLA

2023-07-29 Tim Rühsen <tim.ruehsen@gmx.de>

     * unit-tests/test-decompress.c: Replace VLA

2023-07-29 Tim Rühsen <tim.ruehsen@gmx.de>

     * unit-tests/test.c: Replace VLA

2023-07-29 Tim Rühsen <tim.ruehsen@gmx.de>

     * fuzz/main.c: Replace VLA

2023-07-29 Tim Rühsen <tim.ruehsen@gmx.de>

     * src/utils.c: Replace VLA

2023-07-29 Tim Rühsen <tim.ruehsen@gmx.de>

     * tests/libtest.c: Replace VLA

2023-07-09 Tim Rühsen <tim.ruehsen@gmx.de>

     * src/blacklist.c (get_local_filename_real): Replace VLA

2023-07-09 Tim Rühsen <tim.ruehsen@gmx.de>

     Silence -Wvla when including gettext.h
     
     * libwget/private.h: Disable -Wvla for #include <gettext.h>.
     * src/wget_main.h: Likewise.

2023-07-28 Mitch Capper <mitch.capper@gmail.com>

     Enable native VT support on windows (fixes cmdhost etc usages)
     
     * libwget/console.c: New function SetupConsoleHandle(),
       (wget_console_init): Call SetupConsoleHandle().
     * src/wget.c: New function is_tty(),
       (main): Call is_tty() instead of isatty().
     
     disable progress bar if VT mode is not supported (unless force is used)

2023-06-14 Mitch Capper <mitch.capper@gmail.com>

     Fix alternate port requests to proxies
     
     * include/wget/wget.h (wget_http_request_to_buffer): Add param 'port'.
     * libwget/http.c (wget_http_request_to_buffer): Likewise,
       (wget_http_send_request): Call wget_http_request_to_buffer with
       connection port.
     
     Copyright-paperwork-exempt: Yes

2023-06-12 Mitch Capper <mitch.capper@gmail.com>

     * libwget/private.h: Gate GCC pragma to avoid compiler warnings in MSVC
     
     Copyright-paperwork-exempt: Yes

2023-06-13 Mitch Capper <mitch.capper@gmail.com>

     Windows console width detection and update checks
     
     * libwget/utils.c (wget_get_screen_size): Add implementation for _WIN32.
     * src/bar.c (bar_update_thread): Add implementation for _WIN32.
     
     Copyright-paperwork-exempt: Yes
     Co-authored-by: Tim Rühsen <tim.ruehsen@gmx.de

2023-07-09 Mitch Capper <mitch.capper@gmail.com>

     * libwget/bar.c (bar_update_slot): Set filesize = bytes downloaded when completed
     
     Copyright-paperwork-exempt: Yes

2023-06-14 Mitch Capper <mitch.capper@gmail.com>

     bar: Reset filesize and bytes downloaded for one file in the slot
     
     * libwget/bar.c (wget_bar_slot_begin): Reset filesize and bytes_downloaded.
     
     Copyright-paperwork-exempt: Yes

2023-06-14 Mitch Capper <mitch.capper@gmail.com>

     Turn off WOLFSSL debugging if wget debugging is off
     
     * libwget/ssl_wolfssl.c (wget_ssl_init): Call wolfSSL_Debugging_OFF()
       if the debug flag is switched off.
     
     Copyright-paperwork-exempt: Yes

2023-07-08 Tim Rühsen <tim.ruehsen@gmx.de>

     * AUTHORS: Fix

2023-06-14 Mitch Capper <mitch.capper@gmail.com>

     Add a more reliable solution for Windows
     
     Fixes broken downloads on windows when poll returns early.
     
     * libwget/io.c (wget_ready_2_transfer): Call poll_retry on _WIN32,
       (poll_retry): New function.

2023-06-12 Mitch Capper <mitch.capper@gmail.com>

     Use after free fix around output document name (when colliding with existing)
     
     * src/wget.c (get_header): Correctly set dest and name.
     
     Copyright-paperwork-exempt: Yes

2023-06-12 Mitch Capper <mitch.capper@gmail.com>

     In debug mode warn if progress=bar that the info logstream is turned off
     
     * src/wget.c (main): Print info message if info logstream is turned off.
     
     Copyright-paperwork-exempt: Yes

2023-06-12 Mitch Capper <mitch.capper@gmail.com>

     Avoid setting non-supported options to remove log warnings
     
     * src/options.c (init): Avoid superfluous calls to wget_ssl_set_config_int().
     
     Copyright-paperwork-exempt: Yes

2023-07-08 Tim Rühsen <tim.ruehsen@gmx.de>

     * libwget/ssl_wolfssl.c (ShowX509): Fix buffer overflow

2023-06-12 Mitch Capper <mitch.capper@gmail.com>

     WolfSSL: Only log certificate to console when debug is active
     
     * libwget/ssl_wolfssl.c (ShowX509): Check if debug logge ris active.
     
     Copyright-paperwork-exempt: Yes

2023-07-08 Tim Rühsen <tim.ruehsen@gmx.de>

     * libwget/net.c (wget_tcp_connect): Use bool type

2023-06-12 Mitch Capper <mitch.capper@gmail.com>

     Fix wolfssl on windows by passing correct SOCKET descriptor
     
     * libwget/ssl_wolfssl.c: Use FD_TO_SOCKET where needed.
     
     Copyright-paperwork-exempt: Yes

2023-06-12 Mitch Capper <mitch.capper@gmail.com>

     Don't try to set file timestamps on ttys
     
     Avoids errors to console.
     
     * src/wget.c (set_file_mtime): Skip futimens if fd is a TTY.
     
     Copyright-paperwork-exempt: Yes

2023-07-08 Tim Rühsen <tim.ruehsen@gmx.de>

     Improve DNS library initialization
     
     * libwget/dns.c (net_init): Rename to dns_init(),
       (net_exit): Rename to dns_exit(),
       (wget_dns_init): Call dns_init(),
       extend docs,
       (wget_dns_free): Call dns_exit(),
       extends docs.

2023-07-08 Tim Rühsen <tim.ruehsen@gmx.de>

     * .gitlab-ci.yml (Full+VPATH/Debian): Make syntax-check

2023-07-08 Tim Rühsen <tim.ruehsen@gmx.de>

     * docs/announce_template.txt: Fix sc_trailing_blank

2023-07-08 Tim Rühsen <tim.ruehsen@gmx.de>

     * AUTHORS: Fix sc_prohibit_empty_lines_at_EOF

2023-07-08 Tim Rühsen <tim.ruehsen@gmx.de>

     Fix code to silence sc_gettext_printf
     
     * libwget/http.c: Add _() around error messages where missing.
     * libwget/net.c: Likewise.
     * libwget/ssl_gnutls.c: Likewise.
     * libwget/ssl_openssl.c: Likewise.
     * src/wget.c: Likewise.

2023-07-08 Tim Rühsen <tim.ruehsen@gmx.de>

     * cfg.mk: Skip sc_error_message_uppercase

2023-07-08 Tim Rühsen <tim.ruehsen@gmx.de>

     tests/libtest.c (wget_test): Don't use backslash in path for MINGW32

2023-07-02 Tim Rühsen <tim.ruehsen@gmx.de>

     Silence spell checker
     
     * contrib/spell-checker: Add 'anull' to exclude list.
     * libwget/ssl_gnutls.c: Fix verication to verification.
     * src/options.c: Fix pysical to physical.

2023-07-02 Tim Rühsen <tim.ruehsen@gmx.de>

     * src/wget.c (add_urls): Improve recursive RSS/Atom processing

2023-07-01 Tim Rühsen <tim.ruehsen@gmx.de>

     * libwget/net.c (wget_tcp_write): Fix missing argument of print_error()

2023-06-25 Tim Rühsen <tim.ruehsen@gmx.de>

     * libwget/ssl_gnutls.c (check_ocsp_response): Initialize time_t values

2023-06-18 Tim Rühsen <tim.ruehsen@gmx.de>

     Makefile.am (fuzz-coverage): Exchange lcov --directory order

2023-06-18 Tim Rühsen <tim.ruehsen@gmx.de>

     * src/options.c (options[]): Fix arguments for --filter-urls
     
     Reported as https://github.com/rockdaboot/wget2/issues/281 by @troy-daniel

2023-06-18 Tim Rühsen <tim.ruehsen@gmx.de>

     * libwget/ssl_wolfssl.c (wget_ssl_init): Explicitly set SSL_VERIFY_PEER

2023-06-17 Tim Rühsen <tim.ruehsen@gmx.de>

     Add CIDR support in 'no_proxy' for IPv6
     
     * include/wget/wget.h: Fix http_get_no_proxy -> wget_http_get_no_proxy.
     * libwget/http.c: New function cidr_v6_match(),
       check for ipv6 CIDRs in wget_http_match_no_proxy().
     * unit-tests/test.c (test_match_no_proxy): Add IPv6 CIDR tests.

2023-06-03 Tim Rühsen <tim.ruehsen@gmx.de>

     Silence clang-16+ warnings when using manywarnings
     
     * configure.ac: Add -Wno-unsafe-buffer-usage and
       -Wno-cast-function-type-strict to $WARN_CFLAGS

2023-05-29 Brahmajit Das <brahmajit.xyz@gmail.com>

     * libwget/thread.c (wget_thread_self): Fix build issues with clang-16
     
     With clang 16, specially on with musl libc, it would result in an
     incompatible pointer to integer conversion error. As clang 16 has made a
     few options default, including -Wincompatible-function-pointer-types.
     This patch fixes that error.
     
     First discovered on Gentoo's musl llvm profile. Please refer
     https://bugs.gentoo.org/898058.
     
     Signed-off-by: Brahmajit Das <brahmajit.xyz@gmail.com>
     
     Copyright-paperwork-exempt: Yes

2023-05-28 Tim Rühsen <tim.ruehsen@gmx.de>

     * tests/test-parse-css.c (main): Add data url to test

2023-05-28 Tim Rühsen <tim.ruehsen@gmx.de>

     * src/wget.c (queue_url_from_remote): info_printf() instead of debug_printf()

2023-05-22 Tim Rühsen <tim.ruehsen@gmx.de>

     * libwget/decompressor.c: Explicitly include stdint.h before lzlib.h

2023-05-22 Tim Rühsen <tim.ruehsen@gmx.de>

     * libwget/http.c (parse_no_proxies): Skip leading whitespace

2023-03-28 harshmohan07 <code.harshmohan@gmail.com>

     CIDR support added for no_proxy
     
     * libwget/http.c: Add function wget_http_cidr_match to support
       CIDR IP method for no_proxy
     * unit-tests/test.c: Add testcases to verify the functionality
       of the above function
     
     Fixes #615

2023-05-22 Tim Rühsen <tim.ruehsen@gmx.de>

     * configure.ac: Remove -Wstrict-flex-arrays for gcc-13

2023-04-23 Tim Rühsen <tim.ruehsen@gmx.de>

     Use real destination port for DANE verification
     
     * libwget/net.h (struct wget_tcp_st): New member remote_port.
     * libwget/net.c (wget_tcp_connect): Set tcp->remote_port.
     * libwget/ssl_gnutls.c (struct session_context): New member port,
       (wget_ssl_open): Set ctx->port,
       (verify_certificate_callback): Use ctx->port for DANE verification.

2023-04-16 Tim Rühsen <tim.ruehsen@gmx.de>

     Either CA or DANE verification is required

2023-04-15 Tim Rühsen <tim.ruehsen@gmx.de>

     New option --dane
     
     * configure.ac: Enable DANE if libgnutls-dane is installed,
       add option --without-libdane.
     * docs/wget2.md: Add docs for option --dane.
     * include/wget/wget.h: Add WGET_SSL_DANE.
     * libwget/ssl_gnutls.c: Include include <gnutls/dane.h> if requested,
       (struct config): New member 'dane',
       (wget_ssl_set_config_int): Set value for dane via WGET_SSL_DANE,
       (wget_ssl_open): Call dane_verify_session_crt().
     * src/options.c (options): Add entry for --dane,
       (init): Set config.dane via wget_ssl_set_config_int().
     * src/wget_options.h (struct config): Add member 'dane'.

2023-02-22 kuukunen <kuukunen@kuukunen.net>

     Fix accidentally removing fragments when converting links.
     
     * src/wget.c (convert_links): Take the link fragment from the IRI
       instead of blacklist entry.
     
     Copyright-paperwork-exempt: Yes
     
     Fixes #623

2023-01-22 Tim Rühsen <tim.ruehsen@gmx.de>

     Fix duplicate downloads for Link headers with rel=duplicate
     
     * src/wget.c (process_response_header): Remove check for 302+metalink,
       Use highest priority alternative link instead of Location,
       (process_response): Remove rel=duplicate code from metalink check.

2022-12-10 Tim Rühsen <tim.ruehsen@gmx.de>

     * src/wget.c (get_header): Fix segmentation fault (deref NULL)

2022-12-03 Tim Rühsen <tim.ruehsen@gmx.de>

     Add new option --follow-sitemaps
     
     * docs/wget2.md: Add section for --follow-sitemaps.
     * src/options.c (struct config config): Set follow_sitemaps = true,
       (options[]): Add "follow-sitemaps".
     * src/wget.c (process_response): Only parse sitemaps if config.follow_sitemaps is set.

2022-12-03 Tim Rühsen <tim.ruehsen@gmx.de>

     * .gitlab-ci.yml (pages): Remove superfluous semicolons at EOL

2022-12-02 Tim Rühsen <tim.ruehsen@gmx.de>

     * .gitlab-ci.yml: Remove python->python3 symbolic link

2022-12-02 Tim Rühsen <tim.ruehsen@gmx.de>

     Decode numeric XML entities
     
     * libwget/xml.c (wget_xml_decode_entities_inline): Decode numeric entities.
     * tests/test-base.c (main): Add test.

2022-11-06 Tim Rühsen <tim.ruehsen@gmx.de>

     Use CONNECT for https_proxy
     
     * libwget/http.c (establish_proxy_connect): New function,
       (wget_http_open): Use CONNECT method for HTTPS proxying.
     
     Fixes #616

2022-10-31 Tim Rühsen <tim.ruehsen@gmx.de>

     * src/wget.c (queue_url_from_remote): Do some checks earlier

2022-10-31 Tim Rühsen <tim.ruehsen@gmx.de>

     * src/options.c (init): Switch progress bar off when using -o/--output-file

2022-10-31 Tim Rühsen <tim.ruehsen@gmx.de>

     * libwget/ssl_openssl.c (wget_ssl_read_timeout): Check for NULL error msg

2022-10-18 Ander Juaristi <a@juaristi.eus>

     Remove unused fields from vflags

2022-10-18 Ander Juaristi <a@juaristi.eus>

     Fix warnings

2022-10-14 Ander Juaristi <a@juaristi.eus>

     Remove unneeded ex_data indexes

2022-10-09 Ander Juaristi <a@juaristi.eus>

     Fix: Pass per-connection user data to OCSP callback

2022-10-09 Ander Juaristi <a@juaristi.eus>

     Check HPKP at the end

2022-10-09 Ander Juaristi <a@juaristi.eus>

     Fix memory leak

2022-09-30 Ander Juaristi <a@juaristi.eus>

     Rewrite find_issuer_cert
     
      * libwget/ssl_openss.c (find_issuer_cert): rewrite function to make it
        more concise

2022-09-30 Ander Juaristi <a@juaristi.eus>

     Remove unused variables

2022-08-07 Ander Juaristi <a@juaristi.eus>

     Do not request on-line OCSP for stapled responses

2022-08-03 Ander Juaristi <a@juaristi.eus>

     Better way to find issuer cert

2022-09-24 Ander Juaristi <a@juaristi.eus>

     Check OCSP at the end of handshake

2022-10-14 Tim Rühsen <tim.ruehsen@gmx.de>

     Change arguments of wget_iri_compare to const
     
     * include/wget/wget.hi (wget_iri_compare): Add 'const' to arguments.
     * libwget/iri.c (wget_iri_compare): Likewise.

2022-10-14 Tim Rühsen <tim.ruehsen@gmx.de>

     * libwget/hashmap.c (wget_hashmap_clear): Fix memory leak

2022-10-11 Tim Rühsen <tim.ruehsen@gmx.de>

     Extend network error messages with hostname and IP address
     
     * libwget/net.c: New function print_error(),
       new function print_error_host(),
       (wget_tcp_connect): Use new functions for error messages,
       (wget_tcp_read): Likewise,
       (wget_tcp_write): Likewise.

2022-10-11 Tim Rühsen <tim.ruehsen@gmx.de>

     Add host information to tcp structure
     
     * libwget/net.c (wget_tcp_connect): Set tcp.host,
       (wget_tcp_close): Free tcp.host.
     * libwget/net.h (struct wget_tcp_st): Add new member 'host'.

2022-10-03 Tim Rühsen <tim.ruehsen@gmx.de>

     * libwget/buffer_printf.c (read_precision,read_field_width): Use bool arg

2022-10-03 Tim Rühsen <tim.ruehsen@gmx.de>

     * libwget/buffer_printf.c (copy_string): Use strnlen if precision is given

2022-10-03 Tim Rühsen <tim.ruehsen@gmx.de>

     * libwget/buffer_printf.c (read_precision): Remove superfluous initialization

2022-09-24 Tim Rühsen <tim.ruehsen@gmx.de>

     * fuzz/Makefile.am: Add -lz to fuzzer libs

2022-09-04 Tim Rühsen <tim.ruehsen@gmx.de>

     Fix spelling Warmup -> Warm-up
     
     * benchmarks/benches/http1.sh: Likewise
     * benchmarks/benches/http2.sh: Likewise

2022-09-02 Tim Rühsen <tim.ruehsen@gmx.de>

     Introduce XML function to decode entities
     
     * include/wget/wget.h: Add wget_xml_decode_entities_inline().
     * libwget/iri.c (iri_unescape_inline): Remove decoding of XML entities.
     * libwget/xml.c: Add wget_xml_decode_entities_inline().
     * src/wget.c (normalize_uri): Call wget_xml_decode_entities_inline().

2022-08-10 Michael Lee <imichael2e2@gmail.com>

     Support compilation of wget.h from C++
     
     * include/wget/wget.h: Replace restrict with __restrict
     
     Copyright-paperwork-exempt: Yes

2022-07-30 Tim Rühsen <tim.ruehsen@gmx.de>

     * .gitlab-ci.yml (MinGW64): Set CFLAGS to $CFLAGS_DEFAULT

2022-07-30 Tim Rühsen <tim.ruehsen@gmx.de>

     * src/bar.c (bar_deinit): Fix segfault (joining not initialized thread)

2022-07-30 Tim Rühsen <tim.ruehsen@gmx.de>

     * tests/valgrind-suppressions: Suppress memleak in gpgme_data_new_from_mem()

2022-08-07 Tim Rühsen <tim.ruehsen@gmx.de>

     * bootstrap.conf: Remove obsolete module strpbrk

2022-07-23 Tim Rühsen <tim.ruehsen@gmx.de>

     * contrib/spell-checker: Fix some shellcheck issues [skip ci]

2022-07-03 DalmeGNU <dalmemail@gmail.com>

     Implement --check-certificate=quiet
     
     * include/wget/wget.h: Add WGET_SSL_REPORT_INVALID_CERT macro
     * libwget/ssl_gnutls.c: Change certificate related error_printf() calls, for error_printf_check()
     * libwget/ssl_openssl.c: Consider the case WGET_SSL_REPORT_INVALID_CERT in wget_ssl_set_config_int()
     * libwget/ssl_wolfssl.c: Change certificate related error_printf() calls, for error_printf_check()
     * src/options.c: Admit quiet as a valid value on --check-certificate
     * src/wget_options.h: Move check_certificate from bool to an enum type (with enabled, disabled and log_disabled as values)

2022-07-23 Tim Rühsen <tim.ruehsen@gmx.de>

     * libwget/ssl_gnutls.c (verify_certificate_callback): Fix -Werror=dangling-else

2022-07-23 Tim Rühsen <tim.ruehsen@gmx.de>

     * .gitlab-ci.yml (Minimal/Debian): Fix configure flag

2022-07-23 Tim Rühsen <tim.ruehsen@gmx.de>

     * unit-tests/test.c (test_robots): Fix test error message [skip ci]

2022-07-02 Tim Rühsen <tim.ruehsen@gmx.de>

     Handle comments in robots.txt correctly
     
     * libwget/robots.c (wget_robots_parse): Check for # as terminator.
     * unit-tests/test.c (test_robots): Fix tests, add new test for comments.

2022-07-01 Tim Rühsen <tim.ruehsen@gmx.de>

     * libwget/http_highlevel.c (stream_callback): Log 'Failed to fwrite' instead of 'Failed to write'

2022-07-01 Tim Rühsen <tim.ruehsen@gmx.de>

     * libwget/net.c (wget_tcp_write): Log 'Failed to send' instead of 'Failed to write'

2022-07-01 Tim Rühsen <tim.ruehsen@gmx.de>

     Fix status code for 5xx errors
     
     * src/wget.c (process_response_header): Set EXIT_STATUS_REMOTE on 5xx.
     * tests/test-i-https.c: New test to check 503 behavior.
     * tests/test-wget-1.c: Likewise.

2022-06-14 DalmeGNU <dalmemail@gmail.com>

     * libwget/bar.c: Redraw all slots of progress bar when resizing the window
     * libwget/bar.c: Set minimum width to bar decorations size, to avoid crashing when resizing terminal

2022-04-22 Avinash Sonawane <rootkea@gmail.com>

     * fuzz/libwget_http_client_fuzzer.c: Silence clang warning

2022-06-23 Avinash Sonawane <rootkea@gmail.com>

     * .gitlab-ci.yml: Add scan-build for `make check`

2022-04-27 Avinash Sonawane <rootkea@gmail.com>

     Fix wget_buffer_trim() for strings with only whitespaces
     
     * libwget/buffer.c: Don't access `start - 1`
     * unit-tests/test.c: Add tests
     
     Co-authored-by: Tim Rühsen <tim.ruehsen@gmx.de>

2022-04-28 Avinash Sonawane <rootkea@gmail.com>

     Remove redunadnt memcpy() calls and refactor
     
     * libwget/iri.c: Remove redundant memcpy() calls
     * libwget/iri.c: Refactor
     * libwget/dns_cache.c: Refactor

2022-04-27 Avinash Sonawane <rootkea@gmail.com>

     * examples/getstream.c: Initialize array to avoid strduping random memory

2022-04-27 Avinash Sonawane <rootkea@gmail.com>

     * libwget/http_parse.c: Fix sscanf return value check

2022-06-14 Avinash Sonawane <rootkea@gmail.com>

     * unit-tests/test.c (check): Exit if any of the basic tests fail
     
     Found-by: scan-build

2022-06-25 Tim Rühsen <tim.ruehsen@gmx.de>

     * unit-tests/test.c (test_buffer): Add new test

2022-04-28 Avinash Sonawane <rootkea@gmail.com>

     Refactor and fix code formatting
     
     * libwget/vector.c: Refactor
     * libwget/xml.c: Refactor
     * tests/test-include-and-exclude-directories.c: Refactor
     * tests/libtest.c: Fix code formatting

2022-04-28 Avinash Sonawane <rootkea@gmail.com>

     Remove redundant checks and update docs
     
     * libwget/list.c (wget_list_remove): Remove redundant checks
     * libwget/list.c (docs): Specify that it's a circular doubly linked list

2022-04-27 Avinash Sonawane <rootkea@gmail.com>

     * libwget/cookie.c: Don't call memset if cookie_db arg is NULL

2022-04-27 Avinash Sonawane <rootkea@gmail.com>

     Remove memset() calls
     
     * examples/batch_loader.c (main): Likewise
     * examples/check_url_types.c (main): Likewise
     * libwget/metalink.c (add_file_hash): Likewise
     * src/wget.c (program_init): Likewise

2022-04-21 Avinash Sonawane <rootkea@gmail.com>

     * .gitignore: Ignore all executables in libwget/

2022-06-25 Tim Rühsen <tim.ruehsen@gmx.de>

     * examples/Makefile.am: Remove linking of libgnu.la

2022-06-25 Tim Rühsen <tim.ruehsen@gmx.de>

     * Add -Wno-declaration-after-statement to clang-14+ manywarnings

2022-06-18 Tim Rühsen <tim.ruehsen@gmx.de>

     * src/wget.c (convert_links): Remove unused loop variable

2022-06-18 Tim Rühsen <tim.ruehsen@gmx.de>

     * configure.ac: Add -Wno-declaration-after-statement to clang-15 manywarnings

2022-06-18 Tim Rühsen <tim.ruehsen@gmx.de>

     * configure.ac: Drop -Wc90-c99-compat -Wlong-long from manywarnings (gcc-12)

2022-06-12 Tim Rühsen <tim.ruehsen@gmx.de>

     * docs/wget2.md (--progress): Fix the docs for --progress

2022-06-12 Tim Rühsen <tim.ruehsen@gmx.de>

     * src/options.c (parse_progress_type): Improve Wget compatibility

2022-06-12 Tim Rühsen <tim.ruehsen@gmx.de>

     * src/options.c (config): Use PROGRESS_TYPE_BAR as default

2022-06-12 Tim Rühsen <tim.ruehsen@gmx.de>

     Add defines for PROGRESS_TYPE_(BAR|NONE)
     
     * src/bar.c: Make use of PROGRESS_TYPE defines.
     * src/wget.c: Likewise.
     * src/wget_bar.h: Define PROGRESS_TYPE_BAR and PROGRESS_TYPE_NONE.

2022-06-12 Tim Rühsen <tim.ruehsen@gmx.de>

     * docs/wget2.md: Fix .wgetrc to .wget2rc

2022-05-27 Tim Rühsen <tim.ruehsen@gmx.de>

     * docs/announce_template.txt: New file [skip ci]

2022-05-27 Tim Rühsen <tim.ruehsen@gmx.de>

     * .gitlab-ci.yml: Fix pages

2022-05-27 Tim Rühsen <tim.ruehsen@gmx.de>

     Release v2.0.1

2022-05-27 Tim Rühsen <tim.ruehsen@gmx.de>

     * .gitlab-ci.yml: Move static wget2.exe to https://gnuwget.gitlab.io/wget2/wget2.exe

2022-05-27 Tim Rühsen <tim.ruehsen@gmx.de>

     * libwget/ssl_openssl.c (wget_ssl_open): Silence sc_useless_cpp_parens

2022-05-21 Tim Rühsen <tim.ruehsen@gmx.de>

     * libwget/iri.c (wget_iri_get_escaped_resource): Fix escaping space in query part
     
     Examples and explanation in https://gitlab.com/gnuwget/wget/-/issues/10

2022-05-08 Tim Rühsen <tim.ruehsen@gmx.de>

     * .gitlab-ci.yml: mkdir public for static MinGW build

2022-05-08 Tim Rühsen <tim.ruehsen@gmx.de>

     * .gitlab-ci.yml: mkdir /public for static MinGW build

2022-05-08 Tim Rühsen <tim.ruehsen@gmx.de>

     * .gitlab-ci.yml: unset CC for MinGW static

2022-05-08 Tim Rühsen <tim.ruehsen@gmx.de>

     i* .gitlab-ci.yml: Fix MinGW static build

2022-05-08 Tim Rühsen <tim.ruehsen@gmx.de>

     * .gitlab-ci.yml: Build static wget2.exe
     
     The static exe should be available from
       https://gnuwget.gitlab.io/wget2/wget2-latest.exe

2022-04-03 Tim Rühsen <tim.ruehsen@gmx.de>

     * src/wget.c (downloader_thread): Only set EXIT_STATUS_NETWORK on error for the try

2022-04-03 Tim Rühsen <tim.ruehsen@gmx.de>

     Add tests for --level
     
     * tests/Makefile.am: Add test-level.c.
     * tests/test-level.c: New file with tests for --level.

2022-04-03 Tim Rühsen <tim.ruehsen@gmx.de>

     * tests/test-robots.c (main): Add a test for --no-robots

2022-04-03 Tim Rühsen <tim.ruehsen@gmx.de>

     * src/wget.c (add_urls): Amend info message

2022-03-11 Tim Rühsen <tim.ruehsen@gmx.de>

     * libwget/ssl_openssl.c (wget_ssl_open): Check for X509_CHECK_FLAG_NEVER_CHECK_SUBJECT (introduced in OpenSSL >= 1.1)

2022-03-05 Tim Rühsen <tim.ruehsen@gmx.de>

     Disable building manylibs by default
     
     * .gitlab-ci.yml: Add --enable-manylibs to Full tests.
     * configure.ac: --disable-manylibs is default.

2022-03-05 Tim Rühsen <tim.ruehsen@gmx.de>
