diff options
author | Bjørn Christian Seime <bjorncs@yahooinc.com> | 2023-06-15 14:56:55 +0200 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@yahooinc.com> | 2023-06-15 15:41:37 +0200 |
commit | 44638b48e119a558deafb8e7a556845af4120f2f (patch) | |
tree | 95a21e08b29427aa070f79119f8b859b11d3b4a4 /config-model | |
parent | c483f99e61db99228262b72734a0417058dea208 (diff) |
Fail on unknown file
Diffstat (limited to 'config-model')
-rw-r--r-- | config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java index 9fda25bcb00..adf805a9d10 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java @@ -530,14 +530,17 @@ public class ContainerModelBuilder extends ConfigModelBuilder<ContainerModel> { .flatMap(Arrays::stream) .toList(); - List<X509Certificate> x509Certificates = XML.getChildren(clientElement, "certificate").stream() - .map(certElem -> Path.fromString(certElem.getAttribute("file"))) - .map(path -> app.getFile(path)) - .filter(ApplicationFile::exists) - .map(this::getCertificates) - .flatMap(Collection::stream) + var certificates = XML.getChildren(clientElement, "certificate").stream() + .flatMap(certElem -> { + var file = app.getFile(Path.fromString(certElem.getAttribute("file"))); + if (!file.exists()) { + throw new IllegalArgumentException("Certificate file '%s' for client '%s' does not exist" + .formatted(file.getPath().getRelative(), id)); + } + return getCertificates(file).stream(); + }) .toList(); - return new Client(id, permissions, x509Certificates); + return new Client(id, permissions, certificates); } private List<X509Certificate> getCertificates(ApplicationFile file) { |