From a15c755399e299914acebe0a5005dd5ddff0db56 Mon Sep 17 00:00:00 2001 From: Philipp Date: Sat, 27 Mar 2021 02:01:00 +0100 Subject: [PATCH] Add "legacy_auth" option for S3 object stores (#1444) * Add "legacy_auth" option for S3 object stores Signed-off-by: Philipp * Update .config/s3.config.php Co-authored-by: J0WI Co-authored-by: J0WI --- .config/s3.config.php | 5 ++++- 19.0/apache/config/s3.config.php | 5 ++++- 19.0/fpm-alpine/config/s3.config.php | 5 ++++- 19.0/fpm/config/s3.config.php | 5 ++++- 20.0/apache/config/s3.config.php | 5 ++++- 20.0/fpm-alpine/config/s3.config.php | 5 ++++- 20.0/fpm/config/s3.config.php | 5 ++++- 21.0/apache/config/s3.config.php | 5 ++++- 21.0/fpm-alpine/config/s3.config.php | 5 ++++- 21.0/fpm/config/s3.config.php | 5 ++++- README.md | 1 + 11 files changed, 41 insertions(+), 10 deletions(-) diff --git a/.config/s3.config.php b/.config/s3.config.php index 9a19e96f9..aa3f4f591 100644 --- a/.config/s3.config.php +++ b/.config/s3.config.php @@ -2,6 +2,7 @@ if (getenv('OBJECTSTORE_S3_BUCKET')) { $use_ssl = getenv('OBJECTSTORE_S3_SSL'); $use_path = getenv('OBJECTSTORE_S3_USEPATH_STYLE'); + $use_legacyauth = getenv('OBJECTSTORE_S3_LEGACYAUTH'); $autocreate = getenv('OBJECTSTORE_S3_AUTOCREATE'); $CONFIG = array( 'objectstore' => array( @@ -17,7 +18,9 @@ 'autocreate' => (strtolower($autocreate) === 'false' || $autocreate == false) ? false : true, 'use_ssl' => (strtolower($use_ssl) === 'false' || $use_ssl == false) ? false : true, // required for some non Amazon S3 implementations - 'use_path_style' => $use_path == true && strtolower($use_path) !== 'false' + 'use_path_style' => $use_path == true && strtolower($use_path) !== 'false', + // required for older protocol versions + 'legacy_auth' => $use_legacyauth == true && strtolower($use_legacyauth) !== 'false' ) ) ); diff --git a/19.0/apache/config/s3.config.php b/19.0/apache/config/s3.config.php index 9a19e96f9..85e54b7bd 100644 --- a/19.0/apache/config/s3.config.php +++ b/19.0/apache/config/s3.config.php @@ -2,6 +2,7 @@ if (getenv('OBJECTSTORE_S3_BUCKET')) { $use_ssl = getenv('OBJECTSTORE_S3_SSL'); $use_path = getenv('OBJECTSTORE_S3_USEPATH_STYLE'); + $use_legacyauth = getenv('OBJECTSTORE_S3_LEGACYAUTH'); $autocreate = getenv('OBJECTSTORE_S3_AUTOCREATE'); $CONFIG = array( 'objectstore' => array( @@ -17,7 +18,9 @@ 'autocreate' => (strtolower($autocreate) === 'false' || $autocreate == false) ? false : true, 'use_ssl' => (strtolower($use_ssl) === 'false' || $use_ssl == false) ? false : true, // required for some non Amazon S3 implementations - 'use_path_style' => $use_path == true && strtolower($use_path) !== 'false' + 'use_path_style' => $use_path == true && strtolower($use_path) !== 'false', + // required for older protocol versions + 'legacy_auth' => $use_legacyauth == true && strtolower($use_legacyauth) !== 'false' ) ) ); diff --git a/19.0/fpm-alpine/config/s3.config.php b/19.0/fpm-alpine/config/s3.config.php index 9a19e96f9..85e54b7bd 100644 --- a/19.0/fpm-alpine/config/s3.config.php +++ b/19.0/fpm-alpine/config/s3.config.php @@ -2,6 +2,7 @@ if (getenv('OBJECTSTORE_S3_BUCKET')) { $use_ssl = getenv('OBJECTSTORE_S3_SSL'); $use_path = getenv('OBJECTSTORE_S3_USEPATH_STYLE'); + $use_legacyauth = getenv('OBJECTSTORE_S3_LEGACYAUTH'); $autocreate = getenv('OBJECTSTORE_S3_AUTOCREATE'); $CONFIG = array( 'objectstore' => array( @@ -17,7 +18,9 @@ 'autocreate' => (strtolower($autocreate) === 'false' || $autocreate == false) ? false : true, 'use_ssl' => (strtolower($use_ssl) === 'false' || $use_ssl == false) ? false : true, // required for some non Amazon S3 implementations - 'use_path_style' => $use_path == true && strtolower($use_path) !== 'false' + 'use_path_style' => $use_path == true && strtolower($use_path) !== 'false', + // required for older protocol versions + 'legacy_auth' => $use_legacyauth == true && strtolower($use_legacyauth) !== 'false' ) ) ); diff --git a/19.0/fpm/config/s3.config.php b/19.0/fpm/config/s3.config.php index 9a19e96f9..85e54b7bd 100644 --- a/19.0/fpm/config/s3.config.php +++ b/19.0/fpm/config/s3.config.php @@ -2,6 +2,7 @@ if (getenv('OBJECTSTORE_S3_BUCKET')) { $use_ssl = getenv('OBJECTSTORE_S3_SSL'); $use_path = getenv('OBJECTSTORE_S3_USEPATH_STYLE'); + $use_legacyauth = getenv('OBJECTSTORE_S3_LEGACYAUTH'); $autocreate = getenv('OBJECTSTORE_S3_AUTOCREATE'); $CONFIG = array( 'objectstore' => array( @@ -17,7 +18,9 @@ 'autocreate' => (strtolower($autocreate) === 'false' || $autocreate == false) ? false : true, 'use_ssl' => (strtolower($use_ssl) === 'false' || $use_ssl == false) ? false : true, // required for some non Amazon S3 implementations - 'use_path_style' => $use_path == true && strtolower($use_path) !== 'false' + 'use_path_style' => $use_path == true && strtolower($use_path) !== 'false', + // required for older protocol versions + 'legacy_auth' => $use_legacyauth == true && strtolower($use_legacyauth) !== 'false' ) ) ); diff --git a/20.0/apache/config/s3.config.php b/20.0/apache/config/s3.config.php index 9a19e96f9..85e54b7bd 100644 --- a/20.0/apache/config/s3.config.php +++ b/20.0/apache/config/s3.config.php @@ -2,6 +2,7 @@ if (getenv('OBJECTSTORE_S3_BUCKET')) { $use_ssl = getenv('OBJECTSTORE_S3_SSL'); $use_path = getenv('OBJECTSTORE_S3_USEPATH_STYLE'); + $use_legacyauth = getenv('OBJECTSTORE_S3_LEGACYAUTH'); $autocreate = getenv('OBJECTSTORE_S3_AUTOCREATE'); $CONFIG = array( 'objectstore' => array( @@ -17,7 +18,9 @@ 'autocreate' => (strtolower($autocreate) === 'false' || $autocreate == false) ? false : true, 'use_ssl' => (strtolower($use_ssl) === 'false' || $use_ssl == false) ? false : true, // required for some non Amazon S3 implementations - 'use_path_style' => $use_path == true && strtolower($use_path) !== 'false' + 'use_path_style' => $use_path == true && strtolower($use_path) !== 'false', + // required for older protocol versions + 'legacy_auth' => $use_legacyauth == true && strtolower($use_legacyauth) !== 'false' ) ) ); diff --git a/20.0/fpm-alpine/config/s3.config.php b/20.0/fpm-alpine/config/s3.config.php index 9a19e96f9..85e54b7bd 100644 --- a/20.0/fpm-alpine/config/s3.config.php +++ b/20.0/fpm-alpine/config/s3.config.php @@ -2,6 +2,7 @@ if (getenv('OBJECTSTORE_S3_BUCKET')) { $use_ssl = getenv('OBJECTSTORE_S3_SSL'); $use_path = getenv('OBJECTSTORE_S3_USEPATH_STYLE'); + $use_legacyauth = getenv('OBJECTSTORE_S3_LEGACYAUTH'); $autocreate = getenv('OBJECTSTORE_S3_AUTOCREATE'); $CONFIG = array( 'objectstore' => array( @@ -17,7 +18,9 @@ 'autocreate' => (strtolower($autocreate) === 'false' || $autocreate == false) ? false : true, 'use_ssl' => (strtolower($use_ssl) === 'false' || $use_ssl == false) ? false : true, // required for some non Amazon S3 implementations - 'use_path_style' => $use_path == true && strtolower($use_path) !== 'false' + 'use_path_style' => $use_path == true && strtolower($use_path) !== 'false', + // required for older protocol versions + 'legacy_auth' => $use_legacyauth == true && strtolower($use_legacyauth) !== 'false' ) ) ); diff --git a/20.0/fpm/config/s3.config.php b/20.0/fpm/config/s3.config.php index 9a19e96f9..85e54b7bd 100644 --- a/20.0/fpm/config/s3.config.php +++ b/20.0/fpm/config/s3.config.php @@ -2,6 +2,7 @@ if (getenv('OBJECTSTORE_S3_BUCKET')) { $use_ssl = getenv('OBJECTSTORE_S3_SSL'); $use_path = getenv('OBJECTSTORE_S3_USEPATH_STYLE'); + $use_legacyauth = getenv('OBJECTSTORE_S3_LEGACYAUTH'); $autocreate = getenv('OBJECTSTORE_S3_AUTOCREATE'); $CONFIG = array( 'objectstore' => array( @@ -17,7 +18,9 @@ 'autocreate' => (strtolower($autocreate) === 'false' || $autocreate == false) ? false : true, 'use_ssl' => (strtolower($use_ssl) === 'false' || $use_ssl == false) ? false : true, // required for some non Amazon S3 implementations - 'use_path_style' => $use_path == true && strtolower($use_path) !== 'false' + 'use_path_style' => $use_path == true && strtolower($use_path) !== 'false', + // required for older protocol versions + 'legacy_auth' => $use_legacyauth == true && strtolower($use_legacyauth) !== 'false' ) ) ); diff --git a/21.0/apache/config/s3.config.php b/21.0/apache/config/s3.config.php index 9a19e96f9..85e54b7bd 100644 --- a/21.0/apache/config/s3.config.php +++ b/21.0/apache/config/s3.config.php @@ -2,6 +2,7 @@ if (getenv('OBJECTSTORE_S3_BUCKET')) { $use_ssl = getenv('OBJECTSTORE_S3_SSL'); $use_path = getenv('OBJECTSTORE_S3_USEPATH_STYLE'); + $use_legacyauth = getenv('OBJECTSTORE_S3_LEGACYAUTH'); $autocreate = getenv('OBJECTSTORE_S3_AUTOCREATE'); $CONFIG = array( 'objectstore' => array( @@ -17,7 +18,9 @@ 'autocreate' => (strtolower($autocreate) === 'false' || $autocreate == false) ? false : true, 'use_ssl' => (strtolower($use_ssl) === 'false' || $use_ssl == false) ? false : true, // required for some non Amazon S3 implementations - 'use_path_style' => $use_path == true && strtolower($use_path) !== 'false' + 'use_path_style' => $use_path == true && strtolower($use_path) !== 'false', + // required for older protocol versions + 'legacy_auth' => $use_legacyauth == true && strtolower($use_legacyauth) !== 'false' ) ) ); diff --git a/21.0/fpm-alpine/config/s3.config.php b/21.0/fpm-alpine/config/s3.config.php index 9a19e96f9..85e54b7bd 100644 --- a/21.0/fpm-alpine/config/s3.config.php +++ b/21.0/fpm-alpine/config/s3.config.php @@ -2,6 +2,7 @@ if (getenv('OBJECTSTORE_S3_BUCKET')) { $use_ssl = getenv('OBJECTSTORE_S3_SSL'); $use_path = getenv('OBJECTSTORE_S3_USEPATH_STYLE'); + $use_legacyauth = getenv('OBJECTSTORE_S3_LEGACYAUTH'); $autocreate = getenv('OBJECTSTORE_S3_AUTOCREATE'); $CONFIG = array( 'objectstore' => array( @@ -17,7 +18,9 @@ 'autocreate' => (strtolower($autocreate) === 'false' || $autocreate == false) ? false : true, 'use_ssl' => (strtolower($use_ssl) === 'false' || $use_ssl == false) ? false : true, // required for some non Amazon S3 implementations - 'use_path_style' => $use_path == true && strtolower($use_path) !== 'false' + 'use_path_style' => $use_path == true && strtolower($use_path) !== 'false', + // required for older protocol versions + 'legacy_auth' => $use_legacyauth == true && strtolower($use_legacyauth) !== 'false' ) ) ); diff --git a/21.0/fpm/config/s3.config.php b/21.0/fpm/config/s3.config.php index 9a19e96f9..85e54b7bd 100644 --- a/21.0/fpm/config/s3.config.php +++ b/21.0/fpm/config/s3.config.php @@ -2,6 +2,7 @@ if (getenv('OBJECTSTORE_S3_BUCKET')) { $use_ssl = getenv('OBJECTSTORE_S3_SSL'); $use_path = getenv('OBJECTSTORE_S3_USEPATH_STYLE'); + $use_legacyauth = getenv('OBJECTSTORE_S3_LEGACYAUTH'); $autocreate = getenv('OBJECTSTORE_S3_AUTOCREATE'); $CONFIG = array( 'objectstore' => array( @@ -17,7 +18,9 @@ 'autocreate' => (strtolower($autocreate) === 'false' || $autocreate == false) ? false : true, 'use_ssl' => (strtolower($use_ssl) === 'false' || $use_ssl == false) ? false : true, // required for some non Amazon S3 implementations - 'use_path_style' => $use_path == true && strtolower($use_path) !== 'false' + 'use_path_style' => $use_path == true && strtolower($use_path) !== 'false', + // required for older protocol versions + 'legacy_auth' => $use_legacyauth == true && strtolower($use_legacyauth) !== 'false' ) ) ); diff --git a/README.md b/README.md index c64bafac7..958513f30 100644 --- a/README.md +++ b/README.md @@ -165,6 +165,7 @@ To use an external S3 compatible object store as primary storage, set the follow - `OBJECTSTORE_S3_SSL` (default: `true`): Whether or not SSL/TLS should be used to communicate with object storage server - `OBJECTSTORE_S3_REGION`: The region that the S3 bucket resides in. - `OBJECTSTORE_S3_USEPATH_STYLE` (default: `false`): Not required for AWS S3 +- `OBJECTSTORE_S3_LEGACYAUTH` (default: `false`): Not required for AWS S3 - `OBJECTSTORE_S3_OBJECT_PREFIX` (default: `urn:oid:`): Prefix to prepend to the fileid - `OBJECTSTORE_S3_AUTOCREATE` (default: `true`): Create the container if it does not exist