summaryrefslogtreecommitdiffstats
path: root/config-provisioning/src/main
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@verizonmedia.com>2020-03-18 15:10:40 +0100
committerBjørn Christian Seime <bjorncs@verizonmedia.com>2020-03-18 15:10:40 +0100
commitec57f15b98bfc6320395d63d3fbd9d55cdf926be (patch)
treedf76f77b76bc0a9981306ca52d17e35a7e9ae8f7 /config-provisioning/src/main
parent0af38d72c0c131d7c3955d8542da8201468d7397 (diff)
Validate domain name
Diffstat (limited to 'config-provisioning/src/main')
-rw-r--r--config-provisioning/src/main/java/com/yahoo/config/provision/AthenzDomain.java11
1 files changed, 11 insertions, 0 deletions
diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/AthenzDomain.java b/config-provisioning/src/main/java/com/yahoo/config/provision/AthenzDomain.java
index 193a02ccf26..e375716ff3c 100644
--- a/config-provisioning/src/main/java/com/yahoo/config/provision/AthenzDomain.java
+++ b/config-provisioning/src/main/java/com/yahoo/config/provision/AthenzDomain.java
@@ -1,17 +1,28 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.config.provision;
+import java.util.regex.Pattern;
+
/**
* @author mortent
*/
public class AthenzDomain {
+ private static final Pattern PATTERN = Pattern.compile("[a-zA-Z0-9_][a-zA-Z0-9_\\-.]*[a-zA-Z0-9_]");
+
private final String name;
private AthenzDomain(String name) {
+ validateName(name);
this.name = name;
}
+ private static void validateName(String name) {
+ if (!PATTERN.matcher(name).matches()) {
+ throw new IllegalArgumentException("Not a valid domain name: '" + name + "'");
+ }
+ }
+
public static AthenzDomain from(String value) {
return new AthenzDomain(value);
}