* Makefile.am: Remove '<stdout>' special handling in coverage rules
* libwget/Makefile.am: Generate css_tokenizer.c with proper automake
macros, prepend include line using sed.
* configure.ac: Add configure time tests for plugin support backend.
* include/wget/wget.h: Add basic plugin API
* libwget/Makefile.am: Add new file plugin.c to libwget.la
* libwget/plugin.c: Add plugin API functions (new file)
* src/Makefile.am: Add new files dl.c, wget_dl.h, plugin.c, wget_plugin.h
to wget2
* src/dl.c: Add abstraction for dynamic loading of object files
* src/wget_dl.h: Likewise
* src/plugin.c: Add implementation for loading plugins
* src/wget_plugin.h: likewise
* src/options.c: Add options `--plugin=`, `--local-plugin=`,
`--plugin-dirs=`, `--list-plugins`
* src/wget.c: Add function calls to initialize and finalize plugin
support system
* unit-tests/Makefile.am: Add test-dl, libalpha.la, and libbeta.la
* unit-tests/test-dl.c: Add unit test for src/dl.c
* unit-tests/test-dl-dummy.c: Likewise
* tests/Makefile.am: Add test-plugin, libpluginname.la, and
libpluginexit.la
* tests/test-plugin.c: Add tests for plugin support
* tests/test-plugin-dummy.c: Likewise
* libwget/test-linking.c: Fix warnings with --enable-manywarnings
* unit-tests/test.c: likewise
Plugin loading mechanism has been implemented as per specifications
at https://gitlab.com/akash_rawal/wget2/wikis/Stage-0
* include/wget/wget.h: Convert wget_http_connection_t to forward declaration
* libwget/http.h: Move wget_http_connection_t definition here
* libwget/Makefile.am: Add new file http.h
* libwget/http.c: Include http.h and add accessor functions
* libwget/http_highlevel.c: Include http.h
* src/wget.c: Replace access to wget_http_connection_t with accessor function calls
* libwget/Makefile.am: new file hpkp.c.
* src/options.c (print_help, struct options): new command line option '--hpkp'.
(init): initialize HPKP database with wget_hpkp_db_init().
* src/wget_options.h (struct config): new handle 'hpkp' to the HPKP
database.
* 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
* include/libwget.h.in: Add wget_tls_session_* set of functions,
add new define WGET_SSL_SESSION_CACHE
* libwget/Makefile.am: Add tls_session.c to libwget
* libwget/ssl_gnutls.c (struct _config): Add tls_session_cache.
(struct _session_context): Add delayed_session_data.
(wget_ssl_set_config_string): Handle WGET_SSL_SESSION_CACHE.
(wget_ssl_open): Add False Start debug messages,
Set session data if cound in cache,
Write session data into cache.
(wget_ssl_read_timeout): Write session data into cache when
False Start has been activated.
* libwget/tls_session.c: New file with session data cache implementation
* src/options.c (print_help): Add new options --tls-resume and
--tls-session-file.
(config): Set tls_resume activated by default.
(options[]): Add tls-resume and tls-session-file.
(init): Create session file name, init session data cache,
Set session cache for TLS layer.
(deinit): Free session cache and session cache filename.
* src/options.h (struct config): Add tls_session_db, tls_session_file,
tls_resume.
* src/wget.c (main): Save session cache if changed.
TLS Session Resumption speeds up TLS handshake by 1xRTT.
Together with TCP Fast Open (enabled by default), we are down at
1xRTT TLS handshake overhead. To get down to 0 RTT we need a different
TLS protocol - TLS v1.3 will hopefully soon be standardized.
* 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()
* libwget/Makefile.am: Add lib/ to AM_CPPFLAGS, add libgnu.a to *_LDADD
* src/Makefile.am: Same
* tests/Makefile.am: Same, rename object files to link with tests
* libwget/netrc.c: New file for netrc API functions
* include/libwget.h: Add netrc function prototypes
* libwget/Makefile.am: Add netrc.c
* libwget/test_linking.c (main): Add call to wget_netrc_deinit()
* src/options.c: Add --netrc and --netrc-file
* src/options.h: Add config.netrc and config.netrc_file
* src/wget.c (http_get): Get login/password from netrc data
* tests/test-auth-basic.c (main): Add test for --netrc-file