zfs/lib/libzfs
Jason King c14ca1456e
Support custom URI schemes for the keylocation property
Every platform has their own preferred methods for implementing URI 
schemes beyond the currently supported file scheme (e.g. 'https' on 
FreeBSD would likely use libfetch, while Linux distros and illumos
would probably use libcurl, etc). It would be helpful if libzfs can 
be extended to support additional schemes in a simple manner.

A table of (scheme, handler_function) pairs is added to libzfs_crypto.c, 
and the existing functions in libzfs_crypto.c so that when the key 
format is ZFS_KEYFORMAT_URI, the scheme from the URI string is 
extracted, and a matching handler it located in the aforementioned 
table (returning an error if no matching handler is found). The handler 
function is then invoked to retrieve the key material (in the format 
specified by the keyformat property) and the key is loaded or the 
handler can return an error to abort the key loading process.

Reviewed by: Sean Eric Fagan <sef@ixsystems.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Jason King <jason.king@joyent.com>
Closes #10218
2020-04-28 10:55:18 -07:00
..
os Add FreeBSD support to OpenZFS 2020-04-14 11:36:28 -07:00
.gitignore Add a pkgconfig file 2014-08-28 07:59:43 -07:00
Makefile.am Add FreeBSD support to OpenZFS 2020-04-14 11:36:28 -07:00
THIRDPARTYLICENSE.openssl Fix typos in lib/ 2019-09-02 17:53:27 -07:00
THIRDPARTYLICENSE.openssl.descrip Encryption patch follow-up 2017-10-11 16:54:48 -04:00
libzfs.pc.in Change http://zfsonlinux.org links to https://zfsonlinux.org 2020-01-13 16:43:59 -08:00
libzfs_changelist.c zfs_handle used after being closed/freed in change_one callback 2019-08-28 15:02:58 -07:00
libzfs_config.c Use zfs_ioctl with zfs_cmd_t in libzfs 2019-10-23 17:29:43 -07:00
libzfs_core.pc.in Change http://zfsonlinux.org links to https://zfsonlinux.org 2020-01-13 16:43:59 -08:00
libzfs_crypto.c Support custom URI schemes for the keylocation property 2020-04-28 10:55:18 -07:00
libzfs_dataset.c Fix more leaks detected by ASAN 2020-04-22 10:40:34 -07:00
libzfs_diff.c Don't open zfs control device exclusively 2020-02-28 14:54:14 -08:00
libzfs_import.c Persistent L2ARC 2020-04-10 10:33:35 -07:00
libzfs_iter.c Use zfs_ioctl with zfs_cmd_t in libzfs 2019-10-23 17:29:43 -07:00
libzfs_mount.c Change default to overlay=on 2020-03-06 09:28:19 -08:00
libzfs_pool.c libzfs_pool: Remove unused check for ENOTBLK 2020-04-07 10:04:40 -07:00
libzfs_sendrecv.c Remove deduplicated send/receive code 2020-04-23 10:06:57 -07:00
libzfs_status.c Add missing MMP status code to libzfs_status 2019-01-03 12:15:46 -08:00
libzfs_util.c Support custom URI schemes for the keylocation property 2020-04-28 10:55:18 -07:00