summaryrefslogtreecommitdiffstats
path: root/node-repository
diff options
context:
space:
mode:
authorValerij Fredriksen <valerijf@verizonmedia.com>2021-09-16 11:22:22 +0200
committerValerij Fredriksen <valerijf@verizonmedia.com>2021-09-16 11:24:45 +0200
commitcd2827467157f3eb872d63f9c39a658082f1bf88 (patch)
treed9f67db417f944adacf731416fff3578c76d23a9 /node-repository
parent1a72eefec8a8c62f8b29455e15a4cc2d67eb4d0e (diff)
Allow underscores in archive URI
Diffstat (limited to 'node-repository')
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/ArchiveUris.java2
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ArchiveUrisTest.java5
2 files changed, 5 insertions, 2 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/ArchiveUris.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/ArchiveUris.java
index c59de5865b8..6174d9bb396 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/ArchiveUris.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/ArchiveUris.java
@@ -24,7 +24,7 @@ import java.util.regex.Pattern;
public class ArchiveUris {
private static final Logger log = Logger.getLogger(ArchiveUris.class.getName());
- private static final Pattern validUriPattern = Pattern.compile("[a-z0-9]+://(?:(?:[a-z0-9]+(?:-[a-z0-9.]+)*)+/)+");
+ private static final Pattern validUriPattern = Pattern.compile("[a-z0-9]+://(?:(?:[a-z0-9]+(?:[-_][a-z0-9.]+)*)+/)+");
private static final Duration cacheTtl = Duration.ofMinutes(1);
private final CuratorDatabaseClient db;
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ArchiveUrisTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ArchiveUrisTest.java
index cf773052991..982448558e6 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ArchiveUrisTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ArchiveUrisTest.java
@@ -55,12 +55,15 @@ public class ArchiveUrisTest {
assertEquals("ftp://domain/legal-dir123/", normalizeUri("ftp://domain/legal-dir123"));
assertEquals("ftp://domain/legal-dir123/", normalizeUri("ftp://domain/legal-dir123/"));
assertEquals("s3://my-bucket-prod.region/my-tenant-123/", normalizeUri("s3://my-bucket-prod.region/my-tenant-123/"));
+ assertEquals("s3://my-bucket-prod.region/my-tenant_123/", normalizeUri("s3://my-bucket-prod.region/my-tenant_123/"));
assertThrows(IllegalArgumentException.class, () -> normalizeUri("domain/dir/"));
assertThrows(IllegalArgumentException.class, () -> normalizeUri("ftp:/domain/dir/"));
assertThrows(IllegalArgumentException.class, () -> normalizeUri("ftp:/domain//dir/"));
- assertThrows(IllegalArgumentException.class, () -> normalizeUri("ftp://domain/illegal_dir/"));
+ assertThrows(IllegalArgumentException.class, () -> normalizeUri("ftp://domain/illegal:dir/"));
assertThrows(IllegalArgumentException.class, () -> normalizeUri("ftp://domain/-illegal-dir/"));
+ assertThrows(IllegalArgumentException.class, () -> normalizeUri("ftp://domain/_illegal-dir/"));
assertThrows(IllegalArgumentException.class, () -> normalizeUri("ftp://domain/illegal-dir-/"));
+ assertThrows(IllegalArgumentException.class, () -> normalizeUri("ftp://domain/illegal-dir_/"));
}
private static void assertThrows(Class<? extends Throwable> clazz, Runnable runnable) {