Skip to content

Commit ab184ad

Browse files
Sarunikssylvestre
authored andcommitted
Both access_key_id and secret_access_key must be set or both must be unset.
1 parent 1a9392a commit ab184ad

File tree

2 files changed

+14
-6
lines changed

2 files changed

+14
-6
lines changed

src/cache/s3.rs

+9-6
Original file line numberDiff line numberDiff line change
@@ -38,12 +38,15 @@ impl S3Cache {
3838
builder.bucket(bucket);
3939
builder.root(key_prefix);
4040

41-
if let Some(access_key_id) = access_key_id {
42-
builder.access_key_id(access_key_id);
43-
}
44-
45-
if let Some(secret_access_key) = secret_access_key {
46-
builder.secret_access_key(secret_access_key);
41+
match (access_key_id, secret_access_key) {
42+
(Some(access_key_id), Some(secret_access_key)) => {
43+
builder.access_key_id(access_key_id);
44+
builder.secret_access_key(secret_access_key);
45+
}
46+
(None, None) => (),
47+
_ => {
48+
bail!("Both access_key_id and secret_access_key must be set or both must be unset.")
49+
}
4750
}
4851

4952
if let Some(region) = region {

src/config.rs

+5
Original file line numberDiff line numberDiff line change
@@ -645,6 +645,11 @@ fn config_from_env() -> Result<EnvConfig> {
645645
let access_key_id = env::var("SCCACHE_AWS_ACCESS_KEY_ID").ok();
646646
let secret_access_key = env::var("SCCACHE_AWS_SECRET_ACCESS_KEY").ok();
647647

648+
match (&access_key_id, &secret_access_key) {
649+
(Some(_), Some(_)) | (None, None) => (),
650+
_ => bail!("Both SCCACHE_AWS_ACCESS_KEY_ID and SCCACHE_AWS_SECRET_ACCESS_KEY must be set or both must be unset."),
651+
}
652+
648653
Some(S3CacheConfig {
649654
bucket,
650655
region,

0 commit comments

Comments
 (0)