Commit Graph

7577 Commits

Author SHA1 Message Date
Dennis Heimbigner
793ecc8e60 Yet another fix for DAP2 double URL encoding.
re:  https://github.com/Unidata/netcdf-c/issues/1876
and: https://github.com/Unidata/netcdf-c/pull/1835
and: https://github.com/Unidata/netcdf4-python/issues/1041

The change in PR 1835 was correct with respect to using %20 instead of '+'
for encoding blanks. However, it was a mistake to assume everything was
unencoded and then to do encoding ourselves. The problem is that
different servers do different things, with Columbia being an outlier.

So, I have added a set of client controls that can at least give
the caller some control over this. The caller can append
the following fragment to his URL to control what gets encoded before
sending it to the server. The syntax is as follows:
````
https://<host>/<path>/<query>#encode=path|query|all|none
````

The possible values:
* path  -- URL encode (i.e. %xx encode) as needed in the path part of the URL.
* query -- URL encode as needed in the query part of the URL.
* all   -- equivalent to ````#encode=path,query````.
* none  -- do not url encode any part of the URL sent to the server; not strictly necessary, so mostly for completeness.

Note that if "encode=" is used, then before it is processed, all encoding
is turned of so that ````#encode=path```` will only encode the path
and not the query.

The default is ````#encode=query````, so the path is left untouched,
but the query is always encoded.

Internally, this required changes to pass the encode flags down into
the OC2 library.

Misc. Unrelated Changes:
* Shut up those irritating warning from putget.m4
2020-11-05 11:04:56 -07:00
Ward Fisher
c8a3c51c12
Merge pull request #1873 from Unidata/gh1870.wif
Removed duplicated release note.
2020-10-20 14:57:34 -06:00
Ward Fisher
9cbadb9462 Removed duplicated release note in support of https://github.com/Unidata/netcdf-c/pull/1870 2020-10-20 13:43:48 -06:00
Ward Fisher
c8915cff42
Merge pull request #1870 from Dave-Allured/gh1868.allured
More informative release note for time zone bug fix, Github #1866.
2020-10-20 09:34:13 -06:00
Ward Fisher
499087f7c5
Merge branch 'master' into gh1868.allured 2020-10-19 16:55:47 -06:00
Ward Fisher
75eb197dda
Merge pull request #1869 from DennisHeimbigner/s3build.dmh
Improve the building of NCZARR S3 support in CMake and Autoconf
2020-10-19 16:55:22 -06:00
Ward Fisher
66e42f09ad
Merge branch 'master' into gh1868.allured 2020-10-19 16:13:53 -06:00
Ward Fisher
174b0dafca
Merge branch 'master' into s3build.dmh 2020-10-19 16:10:33 -06:00
Ward Fisher
a00d333ae6
Merge pull request #1872 from Unidata/gh-d4align.wif
d4align fix + release notes
2020-10-19 15:36:55 -06:00
Ward Fisher
1affe00682 Updated release notes with reference to https://github.com/Unidata/netcdf-c/pull/1871 2020-10-19 14:22:23 -06:00
Dennis Heimbigner
044a4b2832 Suppress notused warnings 2020-10-19 13:32:09 -06:00
Dennis Heimbigner
26bf8186f3 Revise the arm test per https://github.com/Unidata/netcdf-c/issues/1854#issuecomment-711983794 2020-10-19 11:01:52 -06:00
Dennis Heimbigner
73c195e107 Support aligned access for selected Arm processors.
re: https://github.com/Unidata/netcdf-c/issues/1854

Apparently some older Arm processors will fail if asked to
read a 64 bit value from memory if not on an 8 byte boundary.
The primary problem is in reading counter values in the dap4 stream.
So if the Arm processor is detected, then memcpy the value
to an aligned 64 bit value before using it.
2020-10-17 15:19:37 -06:00
Dennis Heimbigner
f1248ce458 Update Release Notes 2020-10-16 21:23:27 -06:00
Dave Allured
cd5a9e1122
Update RELEASE_NOTES.md
More informative release note for time zone bug fix, Github #1866.
2020-10-16 19:14:18 -06:00
Dave Allured
d4109b249c
Merge pull request #1 from Unidata/master
Resync with master, 2020 Oct 16
2020-10-16 19:04:48 -06:00
Dennis Heimbigner
730aa1f6bc Improve the building of NCZARR S3 support in CMake and Autoconf
There were some irregularities in the flags for handling NCZarr S3 support.

The primary change is to regularize the flags controlling this to the following.

1. Automake: --enable-nczarr-s3 and CMake: ENABLE_NCZARR_S3
2. Automake: --enable-nczarr-s3-tests and CMake: ENABLE_NCZARR_S3_TESTS

Flag 1 indicates that NCZarr should be built with S3 support enabled.
Flag 2 indicates that the NCZarr S3 tests should be run

These two flags are separate because running the NCZarr S3 tests
requires access to protected S3 resources. Currently, running
these tests is restricted to Unidata personnel. However, users
may want to enable S3 support even if they cannot run the tests.
It is, of course, an error to specify 2 without specifying 1.

Additionally, if the AWS S3 SDK library is not found, then the NCZARR S3
support and testing must be disabled. Otherwise an error is signaled
during the build.

Some of these NCZarr and S3 changes are propagated to nc-config.

Misc. Other Changes:

1. Allow testing for CYGWIN or MSVC in shell scripts.
2. Add specific test for HDF5 library version 1.10.6.
   This is encoded as "HDF5_UTF8_PATHS" because that is the first
   version where HDF5 properly supports it under Windows. This is used
   in hdf5internal/nc4_ndf5_ansi_to_utf8.
3. Add a AM Conditional -- AX_IGNORE -- for use in testing
   when it is desirable to temporarily suppress Makefile code.
4. Add MULTIFILTER flag to CMakeLists.txt
2020-10-16 15:04:51 -06:00
Ward Fisher
45d2a44d57
Merge pull request #1868 from Unidata/gh1866-notes.wif
Add release notes to #1866
2020-10-16 11:01:25 -06:00
Ward Fisher
1865b76969 Updated release notes to refer to https://github.com/Unidata/netcdf-c/pull/1866 2020-10-16 10:03:48 -06:00
Ward Fisher
564d01beb9 Merge branch 'gh1417.allured' of https://github.com/Dave-Allured/netcdf-c into gh1866-notes.wif 2020-10-16 10:00:17 -06:00
Ward Fisher
69a1c3650e
Merge pull request #1867 from gsjaardema/patch-46
Fix setting of use_szlib
2020-10-15 11:53:40 -06:00
Greg Sjaardema
c247e646f4
Fix setting of use_szlib
The `USE_SZLIB` symbol only appeared one time in this file in the entire project.  I think that `USE_SZIP` is the intended symbol.
2020-10-15 09:40:31 -06:00
Ward Fisher
7c720ab3ee
Merge pull request #1863 from DennisHeimbigner/winpath2path.dmh
Prepare for the path management code
2020-10-14 16:55:13 -06:00
Dave-Allured
4300d57de7 Fix time zone parser bug, github #1417 2020-10-14 15:30:49 -06:00
Dennis Heimbigner
25d2e05444 Prepare for the path management code
Rename some files in prep for eventual implementation
of more comprehensive cross-platform file path management.
2020-10-13 19:12:15 -06:00
Ward Fisher
f9dab7eacb
Merge pull request #1861 from DennisHeimbigner/byterangetest.dmh
Cleanup byterange test URLS
2020-10-13 15:55:22 -06:00
Dennis Heimbigner
cb18345761 Cleanup byterange test URLS 2020-10-12 16:16:02 -06:00
Ward Fisher
3eed72738e
Merge pull request #1859 from DennisHeimbigner/castfix.dmh
Fix missing casts of var->filters
2020-10-12 09:06:57 -07:00
Dennis Heimbigner
91f3e75cab Fix missing casts of var->filters 2020-10-09 21:26:29 -06:00
Ward Fisher
ff58777bc7
Merge pull request #1856 from Unidata/migrate-NUG-to-new-repo.wif
Migrate NUG to netCDF repository
2020-10-07 14:10:50 -07:00
Ward Fisher
d5ed0a56f1 Updated RELEASE_NOTES.md 2020-10-06 11:15:59 -06:00
Ward Fisher
f98ffe89ba Removed NUG files, added a README.md file directing people to the correct location. 2020-10-06 11:13:56 -06:00
Ward Fisher
e4138efa9d
Merge pull request #1851 from brtnfld/master
Replaced deprecated (in 1.8.0) H5Aopen_name with H5Aopen_by_name
2020-10-01 14:25:06 -07:00
Ward Fisher
2b3af8e432
Merge pull request #1852 from DennisHeimbigner/revertfilters.dmh
Mostly revert the filter code to reduce its complexity of use.
2020-10-01 14:13:36 -07:00
Dennis Heimbigner
1ac3f367d1 Revise filters.md to clarify 2020-10-01 11:34:03 -06:00
Dennis Heimbigner
81bd80b993 Slight mod to the incompatibilities section 2020-10-01 11:08:16 -06:00
Dennis Heimbigner
aeb3ac2809 Mostly revert the filter code to reduce its complexity of use.
re: https://github.com/Unidata/netcdf-c/issues/1836

Revert the internal filter code to simplify it. From the user's
point of view, the only visible changes should be:

1. The functions that convert text to filter specs have had their signature reverted and have been moved to netcdf_aux.h
2. Some filter API functions now return NC_ENOFILTER when inquiry is made about some filter.

Internally,the dispatch table has been modified to get rid of the filter_actions
entry and associated complex structures. It has been replaced with
inq_var_filter_ids and inq_var_filter_info entries and the dispatch table
version has been bumped to 3. Corresponding NOOP and NOTNC4 functions
were added to libdispatch/dnotnc4.c. Also, the filter_action entries
in dispatch tables were replaced for all dispatch code bases (HDF5, DAP2,
etc). This should only impact UDF users.

In the process, it became clear that the form of the filters
field in NC_VAR_INFO_T was format dependent, so I converted it to
be of type void* and pushed its management into the various dispatch
code bases. Specifically libhdf5 and libnczarr now manage the filters
field in their own way.

The auxilliary functions for parsing textual filter specifications
were moved to netcdf_aux.h and were renamed to the following:
* ncaux_h5filterspec_parse
* ncaux_h5filterspec_parselist
* ncaux_h5filterspec_free
* ncaux_h5filter_fix8

Misc. Other Changes:

1. Document NUG/filters.md updated to reflect the changes above.
2. All the old data types (structs and enums)
   used by filter_actions actions were deleted.
   The exception is the NC_H5_Filterspec because it is needed
   by ncaux_h5filterspec_parselist.
3. Clientside filters were removed -- another enhancement
   for which no-one ever asked.
4. The ability to remove filters was itself removed.
5. Some functionality needed by nczarr was moved from libhdf5
   to libsrc4 e.g. nc4_find_default_chunksizes
6. All the filterx code was removed
7. ncfilter.h and nc4filter.c no longer used

Misc. Unrelated Changes:

1. The nczarr_test makefile clean was leaving some directories; so
   add clean-local to take care of them.
2020-09-27 12:43:46 -06:00
Scot Breitenfeld
2620c01067 Replaced deprecated (in 1.8.0) H5Aopen_name with H5Aopen_by_name 2020-09-25 12:17:20 -05:00
Ward Fisher
a96899a401
Merge pull request #1849 from DennisHeimbigner/hdf5ros3.dmh
Use the built-in HDF5 byte-range reader, if available.
2020-09-24 16:49:58 -06:00
Dennis Heimbigner
f3218a2e2c Use the built-in HDF5 byte-range reader, if available.
re: Issue https://github.com/Unidata/netcdf-c/issues/1848

The existing Virtual File Driver built to support byte-range
read-only file access is quite old. It turns out to be extremely
slow (reason unknown at the moment).

Starting with HDF5 1.10.6, the HDF5 library has its own version
of such a file driver. The HDF5 developers have better knowledge
about building such a driver and what incantations are needed to
get good performance.

This PR modifies the byte-range code in hdf5open.c so
that if the HDF5 file driver is available, then it is used
in preference to the one written by the Netcdf group.

Misc. Other Changes:

1. Moved all of nc4print code to ncdump to keep appveyor quiet.
2020-09-24 14:33:58 -06:00
Ward Fisher
e9af580db3
Merge pull request #1841 from Unidata/dmh-osxsymbols.wif
PR 1840 + others
2020-09-17 14:29:21 -06:00
Ward Fisher
20ca3c9fe1 Corrected an accidental change. 2020-09-15 17:18:32 -06:00
Ward Fisher
2a8ac8b066 Fix logic for determining if filter tests should be run when shared builds are turned off via autotools. See https://github.com/Unidata/netcdf-c/issues/1829 for more information. 2020-09-15 16:56:17 -06:00
Ward Fisher
85621dd06f Fixe szlib write status message for cmake-based builds. 2020-09-15 15:00:02 -06:00
Ward Fisher
3e9293d40b Working on autoconf-based build on OSX 2020-09-15 14:56:12 -06:00
Ward Fisher
432b8180ed Ensured dependencies are linked against properly. 2020-09-15 14:37:54 -06:00
Ward Fisher
51f2395545 Added nc4print utility to cmake build infrastructure. 2020-09-15 14:25:38 -06:00
Dennis Heimbigner
c07f41db7d Fix issue 1839 -- missing symbols under OSX 2020-09-15 13:19:57 -06:00
Ward Fisher
ff9d1b23ed
Merge pull request #1838 from DennisHeimbigner/emptyfill.dmh
Fix error where not converting fill data
2020-09-14 16:17:54 -06:00
Dennis Heimbigner
33a59e5f53 force check retry 2020-09-12 15:30:42 -06:00