From 8c9d75fe574c836b7fb8900748b83f62e114f9b8 Mon Sep 17 00:00:00 2001 From: Jan-Peter Klein Date: Thu, 12 Jun 2025 14:46:15 +0200 Subject: [PATCH] filter excluded filenames --- .../org/cryptomator/common/recovery/MasterkeyService.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/cryptomator/common/recovery/MasterkeyService.java b/src/main/java/org/cryptomator/common/recovery/MasterkeyService.java index 0b69d4d3b..42a152d95 100644 --- a/src/main/java/org/cryptomator/common/recovery/MasterkeyService.java +++ b/src/main/java/org/cryptomator/common/recovery/MasterkeyService.java @@ -18,6 +18,7 @@ import java.nio.file.Path; import java.security.NoSuchAlgorithmException; import java.security.SecureRandom; import java.util.Arrays; +import java.util.List; import java.util.Optional; import java.util.UUID; import java.util.concurrent.atomic.AtomicBoolean; @@ -68,7 +69,11 @@ public final class MasterkeyService { public static Optional detect(byte[] masterkey, Path vaultPath) { try (Stream paths = Files.walk(vaultPath.resolve(DATA_DIR_NAME))) { - Optional c9rFile = paths.filter(p -> p.toString().endsWith(".c9r")).findFirst(); + List excludedFilenames = List.of("dirid.c9r", "dir.c9r"); + Optional c9rFile = paths + .filter(p -> p.toString().endsWith(".c9r")) + .filter(p -> excludedFilenames.stream().noneMatch(p.toString()::endsWith)) + .findFirst(); if (c9rFile.isEmpty()) { LOG.info("No *.c9r file found in {}", vaultPath); return Optional.empty();