* 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
* 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.
* src/wget.c (convert_link_file_only): Use wget_debug_printf instead of wget_info_printf,
(convert_links): Add fragment.
* tests/test-k.c: Add fragment to test.
* src/wget.c (convert_link_whole): Use wget_iri_escape_path() instead of wget_buffer_strcat().
* tests/test-k.c (main): Add test of URL with query part including escaped characters.
* src/blacklist.c (get_local_filename): Remove static from definition.
* src/wget_blacklist.h (get_local_filename): Add declaration.
* src/wget.c (process_response): Use get_local_filename() to process
the filename from Content-Disposition,
(get_header): Likewise.
* tests/Makefile.am: Add new test file test-directory-prefix.c.
* tests/test-directory-prefix.c: New test file.
* libwget/xml.c (getHTMLValue): New function.
(getValue): Call getHTMLValue if parsing HTML.
* tests/test-base.c: Use an unquoted HREF value to trigger the new code.
This changes configure semantics to fail if no TLS library
is found and no --with-ssl=none was explicitly requested.
It protects users from accidentally building without TLS.
* .gitlab-ci.yml: Tarball build using --with-ssl=none.
* configure.ac: Stop with error if no TLS was found and --with-ssl
was not used.
* tests/libtest.c: Fix issues with conditionally declared variables.
This commit enables the test `test-ocsp-stap`
It was previously skipped for OpenSSL since OCSP stapling was not
yet implemented in OpenSSL.
This commit also modifies these tests to pass the --no-ocsp-date flag to
wget2.
* tests/test-ocsp-stap.c (main): remove ifdef clause; pass
--no-ocsp-date flag.
Since the OCSP tests use the same certificate chain for both the OCSP server and
the HTTPS server, the 'serverAuth' flags needs to be added, in addition to the OCSP flags.
OpenSSL will refuse to run a TLS handshake for HTTPS if that flag is not present.
* tests/certs/ocsp/demoCA/*, tests/certs/ocsp/*.pem: change testing certificates
* tests/certs/ocsp/ocsp_resp_revoked.der,
tests/certs/ocsp/ocsp_stapled_resp.der
tests/certs/ocsp/ocsp_resp_ok.der: update OCSP responses to contain
the new certificates
* tests/certs/ocsp/interm.cnf: add the serverAuth extension
* tests/certs/ocsp/root-template.txt: likewise
This patch modifies `configure.ac` to support GnuTLS, OpenSSL and wolfSSL as the SSL/TLS backends.
Either of these can be enabled at compile time the `configure` switch `--with-ssl`. Example:
./configure --with-ssl=openssl
If `--with-ssl` is omitted, the default behavior will be to build with GnuTLS if available, and without
TLS if not. TLS can be explicitly disabled with `--without-ssl`.
Regardless of which specific backend has been selected, the TLS and OCSP tests will always be built with GnuTLS,
as that is the only backend currently supported in the test suite.
It renames the constant `HAVE_GNUTLS_OCSP_H` to a more generic `WITH_OCSP`, that captures
the notion that OCSP has been enabled at compile-time, hiding the specific backend.
Changed files
* configure.ac: honor --with-ssl option, but keep on testing for GnuTLS
for the test suite.
* libwget/ssl_gnutls.c: replace HAVE_GNUTLS_OCSP_H with WITH_OCSP
* libwget/ssl_openssl.c: likewise
* tests/libtest.c: replace HAVE_GNUTLS_OCSP_H with WITH_OCSP.
Check for WITH_GNUTLS_IN_TESTSUITE.