* bootstrap.conf: Add gnulib module 'filename'.
* src/blacklist.c (get_local_filename_real): Remove const from return type.
(get_local_filename): Likewise.
* src/wget.c: Include "filename.h".
(queue_url_from_remote): Add param 'download_name'.
(queue_url_from_remote): Change local filename to that given by 'download' tag.
(html_parse): Create C string from 'download' value.
* src/wget_blacklist.h (blacklist_entry): Remove const from local_filename.
Some terminal emulators now allow printing hyperlinks through escape
sequences. See
https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda for
more information.
Hyperlink support cannot be gauged accurately. And while most terminals
just ignore the extra escape sequences, older versions of vte actually
print the URI along with some garbage. So, in this patch, the hyperlink
support is disabled by default and used only if the user explicitly
requests it. Once there is a way to query for feature support in
terminals, this can be intelligently enabled automatically.
* bootstrap.conf: Add new module xgethostname
* src/wget_options.h: Add a new option hyperlink and a global variable
hostname
* src/options.c: Add a new command line option --hyperlink. This is the
same option name as `ls` from coreutils for consistency across
programs
(init): If the user requests hyperlink support, get the hostname and
store it. This is to prevent having to get the hostname for each
downloaded file
* src/wget.c (prepare_file): Print the filename with a hyperlink if the
user requests it.
* docs/wget2.md: Add documentation entry for hyperlinks
* bootstrap.conf: Add update-copyright module
* cfg.mk: Setup environment for update-copyright
* contrib/update_copyright: Remove script no longer used
* libwget/ssl_openssl: Fix copyright year
* tests/test-post-handshare-auth.c: Fix copyright years
* contrib/commit-check: Add copyright and license
* contrib/mail.sh: Same
* src/version-text.h.in: Same
On Debian unstable, after updating gnulib there was:
In file included from ../lib/arpa/inet.h:46,
from ip.c:27:
/usr/include/arpa/inet.h:34:8: error: unknown type name 'in_addr_t'
extern in_addr_t inet_addr (const char *__cp) __THROW;
* 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
* bootstrap.conf: Add modules cond, lock and thread,
remove module pthread
* include/wget/wget.h: Remove pthread code,
add new wget_thread_* functions,
amend params of wget_thread_* functions,
add init and exit functions for mutex initialization
* */*.[ch]: Amend threading to new API
This change let libwget work with different kinds of
threading libraries incl. pthreads and windows threads.
* bootstrap.conf: Ad gnulib module ftruncate
* include/wget/wget.h: Add wget_truncate
* libwget/io.c: Add wget_truncate
* src/job.c: Call wget_truncate instead of truncate
The truncate() function is not covered by gnulib.
wget_truncate() is a wrapper around ftruncate(), which is covered
by gnulib.
* bootstrap.conf: Add gnulib module 'inet_pton'
* docs/Makefile.am: Add man page libwget-ip.3
* wget/wget.h (struct wget_iri_st): New field 'is_ip_address'.
* libwget/Makefile.am: Add new file ip.c
* libwget/ip.c: New file defining new function wget_ip_is_family()
* libwget/iri.c (wget_iri_parse): Check for literal IP address
* src/wget.c: Do not add to HSTS if literal IP address
* bootstrap.conf: Remove manywarnings, add warnings
* configure.ac: Replace manywarnings code
The new code works on recent gcc and clang with an overhead of
~100ms instead of ~9s here (without -C).
This is meant for developers only and is activated by either
--enable-gcc-warnings or by touching .manywarnings.
* bootstrap.conf: Remove module 'human'
* include/libwget.h.in: Amend wget_human_readable()
* libwget/bar.c: Use new function wget_human_readable()
* libwget/utils.c: Replace wget_human_readable()
* src/wget.c: Use new function wget_human_readable()
* bootstrap.conf: Add the human module and its dependency unistd
* include/libwget.h.in: Replace method signature for wget_human_readable
* libwget/bar.c (_bar_slot_t): Add a new struct memeber for storing the
human readable string that it printed on the progress bar
(wget_bar_init): Initialise the new human_size struct member
(wget_bar_update): Use the new wget_human_readable() method
(_bar_print_final): Same
(wget_bar_deinit): Free the allocated memory for each slot
* libwget/utils.c (wget_human_readable): Replace the old function with a
call to the human_readable() method from gnulib