Commit Graph

20 Commits

Author SHA1 Message Date
15ba1db248 Update copyrights 2023-08-31 12:57:30 +02:00
3dc7f71098 Update copyright year 2022-02-25 17:46:43 +01:00
22162f82b2 Update copyright year 2021-01-22 21:58:38 +01:00
59d9ecd9c0 * Update copyright year to 2020 2020-01-10 00:33:02 +01:00
4b9edbad2d Update Copyright statements to be compatible with update-copyright module 2019-09-10 23:41:56 +02:00
14a78d48a5 Rework HPKP DB plugin code
* include/wget/wget.h: Add typedefs for HPKP DB functions,
  remove wget_hpkp_db_st,
  rewrite wget_hpkp_db_vtable,
  add wget_hpkp_set_plugin()
* libwget/hpkp.c: Add one function table for all exposed functions,
  implement wget_hpkp_set_plugin(),
  call plugin functions if set
* libwget/plugin.c: Remove wget_plugin_add_hpkp_db()
* src/plugin.c: Remove impl_add_hpkp_db()
* tests/test-plugin-dummy.c: Implement dummy hsts db API,
  initialize test_hpkp_db_vtable,
  call wget_hpkp_set_plugin() in plugin initializer
2019-08-07 14:49:33 +02:00
a6ec2994b4 Rework OCSP DB plugin code
* include/wget/wget.h: Add typedefs for OCSP DB functions,
  remove wget_ocsp_db_st,
  rewrite wget_ocsp_db_vtable,
  add wget_ocsp_set_plugin()
* libwget/ocsp.c: Add one function table for all exposed functions,
  implement wget_ocsp_set_plugin(),
  call plugin functions if set
* libwget/plugin.c: Remove wget_plugin_add_ocsp_db()
* src/plugin.c: Remove impl_add_ocsp_db()
* tests/test-plugin-dummy.c: Implement dummy hsts db API,
  initialize test_ocsp_db_vtable,
  call wget_ocsp_set_plugin() in plugin initializer
2019-08-07 14:49:30 +02:00
e7d055969d Rework HSTS DB plugin code
* include/wget/wget.h: Ad typedefs for HSTS DB functions,
  remove wget_hsts_db_st,
  rewrite wget_hsts_db_vtable,
  add wget_hsts_set_plugin()
* libwget/hsts.c: Add one function table for all exposed functions,
  implement wget_hsts_set_plugin(),
  call plugin functions if set
* libwget/plugin.c: Remove wget_plugin_add_hsts_db()
* src/plugin.c: Remove impl_add_hsts_db()
* tests/test-plugin-dummy.c: Implement dummy hsts db API,
  initialize test_hsts_db_vtable,
  call wget_hsts_set_plugin() in plugin initializer
2019-08-07 14:49:26 +02:00
47d5bec179 Rename plugin types
* include/wget/wget.h: Rename plugin types
* libwget/plugin.c: Likewise
* src/plugin.c: Likeiwse
* src/wget_plugin.h: Likewise
* tests/test-plugin-dummy.c: Likewise
2019-08-07 14:49:22 +02:00
e61d3298e5 Rename wget_ocsp_db_t -> wget_ocsp_db
* include/wget/wget.h: Rename wget_ocsp_db_t -> wget_ocsp_db
* examples/http_multi_get.c: Likewise
* fuzz/libwget_ocsp_fuzzer.c: Likewise
* libwget/ocsp.c: Likewise
* libwget/plugin.c: Likewise
* libwget/ssl_gnutls.c: Likewise
* libwget/ssl_wolfssl.c: Likewise
* src/plugin.c: Likewise
* src/wget_options.h: Likewise
* src/wget_plugin.h: Likewise
* tests/test-plugin-dummy.c: Likewise
2019-07-19 15:59:58 +02:00
50be5af992 Rename wget_iri_t -> wget_iri
* include/wget/wget.h: Rename wget_iri_t -> wget_iri
* examples/*.c: Likewise
* fuzz/*.c: Likewise
* libwget/*.c: Likewise
* src/*.c: Likewise
* tests/*.c: Likewise
* unit-tests/*.c: Likewise
2019-07-18 13:10:27 +02:00
8d68b8f8a0 Typedef plugin functions not as pointer
* include/wget/wget.h: Remove '*' signature from function typedefs
* libwget/plugin.c: Amend casts and variable types
* src/plugin.c: Likewise
2019-07-17 15:35:00 +02:00
cdb3600791 Update copyrigght to 2019 2019-01-02 12:42:53 +01:00
3688ffb941 Update copyright to 2018 2018-04-30 20:52:11 +02:00
a7e1882962 Remove redundant pointer syntax from function pointer calls
* libwget/hsts.c: Likewise
* libwget/ocsp.c: Likewise
* libwget/plugin.c: Likewise
* src/plugin.c: Likewise
2017-09-06 11:50:28 +02:00
98c8e410a8 Add plugin APIs for custom HSTS, HPKP and OCSP databases
* include/wget/wget.h: Add plugin API declarations
 * libwget/hsts.c: Make wget_hsts_db_t extensible
 * libwget/hpkp.c: Make wget_hpkp_db_t extensible
 * libwget/ocsp.c: Make wget_ocsp_db_t extensible
 * libwget/plugin.c: Add virtual functions for plugin API
 * src/plugin.c: Add plugin API implementation
 * src/wget_plugin.h: Likewise
 * src/option.c: Add code to call the implementation
 * src/wget.c: Likewise
 * tests/test-plugin-dummy: Add plugin with dummy databases for testing
 * tests/Makefile.am: Add target libplugindb.la
 * tests/test-plugin.c: Add tests for custom databases
 * unit-tests/test.c: Add tests for new HPKP functions
 * libwget/ssl_gnutls.c: Adapt to API changes
 * examples/http_multi_get.c: Likewise
 * fuzz/libwget_hpkp_fuzzer.c: Likewise
 * fuzz/libwget_hsts_fuzzer.c: Likewise
 * fuzz/libwget_ocsp_fuzzer.c: Likewise

This feature implemented as per the specifications at
https://gitlab.com/akash_rawal/wget2/wikis/Stage-4
2017-09-03 18:21:39 +02:00
81cada6b7d Add plugin APIs for intercepting downloaded files.
Merged from branch tmp-akash_rawal-stage3 into master

 * include/wget/wget.h: Add function declarations
 * libwget/plugin.c: Add virtual functions
 * configure.ac: Check for fmemopen()
 * src/plugin.c: Add implementation
 * src/wget_plugin.h: Likewise
 * src/wget.c: Add code that calls the implementation
 * tests/test-plugin-dummy.c (pluginapi): Add option 'parse-rot13',
   'only-rot13' and 'test-pp'
 * tests/test-plugin.c: Add tests
 * tests/libtest.c: Load files into dynamic memory instead of stack,
   enables testing with large files.

Plugin APIs for intercepting downloaded files have been implemented
as per specifications at https://gitlab.com/akash_rawal/wget2/wikis/Stage-3
2017-09-03 12:07:11 +02:00
892e4ac761 Add plugin APIs for intercepting URLs
* include/wget/wget.h: Add function declarations
 * libwget/plugin.c: Add virtual functions
 * src/plugin.c: Add implementation
 * src/wget_plugin.h: Likewise
 * src/wget.c: Add code that calls the implementation
 * src/wget_job.h: Add a variable to store 'accept' action
 * tests/Makefile.am: Add libpluginapi.la
 * tests/test-plugin-dummy.c: Add a test plugin for testing
 * tests/test-plugin.c: Add tests

Plugin API for intercepting URLs has been implemented as per
specifications at https://gitlab.com/akash_rawal/wget2/wikis/Stage-2
2017-07-21 00:17:41 +02:00
c3a0e8ac47 Add command line option forwarding for plugins
* include/wget/wget.h: Add API for command line option forwarding
* libwget/plugin.c: Likewise
* libwget/test_linking: Add function from libwget/plugin.c
* src/dl.c: Remove unused dl_search1() and dl_list1(),
            use wget_vector_t for pointer arrays
* src/wget_dl.h: Likewise
* src/plugin.c: Implement option forwarding
* src/wget_plugin.h: Likewise
* src/options.c: Add options '--plugin-opt=', '--plugin-help'
* unit-tests/test-dl.c: Use dl_list() instead of dl_list1()
* tests/Makefile.am: Add test plugins pluginoption, pluginfaulty1,
                     pluginfaulty2
* tests/test-plugin-dummy.c: Implement additional test plugins
* tests/test-plugin.c: Extend tests for testing option processing

Command line option forwarding has been implemented as per
specifications at https://gitlab.com/akash_rawal/wget2/wikis/Stage-1

Several style issues were also fixed (Thanks Ander Juaristi)
2017-07-20 23:21:31 +02:00
4d3b3f5167 Add basic plugin loading mechanism
* 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
2017-06-06 17:04:44 +02:00