aboutsummaryrefslogtreecommitdiffstats
path: root/configserver/src/main/java/com/yahoo/vespa/config/server/application/CompressedApplicationInputStream.java
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2022-04-04 16:03:11 +0200
committerMartin Polden <mpolden@mpolden.no>2022-04-04 16:58:42 +0200
commit49e7a8c8cee5e93317593bbd1253f555327e7482 (patch)
tree5a75654f740a5a9b6a0dd7875b3fcf4f387ec5e7 /configserver/src/main/java/com/yahoo/vespa/config/server/application/CompressedApplicationInputStream.java
parentf63021cc39577c2a985ab725f8cb1529607c65d8 (diff)
Allow single-dot segments in configserver
Diffstat (limited to 'configserver/src/main/java/com/yahoo/vespa/config/server/application/CompressedApplicationInputStream.java')
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/application/CompressedApplicationInputStream.java7
1 files changed, 4 insertions, 3 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/application/CompressedApplicationInputStream.java b/configserver/src/main/java/com/yahoo/vespa/config/server/application/CompressedApplicationInputStream.java
index 30fbfd48f78..6f141e3e6ad 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/application/CompressedApplicationInputStream.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/application/CompressedApplicationInputStream.java
@@ -43,11 +43,12 @@ public class CompressedApplicationInputStream implements AutoCloseable {
*/
public static CompressedApplicationInputStream createFromCompressedStream(InputStream is, String contentType) {
try {
+ Options options = Options.standard().allowDotSegment(true);
switch (contentType) {
case ApplicationApiHandler.APPLICATION_X_GZIP:
- return new CompressedApplicationInputStream(ArchiveStreamReader.ofTarGzip(is, Options.standard()));
+ return new CompressedApplicationInputStream(ArchiveStreamReader.ofTarGzip(is, options));
case ApplicationApiHandler.APPLICATION_ZIP:
- return new CompressedApplicationInputStream(ArchiveStreamReader.ofZip(is, Options.standard()));
+ return new CompressedApplicationInputStream(ArchiveStreamReader.ofZip(is, options));
default:
throw new BadRequestException("Unable to decompress");
}
@@ -87,7 +88,7 @@ public class CompressedApplicationInputStream implements AutoCloseable {
while ((file = reader.readNextTo(tmpStream)) != null) {
tmpStream.close();
log.log(Level.FINE, "Creating output file: " + file.path());
- Path dstFile = dir.resolve(file.path().toString());
+ Path dstFile = dir.resolve(file.path().toString()).normalize();
Files.createDirectories(dstFile.getParent());
Files.move(tmpFile, dstFile);
tmpFile = createTempFile(dir);