* RTD theme no longer builds with latest Sphinx. This updates it.
* Fix types based docs compile issues.
* Fix compiler warning not seeing a size check.
* Allow custom read callbacks to be used
This allows handling of data in smaller chunks if the ms3_get result is
too large to fit into memory.
* Use the configured buffer size in curl
This way the chunks that curl will return will be the same size that the
internal buffer will be. For the custom read callback, this will allow
the data to be handled in smaller chunks.
* Fix copyright year in read_cb.c
The year is 2023.
All new code of the whole pull request, including one or several files
that are either new files or modified ones, are contributed under the
BSD-new license. I am contributing on behalf of my employer Amazon Web
Services, Inc.
LibXML has been removed in favour of a modified version of xml.c
(modified to work with AWS responses and our code base usage).
Also fixes:
* AC_MSG_ERROR usage (fixes#83)
* Some places where we weren't using ms3_c alloc functions
* ms3_get doing an ms3_list with an empty key (fixes#82)
"Buckets created in Regions launched after March 20, 2019 are not
reachable via the https://bucket.s3.amazonaws.com naming scheme."
This patch enhances the one Markus wrote to just completely remove the
domain based access method.
Add the warning -Wdeclaration-after-statement and fix everything it
finds.
Add MS3_OPT_FORCE_PROTOCOL_VERSION to ms3_set_option() with a test to
force protocol version when the autodetection does the wrong thing.
This function acts like ms3_list() but only looks in the prefix up to
the first slash and includes directory names.
Also remove the 1MB lower limit on chunk size
* Will use V1 by default for non-Amazon S3 servers
* V1 or V2 can be forced using ms3_set_option()
* Updated tests to test for both
* Set version and ABI version correctly
* ms3_server_error() gets the last server error or Curl error
* Remove the deprecated ms3_init(), it could not work with
ms3_server_error() and no one uses it
* Test cleanups
* Version bump for semver
CURL will automatically reuse connections if the CURL object is reused.
This commit adds functionality so that a thread can have a CURL object
that can be reused without dramatically altering the API.
It add two new functions:
* ms3_library_init() - to initialize curl for multithreaded operations
* ms3_thread_init() - to initialize a connection object for a thread
This patch also fixes tests that are affecting each other.
Tested using valgrind, scanbuild and cppcheck.
* Found that mhash has a 4GB limit, imposed a hard limit on ms3_put()
* Fixed some leaks on error conditions
* Other minor issues