diff options
author | jhendersonHDF <jhenderson@hdfgroup.org> | 2023-04-24 15:21:12 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-24 15:21:12 (GMT) |
commit | e6db9b25d3753a1e39cad02f3bc0451da3640d1f (patch) | |
tree | a5028c0845abd92ac32a6c1aad2a7d467b36d6c2 /tools | |
parent | 3f5842cdd201ec73ffe9746cb9ea1d384754c968 (diff) | |
download | hdf5-e6db9b25d3753a1e39cad02f3bc0451da3640d1f.zip hdf5-e6db9b25d3753a1e39cad02f3bc0451da3640d1f.tar.gz hdf5-e6db9b25d3753a1e39cad02f3bc0451da3640d1f.tar.bz2 |
Fix ROS3 VFD anonymous credential usage with h5dump and h5ls (#2798)
Diffstat (limited to 'tools')
-rw-r--r-- | tools/src/h5dump/h5dump.c | 13 | ||||
-rw-r--r-- | tools/src/h5ls/h5ls.c | 18 |
2 files changed, 27 insertions, 4 deletions
diff --git a/tools/src/h5dump/h5dump.c b/tools/src/h5dump/h5dump.c index 6c1556a..2a5eeb7 100644 --- a/tools/src/h5dump/h5dump.c +++ b/tools/src/h5dump/h5dump.c @@ -862,8 +862,19 @@ parse_start: case 'f': vfd_info_g.type = VFD_BY_NAME; vfd_info_g.u.name = H5_optarg; - vfd_info_g.info = NULL; use_custom_vfd_g = TRUE; + +#ifdef H5_HAVE_ROS3_VFD + if (0 == HDstrcmp(vfd_info_g.u.name, drivernames[ROS3_VFD_IDX])) + if (!vfd_info_g.info) + vfd_info_g.info = &ros3_fa_g; +#endif +#ifdef H5_HAVE_LIBHDFS + if (0 == HDstrcmp(vfd_info_g.u.name, drivernames[HDFS_VFD_IDX])) + if (!vfd_info_g.info) + vfd_info_g.info = &hdfs_fa_g; +#endif + break; case 'g': dump_opts.display_all = 0; diff --git a/tools/src/h5ls/h5ls.c b/tools/src/h5ls/h5ls.c index 4e7298c..5d9e184 100644 --- a/tools/src/h5ls/h5ls.c +++ b/tools/src/h5ls/h5ls.c @@ -2651,8 +2651,8 @@ main(int argc, char *argv[]) hid_t fapl_id = H5P_DEFAULT; hbool_t custom_vol_fapl = FALSE; hbool_t custom_vfd_fapl = FALSE; - h5tools_vol_info_t vol_info; - h5tools_vfd_info_t vfd_info; + h5tools_vol_info_t vol_info = {0}; + h5tools_vfd_info_t vfd_info = {0}; #ifdef H5_HAVE_ROS3_VFD /* Default "anonymous" S3 configuration */ @@ -2763,7 +2763,6 @@ main(int argc, char *argv[]) else if (!HDstrncmp(argv[argno], "--vfd=", (size_t)6)) { vfd_info.type = VFD_BY_NAME; vfd_info.u.name = argv[argno] + 6; - vfd_info.info = NULL; custom_vfd_fapl = TRUE; } else if (!HDstrncmp(argv[argno], "--vfd-value=", (size_t)12)) { @@ -2980,6 +2979,19 @@ main(int argc, char *argv[]) /* Setup a custom fapl for file accesses */ if (custom_vol_fapl || custom_vfd_fapl) { +#ifdef H5_HAVE_ROS3_VFD + if (custom_vfd_fapl && (0 == HDstrcmp(vfd_info.u.name, drivernames[ROS3_VFD_IDX]))) { + if (!vfd_info.info) + vfd_info.info = &ros3_fa; + } +#endif +#ifdef H5_HAVE_LIBHDFS + if (custom_vfd_fapl && (0 == HDstrcmp(vfd_info.u.name, drivernames[HDFS_VFD_IDX]))) { + if (!vfd_info.info) + vfd_info.info = &hdfs_fa; + } +#endif + if ((fapl_id = h5tools_get_fapl(H5P_DEFAULT, custom_vol_fapl ? &vol_info : NULL, custom_vfd_fapl ? &vfd_info : NULL)) < 0) { error_msg("failed to setup file access property list (fapl) for file\n"); |