Wykres commitów

1024 Commity (master)

Autor SHA1 Wiadomość Data
Andrew Gaul 508a43e110 Upgrade slf4j 1.7.36
Release notes:

https://www.slf4j.org/news.html
2022-04-01 21:45:23 +09:00
Andrew Gaul 058a55d931 Upgrade to Jetty 9.4.45.v20220203
Release notes:

https://www.eclipse.org/lists/jetty-announce/msg00164.html
2022-04-01 21:36:29 +09:00
Andrew Gaul 04e35b1671 Upgrade to jackson-dataformat-xml 2.13.2
Release notes:

https://github.com/FasterXML/jackson-dataformat-xml/blob/2.13/release-notes/VERSION-2.x
2022-04-01 21:34:38 +09:00
Andrew Gaul f1ba56a1a1 Upgrade to logback 1.2.11
Release notes:

https://logback.qos.ch/news.html
2022-04-01 21:33:47 +09:00
xavier.gourmandin1 2e17734dc1 fix: #412 fix NPE when creating S3ProxyExtention or S3ProxyRule with Auth type = NONE 2022-04-01 21:16:09 +09:00
Florin Peter 217308abd7
Support for transparent encryption
Co-authored-by: Florin Peter <Florin-Alexandru.Peter@t-systems.com>
2022-03-26 22:05:08 +09:00
Andrew Gaul f536835aa8 pgrade to jclouds 2.5.0
Release notes:

https://jclouds.apache.org/releasenotes/2.5.0/

Fixes #396.
2022-03-26 19:52:18 +09:00
Xavier Gourmandin 05a39cf745
Support for Junit 5 Extension mechanism
Fixes #288
2022-03-02 23:36:11 +09:00
Liam 5aec5c132c Support configurable base directory for S3Proxy 2022-02-10 09:55:19 +09:00
Liam 0c3d81feb2 Make S3Proxy compatible with ExAws by checking for parameter presence 2022-02-10 09:54:24 +09:00
Timur Alperovich 11868c22cc Use Java 11 slim image
Fixes #397
2022-02-07 13:43:18 +09:00
Andrew Gaul 2e61c38626 Configure Jetty to use legacy compliance
This prevents changing header value cases which previously caused S3
signature mismatches.  Fixes #392.
References eclipse/jetty.project#7168.
2022-01-22 19:41:04 +09:00
Tamas Cservenak 2839107c6f UT for #392
This UT reproduces issue #392:
attempts a plain simple putObject without
any "trickery", and fails with SignatureDoesNotMatch.

The trick is, to use such Content-Type header that
is cached by Jetty, as it seems all the UTs are using
content types that are not quite common, hence Jetty
cache is not pre-populated with those.
2022-01-22 19:41:04 +09:00
Tamas Cservenak 075ff7f126 Update build
In general update the ancient build plugins
around.

Changes:
* bring all maven plugins to latest versions
* update checkstyle (as pre 8.41 is not supported anymore)
* update checkstyle rules
* make checkstyle plugin not fail the build (as there are issues)
* fix maven-shade-plugin warnings about dupe resource
* fix modernizer issue as it fails the build
* make build reproducible

Added comment about parent POM: the currently used parent is
10 years old, moreover, if you look in Maven Central,
the GA is unmaintained (last release was in 2014). Better introduce
own parent POM, or just copy whatever needed into this POM
(related to staging) and stop using the ancient POM.
2022-01-22 19:07:24 +09:00
Sean C. Sullivan ab6e321964 ci: temurin jdk 2022-01-20 09:18:00 +09:00
Nicklas Ansman Giertz 245fe54aa0 Start publishing arm64
Also switch to the official docker steps in GitHub Actions.
2021-11-16 18:32:20 +09:00
Nicklas Ansman Giertz 5a34d1bc75 Ensure docker login refers to docker.io 2021-11-16 11:08:25 +09:00
Andrew Gaul 28c29bb116 Refer to Docker Hub andrewgaul/s3proxy repo
This differs in organization from the GitHub gaul/s3proxy repo.
References #388.
2021-11-16 09:30:05 +09:00
Andrew Gaul be765854be Set some bash safety options
References #384.
2021-11-16 09:09:06 +09:00
Nicklas Ansman Giertz a2dc43d23e Fix a missing variable when publishing 2021-11-16 08:57:11 +09:00
Nicklas Ansman Giertz 688af7ed00 Replace the travis scripts with GitHub Actions 2021-11-15 22:07:51 +09:00
Andrew Gaul db2cc2a0ff Cache replaceAll regex when normalizing headers 2021-11-01 19:00:28 +09:00
Andrew Gaul cb3845c1ab Reduce allocations in buildCanonicalHeaders 2021-10-31 21:09:48 +09:00
Andrew Gaul b6c2dc9b9c Re-use XmlMapper instances
These can be expensive to create:

https://stackoverflow.com/a/57671444
2021-10-31 19:31:55 +09:00
Andrew Gaul 8e2319de3c Bump to 1.9.1-SNAPSHOT 2021-10-26 20:03:40 +09:00
Andrew Gaul 70af2b8650 S3Proxy 1.9.0 release 2021-10-26 19:58:04 +09:00
Timur Alperovich 512c926b6e Fix anonymous bucket listing bug
If the bucket locator is used with anonymous access, listing a container
results in a null-pointer exception, as there are no blobstores in the
locator. In that case, we should use the globLocator structure and
return the first available blobstore.
2021-10-26 13:15:02 +09:00
Timur Alperovich 939acd950f Add information about bucket locators 2021-10-25 16:04:04 +09:00
Timur Alperovich a2e9e22719 Fix a bug in blobstore locator
558efb7b29 introduced a bug where if anonymous access is
configured, the bucket locator hits a null pointer exception. There is
an additional bug where if an incorrect identity is used with the
blobstore locator (as in, the request identity does not match the
configured bucket's blobstore identity), another null pointer exception
can be triggered.

The patch creates a new GlobBlobStoreLocator class and adds tests to it,
as it is difficult to test Main.java directly. The blobstore locator
logic is also reworked to fix the above bugs.
2021-10-24 18:20:25 +09:00
Timur Alperovich 558efb7b29 Allow differentiating blob stores by buckets
Allows differentiating the backend blob stores by configured buckets.
The commit allows using the same s3proxy credentials across the
different backends and relies on the bucket names to disambiguate them.

If no buckets are configured, the prior blob store selection algorithm
is used, which returns the first configured blob store for the specified
identity.

The patch supports the glob syntax, which allows specifying groups of
buckets more easily. However, there is no checking for overlapping
globs.

Fixes: #371
2021-10-20 16:53:48 +09:00
Timur Alperovich c055dfda9f README entry for the Alias middleware 2021-09-12 15:17:59 +09:00
Timur Alperovich 35fea54d63 Alias middleware to remap backend buckets
Alias middleware implements a way to remap backend buckets to a
configurable front-end name. The mappings are configured as:
s3proxy.alias-blobstore.<s3proxy bucket> = <backend bucket>

A single bucket cannot be mapped to multiple names.
2021-09-11 21:57:56 +09:00
Andrew Gaul 2521db999b Upgrade to jclouds 2.4.0
Release notes:

https://jclouds.apache.org/releasenotes/2.4.0/

Fixes #338.
2021-09-10 20:54:35 +09:00
Andrew Gaul 619b4170c9 Skip AwsSdkTest.testAwsV4SignatureBadCredential
This randomly fails with SocketException: Broken pipe.
2021-09-08 21:48:32 +09:00
Andrew Gaul 4b2f344599 Upgrade to aws-java-sdk-s3 1.12.63 2021-09-08 21:28:21 +09:00
Andrew Gaul 4700fb3a69 Check if Authorization header is empty
This resolves s3-tests failures that we missed due to busted CI.
Perhaps caused by a newer boto version?
2021-09-08 20:37:04 +09:00
Andrew Gaul d18d0232c8 Upgrade to error-prone 2.9.0
Release notes:

https://github.com/google/error-prone/releases/tag/v2.7.0
https://github.com/google/error-prone/releases/tag/v2.7.1
https://github.com/google/error-prone/releases/tag/v2.8.0
https://github.com/google/error-prone/releases/tag/v2.8.1
https://github.com/google/error-prone/releases/tag/v2.9.0
2021-09-02 20:44:53 +09:00
Andrew Gaul 899956f80f Fix Checkstyle violation 2021-08-21 08:13:02 +09:00
Andrew Gaul 79f12eff88 Upgrade to SpotBugs 4.2.0
Also fix new violation.  Changelog:

https://github.com/spotbugs/spotbugs/blob/4.4.0/CHANGELOG.md
2021-08-21 08:11:55 +09:00
Peter Zeller f4ea296adf support Iso8601 in date headers 2021-08-21 08:02:06 +09:00
Timur Alperovich 0d8f9aa96d Add Sharded Bucket middleware
Adds the sharded bucket middleware, which allows for splitting objects
across multiple backend buckets for a given virtual bucket. The
middleware should be configured as:
s3proxy.sharded-blobstore.<bucket name>.shards=<number of shards>
s3proxy.sharded-blobstore.<bucket name>.prefix=<prefix>.

All shards are named <prefix>-<index>, where index is an
integer from 0 to <number of shards> - 1. If the <prefix> is not
supplied, the <bucket name> is used as the prefix.

Listing the virtual bucket and multipart uploads are not supported. When
listing all containers, the shards are elided from the result.

Fixes #325
Fixes #351
2021-06-05 23:23:38 +09:00
Andrew Gaul 4686ede0bd Upgrade to Jetty 9.4.41.v20210516
Enabled by Java 8.  Release notes for 9.3.0 and 9.4.0:

https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00080.html
https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00097.html

Fixes #121.
2021-06-05 23:18:07 +09:00
Andrew Gaul 0deabb9cff Upgrade to aws-java-sdk-s3 1.11.1033 2021-06-05 15:45:21 +09:00
Andrew Gaul 85b5f74905 Upgrade to jetty-servlet 9.2.30.v20200428 2021-06-05 15:41:54 +09:00
Andrew Gaul b6856fdda8 Upgrade to jackson-dataformat-xml 2.12.3
Release notes:

https://github.com/FasterXML/jackson-dataformat-xml/blob/2.12/release-notes/VERSION-2.x
2021-06-05 15:35:00 +09:00
Andrew Gaul ac539f5219 Handle possibly-null Content-Length
References #357.
2021-05-04 19:28:17 +09:00
Mikko Kortelainen 99ff5f950b add getters for S3AuthorizationHeader fields and make fields private 2021-04-29 15:08:04 +09:00
Andrew Gaul 85b2fa0321 Check ETag AtomicReference value not its reference 2021-04-12 16:59:13 +09:00
dependabot[bot] 2cefdd1bb6 Bump junit from 4.12 to 4.13.1
Bumps [junit](https://github.com/junit-team/junit4) from 4.12 to 4.13.1.
- [Release notes](https://github.com/junit-team/junit4/releases)
- [Changelog](https://github.com/junit-team/junit4/blob/main/doc/ReleaseNotes4.12.md)
- [Commits](https://github.com/junit-team/junit4/compare/r4.12...r4.13.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-04 10:40:16 +09:00
Andrew Gaul b06ed899b5 Upgrade to error-prone 2.6.0
Release notes:

https://github.com/google/error-prone/releases/tag/v2.6.0
2021-04-04 10:32:57 +09:00