* 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.
* tests/Makefile.am: add tests/test-interrupt-response test
* tests/libtest.c (_callback_interruptable, _answer_to_connection):
add interruptable response callback, enable in wget_test_url_t
settings
* tests/libtest.h: added interrupt_response_mode and
interrupt_response_after_nbytes to wget_test_url_t
* tests/test-interrupt-response.c: add test for interruptable
responses and interrupt of responses while timestamping active
* src/options.c: Add --convert-file-only handling
* src/wget_options.h (config): Add bool convert_file_only
* src/wget.c (html_parse): conversions initialized when
convert_file_only is set
(main): Call convert_links when config.convert_file_only
(convert_links): move conversion logic to convert_link_whole and
convert_link_file_only
New function convert_link_whole: convert whole URL
New function convert_link_file_only: convert filename part of URLs
* tests/test-convert-file-only.c: testcase for --convert-file-only
with -E
* tests/Makefile.am: add test-convert-file-only object
* docs/wget2.md: Removed [unimplemented-option] from
--convert-file-only
* configure.ac: Add -Wno-nullability-extension -Wno-nullability-completeness to WARN_CFLAGS
* include/wget/wget.h: Add CLANG_VERSION_AT_LEAST,
fix attribute defines for clang,
make use of attributes by using static inline functions for wget allocation,
define NULLABLE for clang
* libwget/xalloc.c: Rename wget allocation function pointers
* src/options.c: Likewise
* unit-tests/test.c: Likewise
* tests/Makefile.am: Loading post-handshake-auth test
* tests/libtest.c:
Added execution of 'WGET_TEST_POST_HANDSHAKE_AUTH' key.
Value: other than 0 (Check for post handshake authentication)
Value: 0 (Don't check)
* tests/libtest.h: Defined 'WGET_TEST_POST_HANDSHAKE_AUTH'
* tests/test-post-handhshake-auth.c: Added to test post handshake authentication support
* src/wget.c: Modified to stop redownload if document already exists
* tests/test-p-nc.c: Added test for '-p -nc'
* tests/Makefile.am: Modified to include test-p-nc.c while testing.
Fixes#209
* docs/wget2.md: Add docs for -I/--include-directories=list
and -X/--exclude-directories=list
* src/options.c: New function _strchrnul_esc(),
new function _strmemdup_esc(),
(parse_stringlist_expand): Use new functions from above,
new function set_char_prefix(), parse_included_directories()
and parse_excluded_directories,
(options): add exclude-directories and --include-directories
* src/wget.c: New functions match_subdir() and in_directory_pattern_list(),
(add_url): check if path matches directory patterns,
(_prepare_file): add new param 'path',
* src/wget_options.h (struct config): Add member 'exclude_directories'
* tests/Makefile.am: Add 'test-include-and-exclude-directories'
* tests/test-include-and-exclude-directories.c: New file
* src/options.c: Add debug lines, fix exit_status to exit_status_t
* src/wget_options.h: Amend prototype of get_exit_status()
* tests/test--https-enforce-soft2.c: New test
* tests/test--https-enforce-soft3.c: New test
* tests/Makefile.am: Add new tests
* src/wget.c (_fallback_to_http): Skip robotstxt jobs
* tests/libtest.c: New option WGET_TEST_HTTPS_REJECT_CONNECTIONS
for wget_test_start_server()
* .gitlab-ci.yml: export LSAN_OPTIONS=suppression=...
* tests/Makefile.am: Add suppression file to TESTS_ENVIRONMENT
* tests/clang-asan-suppressions: New file with leak suppression
getaddrinfo_a() has leak(s) that we have to suppress when using
the address sanitizer.
* docs/wget2.md: Added documentation for new '--verify-save-failed'
* src/gpgme.c: Exposed function to determine base downloaded file from
signature JOB.
* src/options.c: Added '--verify-save-failed' to allow users to keep downloaded
files that fail validation.
* src/wget.c: Logic for unlinking signatures, and files failing validation.
* src/wget_gpgme.c: Declaration for new function that determine base downloaded
files.
* tests/Makefile.am: Added New test code, fixed missing SOURCES.
* tests/gpg-test-util.h: Conditionally expect a saved base file if exit
code == 0, never expect a saved signature file.
* tests/test-gpg-save-failed.c: A test that tests the '--verify-save-failed'
flag.
* tests/test-gpg-style.s: Remove signature file from expected output.
Added flag '--verify-save-failed' to disable the "fail delete" behavior.
* Makefile.am: Remove data/ from SUBDIRS
* configure.ac: Remove data/Makefile from AC_CONFIG_FILES
* tests/Makefile.am: Remove WGET_DATADIR from DEFS
* unit-tests/Makefile.am: Likewise
* data/effective_tld_names.dat: Move to unit-tests/files/public_suffix_list.dat
and update from upstream
* unit-tests/test.c (test_cookies): Use public_suffix_list.dat
* src/stats.c: Site stats output contains relevant GPG signature information
* stc/wget.c: Now exits with just a generic GPG error if any sigs fail validation.
More information presented in --site-stats output.
* src/wget_host.h: Added signature information to DOC struct.
* src/wget_options.h: Removed old exit codes in favor of single GPG error exit code.
* tests/Makefile.am: Added test-gpg-bad to Makefile
* tests/gpg/helloworld.txt.bad.sig: A corrupted signature (I just deleted a byte somewhere)
* tests/test-gpg-bad.c: A test for a bad (corrupted) signature.
* tests/test-gpg-invalid.c: Changed exit code to the single GPG error exit code.
* src/wget_options.h: Define a new option, --signature-extension
* src/options.c: Guard the SECTION_GPG in help_section_t with ifdef's.
Set new option as a string and give it a default value
* src/wget.c(process_response): Use the value in config.sig_ext to
decide the extension of the signature file
* tests/Makefile.am: Add new tests to Makefile
* tests/test-gpg-styles.c: New test file
* bootstrap.conf: Add canonicalize module.
* cfg.mk: Added exclusions to no new line at EOF for binary files used in tests.
* configure.ac: Check for libgpgme
* docs/wget2_manual.md: Added manual entries for --verify-sig, --gnupg-homedir, and new exit codes.
* fuzz/Makefile.am: Amend linker options
* include/wget/wget.h: Add error codes for GPG signature verification.
* po/POTFILES.in: Add new files.
* src/Makefile.am: Add src/gpgme.c and src/wget_gpgme.h
* src/gpgme.c: Using new error codes, and better signature verification failure detection.
* src/job.c (job_free): Free sig_filename
* src/options.c: Add new options --gnupg-homedir and --verify-sig
* src/wget.c: Verify the signature if possible, exit with the proper status code,
print error messages
* src/wget_gpgme.h: Add documentation.
* src/wget_job.h: Extend struct JOB
* src/wget_options.h: Add new status codes, add new members to struct config
* tests/Makefile.am: Added new tests.
* tests/gpg-test-util.h: Common GPG testing functionality (tries to verify a signature, expects exit code ... etc).
* tests/gpg/helloworld.txt: Text that has been signed in the .sig files.
* tests/gpg/helloworld.txt.{invalid,no-pub,missing,trusted}.sig: Signatures on helloworld.txt with properties described by their names.
* tests/gpg/openpgp-revocs.d/*: Revocation certs for the fake "homedir"
* tests/gpg/private-keys-v1.d/*: The not-so-private private keys used to sign the test file.
* tests/gpg/pubring.kbx: Fake gnupg homedir public key ring.
* tests/gpg/test-gpg-*.c: Tests.
* tests/valgrind-supressions: Supress failures due to oddness with GPGME.
* unit-tests/Makefile.am: Add src/gpgme.o to BASE_OBJS