summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--config/cmake/ConfigureChecks.cmake2
-rw-r--r--java/examples/groups/JavaGroupExample.sh.in2
-rw-r--r--java/test/TestH5Pfaplhdfs.java212
-rw-r--r--java/test/TestH5Pfapls3.java212
-rw-r--r--src/H5FDros3.c34
-rw-r--r--src/H5FDros3.h18
-rw-r--r--src/H5FDs3comms.c42
-rw-r--r--src/H5FDs3comms.h17
-rw-r--r--test/hdfs.c18
-rw-r--r--test/ros3.c18
-rw-r--r--test/s3comms.c18
-rw-r--r--tools/libtest/Makefile.am2
-rw-r--r--tools/libtest/h5tools_test_utils.c (renamed from tools/libtest/h5tools_utils.c)25
13 files changed, 99 insertions, 521 deletions
diff --git a/config/cmake/ConfigureChecks.cmake b/config/cmake/ConfigureChecks.cmake
index f295a1c..cb1eb48 100644
--- a/config/cmake/ConfigureChecks.cmake
+++ b/config/cmake/ConfigureChecks.cmake
@@ -155,7 +155,7 @@ if (NOT WINDOWS)
endif ()
#-----------------------------------------------------------------------------
-# Check if ROS3 driver works
+# Check if ROS3 driver can be built
#-----------------------------------------------------------------------------
option (HDF5_ENABLE_ROS3_VFD "Build the ROS3 Virtual File Driver" OFF)
if (HDF5_ENABLE_ROS3_VFD)
diff --git a/java/examples/groups/JavaGroupExample.sh.in b/java/examples/groups/JavaGroupExample.sh.in
index 3ba512a..9d4673f 100644
--- a/java/examples/groups/JavaGroupExample.sh.in
+++ b/java/examples/groups/JavaGroupExample.sh.in
@@ -64,8 +64,6 @@ $HDFTEST_HOME/h5ex_g_iterate.h5
$HDFTEST_HOME/h5ex_g_visit.h5
"
LIST_DATA_FILES="
-$HDFTEST_HOME/h5ex_g_iterate.h5
-$HDFTEST_HOME/h5ex_g_visit.h5
$HDFTEST_HOME/../testfiles/examples.groups.H5Ex_G_Create.txt
$HDFTEST_HOME/../testfiles/examples.groups.H5Ex_G_Iterate.txt
$HDFTEST_HOME/../testfiles/examples.groups.H5Ex_G_Compact.txt
diff --git a/java/test/TestH5Pfaplhdfs.java b/java/test/TestH5Pfaplhdfs.java
index 2b0a808..30d326e 100644
--- a/java/test/TestH5Pfaplhdfs.java
+++ b/java/test/TestH5Pfaplhdfs.java
@@ -41,228 +41,16 @@ import org.junit.rules.TestName;
public class TestH5Pfaplhdfs {
@Rule public TestName testname = new TestName();
- private static final String H5_FILE = "testPf.h5";
- private static final String H5_LOG_FILE = "testPf.log";
- private static final String H5_FAMILY_FILE = "testPf%05d";
- private static final String H5_MULTI_FILE = "testPfmulti";
- private static char MULTI_LETTERS[] = {'X','s','b','r','g','l','o'};
- private static final int DIM_X = 4;
- private static final int DIM_Y = 6;
- private static final int DIMF_X = 12;
- private static final int DIMF_Y = 18;
long H5fid = -1;
long H5dsid = -1;
long H5did = -1;
long H5Fdsid = -1;
long H5Fdid = -1;
- long[] H5dims = { DIM_X, DIM_Y };
long fapl_id = -1;
long plapl_id = -1;
long dapl_id = -1;
long plist_id = -1;
long btplist_id = -1;
- long[] H5Fdims = { DIMF_X, DIMF_Y };
- double windchillF[][] =
- {{36.0, 31.0, 25.0, 19.0, 13.0, 7.0, 1.0, -5.0, -11.0, -16.0, -22.0, -28.0, -34.0, -40.0, -46.0, -52.0, -57.0, -63.0},
- {34.0, 27.0, 21.0, 15.0, 9.0, 3.0, -4.0, -10.0, -16.0, -22.0, -28.0, -35.0, -41.0, -47.0, -53.0, -59.0, -66.0, -72.0},
- {32.0, 25.0, 19.0, 13.0, 6.0, 0.0, -7.0, -13.0, -19.0, -26.0, -32.0, -39.0, -45.0, -51.0, -58.0, -64.0, -71.0, -77.0},
- {30.0, 24.0, 17.0, 11.0, 4.0, -2.0, -9.0, -15.0, -22.0, -29.0, -35.0, -42.0, -48.0, -55.0, -61.0, -68.0, -74.0, -81.0},
- {29.0, 23.0, 16.0, 9.0, 3.0, -4.0, -11.0, -17.0, -24.0, -31.0, -37.0, -44.0, -51.0, -58.0, -64.0, -71.0, -78.0, -84.0},
- {28.0, 22.0, 15.0, 8.0, 1.0, -5.0, -12.0, -19.0, -26.0, -33.0, -39.0, -46.0, -53.0, -60.0, -67.0, -73.0, -80.0, -87.0},
- {28.0, 21.0, 14.0, 7.0, 0.0, -7.0, -14.0, -21.0, -27.0, -34.0, -41.0, -48.0, -55.0, -62.0, -69.0, -76.0, -82.0, -89.0},
- {27.0, 20.0, 13.0, 6.0, -1.0, -8.0, -15.0, -22.0, -29.0, -36.0, -43.0, -50.0, -57.0, -64.0, -71.0, -78.0, -84.0, -91.0},
- {26.0, 19.0, 12.0, 5.0, -2.0, -9.0, -16.0, -23.0, -30.0, -37.0, -44.0, -51.0, -58.0, -65.0, -72.0, -79.0, -86.0, -93.0},
- {26.0, 19.0, 12.0, 4.0, -3.0, -10.0, -17.0, -24.0, -31.0, -38.0, -45.0, -52.0, -60.0, -67.0, -74.0, -81.0, -88.0, -95.0},
- {25.0, 18.0, 11.0, 4.0, -3.0, -11.0, -18.0, -25.0, -32.0, -39.0, -46.0, -54.0, -61.0, -68.0, -75.0, -82.0, -89.0, -97.0},
- {25.0, 17.0, 10.0, 3.0, -4.0, -11.0, -19.0, -26.0, -33.0, -40.0, -48.0, -55.0, -62.0, -69.0, -76.0, -84.0, -91.0, -98.0}
- };
-
- private final void _deleteFile(String filename) {
- File file = null;
- try {
- file = new File(filename);
- }
- catch (Throwable err) {}
-
- if (file.exists()) {
- try {file.delete();} catch (SecurityException e) {}
- }
- }
-
- private final void _deleteLogFile() {
- File file = null;
- try {
- file = new File(H5_LOG_FILE);
- }
- catch (Throwable err) {}
-
- if (file.exists()) {
- try {file.delete();} catch (SecurityException e) {}
- }
- }
-
- private final void _deleteFamilyFile() {
- File file = null;
- for(int indx = 0; ;indx++) {
- java.text.DecimalFormat myFormat = new java.text.DecimalFormat("00000");
- try {
- file = new File("test"+myFormat.format(new Integer(indx))+".h5");
- }
- catch (Throwable err) {}
-
- if (file.exists()) {
- try {file.delete();} catch (SecurityException e) {}
- }
- else
- return;
- }
- }
-
- private final void _deleteMultiFile() {
- File file = null;
- for(int indx = 1;indx<7;indx++) {
- try {
- file = new File(H5_MULTI_FILE+"-"+MULTI_LETTERS[indx]+".h5");
- }
- catch (Throwable err) {}
-
- if (file.exists()) {
- try {file.delete();} catch (SecurityException e) {}
- }
- }
- }
-
- private final long _createDataset(long fid, long dsid, String name, long dapl) {
- long did = -1;
- try {
- did = H5.H5Dcreate(fid, name, HDF5Constants.H5T_STD_I32BE, dsid,
- HDF5Constants.H5P_DEFAULT, HDF5Constants.H5P_DEFAULT, dapl);
- }
- catch (Throwable err) {
- err.printStackTrace();
- fail("H5.H5Dcreate: " + err);
- }
- assertTrue("TestH5Pfapl._createDataset: ", did > 0);
-
- return did;
- }
-
- private final void _createFloatDataset() {
- try {
- H5Fdsid = H5.H5Screate_simple(2, H5Fdims, null);
- H5Fdid = H5.H5Dcreate(H5fid, "dsfloat", HDF5Constants.H5T_NATIVE_FLOAT, H5Fdsid,
- HDF5Constants.H5P_DEFAULT, HDF5Constants.H5P_DEFAULT, HDF5Constants.H5P_DEFAULT);
- }
- catch (Throwable err) {
- err.printStackTrace();
- fail("H5.H5Dcreate: " + err);
- }
- assertTrue("TestH5Pfapl._createFloatDataset: ", H5Fdid > 0);
-
- try {
- H5.H5Fflush(H5fid, HDF5Constants.H5F_SCOPE_LOCAL);
- }
- catch (Throwable err) {
- err.printStackTrace();
- }
- }
-
- private final void _createH5multiFileDS() {
- try {
- H5did = _createDataset(H5fid, H5dsid, "dset", HDF5Constants.H5P_DEFAULT);
- }
- catch (Throwable err) {
- err.printStackTrace();
- fail("TestH5Pfapl.createH5file: " + err);
- }
- assertTrue("TestH5Pfapl.createH5file: _createDataset: ", H5did > 0);
-
- try {
- H5.H5Fflush(H5fid, HDF5Constants.H5F_SCOPE_LOCAL);
- }
- catch (Throwable err) {
- err.printStackTrace();
- }
- }
-
- private final void _createH5File(long fapl) {
- try {
- H5fid = H5.H5Fcreate(H5_FILE, HDF5Constants.H5F_ACC_TRUNC,
- HDF5Constants.H5P_DEFAULT, fapl);
- H5dsid = H5.H5Screate_simple(2, H5dims, null);
- H5did = _createDataset(H5fid, H5dsid, "dset", HDF5Constants.H5P_DEFAULT);
- }
- catch (Throwable err) {
- err.printStackTrace();
- fail("TestH5Pfapl.createH5file: " + err);
- }
- assertTrue("TestH5Pfapl.createH5file: H5.H5Fcreate: ", H5fid > 0);
- assertTrue("TestH5Pfapl.createH5file: H5.H5Screate_simple: ", H5dsid > 0);
- assertTrue("TestH5Pfapl.createH5file: _createDataset: ", H5did > 0);
-
- try {
- H5.H5Fflush(H5fid, HDF5Constants.H5F_SCOPE_LOCAL);
- }
- catch (Throwable err) {
- err.printStackTrace();
- }
- }
-
- private final void _createH5familyFile(long fapl) {
- try {
- H5fid = H5.H5Fcreate(H5_FAMILY_FILE+".h5", HDF5Constants.H5F_ACC_TRUNC,
- HDF5Constants.H5P_DEFAULT, fapl);
- H5dsid = H5.H5Screate_simple(2, H5dims, null);
- H5did = _createDataset(H5fid, H5dsid, "dset", HDF5Constants.H5P_DEFAULT);
- }
- catch (Throwable err) {
- err.printStackTrace();
- fail("TestH5Pfapl.createH5file: " + err);
- }
- assertTrue("TestH5Pfapl.createH5file: H5.H5Fcreate: ", H5fid > 0);
- assertTrue("TestH5Pfapl.createH5file: H5.H5Screate_simple: ", H5dsid > 0);
- assertTrue("TestH5Pfapl.createH5file: _createDataset: ", H5did > 0);
-
- try {
- H5.H5Fflush(H5fid, HDF5Constants.H5F_SCOPE_LOCAL);
- }
- catch (Throwable err) {
- err.printStackTrace();
- }
- }
-
- private final void _createH5multiFile(long fapl) {
- try {
- H5fid = H5.H5Fcreate(H5_MULTI_FILE, HDF5Constants.H5F_ACC_TRUNC,
- HDF5Constants.H5P_DEFAULT, fapl);
- H5dsid = H5.H5Screate_simple(2, H5dims, null);
- }
- catch (Throwable err) {
- err.printStackTrace();
- fail("TestH5Pfapl.createH5file: " + err);
- }
- assertTrue("TestH5Pfapl.createH5file: H5.H5Fcreate: ", H5fid > 0);
- assertTrue("TestH5Pfapl.createH5file: H5.H5Screate_simple: ", H5dsid > 0);
-
- try {
- H5.H5Fflush(H5fid, HDF5Constants.H5F_SCOPE_LOCAL);
- }
- catch (Throwable err) {
- err.printStackTrace();
- }
- }
-
- public void deleteH5file() {
- _deleteFile(H5_FILE);
- }
-
- public void deleteH5familyfile() {
- _deleteFamilyFile();
- }
-
- public void deleteH5multifile() {
- _deleteMultiFile();
- }
@Before
public void createFileAccess()
diff --git a/java/test/TestH5Pfapls3.java b/java/test/TestH5Pfapls3.java
index 3107bc8..00a2a73 100644
--- a/java/test/TestH5Pfapls3.java
+++ b/java/test/TestH5Pfapls3.java
@@ -41,228 +41,16 @@ import org.junit.rules.TestName;
public class TestH5Pfapls3 {
@Rule public TestName testname = new TestName();
- private static final String H5_FILE = "testPf.h5";
- private static final String H5_LOG_FILE = "testPf.log";
- private static final String H5_FAMILY_FILE = "testPf%05d";
- private static final String H5_MULTI_FILE = "testPfmulti";
- private static char MULTI_LETTERS[] = {'X','s','b','r','g','l','o'};
- private static final int DIM_X = 4;
- private static final int DIM_Y = 6;
- private static final int DIMF_X = 12;
- private static final int DIMF_Y = 18;
long H5fid = -1;
long H5dsid = -1;
long H5did = -1;
long H5Fdsid = -1;
long H5Fdid = -1;
- long[] H5dims = { DIM_X, DIM_Y };
long fapl_id = -1;
long plapl_id = -1;
long dapl_id = -1;
long plist_id = -1;
long btplist_id = -1;
- long[] H5Fdims = { DIMF_X, DIMF_Y };
- double windchillF[][] =
- {{36.0, 31.0, 25.0, 19.0, 13.0, 7.0, 1.0, -5.0, -11.0, -16.0, -22.0, -28.0, -34.0, -40.0, -46.0, -52.0, -57.0, -63.0},
- {34.0, 27.0, 21.0, 15.0, 9.0, 3.0, -4.0, -10.0, -16.0, -22.0, -28.0, -35.0, -41.0, -47.0, -53.0, -59.0, -66.0, -72.0},
- {32.0, 25.0, 19.0, 13.0, 6.0, 0.0, -7.0, -13.0, -19.0, -26.0, -32.0, -39.0, -45.0, -51.0, -58.0, -64.0, -71.0, -77.0},
- {30.0, 24.0, 17.0, 11.0, 4.0, -2.0, -9.0, -15.0, -22.0, -29.0, -35.0, -42.0, -48.0, -55.0, -61.0, -68.0, -74.0, -81.0},
- {29.0, 23.0, 16.0, 9.0, 3.0, -4.0, -11.0, -17.0, -24.0, -31.0, -37.0, -44.0, -51.0, -58.0, -64.0, -71.0, -78.0, -84.0},
- {28.0, 22.0, 15.0, 8.0, 1.0, -5.0, -12.0, -19.0, -26.0, -33.0, -39.0, -46.0, -53.0, -60.0, -67.0, -73.0, -80.0, -87.0},
- {28.0, 21.0, 14.0, 7.0, 0.0, -7.0, -14.0, -21.0, -27.0, -34.0, -41.0, -48.0, -55.0, -62.0, -69.0, -76.0, -82.0, -89.0},
- {27.0, 20.0, 13.0, 6.0, -1.0, -8.0, -15.0, -22.0, -29.0, -36.0, -43.0, -50.0, -57.0, -64.0, -71.0, -78.0, -84.0, -91.0},
- {26.0, 19.0, 12.0, 5.0, -2.0, -9.0, -16.0, -23.0, -30.0, -37.0, -44.0, -51.0, -58.0, -65.0, -72.0, -79.0, -86.0, -93.0},
- {26.0, 19.0, 12.0, 4.0, -3.0, -10.0, -17.0, -24.0, -31.0, -38.0, -45.0, -52.0, -60.0, -67.0, -74.0, -81.0, -88.0, -95.0},
- {25.0, 18.0, 11.0, 4.0, -3.0, -11.0, -18.0, -25.0, -32.0, -39.0, -46.0, -54.0, -61.0, -68.0, -75.0, -82.0, -89.0, -97.0},
- {25.0, 17.0, 10.0, 3.0, -4.0, -11.0, -19.0, -26.0, -33.0, -40.0, -48.0, -55.0, -62.0, -69.0, -76.0, -84.0, -91.0, -98.0}
- };
-
- private final void _deleteFile(String filename) {
- File file = null;
- try {
- file = new File(filename);
- }
- catch (Throwable err) {}
-
- if (file.exists()) {
- try {file.delete();} catch (SecurityException e) {}
- }
- }
-
- private final void _deleteLogFile() {
- File file = null;
- try {
- file = new File(H5_LOG_FILE);
- }
- catch (Throwable err) {}
-
- if (file.exists()) {
- try {file.delete();} catch (SecurityException e) {}
- }
- }
-
- private final void _deleteFamilyFile() {
- File file = null;
- for(int indx = 0; ;indx++) {
- java.text.DecimalFormat myFormat = new java.text.DecimalFormat("00000");
- try {
- file = new File("test"+myFormat.format(new Integer(indx))+".h5");
- }
- catch (Throwable err) {}
-
- if (file.exists()) {
- try {file.delete();} catch (SecurityException e) {}
- }
- else
- return;
- }
- }
-
- private final void _deleteMultiFile() {
- File file = null;
- for(int indx = 1;indx<7;indx++) {
- try {
- file = new File(H5_MULTI_FILE+"-"+MULTI_LETTERS[indx]+".h5");
- }
- catch (Throwable err) {}
-
- if (file.exists()) {
- try {file.delete();} catch (SecurityException e) {}
- }
- }
- }
-
- private final long _createDataset(long fid, long dsid, String name, long dapl) {
- long did = -1;
- try {
- did = H5.H5Dcreate(fid, name, HDF5Constants.H5T_STD_I32BE, dsid,
- HDF5Constants.H5P_DEFAULT, HDF5Constants.H5P_DEFAULT, dapl);
- }
- catch (Throwable err) {
- err.printStackTrace();
- fail("H5.H5Dcreate: " + err);
- }
- assertTrue("TestH5Pfapl._createDataset: ", did > 0);
-
- return did;
- }
-
- private final void _createFloatDataset() {
- try {
- H5Fdsid = H5.H5Screate_simple(2, H5Fdims, null);
- H5Fdid = H5.H5Dcreate(H5fid, "dsfloat", HDF5Constants.H5T_NATIVE_FLOAT, H5Fdsid,
- HDF5Constants.H5P_DEFAULT, HDF5Constants.H5P_DEFAULT, HDF5Constants.H5P_DEFAULT);
- }
- catch (Throwable err) {
- err.printStackTrace();
- fail("H5.H5Dcreate: " + err);
- }
- assertTrue("TestH5Pfapl._createFloatDataset: ", H5Fdid > 0);
-
- try {
- H5.H5Fflush(H5fid, HDF5Constants.H5F_SCOPE_LOCAL);
- }
- catch (Throwable err) {
- err.printStackTrace();
- }
- }
-
- private final void _createH5multiFileDS() {
- try {
- H5did = _createDataset(H5fid, H5dsid, "dset", HDF5Constants.H5P_DEFAULT);
- }
- catch (Throwable err) {
- err.printStackTrace();
- fail("TestH5Pfapl.createH5file: " + err);
- }
- assertTrue("TestH5Pfapl.createH5file: _createDataset: ", H5did > 0);
-
- try {
- H5.H5Fflush(H5fid, HDF5Constants.H5F_SCOPE_LOCAL);
- }
- catch (Throwable err) {
- err.printStackTrace();
- }
- }
-
- private final void _createH5File(long fapl) {
- try {
- H5fid = H5.H5Fcreate(H5_FILE, HDF5Constants.H5F_ACC_TRUNC,
- HDF5Constants.H5P_DEFAULT, fapl);
- H5dsid = H5.H5Screate_simple(2, H5dims, null);
- H5did = _createDataset(H5fid, H5dsid, "dset", HDF5Constants.H5P_DEFAULT);
- }
- catch (Throwable err) {
- err.printStackTrace();
- fail("TestH5Pfapl.createH5file: " + err);
- }
- assertTrue("TestH5Pfapl.createH5file: H5.H5Fcreate: ", H5fid > 0);
- assertTrue("TestH5Pfapl.createH5file: H5.H5Screate_simple: ", H5dsid > 0);
- assertTrue("TestH5Pfapl.createH5file: _createDataset: ", H5did > 0);
-
- try {
- H5.H5Fflush(H5fid, HDF5Constants.H5F_SCOPE_LOCAL);
- }
- catch (Throwable err) {
- err.printStackTrace();
- }
- }
-
- private final void _createH5familyFile(long fapl) {
- try {
- H5fid = H5.H5Fcreate(H5_FAMILY_FILE+".h5", HDF5Constants.H5F_ACC_TRUNC,
- HDF5Constants.H5P_DEFAULT, fapl);
- H5dsid = H5.H5Screate_simple(2, H5dims, null);
- H5did = _createDataset(H5fid, H5dsid, "dset", HDF5Constants.H5P_DEFAULT);
- }
- catch (Throwable err) {
- err.printStackTrace();
- fail("TestH5Pfapl.createH5file: " + err);
- }
- assertTrue("TestH5Pfapl.createH5file: H5.H5Fcreate: ", H5fid > 0);
- assertTrue("TestH5Pfapl.createH5file: H5.H5Screate_simple: ", H5dsid > 0);
- assertTrue("TestH5Pfapl.createH5file: _createDataset: ", H5did > 0);
-
- try {
- H5.H5Fflush(H5fid, HDF5Constants.H5F_SCOPE_LOCAL);
- }
- catch (Throwable err) {
- err.printStackTrace();
- }
- }
-
- private final void _createH5multiFile(long fapl) {
- try {
- H5fid = H5.H5Fcreate(H5_MULTI_FILE, HDF5Constants.H5F_ACC_TRUNC,
- HDF5Constants.H5P_DEFAULT, fapl);
- H5dsid = H5.H5Screate_simple(2, H5dims, null);
- }
- catch (Throwable err) {
- err.printStackTrace();
- fail("TestH5Pfapl.createH5file: " + err);
- }
- assertTrue("TestH5Pfapl.createH5file: H5.H5Fcreate: ", H5fid > 0);
- assertTrue("TestH5Pfapl.createH5file: H5.H5Screate_simple: ", H5dsid > 0);
-
- try {
- H5.H5Fflush(H5fid, HDF5Constants.H5F_SCOPE_LOCAL);
- }
- catch (Throwable err) {
- err.printStackTrace();
- }
- }
-
- public void deleteH5file() {
- _deleteFile(H5_FILE);
- }
-
- public void deleteH5familyfile() {
- _deleteFamilyFile();
- }
-
- public void deleteH5multifile() {
- _deleteMultiFile();
- }
@Before
public void createFileAccess()
diff --git a/src/H5FDros3.c b/src/H5FDros3.c
index 8bf0420..86642aa 100644
--- a/src/H5FDros3.c
+++ b/src/H5FDros3.c
@@ -1,18 +1,18 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * Read-Only S3 Virtual File Driver (VFD) *
- * Copyright (c) 2017-2018, The HDF Group. *
- * *
+ * Copyright by The HDF Group. *
* All rights reserved. *
* *
- * NOTICE: *
- * All information contained herein is, and remains, the property of The HDF *
- * Group. The intellectual and technical concepts contained herein are *
- * proprietary to The HDF Group. Dissemination of this information or *
- * reproduction of this material is strictly forbidden unless prior written *
- * permission is obtained from The HDF Group. *
+ * This file is part of HDF5. The full HDF5 copyright notice, including *
+ * terms governing use, modification, and redistribution, is contained in *
+ * the COPYING file, which can be found at the root of the source code *
+ * distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases. *
+ * If you do not have access to either file, you may request a copy from *
+ * help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/*
+ * Read-Only S3 Virtual File Driver (VFD)
+ *
* Programmer: Jacob Smith <jake.smith@hdfgroup.org>
* 2017-10-13
*
@@ -1334,14 +1334,14 @@ H5FD_ros3_cmp(const H5FD_t *_f1,
HDassert(purl2->host != NULL);
/* URL: SCHEME */
- if (strcmp(purl1->scheme, purl2->scheme)) HGOTO_DONE(-1);
+ if (HDstrcmp(purl1->scheme, purl2->scheme)) HGOTO_DONE(-1);
/* URL: HOST */
- if (strcmp(purl1->host, purl2->host)) HGOTO_DONE(-1);
+ if (HDstrcmp(purl1->host, purl2->host)) HGOTO_DONE(-1);
/* URL: PORT */
if (purl1->port && purl2->port) {
- if (strcmp(purl1->port, purl2->port)) HGOTO_DONE(-1);
+ if (HDstrcmp(purl1->port, purl2->port)) HGOTO_DONE(-1);
} else if (purl1->port) {
HGOTO_DONE(-1);
} else if (purl2->port) {
@@ -1350,7 +1350,7 @@ H5FD_ros3_cmp(const H5FD_t *_f1,
/* URL: PATH */
if (purl1->path && purl2->path) {
- if (strcmp(purl1->path, purl2->path)) HGOTO_DONE(-1);
+ if (HDstrcmp(purl1->path, purl2->path)) HGOTO_DONE(-1);
} else if (purl1->path && !purl2->path) {
HGOTO_DONE(-1);
} else if (purl2->path && !purl1->path) {
@@ -1359,7 +1359,7 @@ H5FD_ros3_cmp(const H5FD_t *_f1,
/* URL: QUERY */
if (purl1->query && purl2->query) {
- if (strcmp(purl1->query, purl2->query)) HGOTO_DONE(-1);
+ if (HDstrcmp(purl1->query, purl2->query)) HGOTO_DONE(-1);
} else if (purl1->query && !purl2->query) {
HGOTO_DONE(-1);
} else if (purl2->query && !purl1->query) {
@@ -1368,7 +1368,7 @@ H5FD_ros3_cmp(const H5FD_t *_f1,
/* FAPL: AWS_REGION */
if (f1->fa.aws_region[0] != '\0' && f1->fa.aws_region[0] != '\0') {
- if (strcmp(f1->fa.aws_region, f2->fa.aws_region)) HGOTO_DONE(-1);
+ if (HDstrcmp(f1->fa.aws_region, f2->fa.aws_region)) HGOTO_DONE(-1);
} else if (f1->fa.aws_region[0] != '\0') {
HGOTO_DONE(-1);
} else if (f2->fa.aws_region[0] != '\0') {
@@ -1377,7 +1377,7 @@ H5FD_ros3_cmp(const H5FD_t *_f1,
/* FAPL: SECRET_ID */
if (f1->fa.secret_id[0] != '\0' && f1->fa.secret_id[0] != '\0') {
- if (strcmp(f1->fa.secret_id, f2->fa.secret_id)) HGOTO_DONE(-1);
+ if (HDstrcmp(f1->fa.secret_id, f2->fa.secret_id)) HGOTO_DONE(-1);
} else if (f1->fa.secret_id[0] != '\0') {
HGOTO_DONE(-1);
} else if (f2->fa.secret_id[0] != '\0') {
@@ -1386,7 +1386,7 @@ H5FD_ros3_cmp(const H5FD_t *_f1,
/* FAPL: SECRET_KEY */
if (f1->fa.secret_key[0] != '\0' && f1->fa.secret_key[0] != '\0') {
- if (strcmp(f1->fa.secret_key, f2->fa.secret_key)) HGOTO_DONE(-1);
+ if (HDstrcmp(f1->fa.secret_key, f2->fa.secret_key)) HGOTO_DONE(-1);
} else if (f1->fa.secret_key[0] != '\0') {
HGOTO_DONE(-1);
} else if (f2->fa.secret_key[0] != '\0') {
diff --git a/src/H5FDros3.h b/src/H5FDros3.h
index 49e757c..7dfc95b 100644
--- a/src/H5FDros3.h
+++ b/src/H5FDros3.h
@@ -1,18 +1,18 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * Read-Only S3 Virtual File Driver (VFD) *
- * Copyright (c) 2017-2018, The HDF Group. *
- * *
+ * Copyright by The HDF Group. *
* All rights reserved. *
* *
- * NOTICE: *
- * All information contained herein is, and remains, the property of The HDF *
- * Group. The intellectual and technical concepts contained herein are *
- * proprietary to The HDF Group. Dissemination of this information or *
- * reproduction of this material is strictly forbidden unless prior written *
- * permission is obtained from The HDF Group. *
+ * This file is part of HDF5. The full HDF5 copyright notice, including *
+ * terms governing use, modification, and redistribution, is contained in *
+ * the COPYING file, which can be found at the root of the source code *
+ * distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases. *
+ * If you do not have access to either file, you may request a copy from *
+ * help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/*
+ * Read-Only S3 Virtual File Driver (VFD)
+ *
* Programmer: John Mainzer
* 2017-10-10
*
diff --git a/src/H5FDs3comms.c b/src/H5FDs3comms.c
index 7caeacb..4c24866 100644
--- a/src/H5FDs3comms.c
+++ b/src/H5FDs3comms.c
@@ -1,18 +1,18 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * Read-Only S3 Virtual File Driver (VFD) *
- * Copyright (c) 2017-2018, The HDF Group. *
- * *
+ * Copyright by The HDF Group. *
* All rights reserved. *
* *
- * NOTICE: *
- * All information contained herein is, and remains, the property of The HDF *
- * Group. The intellectual and technical concepts contained herein are *
- * proprietary to The HDF Group. Dissemination of this information or *
- * reproduction of this material is strictly forbidden unless prior written *
- * permission is obtained from The HDF Group. *
+ * This file is part of HDF5. The full HDF5 copyright notice, including *
+ * terms governing use, modification, and redistribution, is contained in *
+ * the COPYING file, which can be found at the root of the source code *
+ * distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases. *
+ * If you do not have access to either file, you may request a copy from *
+ * help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/*****************************************************************************
+ * Read-Only S3 Virtual File Driver (VFD)
+ *
* Source for S3 Communications module
*
* ***NOT A FILE DRIVER***
@@ -1005,7 +1005,7 @@ herr_t
H5FD_s3comms_s3r_getsize(s3r_t *handle)
{
#ifdef H5_HAVE_ROS3_VFD
- unsigned long int content_length = 0;
+ uintmax_t content_length = 0;
CURL *curlh = NULL;
char *end = NULL;
char *headerresponse = NULL;
@@ -1135,9 +1135,14 @@ H5FD_s3comms_s3r_getsize(s3r_t *handle)
*/
*end = '\0';
- content_length = strtoul((const char *)start,
+ content_length = strtoumax((const char *)start,
NULL,
0);
+
+ if (UINTMAX_MAX > SIZE_MAX && content_length > SIZE_MAX) {
+ HGOTO_ERROR(H5E_ARGS, H5E_OVERFLOW, FAIL, "content_length overflows size_t\n");
+ }
+
if (content_length == 0 ||
content_length == ULONG_MAX ||
errno == ERANGE) /* errno set by strtoul */
@@ -1156,7 +1161,7 @@ H5FD_s3comms_s3r_getsize(s3r_t *handle)
if ( CURLE_OK !=
curl_easy_setopt(curlh,
CURLOPT_NOBODY,
- 0) )
+ NULL) )
{
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL,
"error while setting CURL option (CURLOPT_NOBODY). "
@@ -1166,7 +1171,7 @@ H5FD_s3comms_s3r_getsize(s3r_t *handle)
if ( CURLE_OK !=
curl_easy_setopt(curlh,
CURLOPT_HEADERDATA,
- 0) )
+ NULL) )
{
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL,
"error while setting CURL option (CURLOPT_HEADERDATA). "
@@ -2518,7 +2523,7 @@ done:
* + internal error occurred.
* + -1 :: unable to format profile label
* + -2 :: profile name/label not found in file
- * + -3 :: some other error
+ * + -3 :: some other error
*
* Programmer: Jacob Smith
* 2018-02-27
@@ -2602,14 +2607,14 @@ H5FD__s3comms_load_aws_creds_from_file(
"unable to format line prefix")
/* found a matching name? */
- if (!strncmp(line_buffer, line_prefix, setting_name_len + 1)) {
+ if (!HDstrncmp(line_buffer, line_prefix, setting_name_len + 1)) {
found_setting = 1;
/* skip NULL destination buffer */
if (setting_pointers[setting_i] == NULL)
break;
- /* advance to end fo name in string */
+ /* advance to end of name in string */
do {
line_buffer++;
} while (*line_buffer != 0 && *line_buffer != '=');
@@ -2620,7 +2625,8 @@ H5FD__s3comms_load_aws_creds_from_file(
line_buffer++; /* was pointing at '='; advance */
/* copy line buffer into out pointer */
- strcpy(setting_pointers[setting_i], (const char *)line_buffer);
+ HDstrncpy(setting_pointers[setting_i], (const char *)line_buffer,
+ HDstrlen(line_buffer));
/* "trim" tailing whitespace by replacing with null terminator*/
buffer_i = 0;
@@ -2889,7 +2895,7 @@ H5FD_s3comms_parse_url(const char *str,
* READ SCHEME *
***************/
- tmpstr = strchr(curstr, ':');
+ tmpstr = HDstrchr(curstr, ':');
if (tmpstr == NULL) {
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL,
"invalid SCHEME construction: probably not URL");
diff --git a/src/H5FDs3comms.h b/src/H5FDs3comms.h
index 0524c46..93a5a81 100644
--- a/src/H5FDs3comms.h
+++ b/src/H5FDs3comms.h
@@ -1,18 +1,17 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * Read-Only S3 Virtual File Driver (VFD) *
- * Copyright (c) 2017-2018, The HDF Group. *
- * *
+ * Copyright by The HDF Group. *
* All rights reserved. *
* *
- * NOTICE: *
- * All information contained herein is, and remains, the property of The HDF *
- * Group. The intellectual and technical concepts contained herein are *
- * proprietary to The HDF Group. Dissemination of this information or *
- * reproduction of this material is strictly forbidden unless prior written *
- * permission is obtained from The HDF Group. *
+ * This file is part of HDF5. The full HDF5 copyright notice, including *
+ * terms governing use, modification, and redistribution, is contained in *
+ * the COPYING file, which can be found at the root of the source code *
+ * distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases. *
+ * If you do not have access to either file, you may request a copy from *
+ * help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/*****************************************************************************
+ * Read-Only S3 Virtual File Driver (VFD)
*
* This is the header for the S3 Communications module
*
diff --git a/test/hdfs.c b/test/hdfs.c
index 11b9918..57dbac9 100644
--- a/test/hdfs.c
+++ b/test/hdfs.c
@@ -1,18 +1,18 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * Read-Only HDFS Virtual File Driver (VFD) *
- * Copyright (c) 2018, The HDF Group. *
- * *
+ * Copyright by The HDF Group. *
* All rights reserved. *
* *
- * NOTICE: *
- * All information contained herein is, and remains, the property of The HDF *
- * Group. The intellectual and technical concepts contained herein are *
- * proprietary to The HDF Group. Dissemination of this information or *
- * reproduction of this material is strictly forbidden unless prior written *
- * permission is obtained from The HDF Group. *
+ * This file is part of HDF5. The full HDF5 copyright notice, including *
+ * terms governing use, modification, and redistribution, is contained in *
+ * the COPYING file, which can be found at the root of the source code *
+ * distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases. *
+ * If you do not have access to either file, you may request a copy from *
+ * help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/*
+ * Read-Only HDFS Virtual File Driver (VFD)
+ *
* Purpose:
*
* Verify behavior for Read-Only HDFS VFD.
diff --git a/test/ros3.c b/test/ros3.c
index 51c1a89..60d3932 100644
--- a/test/ros3.c
+++ b/test/ros3.c
@@ -1,18 +1,18 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * Read-Only S3 Virtual File Driver (VFD) *
- * Copyright (c) 2017-2018, The HDF Group. *
- * *
+ * Copyright by The HDF Group. *
* All rights reserved. *
* *
- * NOTICE: *
- * All information contained herein is, and remains, the property of The HDF *
- * Group. The intellectual and technical concepts contained herein are *
- * proprietary to The HDF Group. Dissemination of this information or *
- * reproduction of this material is strictly forbidden unless prior written *
- * permission is obtained from The HDF Group. *
+ * This file is part of HDF5. The full HDF5 copyright notice, including *
+ * terms governing use, modification, and redistribution, is contained in *
+ * the COPYING file, which can be found at the root of the source code *
+ * distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases. *
+ * If you do not have access to either file, you may request a copy from *
+ * help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/*
+ * Read-Only S3 Virtual File Driver (VFD)
+ *
* Purpose:
*
* Verify behavior for Read-Only S3 VFD
diff --git a/test/s3comms.c b/test/s3comms.c
index 71d93c2..a797e04 100644
--- a/test/s3comms.c
+++ b/test/s3comms.c
@@ -1,18 +1,18 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * Read-Only S3 Virtual File Driver (VFD) *
- * Copyright (c) 2017-2018, The HDF Group. *
- * *
+ * Copyright by The HDF Group. *
* All rights reserved. *
* *
- * NOTICE: *
- * All information contained herein is, and remains, the property of The HDF *
- * Group. The intellectual and technical concepts contained herein are *
- * proprietary to The HDF Group. Dissemination of this information or *
- * reproduction of this material is strictly forbidden unless prior written *
- * permission is obtained from The HDF Group. *
+ * This file is part of HDF5. The full HDF5 copyright notice, including *
+ * terms governing use, modification, and redistribution, is contained in *
+ * the COPYING file, which can be found at the root of the source code *
+ * distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases. *
+ * If you do not have access to either file, you may request a copy from *
+ * help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/*
+ * Read-Only S3 Virtual File Driver (VFD)
+ *
* Purpose: Unit tests for the S3 Communications (s3comms) module.
*
* Programmer: Jacob Smith <jake.smith@hdfgroup.org>
diff --git a/tools/libtest/Makefile.am b/tools/libtest/Makefile.am
index 5aa72b8..a93e25d 100644
--- a/tools/libtest/Makefile.am
+++ b/tools/libtest/Makefile.am
@@ -27,7 +27,7 @@ LDADD=$(LIBH5TOOLS) $(LIBHDF5)
# main target
-bin_PROGRAMS=h5tools_utils
+bin_PROGRAMS=h5tools_test_utils
# check_PROGRAMS=$(TEST_PROG)
diff --git a/tools/libtest/h5tools_utils.c b/tools/libtest/h5tools_test_utils.c
index 56e8a01..ac8e4c0 100644
--- a/tools/libtest/h5tools_utils.c
+++ b/tools/libtest/h5tools_test_utils.c
@@ -1,14 +1,13 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * Copyright (c) 2017-2018, The HDF Group. *
- * *
+ * Copyright by The HDF Group. *
* All rights reserved. *
* *
- * NOTICE: *
- * All information contained herein is, and remains, the property of The HDF *
- * Group. The intellectual and technical concepts contained herein are *
- * proprietary to The HDF Group. Dissemination of this information or *
- * reproduction of this material is strictly forbidden unless prior written *
- * permission is obtained from The HDF Group. *
+ * This file is part of HDF5. The full HDF5 copyright notice, including *
+ * terms governing use, modification, and redistribution, is contained in *
+ * the COPYING file, which can be found at the root of the source code *
+ * distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases. *
+ * If you do not have access to either file, you may request a copy from *
+ * help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/*
@@ -331,7 +330,7 @@ if ((long)(actual) == (long)(expected)) { \
*----------------------------------------------------------------------------
*/
#define JSVERIFY_STR(expected, actual, reason) \
-if (strcmp((actual), (expected)) != 0) { \
+if (HDstrcmp((actual), (expected)) != 0) { \
JSERR_STR((expected), (actual), (reason)); \
goto error; \
} /* JSVERIFY_STR */
@@ -377,7 +376,7 @@ if ((long)(actual) == (long)(expected)) { \
*----------------------------------------------------------------------------
*/
#define JSVERIFY_STR(actual, expected, reason) \
-if (strcmp((actual), (expected)) != 0) { \
+if (HDstrcmp((actual), (expected)) != 0) { \
JSERR_STR((expected), (actual), (reason)); \
goto error; \
} /* JSVERIFY_STR */
@@ -773,7 +772,7 @@ test_populate_ros3_fa(void)
if (show_progress) { HDprintf("region overflow\n"); }
- HDassert(strlen(values[0]) > H5FD__ROS3_MAX_REGION_LEN);
+ HDassert(HDstrlen(values[0]) > H5FD__ROS3_MAX_REGION_LEN);
JSVERIFY( 0, h5tools_populate_ros3_fapl(&fa, values),
"could not fill fapl" )
@@ -841,7 +840,7 @@ test_populate_ros3_fa(void)
if (show_progress) { HDprintf("id overflow\n"); }
- HDassert(strlen(values[1]) > H5FD__ROS3_MAX_SECRET_ID_LEN);
+ HDassert(HDstrlen(values[1]) > H5FD__ROS3_MAX_SECRET_ID_LEN);
JSVERIFY( 0, h5tools_populate_ros3_fapl(&fa, values),
"could not fill fapl" )
@@ -945,7 +944,7 @@ test_populate_ros3_fa(void)
if (show_progress) { HDprintf("key overflow\n"); }
- HDassert(strlen(values[2]) > H5FD__ROS3_MAX_SECRET_KEY_LEN);
+ HDassert(HDstrlen(values[2]) > H5FD__ROS3_MAX_SECRET_KEY_LEN);
JSVERIFY( 0, h5tools_populate_ros3_fapl(&fa, values),
"could not fill fapl" )