Commit Graph

76 Commits

Author SHA1 Message Date
39dfeec1ae Fixed problems pointed out in MR. Added tests and doxygen documentation.
* 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
2018-01-01 13:28:43 +01:00
d1847fb518 Add docs for thread functions
* docs/Makefile.am: Add man page
* libwget/thread.c: Add documentation
2017-12-31 18:47:19 +01:00
beda523b9f * docs/wget2_manual.md: Remove duplicate documentation on the --report-speed option and change it a bit 2017-12-30 13:49:36 +00:00
c198801ae8 Implement speed reporting in the progress bar and the --report-speed switch
* docs/wget2_manual.md: Add documentation for the --report-speed switch
* include/wget/wget.h: Define the report speed types, add reference to wget_bar_set_speed_type()
* libwget/bar.c: Modify the wget2 progress bar to print speed information
* src/bar.c: Add code to set the type of speed reporting
* src/options.c: Add the --report-speed switch and a function to parse the legal types
* src/wget_options.h: Add 'report_speed' in the config structure
* src/wget.c: Print speed reports at the end of a download thread
2017-12-06 16:20:10 +01:00
d95336f829 * docs/wget2_manual.md: Add documentation for --max-threads and --chunk-size switches 2017-12-01 19:09:36 +01:00
90ea11ca38 Disable TLS Session Resumption by default
* src/options.c: Set config.tls_resume to false/zero by default

* docs/wget2_manual.md: Add docs for --tls-resume
2017-11-12 20:17:36 +00:00
e8ad27f631 Implementation of --use-askpass switch
* bootstrap.conf: Add 'posix_spawn' and 'spawn-pipe' gnulib modules
* docs/wget2_manual.md: Add docs for --use-askpass
* src/options.c: Add implementation of --use-askpass
* src/wget_options.h (struct config): Add 'use_askpass_bin' member
2017-11-12 00:24:49 +01:00
2cae33c8ed Implement --ask-password switch to enable a password prompt
* bootstrap.conf: Add 'getpass' gnulib module
* docs/wget2_manual.md: Amend docs for --ask-password
* src/options.c: Add implementation of --ask-password
* src/wget_options.h (struct config): Add 'password' member
2017-11-02 21:08:23 +01:00
01a08e2f3f Add support for RFC 7616 HTTP Digest Access Authentication
* docs/Makefile.am: Remove libwget-md5.3
* include/wget/wget.h: Remove wget_md5_printf_hex(),
  add wget_hash_printf_hex()
* libwget/Makefile.am: Rename md5.c to hash_printf.c
* libwget/hash_printf.c: New file with wget_hash_printf_hex()
* libwget/http.c (wget_http_add_credentials): Remove hardcoded MD5 algo
* tests/test-metalink.c: Use wget_hash_printf_hex()

RFC 7616 adds/replaces the MD5 digest algorithm with SHA-256.
2017-10-29 18:32:29 +01:00
b31538f5cb Added new setting --filter-urls
* docs/wget2_manual.md: Added doc for new setting
* src/options.c: Added new setting
* src/wget.c: Added code for new setting.
* src/wget_options.h: Added new setting

This commit hasn't been copyright-assigned to the FSF.
2017-10-29 11:46:24 +01:00
54b470f969 * doc/wget2_manual.md: Add docs for --stats-* options 2017-09-19 14:40:40 +02:00
46dfcc6764 * docs/wget2_manual.md: Fix several small things 2017-09-06 12:34:19 +02:00
b0e1def6fe Add docs for xml parsing functions.
* libwget/xml.c: Rename XML_CONTEXT to _xml_context,
  document wget_* functions
* docs/Makefile.am: Sort order of man page files,
  add building of libwget-xml.3
2017-08-04 11:26:24 +02:00
e606417a4a Fix doxygen warnings
* README.md: Mark options
* docs/wget2_manual.md: Mark URLs
* libwget/bar.c: Fix doc for bar_init(),
  add doxygen close tag at end of file
* libwget/buffer.c: Fix doc for wget_buffer_reset()
* libwget/console.c: Move unused tag to front of param
* libwget/hpkp.c: Fix documented params for wget_hpkp_new()
* libwget/iri.c: Fix doc for wget_iri_supported()
* libwget/net.c: Fix doc for wget_tcp_printf()
* libwget/utils.c: Move unused tag to front of param
2017-07-21 11:12:23 +02:00
8dc65908ce New options --http-proxy-user and --http-proxy-passord
* docs/wget2_manual.md: Amend description of user/password options
* docs/wget2_manual.md: Add new param to wget_http_add_credentials()
* libwget/http.c (wget_http_parse_response_header): Add Proxy-Authenticate
  HTTP header,
  (wget_http_add_credentials): Add Proxy-Authorization HTTP header,
  (_on_header_callback): Add Proxy-Authenticate HTTP header
* libwget/http_highlevel.c: Amend call to wget_http_add_credentials()
* src/job.c (job_free): Free proxy_challenges
* src/options.c: Add --http-proxy-password and --http-proxy-user
* src/wget.c (process_response_header): Add status code 407,
  (_add_authorize_header): New function,
  (http_create_request): Use _add_authorize_header()
* src/wget_job.h: Add JOB.proxy_challenges
* src/wget_options.h: Add config.http_proxy_username and config.http_proxy_password
* unit-tests/test.c: Amend call to wget_http_add_credentials()
2017-06-13 15:49:26 +02:00
56efdab1a7 Remove trailing whitespaces (syntax-check) 2017-04-29 20:51:32 +02:00
c1dee14c72 Spell filesystem 'file system' (syntax-check)
* docs/wget2_manual.md: filesystem -> file system
* tests/libtest.c: Likewise
* tests/libtest.h: Likewise
* tests/test-wget-1.c: Likewise
2017-04-29 19:41:15 +02:00
f56c167a61 Added settings --cut-url-get-vars and --cut-file-get-vars and fixed --backups
* docs/wget2_manual.md: Added doc for the new settings
* src/options.c: Fixed --backups and added --cut-url-get-vars and --cut-file-get-vars
* src/wget.c: Added --cut-url-get-vars and --cut-file-get-vars
* src/wget_options.h: Added --cut-url-get-vars and --cut-file-get-vars
* tests/Makefile.am: Added test-cut-get-vars
* test-cut-get-vars.c: New file
2017-04-13 21:41:53 +02:00
ade8c82f27 * docs/libwget.doxy: Fix path to libwget header file for documentation 2017-04-08 15:44:47 +02:00
c545263d54 Support tilde expansion of filenames from wgetrc
* src/options.c (_shell_expand): New function to perform tilde
expansion on a given string
(parse_filename): Parse the input string and perform shell expansion on
it using _shell_expand
(parse_string): Set the parser functions for various options that may be
set from a config file to use parse_filename
(wget_strnglob): Run glob() on only the specified part of the string
2017-02-22 16:28:10 +01:00
8248bfecd1 Add console color abstraction
* docs/Makefile.am: Add libwget-console.3
* include/wget/wget.h: Add console routines
* libwget/Makefile.am: Add libwget/console.c
* libwget/console.c: New file with console functions
* src/log.c: Add WIN32 and console function calls
2017-01-06 14:23:37 +01:00
6f1ea87ad2 * docs/wget2_manual.md: Add description for --config-file 2016-12-16 15:00:19 +01:00
74395dba94 * docs/wget2_manual.md: Update description of -O 2016-11-16 13:01:04 +01:00
58d18ad60c New function to check for literal IPv4/IPv6 addresses
* 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
2016-11-08 16:22:08 +01:00
753c95473e * docs/wget2_manual.md: More changes for Wget2 2016-10-12 16:14:16 +02:00
5f599ffd5d Update documentation to reflect actual behavior of -O
* docs/wget2_manual.md: Update documentation. -O does not act as a
    shell redirection.
2016-07-22 18:50:59 +02:00
27ffb8f26f Update README
* README.md: Update text to current status.
* docs/mainpage.md: Likewise.
2016-07-22 11:33:36 +02:00
efeec48707 Remove references to autogen.sh. Set SKIP_PO.
* bootstrap.conf: add SKIP_PO=1, so that we don't have to pass
  the --skip-po flag every time we run bootstrap.
* README.md, contrib/check-hard, contrib/mingw, docs/mainpage.md,
  .travis.sh: amend references to autogen.sh.
* autogen.sh: Removed
* .gitignore: Add build-aux
* po/Makevars: Remove auto-generated file from repo
2016-07-08 16:11:01 +02:00
cf35687d9b Add --force-* options to docs
* wget2_manual.md: Add description for --force-css, --force-sitemap,
  --force-atom, --force-rss, -force-metalink
2016-05-03 22:16:11 +02:00
ef7c5bba6d Add docs for robots.txt parsing
* libwget/robots.c: Add Doxygen docs
* docs/Makefile.am: Add rule for man page
2016-04-25 21:14:52 +02:00
51053c2b4e Add docs for Atom and Sitemap URL extraction functions
* libwget/atom_url.c: Add Doxygen docs
* libwget/sitemap_url.c: Add Doxygen docs
* docs/Makefile.am: Add rules for man pages
* libwget/base64.c: Fix text
2016-04-09 23:42:29 +02:00
f8dca985c2 Add docs for base64 functions
* libwget/base64.c: Add Doxygen docs
* docs/Makefile.am: Add rule for man page
2016-04-09 22:48:36 +02:00
bff21720f9 Add docs in markdown format
* DoxygenLayout.xml: Set mainpage title
* libwget.doxy.in: Scan docs, add mainpage.md as main page
* mainpage.md: New file
* faq.md: New file
* wget2_manual.md: New file, derived from wget.texi
2016-03-25 20:03:04 +01:00
650f59cc65 Add docs for memory functions
* libwget/mem.c: Add docs
* docs/Makefile.am: Add rule for man pages
* include/libwget.h.in: Cosmetic adjustments
2016-02-07 22:53:10 +01:00
9cf7d2f81f Add docs for MD5 convenience functions
* libwget/md5.c: Add docs
* docs/Makefile.am: Add rule for man pages
2016-02-07 19:13:58 +01:00
9821cfd711 * docs/Makefile.am: Remove redundant list of man files 2016-02-06 22:15:49 +01:00
2a5d9e2162 * docs/Makefile.am: Add rule for xalloc man page 2016-02-06 21:57:55 +01:00
49f29381d0 Add docs for printf functions
* libwget/printf.c: Convert GTK-DOC format into Doxygen
* docs/Makefile.am: Add rule for man pages
2016-02-06 21:36:36 +01:00
3c06477e12 Add docs for memory functions
* libwget/xalloc.c: Convert GTK-DOC format into Doxygen
* docs/Makefile.am: Add rule for man pages
2016-02-06 21:17:09 +01:00
826e5ac601 Add thread-safe wrapper code around random() and srandom()
* docs/Makefile.am: Add wget_random and wget_srandom to docs
* include/libwget.h.in: Add wget_random and wget_srandom
* libwget/Makefile.am: Add random.c
* libwget/http.c: Use wget_random()
* libwget/random.c: New file with wget_random and wget_srandom
* src/options.c: Remove call to srandom()
2016-01-22 20:50:12 +01:00
5304d93dd5 Add docs for I/O functions
* docs/Makefile.am: Add libwget-io.3
* libwget/io.c: Add I/O function docs
2016-01-19 10:44:13 +01:00
ce38918e06 Add docs for hash functions
* docs/Makefile.am: Add libwget-hash.3
* include/libwget.h.in: Remove hash function docs
* libwget/hashfile.c: Add hash function docs
2016-01-18 15:53:29 +01:00
b7203bc3bd Do not sort document members
* docs/libwget.doxy.in: Set SORT_MEMBER_DOCS = NO
2016-01-18 15:52:39 +01:00
b904c85a12 Enable reading of config.h for docs generation
* docs/libwget.doxy.in: Enable reading of config.h
2016-01-18 15:16:19 +01:00
b3dfb09134 Add logo to HTML docs
* docs/gen-logo.sh: Add script to generate logo via imagemagick
* docs/wget-logo.png: Add generated logo
* docs/libwget.doxy.in: Include logo into docs
2016-01-18 12:31:46 +01:00
591a1159ee Tweak doxygen config file
* docs/libwget.doxy.in: Hide absolute path in file names,
  exclude private header files of libwget/,
  exclude symbols starting with _
2016-01-17 21:38:53 +01:00
1bb22c6485 Use README.md as main page in HTML docs
* docs/libwget.doxy.in: Add README.md to INPUT
2016-01-17 21:14:15 +01:00
f7ba3e5431 Use doxygen instead of gtk-doc
* Removed all gtk-doc files and references.
* Added doxygen files and rules
2016-01-17 20:29:58 +01:00
a9311134c2 Exclude private header files from gtk-doc parsing
* docs/libwget/Makefile.am: Add net.h and css_tokenizer.h to IGNORE_HFILES
2016-01-15 11:19:23 +01:00
31f0fc0190 Added printf-style functions
* libwget/printf.c: New file
* docs/libwget/Makefile.am: Add libwget-printf.3
* docs/libwget/libwget-docs.sgml: Add printf section
* docs/libwget/libwget-sections.txt: Add SECTION libwget-printf
* include/libwget.h.in: Add function prototypes
* libwget/Makefile.am: Add printf.c
* libwget/base64.c, libwget/http.c, libwget/iri.c, libwget/logger.c,
  libwget/md5.c, libwget/vector.c, src/options.c:
  Use new functions instead of asprintf/vasprintf
2016-01-13 13:33:51 +01:00