From 9aacf425dc2ec6e3284ffb1fce27ce55786627a2 Mon Sep 17 00:00:00 2001 From: Jade Lovelace Date: Sun, 18 Aug 2024 14:55:17 -0700 Subject: [PATCH] fix: use http proxy for s3 access I don't know why the AWS sdk disabled it by default. It would be nice to have test coverage of the s3 store or proxies, but neither currently exist. Fixes: https://git.lix.systems/lix-project/lix/issues/433 Change-Id: If1e76169a3d66dbec2e926af0d0d0eccf983b97b --- doc/manual/rl-next/http-proxy-for-s3.md | 10 ++++++++++ src/libstore/s3-binary-cache-store.cc | 2 ++ 2 files changed, 12 insertions(+) create mode 100644 doc/manual/rl-next/http-proxy-for-s3.md diff --git a/doc/manual/rl-next/http-proxy-for-s3.md b/doc/manual/rl-next/http-proxy-for-s3.md new file mode 100644 index 000000000..57b0107dd --- /dev/null +++ b/doc/manual/rl-next/http-proxy-for-s3.md @@ -0,0 +1,10 @@ +--- +synopsis: HTTP proxy environment variables are now respected for S3 binary cache stores +issues: [fj#433] +cls: [1788] +category: Fixes +credits: jade +--- + +Due to "legacy reasons" (according to the AWS C++ SDK docs), the AWS SDK ignores system proxy configuration by default. +We turned it back on. diff --git a/src/libstore/s3-binary-cache-store.cc b/src/libstore/s3-binary-cache-store.cc index 4683f00f9..ffebfda8d 100644 --- a/src/libstore/s3-binary-cache-store.cc +++ b/src/libstore/s3-binary-cache-store.cc @@ -140,6 +140,8 @@ ref S3Helper::makeConfig( res->connectTimeoutMs = 5 * 1000; res->retryStrategy = std::make_shared(); res->caFile = settings.caFile; + // Use the system proxy env-vars in curl for s3, which is off by default for some reason + res->allowSystemProxy = true; return res; }