2015-12-11  Giuseppe Scrivano  <gscrivan@redhat.com>

	Tag release 1.17.1
	* NEWS: Update.
	* gnulib: sync from upstream.

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

	Remove ABOUT-NLS from git
	* ABOUT-NLS: Remove from repository, it will be autogenerated.
	* .gitignore: Add ABOUT-NLS and build-aux/ar-lib

2015-12-11  Jernej Simončič  <jernej|s-wget@eternallybored.org>

	* src/metalink.c: Specify 'rb' as mode to open file

2015-12-10  Ángel González  <keisial@gmail.com>

	* doc/wget.texi: add hint for self-signed certificates

2015-12-10  Ander Juaristi  <ajuaristi@gmx.es>

	Fix Coverity issues
	 * src/ftp.c (getftp): on error, close the file and attempt to remove it
	   before exiting.
	 * src/hsts.c (hsts_store_open): update modification time in the end.

2015-12-10  Darshit Shah  <darnir@gmail.com>

	Faster Travis Builds
	* contrib/travis-ci: Test under different languages only when all the
	features are enabled. This covers the maximum number of strings. For the
	other option permutations, test only in the default C locale

	Fix remaining bugs in progress bar implementation
	* src/progress.c (create_image): Ensure that the entire screen width is
	drawn everytime to prevent any artefacts from leaking through.

2015-12-09  Darshit Shah  <darnir@gmail.com>

	Add bug-wget to list of travis recipients
	* .travis.yml: Add bug-wget to list of Travis Report Recipients

	Eliminate more compiler warnings
	* src/options.h (CHECK_CERT_MODES): Remove C99 style comma after last
	value
	* src/progress.c (create_image): Do not mix statements and declarations
	* src/init.c (cmd_boolean_internal): Mark unused parameters

	Re-enable test on multibyte locale in Travis
	* .travis.yml: Use Russian locale instead of Japanese since it seems to
	be more complete
	* contrib/travis-ci: Re-enable testing on a Russian locale

	Fix progress bar assertion with multibyte locales
	* src/progress.c (bar_create): Define size of progress buffer explicitly
	  (create_image): Clean up progress bar image creation. Use memset
	  instead of for loops to create arrays of the same byte.

2015-12-06  Darshit Shah  <darnir@gmail.com>

	Introduce Travis Integration
	* .travis.yml: Configuration file for Travis-CI
	* contrib/travis-ci: Script to run on travis. Similar to check-hard but modified
	  for travis.
	* tests/valgrind-suppressions{-ssl}: Add extra suppressions to prevent a
	Valgrind False Positive errors in an old version

	Since Travis currently supports only public repositories on GitHub, the support
	for automated testing through Travis will be done using my Clone of Wget on
	GitHub at: https://github.com/darnir/wget.git
	Any commits pushed to this repository will trigger a build on Travis.

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

	SKIP SSL/TLS tests if configured without it
	* testenv/Makefile.am: Set SSL_TESTS env variable
	* testenv/Test--https-crl.py, testenv/Test--https.py,
	  testenv/Test-hsts.py: Return 77 (SKIP) if SSL/TLS is not configured

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

	Add Test-hsts.py to SSL_TESTS
	* testenv/Makefile.am: Add Test-hsts.py to SSL_TESTS

2015-12-03  Ygal Blum  <ygal.blum@technicolor.com>

	Fix compilation when without-ssl is selected

2015-12-03  Darshit Shah  <darnir@gmail.com>

	Include Metalink and GPG information in version
	* src/build_info.c.in: Include the presence of Metalink and GPGME features in
	the output for wget --version

2015-12-03  Giuseppe Scrivano  <gscrivan@redhat.com>

	Add --check-certificate=quiet
	* doc/wget.texi: Add documentation for  --check-certificate=quiet.
	* src/options.h (enum CHECK_CERT_MODES): New enum.
	* src/init.c (cmd_check_cert): New static function.
	(cmd_boolean_internal): Likewise.
	* src/gnutls.c (ssl_check_certificate): Handle CHECK_CERT_QUIET.
	* src/openssl.c (ssl_check_certificate): Handle CHECK_CERT_QUIET.

2015-11-24  Tim Rühsen  <tim.ruehsen@gmx.de>

	Fix regression in HTTP authentication
	* src/http.c (initialize_request): Fix wrong params to search_netrc()

	Regression introduced in commit 29850e77
	Reported-by: Axel Reinhold <axel@freakout.de>

2015-11-23  Tim Rühsen  <tim.ruehsen@gmx.de>

	Fix SIGSEGV in -N / --content-disposition combination
	* src/http.c (http_loop): Fix SIGSEGV

	Reported-by: "Schleusener, Jens" <Jens.Schleusener@t-online.de>

2015-11-20  Ander Juaristi  <ajuaristi@gmx.es>

	Fix potential NULL pointer dereference
	 * src/gnutls.c (ssl_connect_wget): check for NULL before calls

2015-11-20  Giuseppe Scrivano  <gscrivan@redhat.com>

	* configure.ac: change gettext version to 0.18.1

2015-11-19  Ikey Doherty  <michael.i.doherty@intel.com>

	configure.ac: Use correct gettext version

2015-11-19  Tim Rühsen  <tim.ruehsen@openmediasystem.de>

	Fix HSTS memory issue + test code issue
	* src/hsts.c (hsts_find_entry): Fix freeing memory
	  (hsts_remove_entry): Remove freeing host member
	  (hsts_match): Free host member here
	  (hsts_store_entry): Free host member here
	  (test_url_rewrite): Fix 'created' value
	  (test_hsts_read_database): Fix 'created' value

	Reported-by: Dagobert Michelsen <dam@opencsw.org>

2015-11-17  Tim Rühsen  <tim.ruehsen@gmx.de>

	Include errno.h instead of sys/errno.h (Solaris issue)
	* src/metalink.c: Include errno.h instead of sys/errno.h

	Reported-by: Dagobert Michelsen <dam@opencsw.org>

2015-11-17  Darshit Shah  <darnir@gmail.com>

	Fix compile error when IPv6 is disabled
	* src/ftp-basic.c: The code for the new FTPS functionality was unintentionally
	inside a #ifdef IPV6 block. Move the code around so that it is defined even when
	IPV6 isn't used

	Use gnulib module flock to provide function
	* bootstrap.conf: Use module flock from gnulib to provide it on other platforms
	such as Windows.

2015-11-16  Darshit Shah  <darnir@gmail.com>

	Eliminate NDEBUG redefined warnings
	* src/wget.h: Define NDEBUG only if it hasn't been defined before

2015-11-15  Giuseppe Scrivano  <gscrivan@redhat.com>

	NEWS: prepare new release cycle

	Prepare release 1.17
	* gnulib: sync with upstream.
	* NEWS: Update.
	* src/main.c: Change the copyright year.

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

	Document combination of -nc and -O
	Fixes #46359

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

	Do not download/save file on error when --spider enabled
	* src/http.c (gethttp,http_loop):
	  Do not download/save file on error when --spider is enabled and not
	  working recursive.

	Reported-by: Сковорода Никита Андреевич chalkerx@gmail.com
	Fixes #45821

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

	Fix URL conversion for colons in filenames
	* src/convert.c (construct_relative): Prepend './' to filename
	* tests/Test-k.px: Amend test to succeed

2015-10-15  Tim Rühsen  <tim.ruehsen@gmx.de>

	Adjust indentation of --no-use-server-timestamps in help output
	* src/main.c: Adjust indentation of --no-use-server-timestamps

2015-10-13  Ander Juaristi  <ajuaristi@gmx.es>

	Added --convert-file-only option
	 * src/convert.c (convert_links_in_hashtable, convert_links):
	   test for CO_CONVERT_BASENAME_ONLY.
	   (convert_basename): new function.
	 * src/convert.h: new constant CO_CONVERT_BASENAME_ONLY.
	 * src/init.c, src/main.c, src/options.h: new option "--convert-file-only".
	 * doc/wget.texi: updated documentation.

	 Reviewed-by: Gabriel Somlo <somlo@cmu.edu>

2015-10-12  Darshit Shah  <darnir@gmail.com>

	Fix Test-ftp-pasv-not-supported.px
	    * tests/Test-ftp-pasv-not-supported.px: We do *NOT* expect any
	    downloaded files. Also, do not negate the Test response.

	    The test originally expected a downloaded file, but this is not
	    true. As a result, the test would fail and return exit code 1. This
	    was presumably the reason why the test result was negated before
	    returning to the shell. Fix this issue, so that the test runs
	    correctly without any hacks.

2015-10-12  Darshit Shah  <darnir@gmail.com>

	Fix make distcheck failures in Perl SSL Tests
	    * tests/Makefile.am: Add valgrind-suppressions-ssl to EXTRA_DIST
	    * tests/Test-proxied-https-auth-keepalive.px: Find valgrind in
	    correct path during make distcheck
	    * tests/Test-proxied-https-auth.px: Same

2015-10-12  christian fafard  <cfaf@hotmail.com>

	Skip HTTPS perl tests if IO::Socket::SSL not installed
	* tests/Test-proxied-https-auth-keepalive.px: Skip test if perl module
	  IO::Socket::SSL is not installed (trivial change).
	* tests/Test-proxied-https-auth.px: Skip test if perl module
	  IO::Socket::SSL is not installed (trivial change).

2015-10-09  Ander Juaristi  <ajuaristi@gmx.es>

	Fix potential race condition
	 * src/hsts.c (hsts_read_database): get an open file handle
	   instead of a file name.
	   (hsts_store_dump): get an open file handle
	   instead of a file name.
	   (hsts_store_open): open the file and pass the open file handle.
	   (hsts_store_save): lock the file before the read-merge-dump
	   process.

	 Reported-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>

2015-10-09  Ander Juaristi  <ajuaristi@gmx.es>

	Fix HSTS merge bug
	 * src/hsts.c (hsts_store_merge): call hsts_new_entry() if the entry
	   does not exist in the database.

	When merging the existing HSTS database on disk with the one on memory,
	the entries that were on disk but not on memory were ignored. Thus,
	only the existing entries were merged. This behavior was only triggered
	when more than one Wget processes were using the same HSTS database
	simultaneously. This commit fixes the bug by adding the new entries
	to the on-memory database if they were not found there.

2015-09-28  Giuseppe Scrivano  <gscrivan@redhat.com>

	testenv/Test--rejected-log.py: Remove trailing white spaces

2015-09-28  Tim Rühsen  <tim.ruehsen@gmx.de>

	Handle TLS rehandshakes in GnuTLS code
	* src/gnutls.c: New static function _do_handshake()
	* src/gnutls.c (wgnutls_read_timeout): Handle rehandshake
	* src/gnutls.c (wgnutls_write): Handle rehandshake
	* src/gnutls.c (ssl_connect_wget): Move handshake code into _do_handshake()

	Fixes #46061

2015-09-22  Darshit Shah  <darnir@gmail.com>

	Add tests for missing qop in digest auth
	    * testenv/test-auth-both.py: Add qop parameter for digest auth
	    * testenv/test-auth-digest.py: Same
	    * testenv/conf/authentication.py: Support additional parameters for
	    authentication
	    * testenv/servers/http/http_server.py: Same

	Do not test for impossible qop value
	    * http.c (digest_authentication_encode): Wget already errors out if
	    qop != "auth". Then it makes no sense to test for qop == "auth-int"
	    later on. Currently, Wget does not support the "auth-int" qop value
	    and till nobidy requests, it may remain so.

2015-09-22  Darshit Shah  <darnir@gmail.com>

	Fix #46024. Support RFC 2069 Digest Authentication
	    * http.c (digest_authentication_encode): Some servers are still
	    using the obsolete RFC 2069 Digest Authentication. Allow Digest
	    authentication without the qop parameter for this.

	    Reported-by: Andreas Longwitz  <longwitz@incore.de>

2015-09-21  Darshit Shah  <darnir@gmail.com>

	Revert "Disable progress bar when wget is backgrounded (trivial patch)"
	This reverts commit e6247325633d7d0007906f88d573a3bfa37307a7.

2015-09-20  Giuseppe Scrivano  <gscrivan@redhat.com>

	NEWS: cite FTPS support

2015-09-14  Ander Juaristi  <ajuaristi@gmx.es>

	Added support for FTPS
	 * doc/wget.texi: updated documentation to reflect the new FTPS functionality.
	 * src/ftp-basic.c (ftp_greeting): new function to read the server's greeting.
	   (ftp_login): greeting code was previously here. Moved to ftp_greeting to
	   support FTPS implicit mode.
	   (ftp_auth): wrapper around the AUTH TLS command.
	   (ftp_ccc): wrapper around the CCC command.
	   (ftp_pbsz): wrapper around the PBSZ command.
	   (ftp_prot): wraooer around the PROT command.
	 * src/ftp.c (get_ftp_greeting): new static function.
	   (init_control_ssl_connection): new static function to start SSL/TLS on the
	   control channel.
	   (getftp): added hooks to support FTPS commands (RFCs 2228 and 4217).
	   (ftp_loop_internal): test for new FTPS error codes.
	 * src/ftp.h: new enum 'prot_level' with available FTPS protection levels +
	   prototypes of previous functions. New flag for enum 'wget_ftp_fstatus' to track
	   whether the data channel has some security mechanism enabled or not.
	 * src/gnutls.c (struct wgnutls_transport_context): new field 'session_data'.
	   (wgnutls_close): free GnuTLS session data before exiting.
	   (ssl_connect_wget): save/resume SSL/TLS session.
	 * src/http.c (establish_connection): refactor ssl_connect_wget call.
	   (metalink_from_http): take into account SCHEME_FTPS as well.
	 * src/init.c, src/main.c, src/options.h: new command line/wgetrc options.
	   (main): in recursive downloads, check for SCHEME_FTPS as well.
	 * src/openssl.c (struct openssl_transport_context): new field 'sess'.
	   (ssl_connect_wget): save/resume SSL/TLS session.
	 * src/retr.c (retrieve_url): check new scheme SCHEME_FTPS.
	 * src/ssl.h (ssl_connect_wget): refactor. New parameter of type 'int *'.
	 * src/url.c. src/url.h: new scheme SCHEME_FTPS.
	 * src/wget.h: new FTPS error codes.
	 * src/metalink.h: support FTPS scheme.

2015-09-10  Christian Neukirchen  <chneukirchen@gmail.com>

	Disable progress bar when wget is backgrounded (trivial patch)
	* src/progress.c (create_image): progress only when in foreground

	Sometimes I start wget, but the remote site is too slow, so I rather
	want to run it in background, however when I simply use job control
	for that, wget will keep spewing the progress bar all over my
	terminal.  I have found the SIGHUP/SIGUSR1 feature to redirect output
	to a log file, but I think the following small patch is even more
	useful, since the progress bar will simply resume when wget is
	foregrounded again (also, the final message is still printed to the
	terminal in any case):

2015-09-04  Hubert Tarasiuk  <hubert.tarasiuk@gmail.com>

	Add information about libmetalink and GnuPG
	* README.checkout: Optional dependencies and URL references.

2015-09-02  Hubert Tarasiuk  <hubert.tarasiuk@gmail.com>

	Do not free Metalink structure if not initialized
	* src/main.c (main): Move metalink_delete to the conditional block.

2015-09-01  Ander Juaristi  <ajuaristi@gmx.es>

	Updated HSTS documentation
	 * doc/wget.texi: updated HSTS documentation.

	   Reported-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>

2015-09-01  Ander Juaristi  <ajuaristi@gmx.es>

	Extra debug traces for HSTS.
	 * src/main.c (load_hsts, save_hsts): added DEBUGP() calls to signal
	   reads and saves of the HSTS database file.

2015-08-31  Darshit Shah  <darnir@gmail.com>

	Fix coding style violation in last commit
	    * http.c (test_parse_range_header): Declare loop variable
	    explicitly. Not in gnu99 standard.

2015-08-30  Darshit Shah  <darnir@gmail.com>

	Add unit test for parse_content_range() method
	    * http.c (test_parse_range_header): New function to test the
	    function for parsing the HTTP/1.1 Content-Range header.
	    * test.[ch]: Same
	    * http.c (parse_content_range): Fix parsing code. Fail on scenarios
	    mentioned in rfc 7233.

2015-08-30  Tim Rühsen  <tim.ruehsen@gmx.de>

	Fix null pointer dereference
	* src/metalink.c (gpg_skip_verification):
	  Check output_stream before fclose

	Fix leaks found by Coverity
	* src/http.c (parse_strict_transport_security): Free c_max_age
	             (open_output_stream): Fix indentation
	* src/iri.c (locale_to_utf8): Free new

2015-08-29  Tim Rühsen  <tim.ruehsen@gmx.de>

	Fix two leaks foudn by Coverity
	* src/http.c (gethttp): Do not leak 'message'.
	* src/main.c (format_and_print_line): Do not leak 'line_dup'.

	Fix resource leak discovered by Coverity
	* src/retr.c (retrieve_url): Don't leak local_file.

2015-08-29  Darshit Shah  <darnir@gmail.com>

	Fix memory leaks in unit-test
	    * hsts.c (get_hsts_store_filename): Free the homedir value
	    (close_hsts_test_store): Actually free the store struct too
	    (test_hsts_new_entry): Pass store to close_hsts_test_store()
	    (test_hsts_url_rewrite_superdomain): Same
	    (test_hsts_url_rewrite_congruent): Same
	    (test_hsts_read_database): Same and homedir and store filename
	    * http.c (test_parse_content_disposition): Free the returned
	    filename
	    * url.c (test_append_uri_pathel): Free allocated string

	Fix mixed-indentation in http.c
	    * http.c: Fix mix indentation. Visual change only.

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

	Suppress debug output when strings may contain password
	* iri.c (do_conversion): Do not print out converted strings if they
	  contain an '@'. That could be an URL with embedded password.

	Fixes #45825

2015-08-26  Ander Juaristi  <ajuaristi@gmx.es>

	Fix resource leak.
	 * src/http.c (parse_strict_transport_security): Freed memory to avoid resource leak.
	   Comply with GNU coding style.

2015-08-22  Tim Rühsen  <tim.ruehsen@gmx.de>

	Fix typo in NEWS
	* NEWS: Change typo --accept-reject into --accept-regex

	Reported-by: grarpamp <grarpamp@gmail.com>

2015-08-21  Jookia  <166291@gmail.com>

	Clarify that links are being converted.
	* src/convert.c: Add 'links in' after 'Converted %d' and 'Converting %s'.

	Removed useless TODOs.
	 * testenv/Test--reject-log.py: Remove TODOs.

2015-08-15  Miquel Llobet  <mllobet.cm@gmail.com>

	Fixed #44516 -o- not logging to stdout
	src/log.c (log_init): check for hypen on filename, set stdout

2015-08-15  Daniele Calore  <daniele.calore@tin.it>

	Fix #40426: Allow -r -O- only if FILE is regular
	    * main.c: added check of "-r -O FILE" option combination
	    allow only if FILE is a regular file (bug #40426)

2015-08-15  Darshit Shah  <darnir@gmail.com>

	Fix var name conflicts with math.h and wingdi.h
	    * src/recur.c (reject_reason): Rename all enum members to WG_RR_xx.
	    * src/recur.c (retrieve_tree, download_child,
	    write_reject_log_reason): Same

2015-08-14  Tim Rühsen  <tim.ruehsen@gmx.de>

	Let bootstrap/autoreconf work without GPGME installed
	* configure.ac: Check for existance of AM_PATH_GPGME

2015-08-11  Tim Rühsen  <tim.ruehsen@gmx.de>

	Fix IP address exposure in FTP code
	* src/ftp.c (getftp): Do not use PORT when PASV fails.
	* tests/FTPServer.px: Add pasv_not_supported server flag.
	* tests/Makefile.am: Add Test-ftp-pasv-not-supported.px
	* tests/Test-ftp-pasv-not-supported.px: New test

	Fix IP address exposure when automatically falling back from
	passive mode to active mode (using the PORT command). A behavior that
	may be used to expose a client's privacy even when using a proxy.

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

	Fix C89 compliancy in HSTS test code
	* src/hsts.c (test_hsts_new_entry):
	  Move variable assignment before code

	Fix C89 compliancy in latest code
	* src/recur.c: Declare variables before code
	  (write_reject_log_url):
	    Use const keyword where appropriate
	    Use the 'default' switch statement
	    Use xfree() instead of free()
	    Renamed variable f -> fp
	  (write_reject_log_reason):
	    Use const keyword where appropriate
	    Use the 'default' switch statement
	    Renamed variable f -> fp
	    Renamed variable r -> reason

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

	Remove redundant definition of _GNU_SOURCE
	* src/warc.c: Remove definition of _GNU_SOURCE

	_GNU_SOURCE is already defined in config.h

2015-08-07  Giuseppe Scrivano  <gscrivan@redhat.com>

	NEWS: update

2015-08-07  Jookia  <166291@gmail.com>

	Rewrite the --rejected-log test using the new framework.
	 * tests/Test--rejected-log.px: Remove old test.
	 * testenv/Test--rejected-log.py: Create new test.

	Replace variables before comparing expected files.
	* expected_files.py: Use formatted_content instead of file.content.

2015-08-06  Jookia  <166291@gmail.com>

	Add option to write URL rejections to a tab-delimited CSV log.
	 * main.c: Add "--rejected-log" option.
	 * init.c: Add "rejectedlog" command.
	 * options.h: Add "rejected_log" parameter string.
	 * wget.texi: Add brief documentation on new --rejected-log option.
	 * recur.c: Optionally log details of URLs not traversed.
	   Add reject_reason enum.
	   (download_child_p -> download_child): Return a reject_reason.
	   (descend_redirect_p -> descend_redirect): Return a reject_reason.
	   (retrieve_tree): Support logging reasons for rejection.
	   Add write_reject_log_header that writes a CSV format header to a file.
	   Add write_reject_log_url that writes a url struct to a file in CSV format.
	   Add write_reject_log_reason that writes the URL and parent URL as well as the
	   rejection reason to a CSV file.
	 * Test--rejected-log.px: Add a basic test for the --rejected-log command.
	 * tests/Makefile.am: Run Test--rejected-log.px.

	This allows you to figure out why URLs are being rejected and some context
	around it. CSV is used as the output format since it can be used easily parsed,
	it's delimited by tabs instead of commas to allow using all (quoted) URL
	characters and includes column names which may be used for compatibility.

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

	Fix memory leak in HSTS code
	* src/main.c (get_hsts_database): Free 'home' variable

	void uninitialized variable in metalink code
	* src/metalink.c: Init retr_err with METALINK_MISSING_RESOURCE
	* src/wget.h: Add enum METALINK_MISSING_RESOURCE

2015-07-24  Darshit Shah  <darnir@gmail.com>

	Fix function name collision with OpenSSL library
	    * src/utils.[ch], src/http.c, src/metalink.c: Rename function
	    hex_to_string() to wg_hex_to_string sine it collides with a
	    similarly named function in OpenSSL Library.

	Fix configure options for metalink
	    * configure.ac: Ensure metalink support can be properly disabled

2015-07-22  Alex Henrie  <alexhenrie24@gmail.com>

	Make the filename marquee a proper marquee
	* src/progress.c: Start the marquee in the middle of the available space
	  and do not restart it until all of the text has scrolled out of view.

2015-07-20  Giuseppe Scrivano  <gscrivan@redhat.com>

	NEWS: cite HSTS

	Fix metalink tests
	testenv/Test-metalink-http.py: initialize HTTP test server
	testenv/Test-metalink-xml.py: initialize HTTP test server

2015-07-20  Ander Juaristi  <ajuaristi@gmx.es>

	Enhancements in testsuite engine + new HSTS test.
	 * testenv/Makefile.am: added new test 'Test-hsts.py'.
	 * testenv/Test-hsts.py: new test for HSTS.
	 * testenv/conf/domains.py: new hook to override domain list.
	 * testenv/test/base_test.py: (__init__): new optional parameter
	   for tests 'req_protocols'.
	   (get_domain_addr): set the instance variables 'addr' and 'port'.
	   Return address as an array (domain, port) instead of string.
	   (gen_cmd_line): take into account domain and port.
	 * testenv/test/http_test.py (__init__): new optional parameter
	   'req_protocols'.
	   (setup): new function. Call to server_setup() decoupled from
	   begin() and moved here.
	   (begin): call to superclass to maintain backward compatibility.
	   Removed call to server_setup().

	This patch adds a new parameter to the test suite called 'req_protocols',
	and a new function called 'setup'. The ability for tests to be able to set some
	extra parameters such as the actual requested protocols (with 'req_protocols')
	became obvious when support for HSTS was added to Wget, where the requested URI
	and the actual executed URI do not have to be the same. This new parameter is optional
	and if not specified, the test suite behaves as before. Also, the new function 'setup'
	is provided as a means to start the test HTTP server, but not launch the test yet
	(this is done when calling 'begin', as usual), in case we want to query the address
	and port in which the test server listens. If 'setup' is not called, it is automatically
	invoked when calling 'begin'. With these measures, we preserve backward-compatibility with
	existing tests.

2015-07-20  Ander Juaristi  <ajuaristi@gmx.es>

	Added support for HSTS.
	 * Makefile.am: Added new source files hsts.c and hsts.h.
	 * http.c (parse_strict_transport_security): new function for STS header
	   parsing.
	   (gethttp): update the HSTS store.
	 * http.h: new include "hsts.h".
	 * init.c: new options --hsts and --hsts-file.
	 * main.c (get_hsts_database, load_hsts, save_hsts): new functions.
	   New options --no-hsts and --hsts-file added to help.
	   (main): load and save HSTS store.
	 * options.h: new variables for supporting --hsts and --hsts-file.
	 * retr.c (retrieve_url): rewrite the URI according to the HSTS policy before
	   entering http_loop.
	 * test.c, test.h: new unit tests for HSTS.
	 * utils.c, utils.h (countchars): new function.
	 * wget.h: new preprocessor check.
	 * hsts.c, hsts.h: new files with the HSTS engine implementation.

	Added support for HTTP Strict Transport Security (HSTS), as defined by RFC
	6797.

2015-07-20  Giuseppe Scrivano  <gscrivan@redhat.com>

	NEWS: cite metalink support

	fix compiler warnings
	* src/utils.h: Include <stdlib.h>
	* src/recur.c: Include "exits.h"

2015-07-20  Hubert Tarasiuk  <hubert.tarasiuk@gmail.com>

	Test preferred location in Metalink-over-HTTP test case.
	* testenv/Test-metalink-http.py: Ensure preferred location is handled
	properly.

	Geolocation support for Metalink resources.
	* doc/wget.text: Add information about --preferred-location.
	* src/init.c: Add --preferred-location option.
	* src/main.c (option_data): Handle --preferred-location argument.
	(main): Sort resources based on location if requested.
	* src/metalink.c (metalink_res_cmp): Compare based on location if
	priority and preference are equal.
	* src/options.h (options): Add preferred_location option.

	Support at most one file signature. Adapt comments to libmetalink 0.13.
	* src/metalink.c (retrieve_from_metalink): Add comment about new
	libmetalink version. Do not iterate over signatures - support just one.

	Move some Metalink-related code from http.c to metalink.c.
	* src/http.c: Move find_key_value, has_key, find_key_values.
	* src/metalink.c: To here.
	* src/metalink.h: Make them non-static and add prototypes here.

	Unit test for find_key_values.
	* src/http.c: Add test_find_key_values.
	* src/test.c (main): Run new test.
	* src/test.h: Add test_find_key_values.

	Unit test for has_key.
	* src/http.c: Add test_has_key.
	* src/test.c (main): Run new test.
	* src/test.h: Add test_has_key.

	Unit test for find_key_value.
	* src/http.c: Add test_find_key_value.
	* src/test.c (main): Run new test.
	* src/test.h: Add test_find_key_value.

	Test case for Metalink over HTTP.
	* testenv/Test-metalink-http.py: New test.
	* testenv/Makefile.am: Add to test list.

	Support multiple headers with same name in Python test suite.
	* testenv/README: Describe how to use repeated header name.
	* testenv/server/http/http_server.py (finish_headers): Send all
	values from list if the header value is a Python list.

	Test case for Metalink in XML.
	* testenv/Test-metalink-xml.py: New test.
	* testenv/Makefile.am: Add file for automake.

	Start HTTP test only when calling begin().
	* testenv/test/http_test.py: Move self.do_test() from __init__ to
	begin().

	Metalink support.
	* bootstrap.conf: Add crypto/sha256
	* configure.ac: Look for libmetalink and GPGME
	* doc/wget.texi: Add --input-metalink and --metalink-over-http
	options description.
	* po/POTFILES.in: Add metalink.c
	* src/Makefile.am: Add new translation unit (metalink.c)
	* src/http.c (http_stat): Add metalink field.
	(free_stat): Free metalink field.
	(find_key_value): Find value of given key in header string.
	(has_key): Check if token exists in header string.
	(find_key_values): Find all key=value pairs in header string.
	(metalink_from_http): Obtain Metalink metadata from HTTP response.
	(gethttp): Call metalink_from_http if requested.
	(http_loop): Request Metalink metadata from HTTP response if should be.
	Fall back to regular download if no Metalink metadata found.
	* src/init.c: Add --input-metalink and --metalink-over-http options
	* src/main.c (option_data): Handle --input-metalink and
	--metalink-over-http cmd arguments.
	(print_help): Print --input-metalink option description.
	(main): Retrieve files from Metalink file
	* src/metalink.c (retrieve_from_metalink): Download files described by
	metalink.
	(metalink_res_cmp): Comparator for resources priority-sorting.
	* src/metalink.h: Create header for metalink.c
	(RES_TYPE_SUPPORTED): Define supported resources media.
	(DEFAULT_PRI): Default mirror priority for Metalink over HTTP.
	(VALID_PRI_RANGE): Valid priority range.
	* src/options.h (options): Add input_metalink option and metalink_over_http
	options.
	* src/utils.c (hex_to_string): Convert binary data to ASCII-hex.
	* src/utils.h (hex_to_string): Add prototype.
	* src/wget.h: Add metalink-related error enums
	Add METALINK_METADATA flag for document type.

2015-07-15  Romain Bentz  <romain.bentz@dataiku.com>

	Add NULL value check to fix #45289
	* src/recur.c (retrieve_tree): Check return value of url_parse()

2015-07-14  Tim Rühsen  <tim.ruehsen@gmx.de>

	Let HTTPS tests XFAIL when no TLS support configured
	* configure.ac: Export WITH_SSL for use in Makefile.am
	* testenv/Makefile.am: Add HTTPS tests to XFAIL_TESTS when !WITH_SSL

	Reported-by: Ander Juaristi <ajuaristi@gmx.es>

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

	Change function params to const in src/iri.[ch]
	* iri.h, iri.c: Added const attribute for params of parse_charsset(),
		check_encoding_name(), idn_encode(), idn_decode(),
		remote_to_utf8(), set_uri_encoding(), set_content_encoding().

	Work around a libidn <= 1.30 vulnerability
	* src/iri.c: Add _utf8_is_valid() to check UTF-8 sequences before
	  passing them to idna_to_ascii_8z().

2015-06-27  Ángel González  <keisial@gmail.com>

	Fix wgetrc filename creation for Windows
	* init.c/wgetrc_file_name: Remove obsolete code in WINDOWS code path

	Reported-by: Gisle Vanem <gvanem@yahoo.no>

2015-06-16  Darshit Shah  <darnir@reniac.com>

	Add valgrind suppression files for HTTPS tests
	    * testenv/test/base_test.py: Use Valgrind SSL suppressions file for
	    tests
	    * testenv/valgrind-suppression-ssl, tests/valgrind-suppression-ssl:
	    Add new suppression files to suppress OpenSSL errors in valgrind
	    * tests/test-proxied-https-auth.px: Use the valgrind SSL
	    suppressions file for the test
	    * tests/test-proxied-https-auth-keepalive.px: Same

2015-06-14  Darshit Shah  <darnir@reniac.com>

	contrib/check-hard: Indentation and spacing cleanup
	    * contrib/check-hard: Reduce the amount of text output to the
	    screen. Also implement some indentation and whitespace cleanups.

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

	Fix usage of CFLAGS in contrib/check-hard
	* contrib/check-hard: Set CFLAGS per command line instead of using export.

	'make distcheck' changes CFLAGS. So using ./configure -C together with
	exported CFLAGS fails. Setting CFLAGS per command line works smoothly.

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

	Move test_* function protoypes from test.c to test.h
	* src/test.c: Remove test_* function prototypes, make tests_run static
	* src/test.h: Add test_* function protoypes

2015-05-23  Giuseppe Scrivano  <gscrivan@redhat.com>

	NEWS: cite --if-modified-since

	gnulib: update gnulib

2015-05-22  Hubert Tarasiuk  <hubert.tarasiuk@gmail.com>

	Include --if-modified-since option in user manual.
	* doc/wget.texi: Add --if-modified-since section.

	Support If-Modified-Since header in timestamping mode.
	* src/wget.h: Add IF_MODIFIED_SINCE enum for dt. Add TIMECONV_ERR
	enum to uerr_t.
	* src/http.c (time_to_rfc1123): Convert time_t do http time.
	* src/http.c (initialize_request): Include If-Modified-Since header
	if appropriate.
	* src/http.c (set_file_timestamp): Separate this code from check_file_output.
	* src/http.c (check_file_output): Use set_file_timestamp.
	* src/http.c (gethttp): Handle properly 304 return code and 200 if server
	ignores If-Modified-Since headers.
	* src/http.c (http_loop): Load filename to hstat if condget was requested,
	use IF_MODIFIED_SINCE if requested and current timestamp can be obtained.

	Add --if-modified-since option
	* src/init.c: Add to commands array.
	* src/main.c: Add to cmdline_option. Add to help message.
	* src/options.h: Add to options struct.

	Add test for condget requests.
	* testenv/Test-condget.py: the test
	* testenv/Makefile.am: add to tests list

	Support conditional GET in testenv server.
	* src/exc/server_error.py: Add exception for GET to HEAD fallback.
	* src/server/http/http_server.py: Do not send body if 304 return
	code requested for a file.

	Implement timestamp support for local files in testenv
	* testenv/README: Change timestamp format definition
	* testenv/conf/local_files.py: Set proper timestamps

2015-05-20  Pär Karlsson  <feinorgh@gmail.com>

	Fix undeclared loop variable in Perl test suite
	Reported-by: Hubert Tarasiuk <hubert.tarasiuk@gmail.com>

2015-05-12  Ander Juaristi  <ajuaristi@gmx.es>

	Make sure Wget does not unescape reserved chars.
	* testenv/Test-reserved-chars.py: New file.

	* testenv/Makefile.am: Added new test Test-reserved-chars.py.

	When following redirections, Wget should not unescape the reserved
	characters that might appear in target URLs.

2015-05-12  Ander Juaristi  <ajuaristi@gmx.es>

	Fixed incorrect handling of reserved chars.
	* src/iri.c (do_conversion): Call url_unescape_except_reserved,
	instead of url_unescape.

	* src/url.c (url_unescape_1): New static function.
	(url_unescape): Calls url_unescape_1 with mask zero. Preserves
	same behavior as before. Only code changes.
	(url_unescape_except_reserved): New function.

	* src/url.h: Added prototype for url_unescape_except_reserved().

	When the locale is US-ASCII, URIs that contain special characters
	in them are converted to IRIs according to RFC 3987, section 3.2
	"Converting URIs to IRIs".

2015-05-07  Darshit Shah  <darnir@reniac.com>

	Fix documentation for update_speed_ring()
	    * progress.c (update_speed_ring): The comment for the function
	    incorrectly stated that the function uses thirty samples from the
	    past instead of twenty.

	    Reported-By: Yi Li <lovelylich@gmail.com>

2015-05-04  Darshit Shah  <darnir@reniac.com>

	Remove shadowed variable in http.c
	    * http.c (gethttp): Rename err to conn_err to prevent shadowed
	    variable

2015-05-04  Steven Schubiger  <stsc@member.fsf.org>

	paramcheck: use explicit quoting for here-docs
	* util/paramcheck.pl: Adjust here-docs

2015-05-03  Tim Ruehsen  <tim.ruehsen@gmx.de>

	Fix format specifier warning
	* src/utils.c (aprintf): Use %d for int argument

2015-05-01  Nikolay Merinov  <kim.roader@gmail.com>

	Fix timestamping and continue behaviour with ftp protocol.
	* src/ftp.c (ftp_loop_internal): Add option `force_full_retrieve' that force to
	retrieve full file.
	(ftp_retrieve_list): Pass `true' as `force_full_retrieve' option to
	`ftp_loop_internal' if we want to download file with newer timestamp than local
	copy.

2015-04-27  Rohit Mathulla  <rohit_mathulla@yahoo.com>

	openssl: Read cert from private key file when needed
	* src/openssl.c (ssl_init): Assign opt.cert_{file, type}
	  from opt.private_key(_type)

	Fix double free bug in SSL code
	* src/openssl.c, src/gnutls.c (ssl_init): Copy options using xstrdup

2015-04-20  Hubert Tarasiuk  <hubert.tarasiuk@gmail.com>

	Single exit point and common cleanup code in gethttp
	* src/http.c (gethttp): Common cleanup for type, message,
	  req, resp, head.  Single exit point.

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

	Silence warning in perl test suite
	* tests/WgetTests.pm: Use string comparisons for $valgrind variable

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

	Check memory allocations in WARC code
	* src/warc.c: Remove some memory allocations,
	              use xmalloc instead of malloc

	Reported-by: Bill Parker <wp02855@gmail.com>

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

	Add more const usage to function params
	* warc.c, warc.h: Add const specifier to several function args

2015-04-14  Darshit Shah  <darnir@reniac.com>

	PEP8'ify the Python Test Suite
	    * testenv/conf/{__init__,authentication,files_crawled,
	      hook_sample,reject_header,server_files}.py: Aesthetic changes to
	      meet Python PEP8 guidelines
	    * testenv/exc/{server_error,test_failed}.py: Same
	    * testenv/misc/{colour_terminal,wget_file}.py: Same
	    * testenv/server/http/http_server.py: Same
	    * testenv/test/base_test.py: Same

2015-04-13  Ander Juaristi  <ajuaristi@gmx.es>

	Improved test suite documentation
	* README.checkout: Added reference to Python. New section
	  "Testing and development". Updated information about test suites.

	Added support for GDB in Python tests
	* base_test.py (gen_cmd_line): Check GDB_TESTS environment variable.

2015-04-13  Tim Ruehsen  <tim.ruehsen@gmx.de>

	Added GDB support to Perl tests
	* WgetTests.pm (run): Check GDB_TESTS environment variable.

2015-04-11  Hubert Tarasiuk  <hubert.tarasiuk@gmail.com>

	Add Valgrind suppression for libidn.so at idna_to_ascii_4z
	* tests/WgetTests.pm (run): Include suppression file when running Valgrind.
	* tests/valgrind-suppressions: Add suppression for idn_to_ascii_4z.
	* tests/Makefile.am: Add valgrind-suppressions to EXTRA_DIST.

2015-04-11  Ángel González  <keisial@gmail.com>

	Remove memory leak in idn_encode.
	* src/iri.c (idn_encode): Free buffer from remote_to_utf8
	when needed; give meaningful names to variables;
	remove excessive comment.

2015-04-10  Hubert Tarasiuk  <hubert.tarasiuk@gmail.com>

	Fix error in free_vec.
	* src/utils.c (free_vec): Increment pointer instead of its value.

	Reported-by: Gisle Vanem <gvanem@yahoo.no>

2015-04-10  Ángel González  <keisial@gmail.com>
