From 44638b48e119a558deafb8e7a556845af4120f2f Mon Sep 17 00:00:00 2001 From: Bjørn Christian Seime Date: Thu, 15 Jun 2023 14:56:55 +0200 Subject: Fail on unknown file --- .../model/container/xml/ContainerModelBuilder.java | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'config-model') 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 { .flatMap(Arrays::stream) .toList(); - List 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 getCertificates(ApplicationFile file) { -- cgit v1.2.3