2024-11-10  Darshit Shah  <darnir@gnu.org>

	version 1.25.0
	* NEWS: Record release date.

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

	* NEWS: Update for release 1.25.0

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

	Fix CVE-2024-10524 (drop support for shorthand URLs)
	* doc/wget.texi: Add documentation for removed support for shorthand URLs.
	* src/html-url.c (src/html-url.c): Call maybe_prepend_scheme.
	* src/main.c (main): Likewise.
	* src/retr.c (getproxy): Likewise.
	* src/url.c: Rename definition of rewrite_shorthand_url to maybe_prepend_scheme,
	  add new function is_valid_port.
	* src/url.h: Rename declaration of rewrite_shorthand_url to maybe_prepend_scheme.

	Reported-by: Goni Golan <gonig@jfrog.com>

2024-11-10  Darshit Shah  <darnir@gnu.org>

	* contrib/make-release: Fix missing variables

	* doc/wget.texi: Document the new non-blocking read feature

	Revert "* configure.ac: Remove searching for makeinfo (breaks doc/ build)"
	This reverts commit 04053a7c1e31ec848d503282d510c99545b6ae16.

2024-11-10  Darshit Shah  <darnir@gnu.org>

	Fix a static analysis false positive
	Clang's static analyzer believes that it is possible for a realloc
	request to return NULL. However, the `xrealloc` implementation used
	in Wget will trigger a program crash if enough memory couldn't be
	found. I'm not sure why the analyzer isn't able to see that. But let's
	pacify it by asserting here that xrealloc will always return a non-null

	 * src/wget.h (DO_REALLOC): Assert that xrealloc will always return
	   non-null

2024-11-10  Darshit Shah  <darnir@gnu.org>

	Fix returning uninitialized variable
	* src/retr.c (retrieve_from_file): Remove a dead store to status
	  (retrieve_from_url_list): Initialize status to a default of RETROK

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

	* fuzz/wget_options_fuzzer.c: Work around issue "multiple definition of getaddrinfo"

2024-11-10  Darshit Shah  <darnir@gnu.org>

	Fix build error on MingW
	Gnulib does not currently implement the `F_GETFL` and `F_SETFL` flags on
	mingw. As a result building Wget failed on Windows. We don't currently
	have a good solution to this problem and Windows users of Wget will not
	get the new functionality of non-blocking file I/O reads. The current
	solution is simply to provide a Windows specific no-op stub

	 * src/mswindows.c (set_fd_nonblocking): Provide an empty stub function
	   for Windows systems
	 * src/mswindows.h (set_fd_nonblocking): Export the function so it is
	   available in util.c where it is needed
	 * src/util.c (set_fd_nonblocking): New function to set a fd as
	   O_NONBLOCK on non-Windows, non-MSDOS systems
	   (wget_read_from_file): Split the O_NONBLOCK code into
	   set_fd_nonblocking and make all file I/O non-blocking, not just stdin

2024-11-10  Sam James  <sam@gentoo.org>  (tiny change)

	init: fix -Warray-bounds in setval_internal_tilde
	>= GCC 12 reports an instance of -Warray-bounds in setval_internal_tilde
	with the default -DNDEBUG:
	```
	In function ‘setval_internal_tilde’,
	    inlined from ‘run_wgetrc’ at init.c:710:16:
	init.c:940:17: error: array subscript [0, 167] is outside array bounds of ‘const struct <anonymous>[168]’ [-Werror=array-bounds=]
	  940 |   if (((commands[comind].action == cmd_file) ||
	      |         ~~~~~~~~^~~~~~~~
	init.c: In function ‘run_wgetrc’:
	init.c:135:3: note: while referencing ‘commands’
	  135 | } commands[] = {
	      |   ^~~~~~~~
	```

	setval_internal_tilde calls setval_internal and stores the result in ret;
	setval_internal *does* check for if comind is out-of-bounds, but we only
	check that *after* dereferencing commands[comind]. Swap the order in the
	if() to fix that so we only dereference if we know it's safe.

	ChangeLog:

		* src/init.c (setval_internal_tilde): Check 'ret' earlier.

2024-11-10  Darshit Shah  <darnir@gnu.org>

	src/utils.h: Include wget.h before stdlib.h
	* src/utils.h: wget.h includes config.h which should be included before
	    any other header files. So swap the order of includes

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

	* README: Replace FSF address with URL

	* configure.ac: Remove searching for makeinfo (breaks doc/ build)

	* bootstrap: Update from gnulib

	* gnulib: Update

	* src/http.c (http_loop): Remove unused code

	* configure.ac: Drop -Wc99-c11-compat and -Wuseless-cast for manywarnings

2024-11-01  Tim Rühsen  <tim.ruehsen@gmx.de>

	* Makefile.am: Fix check-coverage from tarball

	* Makefile.am: Fix creating coverage reports

	* .gitlab-ci.yml: Remove tags to fix CI

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

	* src/utils.c (compile_posix_regex): Remove redundant casts

2024-10-27  Tim Rühsen  <tim.ruehsen@gmx.de>

	* src/utils.h (strlcpy): Use restrict keywords

	* src/hash.c: Include config.h in STANDALONE mode

2024-06-09  Tim Rühsen  <tim.ruehsen@gmx.de>

	* src/http.c (http_loop): Fix memory leak

	* src/retr.c (retrieve_from_url_list): Fix memory leak

2024-06-02  Tim Rühsen  <tim.ruehsen@gmx.de>

	* src/retr.c (retrieve_from_file): Fix memleak

	* src/warc.c (warc_close): Fix memleak

	* src/warc.c (warc_start_new_file): Simplify code

	* src/httpc.c (http_loop): Fix memleak

	* src/init.c (cleanup): Do not close stdout on exit

	* src/iri.c (do_conversion): Initialize memory from realloc()

	* src/warc.c (warc_write_end_record): Check warc_write_ok (fix use-after-free)"

	* src/wget.h (DO_REALLOC): Initialize realloc'ed memory to help valgrind

	* src/utils.c (run_with_timeout): Set SIGALRM handler before setjmp() (reported by valgrind)

	* fuzz/wget_options_fuzzer.c: Fix indentation

2024-06-02  Tim Rühsen  <tim.ruehsen@gmx.de>

	Properly re-implement userinfo parsing (rfc2396)
	* src/url.c (url_skip_credentials): Properly re-implement userinfo parsing (rfc2396)

	The reason why the implementation is based on RFC 2396, an outdated standard,
	is that the whole file is based on that RFC, and mixing standard here might be
	dangerous.

2024-05-24  Tim Rühsen  <tim.ruehsen@gmx.de>

	* fuzz/Makefile.am (oss-fuzz): Add -lgmp

2024-05-12  Darshit Shah  <darnir@gnu.org>

	Support continious reading from stdin pipes
	Rather than reading from stdin only once, leave the pipe open until the
	other end closes it and keep reading from the file after each set of
	URLs is read

	* src/html-url.h(get_urls_file): Update prototype to add additional
	  param
	* src/html-url.c(get_urls_file): Pass through read_again to
	  wget_read_from_file.
	* src/retr.c(retrieve_from_file): Split the function into two. Introduce
	  `retrieve_from_url_list` that actually performs the retrieval.
	  Also, if `url_list` returns that the fd has been left open, then
	  continue reading from it until the fd is closed.
	  (retrieve_from_url_list): New function that does the retrieval from
	  a list of URLs that was read from a file.
	* src/utils.c(wget_read_from_file): Rename old function `wget_read_file`
	  to this.
	  Accept an additional output parameter that states whether the fd was
	  left open and if we should continue reading from it after the current
	  set of URLs have been processed
	  (wget_read_file): Write it as a new wrapper function around
	  `wget_read_from_file` to maintain API comptability across other users

2024-04-27  Tim Rühsen  <tim.ruehsen@gmx.de>

	* gnulib: Update

2024-04-20  Tim Rühsen  <tim.ruehsen@gmx.de>

	Update gnulib link libraries
	* fuzz/Makefile.am: Update gnulib link libraries.
	* src/Makefile.am: Likewise.
	* tests/Makefile.am: Likewise.

2024-04-16  Sam James  <sam@gentoo.org>  (tiny change)

	Fix libproxy build with --disable-debug
	The definition of debug_logprintf in src/log.c is guarded by ENABLE_DEBUG
	(although its prototype is unconditionally available in src/log.h).

	The uses of debug_logprintf in src/retr.c aren't guarded by ENABLE_DEBUG.

	Use the DEBUGP macro which is designed for this purpose.

	* src/retr.c (getproxy): Use DEBUGP macro.

	Fixes: https://gitlab.com/gnuwget/wget/-/issues/19

2024-03-16  Darshit Shah  <darnir@gnu.org>

	Add a new testcase for pathconf truncation
	* testenv/Test-recursive-pathmax.py: Add a new testcase. This test tries
	  to check that Wget allows downloading long filenames as far as allowed
	  by the OS and filesystem.

2024-03-11  Darshit Shah  <darnir@gnu.org>

	* contrib/make-release: Automatically build and update online documentation

2024-03-10  Darshit Shah  <darnir@gnu.org>

	* contrib/make-release: More minor fixes

	maint: post-release administrivia
	* NEWS: Add header line for next release.
	* .prev-version: Record previous version.
	* cfg.mk (old_NEWS_hash): Auto-update.

	version 1.24.5
	* NEWS: Record release date.

	* contrib/make-release: Some more release management

	* NEWS: Update the noteworthy NEWS

	* bootstrap.conf: Organize alphabetically

	* gnulib: Update to the latest version

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

	Remove obsolete Travis CI files
	* .travis.yml: Remove.
	* contrib/travis-ci: Remove.

2024-02-24  Tim Rühsen  <tim.ruehsen@gmx.de>

	Fix HSTS matching
	* src/hsts.c (hsts_find_entry): Check for includeSubdomains,
	  (test_hsts_new_entry): Fix test,
	  (test_hsts_url_rewrite_superdomain): Improve test.

	Reported-by: Hanno Böck <hanno@hboeck.de

2024-02-19  Darshit Shah  <darnir@gnu.org>

	Delete some redundant tests
	* tests/Makefile.am: Remove some tests that are redundant with the
	  Python testenv
	* tests/Test-auth-basic.px: Delete file
	* tests/Test-auth-no-challenge.px: Same
	* tests/Test-auth-no-challenge-url.px: Same
	* tests/Test-auth-retcode.px: Same
	* tests/Test-auth-with-content-disposition.px: Same
	* tests/Test-k.px: Same

	* Makefile.am: Ignore some lcov errors, allowing the tests to run through

	* README: Add a link to the COPYING file to meet the GNU Coding Standards

	* bootstrap: Update script from gnulib

	* gnulib: Update gnulib

	* Update copyright year to 2024

2024-02-19  Darshit Shah  <git@darnir.net>

	Add tests for --convert-links option
	* testenv/Makefile.am: Add two new tests, Test-k.py and Test-https-k.py
	* testenv/Test-k.py: New file. Add a test based on tests/Test-k.px
	* testenv/Test-https-k.py: New file. Add a new test to ensure that the
	  protocol of the original host URL is retained when creatign absolute
	  links.

	This test is added as a result of an issue reported on StackExchange:
	https://superuser.com/questions/1348940/making-wgets-convert-links-respect-http-vs-https

2024-02-19  Darshit Shah  <git@darnir.net>

	* testenv/conf/expected_files.py: Aesthetic changes only. Format file with black

	* testenv/conf/expected_files.py: Nicer diff printing on error

2024-02-18  Darshit Shah  <darnir@gnu.org>

	* SECURITY.md: Add a file stating how to report security issues

2024-01-27  Tim Rühsen  <tim.ruehsen@gmx.de>

	Parse 'srcset' HTML attr for 'source' HTML tag.
	* src/html-url.c (struct known_tag): Use tag_handle_img() for 'source' tag.
	* testenv/Test-recursive-include.py: Extend test.

2023-11-26  Tim Rühsen  <tim.ruehsen@gmx.de>

	* src/netrc.c (parse_netrc_fp): Add fetchmail compatibility (user and passwd)
	Reported-by: Gerald Pfeifer <gerald@pfeifer.com>

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

	Fix confusing 'Cannot write to ... (Success)' message
	* src/http.c (gethttp): Store/restore errno value.

	Reported-by: Christian Rosentreter, Andries E. Brouwer

2023-10-20  Jan-Michael Brummer  <jan-michael.brummer1@volkswagen.de>  (tiny change)

	Add libproxy support
	Add support for libproxy, which is capable to extract desktop
	environment proxy configurations from dozens of systems and platforms.
	This also enables wget to handle pac/wpad proxy server.

	* configure.ac: Add check for libbproxy.
	* src/retr.c (getproxy): Retrieve proxy via libproxy.

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

	* src/retr.c: Fix sc_prohibit_empty_lines_at_EOF

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

	Fix crash when printing download rate
	If the download rate is TB/s, a read buffer overflow happended
	that either caused a crash or printed whatever string was pointed to.

	* src/retr.c (retr_rate): Add missing array entrie for TB/s and Tb/s,
	  (test_retr_rate): New test function.
	* tests/unit-tests.c (all_tests): Run test 'test_retr_rate'.
	* tests/unit-tests.h: Add prototype for test_retr_rate.

	Reported-by: Wiebe Cazemier <wiebe@halfgaar.net>

2023-08-03  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)

	* tests/Makefile.am: Remove './' from  for portability (OpenBSD)

2023-07-16  Yaakov Selkowitz  <yselkowi@redhat.com>  (tiny change)

	testenv: fix for Python 3.12
	* testenv/server/http/http_server.py (HTTPSServer): Update for
	  ssl.SSLContext APIs instead of deprecated ssl.wrap_socket().

	ssl.wrap_socket() was deprecated in 3.7 and removed in 3.12.
	This should be compatible back to 3.6 (RHEL 8 and newer).

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

	* src/url.c (test_uri_merge): Fix check

	Add new unit test test_uri_merge()
	* src/url.c: New test function test_uri_merge().
	* tests/unit-tests.c (tests/unit-tests.c): Call test_uri_merge().
	* tests/unit-tests.h (tests/unit-tests.h): Declare test_uri_merge().

2023-05-16  Darshit Shah  <darnir@gnu.org>

	Ensure that spaces are quoted when converting links
	* src/convert.c(convert_links): Print the actual quoted newname when printing DEBUG output
	  (local_quote_string): Also quote the ' ' charcter as %20. While it is okay
	  to leave the characted as-is, quoting it covers more edge cases.
	  And it should resolve a >10 year old bug with CSS url() parameters not being quoted

	Bug-Id: 64082
	Reported-By: Ethan Gibbs <ethan@snowsign.net>
	Discussed-At: https://stackoverflow.com/q/13300017

2023-05-16  Darshit Shah  <darnir@gnu.org>

	Add new test to ensure CSS url() encoding
	url() parameters in CSS cannot have spaces in them. Ensure that Wget does not do that
	when using --convert-links

	* testenv/test_css_url.py: New file
	* testenv/Makefile: Add test_css_url.py to tests

	Bug-Id: 64082

2023-05-14  Darshit Shah  <darnir@gnu.org>

	Automatically verify if commit author has assigned copyrights in the past
	* contrib/commit-check: Add new script
	* .gitlab-ci.yml: Add new test in the CI pipeline

2023-05-14  Jan Palus  <jpalus@fastmail.com>  (tiny change)

	* testenv/conf/expected_files.py: Ignore common.conf

2023-05-14  Darshit Shah  <darnir@gnu.org>

	* AUTHORS: Rework file to prepare for autmated testing

2023-05-11  Darshit Shah  <darnir@gnu.org>

	maint: post-release administrivia
	* NEWS: Add header line for next release.
	* .prev-version: Record previous version.
	* cfg.mk (old_NEWS_hash): Auto-update.

	contrib/make-release: Update regexes to match the NEWS file

2023-05-11  Darshit Shah  <git@darnir.net>

	cfg.mk: Replace uses of filesystem with file system

	Update NEWS

2023-05-10  Darshit Shah  <git@darnir.net>

	bootstrap.sh: Update script from gnulib

	gnulib: Pull forward

2023-04-09  jinfuchiang  <jinfuchiang@outlook.com>  (tiny change)

	Update deprecated option '--html-extension' to '--adjust-extension'
	* doc/wget.texi: Update option '--html-extension' to '--adjust-extension'.
	  Renamed in Wget 1.12 to better reflect its behavior.

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

	Don't write core dump if --secure-option value isn't suppported.

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

	* src/retr.c (fd_read_body): Increase bufsize from 8k to 64k

	* src/retr.c (fd_read_body): Simplify gzip initialization

	* src/retr.c (fd_read_body): Use MAX instead of max

	Simplify url_error function.
	* src/url.c (url_error): simplify, remove url arg, return const char *.
	* src/url.h (url_error): remove url arg, return const char *.
	* src/html-url.c (get_urls_file): Simplify call to url_error(),
	  remove call to free().
	* src/http.c (metalink_from_http): Likewise.
	* src/main.c (main): Likewise.
	* src/metalink.c (retrieve_from_metalink, fetch_metalink_file): Likewise.
	* src/recur.c (retrieve_tree): Likewise.
	* src/res.c (res_retrieve_file): Likewise.
	* src/retr.c (retrieve_url, retrieve_from_file): Likewise.

	* src/url.c: Refactored url_error()

	* tests/valgrind-suppressions: Add rule for 'strcmp-sse2.S in libdl.so'

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

	* configure.ac: Remove CC flags -Wc90-c99-compat and -Wlong-long

	* fuzz/*: Use grep >/dev/null instead of grep -q

	* src/retr.c: Don't include hash.h

	Update copyright years

	* gnulib: Update

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

	* configure.ac: Disable nettle if NTLM is explicitly disabled

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

	* configure.ac: Allow disabling NTLM if nettle present (Savannah #63431)

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

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

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

	* src/main.c (print_help): Add --retry-on-host-error to help text

	Fix HSTS portability by using int64_t instead of time_t.
	* src/hsts.c: Use int64_t instead of time_t.
	* src/http.c: Use int64_t for parsing Strict-Transport-Security.

	src/http.c (time_to_rfc1123): Fix -Wformat-nonliteral

	* src/warc.c (warc_process_cdx_line): Fix variable type to idx_t

	* src/main.c (secs_to_human_time): Use snprintf instead of sprintf

	* src/main.c (main): Remove unused variable

	* src/netrc.c (test_parse_netrc): Check if HAVE_FMEMOPEN is defined

2022-02-26  Darshit Shah  <darnir@gnu.org>

	maint: post-release administrivia
	* NEWS: Add header line for next release.
	* .prev-version: Record previous version.
	* cfg.mk (old_NEWS_hash): Auto-update.

	* NEWS: Update NEWS items for release

	* .gitignore: Remove empty line at EOF

	* .gitignore: Update file

	* src.hsts.c(hsts_read_database): Use SCNd64 for portable format flags

	* configure.ac: Add some warning flags to ignore

	* cfg.mk: Remove passing syntax-checks from skip list

	Fix issues from syntax-check
	* doc/wget.texi: s/time stamp/timestamp/
	* src/ftp-ls.c(clean_line): Same
	  (ftp_parse_vms_ls): Don't cast return value of x*alloc
	* src/ftp.c: Don't cast return value of alloca
	* src/css-url.c: wget.h should be the first include
	* testenv/Makefile.am: Use $(PATH_SEPARATOR) instead of : when declaring
	  a path
	* testenv/Test-no_proxy-env.py: s/can not/cannot/

	* Update Copyright years

	* bootstrap: Update script

	* gnulib: Pull forward

	Cleanup some incorrect uses of AM Conditionals
	    * configure.ac: Replace IRI_IS_ENABLED with WITH_IRI and
	      METALINK_IS_ENABLED with WITH_METALINK
	    * src/Makefile.am: Add the .c and .h files for IRI, Metalink and
	      Xattr support to wget_SOURCES directly when needed instead of
	      adding them as object files.
	    * testenv/Makefile.am: Rename METALINK_IS_ENABLED to WITH_METALINK

2022-02-26  Darshit Shah  <darnir@gnu.org>

	Replace incorrect usage of AC_LIBOBJ in configure.ac
	AC_LIBOBJ is to be used for providing replacement functions for
	compatibility reasons. Not for conditional compilation of entire source
	files. Autotools provides other methods for achieving that. However, our
	build system has (ab-)used the AC_LIBOBJ macros for doing this for over
	15 years. That stops today.

	    * configure.ac: Replace uses of AC_LIBOBJ with automake conditionals
	      that can be used in Makefiles
	    * src/Makefile.am: Use the defined conditionals to select which
	      files get built.

2022-02-25  Darshit Shah  <darnir@gnu.org>

	Fix case where installed gettext is newer than minimum version
	* configure.ac: Use AM_GNU_GETTEXT_REQUIRE_VERSION to specify a minimum
	  version of gettext needed. This should allow newer versions of gettext
	  to be copied for autipoint to use when available.

	This commit hopefully fixes the annoying issue when building from
	source on a system that has a newer version of gettext.

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

	* src/netrc.c (test_parse_netrc): Free netrc structure

	* .gitlab-ci.yml: Fix path to llvm-symbolizer

	* src/netrc.c (test_parse_netrc): New unit test function

2022-01-31  Aarni Koskela  <akx@iki.fi>  (tiny change)

	* src/http.c (parse_strict_transport_security): Fix typo in string

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

	* .gitlab-ci.yml (Scan-Build): Allow failure due to two false positives

	* configure.ac: Use pkg-config for gpgme, libidn2 and nettle

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

	* src/ftp.c: Small cleanups

2022-01-16  Nik Soggia  <wget@niksoggia.it>  (tiny change)

	Print newline after dot progress bar in non-verbose mode
	* src/progress.c (dot_finish): Print new in all progress bar contexts
	  instead of just verbose

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

	* .gitlab-ci.yml: Fix artifact path for the Scan-Build runner

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

	* src/main.c (main): Unlink output document when --unlink is given

2021-12-22  Tim Rühsen  <tim.ruehsen@gmx.de>

	fuzz/*.in: Update fuzzer corpora

	* .gitlab-ci.yml (CoverageReports): Fix artifacts paths

	* tests/valgrind-suppressions: Fix libidn rule

	* .gitlab-ci.yml: Fix artifacts paths

	* tests/valgrind-suppressions: Extend libidn rule

	* src/log.c (logprintf): Check earlier for verbosity

	* src/http.c (http_loop): Fix memleak

2021-12-21  Tim Rühsen  <tim.ruehsen@gmx.de>

	Switch fuzzing build from C++ to C
	* Makefile.am (oss-fuzz): Build with $CC instead of $CXX.
	* README.md: Remove CXX and CXXFLAGS exports.

2021-12-01  Darshit Shah  <darnir@gnu.org>

	* src/http.c (http_loop): Hide password when printing status with -nv
	Reported-By: Per Lundberg <perlun@gmail.com>
	Closes: #61492

	* gnulib: Pull forward

	* src/hsts.c (hsts_read_database): Read time_t values as long long

2021-12-01  Thomas Niederberger  <thomas@niederb.ch>

	* src/main.c (print_help): Add command line option for TLS 1.3

2021-10-11  Darshit Shah  <darnir@gnu.org>

	* retr.c (rotate_backups): Non existent files are not errors in this function

2021-10-08  Darshit Shah  <darnir@gnu.org>

	* ftp.c (ftp_loop_internal): Fix computation of total_downloaded_bytes
	When continuing a FTP download, or not starting one because the file is
	already fully retrieved, don't include the size of the file in the
	total_downloaded_bytes. Only the actual amount of data retrieved over
	the network should be considered there.

	Fixes: #61277
	Reported-By: Michal Ruprich <formaiko>

2021-09-08  Darshit Shah  <darnir@gnu.org>

	Remove suprious print statements
	* src/gnutls.c: Remove fprintf statements. We should never print to
	  console directly. Always honor the log levels.
	  Fixes: #61125

2021-09-07  Darshit Shah  <darnir@gnu.org>

	maint: post-release administrivia
	* NEWS: Add header line for next release.
	* .prev-version: Record previous version.
	* cfg.mk (old_NEWS_hash): Auto-update.

	* NEWS: Update NEWS items for release

	* cfg.mk: Disable the indent check

	* gnulib: Pull forward

2021-08-21  WB  <3572564-wadersgeek@users.noreply.gitlab.com>

	Fix #60956 (improve --page-requisites)
	* src/html_url.c (tag_handle_link): Check for "alternate stylesheet",
	  "icon" and "manifest".

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

	* src/html-url.c (tag_handle_meta): Fix integer overflow

2021-07-05  Tim Rühsen  <tim.ruehsen@gmx.de>

	* src/recur.c (download_child): Remove temporary robots.txt.tmp

2021-06-14  Josef Moellers  <jmoellers@suse.de>

	Long pathnames patch

2021-06-07  Tim Rühsen  <tim.ruehsen@gmx.de>

	* .gitlab-ci.yml: Remove scan-build deps from pages stage

	* .gitlab-ci.yml: Move scan-build/ to public/ only if it exists

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

	* .gitlab-ci.yml: Move scan-build results to parent directory

	* .gitlab-ci.yml: Move coverage results to parent directory

	* .gitlab-ci.yml: Don't allow failure of scan-build

	* .gitlab-ci.yml: Pages needs Build-Tarball

	* src/url.c (append_uri_pathel): Add cheap extra check to help static analyzers

	* src/http.c (gethttp): Add cheap extra check to help static analyzers

	* .gitlab-ci.yml: Exclude src/css_.o from scan-build

	* src/main.c (main): Removed unused variable

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

	Revert "Long pathnames patch"
	This reverts commit affad27664afccdedafd94711d350f368e859be4.

	Manual tests with very long path names did not work with this patch.
	We have to wait for a patch including automated tests.

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

	* .lgtm.yml: Add autoconf-archive

	* .gitlab-ci.yml: Re-arrange stages

	Remove .git/, .gitmodules and gnulib/ from bootstrap artefacts

2021-06-06  Darshit Shah  <darnir@gnu.org>

	Updated Gitlab CI Pipeline
	* .gitlab-ci.yml: COmpletely overhauled CI pipeline with dependencies
	  for a faster and more robust CI.

2021-05-29  jmoellers  <josef.moellers@suse.com>

	Long pathnames patch

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

	* fuzz/wget_read_hunk_fuzzer.c: Add explicit cast for C++ compilation

	* fuzz/wget_ntlm_fuzzer.c: Add explicit cast for C++ compilation

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

	* src/http.c (initialize_request): Send Host HTTP header first
	This solves an issue where the server expects the Host: header
	as first one. This seems plausible (ahem) as the Host: header is the
	only one that is required.

2021-05-02  Tim Rühsen  <tim.ruehsen@gmx.de>

	Improve wget_options_fuzzer
	* fuzz/fuzzer.h: Ignore -Wunused-parameter.
	* fuzz/wget_options_fuzzer.c: Let getaddrinfo() fail in while fuzzing.
	* fuzz/wget_options_fuzzer.in/*: Update corpora from OSS-Fuzz.

2021-05-02  Nekun  <nekokun@firemail.cc>  (tiny change)

	Fix typo in VMS support code
	* src/utils.c: Remove unpaired brace

2021-04-15  Nils  <nils@nilsand.re>  (tiny change)

	Use "nofollow" instead of "no-follow" in messages
	* src/html-url.c (get_urls_html_fm): Remove misleading debug message.
	* src/recur.c (retrieve_tree): Fix no-follow -> follow in DEBUGP.

	The attribute in html is "nofollow" so it is more consistent to call it
	so than to hyphenate it.

2021-04-15  Nils  <nils@nilsand.re>  (tiny change)

	Print message for no-follow attribute only if norobots respected
	* src/html-url.c (get_urls_html_fm): Remove misleading log message.
	* src/recur.c (retrieve_tree): Add log message into correct if block.

	Commit e39be3283836b8cb7b9ee320456eefb2a2fda173 added a message that
	said links will not be followed whenever the nofollow attribute is found
	in a page. It didn't take into account that with -e robots=off (and
	equivalents) links will still be followed.

	This bug has been noticed multiple times:
	* https://www.reddit.com/r/DataHoarder/comments/mprq89/wget_respects_nofollow_attribute_despite_e/
	* https://gist.github.com/simonw/27e810771137408fd7834ad153750c41#gistcomment-3648191
	* https://superuser.com/questions/1494761/wget-wont-ignore-no-follow-attributes

	This commits makes it so that this message is only printed when a
	nofollow link is found and the norobots convention is respected.

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

	* configure.ac: Add AM_GNU_GETTEXT_VERSION

2021-04-11  Tim Rühsen  <tim.ruehsen@gmx.de>

	* testenv/test/base_test.py: Rename valgrind-suppression-ssl -> valgrind-suppressions-ssl

	* testenv/test/base_test.py: Add --show-leak-kinds=all valgrind argument

	* tests/WgetTests.pm: Add --show-leak-kinds=all valgrind argument

	Fix testenv valgrind suppression
	* testenv/Makefile.am: Remove valgrind-suppressions from EXTRA_DIST.
	* testenv/valgrind-suppression-ssl: Rename to testenv/valgrind-suppressions-ssl.

2021-04-11  Tim Rühsen  <tim.ruehsen@gmx.de>

	* bootstrap.conf: Add 'rename' to gnulib modules
	The missing module could be a reason for
	https://savannah.gnu.org/bugs/?60346.

	Reported-by: jrharris42@gmail.com

2021-04-11  Tim Rühsen  <tim.ruehsen@gmx.de>

	* src/wget.h: Use strtoll() for str_to_wgint
	This fixes a regression reported at https://savannah.gnu.org/bugs/?60353.

	Reported-by: Michal Ruprich

2021-04-11  Shamil Gumirov  <shamil@gumirov.com>  (tiny change)

	Minor output fix to use quote_n() instead of quote()
	* src/ftp.c (ftp_retrieve_list): change quote to quote_n
	* src/iri.c (do_conversion): change quote to quote_n
	* src/url.c (convert_fname): change quote to quote_n

	The implementation quote() reuses the buffer it returns which
	leads to printing the same string for each quote() call in one
	output line. Instead, quote_n() should be used as highlighted in
	the doc:
	https://www.gnu.org/software/gnulib/manual/html_node/Quoting.html

2021-04-05  Tim Rühsen  <tim.ruehsen@gmx.de>

	* src/Makefile.am: Add metalink.c and xattr.c to EXTRA_wget_SOURCES

	* testenv/Makefile.am: Allow tarball build without python3

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

	Fix spelling errors
	* NEWS: trough -> through.
	* README.checkout: Likewise.
	* contrib/spell-checker: Add exclusion 'parm'

	Remove gettext version requirements
	* bootstrap.conf: Remove gettext version requirements
	* configure.ac: Likewise.

2021-03-16  Darshit Shah  <darnir@gnu.org>

	Use a LOG_COMPILER for running fuzz tests
	This prevents needing a special case in the fuzz tests to detect
	valgrind usage and a new exec. Instead, we simply detect the environment
	in a shell script and start the test with valgrind in the first place.

	* fuzz/test-runner.sh: New script for running the fuzz tests
	* fuzz/main.c (main): Remove code for re-running under valgrind
	* fuzz/Makefile.am: Set the LOG_COMPILER to test-runner.sh and remember
	  to add it to the list of extra files for packaging

2021-03-07  Tim Rühsen  <tim.ruehsen@gmx.de>

	* configure.ac: Add AC_PROG_CC_C99

2021-03-07  Darshit Shah  <darnir@gnu.org>

	Bump gettext version to 0.20
	* bootstrap.conf: Increase minimum version of gettext needed to 0.20
	* configure.ac: Same

	* bootstrap: Update script

	* gnulib: Pull forward

2021-03-02  Darshit Shah  <darnir@gnu.org>

	Fix double free in FTP Code
	* src/ftp.c(getftp): Don't free `target`. If it is not pointing to
	  targetbuf, then it still pointing to its original location of u->dir.
	  This location will be free'd later. Doing so now causes a double free
	  and hence crashes Wget
	* tests/Test-ftp-dir.px: New test to show double free error
	* tests/Makefile.am: Add new test

2021-01-31  Tim Rühsen  <tim.ruehsen@gmx.de>

	* doc/wget.texi: Replace '' with  in example
	Needed to hide from texi2pod.pl replacement of '' -> ".

	Reported-by: Vincent Lefevre

2021-01-23  Tim Rühsen  <tim.ruehsen@gmx.de>

	Use gnulib's utime.h
	* bootstrap.conf: Remove utime-h (included by utime).
	* configure.ac: Remove header checks for utime.h and sys/utime.h.
	* src/utils.c: Simply #include <utime.h>.

	* configure.ac: Detect unresolved AX_ macros

2021-01-16  Tim Rühsen  <tim.ruehsen@gmx.de>

	* configure.ac: Use noyywrap for AC_PROG_LEX

	Fix --quota on systems with 32bit long type
	* src/init.c (cmd_bytes_sum): Use WGINT_MIN and WGINT_MAX in check.
	* src/options.h (struct options): Make 'quota' of type wgint.
	* src/retr.c: Make 'total_downloaded_bytes' of type wgint.
	* src/utils.h: Fix comment.
	* src/wget.h: Add WGINT_MIN, remove SUM_SIZE_INT.

	* configure.ac: Remove obsolete AC_HEADER_STDC

	* configure.ac: Replace ` with '

	* configure.ac: Use yywrap param for AC_PROG_LEX

2021-01-09  Darshit Shah  <darnir@gnu.org>

	maint: post-release administrivia
	* NEWS: Add header line for next release.
	* .prev-version: Record previous version.
	* cfg.mk (old_NEWS_hash): Auto-update.

	* NEWS: Update NEWS items for release

	* gnulib: Pull forward

	* cfg.mk: Add manual_title for web docs

	* contrib/make-release: Update to use maintainer-makefile

	* bootstrap.conf: Add gendocs and gnu-web-doc-update modules

	* configure.ac(AM_INIT_AUTOMAKE): Create lzip archives when making a distribution

	Prepare for making releases
	The maintainer makefile provides targets for making a release. They need
	these things:
	* cfg.mk: Set the hash of the NEWS file as it was at the beginning of
	  this release
	* .prev-version: Create the .prev-version file

	Prepare NEWS file for new release
	* NEWS: Fix the copyright notice
	* NEWS: Add header for new release

2021-01-07  Darshit Shah  <darnir@gnu.org>

	Use PRId64 to correctly identify the format specifier
	* src/utils.c: Use PRId64 to correctly identify the format specifier for
	wgint values. This fixes a warning on 32-bit systems where wgint is a
	long long int instead of the long int that the format specifier
	indicated.

	Reported-by: Jeffrey Walton

2021-01-03  Darshit Shah  <darnir@gnu.org>

	* src/retr.c(rotate_backups): Simplify logic for handling filename rotation

2021-01-03  Matt Whitlock  <gentoo@mattwhitlock.name>

	* configure.ac: Don't use Bashisms

2021-01-01  Darshit Shah  <darnir@gnu.org>

	Run make update-copyright

	* gnulib: Pull forward

2020-12-31  Darshit Shah  <darnir@gnu.org>

	* NEWS: Finalize release

