File 0004-Make-ipfilteredby-not-required.patch of Package docker-distribution
From afa91463d668a0e1d110593a86df466b7425c82d Mon Sep 17 00:00:00 2001
From: Vishesh Jindal <vishesh92@gmail.com>
Date: Wed, 30 Jan 2019 18:35:07 +0530
Subject: [PATCH] Bugfix: Make ipfilteredby not required
Signed-off-by: Vishesh Jindal <vishesh92@gmail.com>
(cherry picked from commit f9a05061916d095e95566d23e968608ee0576446)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
---
.../middleware/cloudfront/middleware.go | 42 +++++++++++--------
1 file changed, 24 insertions(+), 18 deletions(-)
diff --git a/registry/storage/driver/middleware/cloudfront/middleware.go b/registry/storage/driver/middleware/cloudfront/middleware.go
index 83a36a72a..bd9031a99 100644
--- a/registry/storage/driver/middleware/cloudfront/middleware.go
+++ b/registry/storage/driver/middleware/cloudfront/middleware.go
@@ -138,27 +138,33 @@ func newCloudFrontStorageMiddleware(storageDriver storagedriver.StorageDriver, o
// parse ipfilteredby
var awsIPs *awsIPs
- if ipFilteredBy := options["ipfilteredby"].(string); ok {
- switch strings.ToLower(strings.TrimSpace(ipFilteredBy)) {
- case "", "none":
- awsIPs = nil
- case "aws":
- newAWSIPs(ipRangesURL, updateFrequency, nil)
- case "awsregion":
- var awsRegion []string
- if regions, ok := options["awsregion"].(string); ok {
- for _, awsRegions := range strings.Split(regions, ",") {
- awsRegion = append(awsRegion, strings.ToLower(strings.TrimSpace(awsRegions)))
+ if i, ok := options["ipfilteredby"]; ok {
+ if ipFilteredBy, ok := i.(string); ok {
+ switch strings.ToLower(strings.TrimSpace(ipFilteredBy)) {
+ case "", "none":
+ awsIPs = nil
+ case "aws":
+ awsIPs = newAWSIPs(ipRangesURL, updateFrequency, nil)
+ case "awsregion":
+ var awsRegion []string
+ if i, ok := options["awsregion"]; ok {
+ if regions, ok := i.(string); ok {
+ for _, awsRegions := range strings.Split(regions, ",") {
+ awsRegion = append(awsRegion, strings.ToLower(strings.TrimSpace(awsRegions)))
+ }
+ awsIPs = newAWSIPs(ipRangesURL, updateFrequency, awsRegion)
+ } else {
+ return nil, fmt.Errorf("awsRegion must be a comma separated string of valid aws regions")
+ }
+ } else {
+ return nil, fmt.Errorf("awsRegion is not defined")
}
- awsIPs = newAWSIPs(ipRangesURL, updateFrequency, awsRegion)
- } else {
- return nil, fmt.Errorf("awsRegion must be a comma separated string of valid aws regions")
+ default:
+ return nil, fmt.Errorf("ipfilteredby only allows a string the following value: none|aws|awsregion")
}
- default:
- return nil, fmt.Errorf("ipfilteredby only allows a string the following value: none|aws|awsregion")
+ } else {
+ return nil, fmt.Errorf("ipfilteredby only allows a string with the following value: none|aws|awsregion")
}
- } else {
- return nil, fmt.Errorf("ipfilteredby only allows a string with the following value: none|aws|awsregion")
}
return &cloudFrontStorageMiddleware{