Add plugin APIs for providing 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
Custom HSTS, HPKP and OCSP databases and related plugin API have been implemented as per specifications at https://gitlab.com/akash_rawal/wget2/wikis/Stage-4
Edited by Akash Rawal