Skip to content

Commit af04301

Browse files
committed
Fix validation of new bazel http header qualifiers
1 parent 17795a4 commit af04301

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

pkg/fetch/http_fetcher.go

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,13 @@ func (hf *httpFetcher) FetchDirectory(ctx context.Context, req *remoteasset.Fetc
102102
}
103103

104104
func (hf *httpFetcher) CheckQualifiers(qualifiers qualifier.Set) qualifier.Set {
105-
return qualifier.Difference(qualifiers, qualifier.NewSet([]string{"checksum.sri", "bazel.auth_headers", "bazel.canonical_id"}))
105+
toRemove := qualifier.NewSet([]string{"checksum.sri", QualifierLegacyBazelHTTPHeaders, "bazel.canonical_id"})
106+
for name := range qualifiers {
107+
if strings.HasPrefix(name, QualifierHTTPHeaderPrefix) || strings.HasPrefix(name, QualifierHTTPHeaderURLPrefix) {
108+
toRemove.Add(name)
109+
}
110+
}
111+
return qualifier.Difference(qualifiers, toRemove)
106112
}
107113

108114
func (hf *httpFetcher) downloadBlob(ctx context.Context, uri string, instanceName bb_digest.InstanceName, expectedDigest string, digestFunctionEnum remoteexecution.DigestFunction_Value, auth *AuthHeaders) (buffer.Buffer, bb_digest.Digest) {

pkg/fetch/http_fetcher_test.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99

1010
"github.com/buildbarn/bb-remote-asset/internal/mock"
1111
"github.com/buildbarn/bb-remote-asset/pkg/fetch"
12+
"github.com/buildbarn/bb-remote-asset/pkg/qualifier"
1213
bb_digest "github.com/buildbarn/bb-storage/pkg/digest"
1314
"github.com/buildbarn/bb-storage/pkg/testutil"
1415

@@ -334,6 +335,7 @@ func TestHTTPFetcherFetchBlob(t *testing.T) {
334335
},
335336
},
336337
}
338+
require.Empty(t, HTTPFetcher.CheckQualifiers(qualifier.QualifiersToSet(request.Qualifiers)))
337339
matcher := &headerMatcher{
338340
headers: map[string]string{
339341
"Authorization": "Bearer letmein",
@@ -376,6 +378,7 @@ func TestHTTPFetcherFetchBlob(t *testing.T) {
376378
},
377379
},
378380
}
381+
require.Empty(t, HTTPFetcher.CheckQualifiers(qualifier.QualifiersToSet(request.Qualifiers)))
379382
matcherReq1 := &headerMatcher{
380383
headers: map[string]string{
381384
"Authorization": "Bearer anothertoken",

0 commit comments

Comments
 (0)