aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEelco Dolstra <edolstra@gmail.com>2020-10-05 17:53:30 +0200
committerEelco Dolstra <edolstra@gmail.com>2020-10-05 17:53:30 +0200
commit88a667e49e10af4a9e2daa51badbed63ad19d817 (patch)
tree8b8977aca94cc75ffa40a678bf1874c13769e115 /src
parent51c299213b6e157af3cd59dc73e0aab2762385ee (diff)
Fix s3:// store
Fixes https://github.com/NixOS/nixos-org-configurations/issues/123.
Diffstat (limited to 'src')
-rw-r--r--src/libstore/http-binary-cache-store.cc1
-rw-r--r--src/libstore/store-api.hh1
-rw-r--r--src/libutil/url-parts.hh2
3 files changed, 3 insertions, 1 deletions
diff --git a/src/libstore/http-binary-cache-store.cc b/src/libstore/http-binary-cache-store.cc
index 86be7c006..3d3d91e5e 100644
--- a/src/libstore/http-binary-cache-store.cc
+++ b/src/libstore/http-binary-cache-store.cc
@@ -73,6 +73,7 @@ public:
if (forceHttp) ret.insert("file");
return ret;
}
+
protected:
void maybeDisable()
diff --git a/src/libstore/store-api.hh b/src/libstore/store-api.hh
index ba202375b..854446987 100644
--- a/src/libstore/store-api.hh
+++ b/src/libstore/store-api.hh
@@ -830,6 +830,7 @@ struct StoreFactory
std::function<std::shared_ptr<Store> (const std::string & scheme, const std::string & uri, const Store::Params & params)> create;
std::function<std::shared_ptr<StoreConfig> ()> getConfig;
};
+
struct Implementations
{
static std::vector<StoreFactory> * registered;
diff --git a/src/libutil/url-parts.hh b/src/libutil/url-parts.hh
index 64e06cfbc..68be15cb0 100644
--- a/src/libutil/url-parts.hh
+++ b/src/libutil/url-parts.hh
@@ -7,7 +7,7 @@ namespace nix {
// URI stuff.
const static std::string pctEncoded = "(?:%[0-9a-fA-F][0-9a-fA-F])";
-const static std::string schemeRegex = "(?:[a-z+.-]+)";
+const static std::string schemeRegex = "(?:[a-z][a-z0-9+.-]*)";
const static std::string ipv6AddressRegex = "(?:\\[[0-9a-fA-F:]+\\])";
const static std::string unreservedRegex = "(?:[a-zA-Z0-9-._~])";
const static std::string subdelimsRegex = "(?:[!$&'\"()*+,;=])";