diff options
author | наб <[email protected]> | 2021-05-13 06:21:35 +0200 |
---|---|---|
committer | GitHub <[email protected]> | 2021-05-12 21:21:35 -0700 |
commit | 37086897b06a070d957226dbf860b4673906dc70 (patch) | |
tree | a430c4472b001d899eeee5bded50017d5d796300 /lib/libzfs/libzfs_util.c | |
parent | 7d07d1be39f4bc36930e304e36e95b712e379a5e (diff) |
libzfs: add keylocation=https://, backed by fetch(3) or libcurl
Add support for http and https to the keylocation properly to
allow encryption keys to be fetched from the specified URL.
Reviewed-by: Brian Behlendorf <[email protected]>
Reviewed-by: Ryan Moeller <[email protected]>
Signed-off-by: Ahelenia Ziemiańska <[email protected]>
Issue #9543
Closes #9947
Closes #11956
Diffstat (limited to 'lib/libzfs/libzfs_util.c')
-rw-r--r-- | lib/libzfs/libzfs_util.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/libzfs/libzfs_util.c b/lib/libzfs/libzfs_util.c index 7840e3590..fdb574651 100644 --- a/lib/libzfs/libzfs_util.c +++ b/lib/libzfs/libzfs_util.c @@ -44,6 +44,9 @@ #include <strings.h> #include <unistd.h> #include <math.h> +#if LIBFETCH_DYNAMIC +#include <dlfcn.h> +#endif #include <sys/stat.h> #include <sys/mnttab.h> #include <sys/mntent.h> @@ -1083,6 +1086,11 @@ libzfs_fini(libzfs_handle_t *hdl) libzfs_core_fini(); regfree(&hdl->libzfs_urire); fletcher_4_fini(); +#if LIBFETCH_DYNAMIC + if (hdl->libfetch != (void *)-1 && hdl->libfetch != NULL) + (void) dlclose(hdl->libfetch); + free(hdl->libfetch_load_error); +#endif free(hdl); } |