Skip to content

Commit c73d719

Browse files
authored
Merge pull request #147 from /issues/146
Skip vaults where obtaining metadata fails with permission error.
2 parents a71386a + 03f65fd commit c73d719

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

hub/src/main/java/cloud/katta/protocols/hub/HubVaultListService.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import ch.cyberduck.core.ssl.X509TrustManager;
2525
import ch.cyberduck.core.vault.VaultRegistry;
2626

27+
import org.apache.http.HttpStatus;
2728
import org.apache.logging.log4j.LogManager;
2829
import org.apache.logging.log4j.Logger;
2930
import org.cryptomator.cryptolib.api.UVFMasterkey;
@@ -84,7 +85,17 @@ public AttributedList<Path> list(final Path directory, final ListProgressListene
8485
log.debug("Read vault {}", vaultDto);
8586
// Find storage configuration in vault metadata
8687
final VaultServiceImpl vaultService = new VaultServiceImpl(session);
87-
final UvfMetadataPayload vaultMetadata = vaultService.getVaultMetadataJWE(vaultDto.getId(), userKeys);
88+
final UvfMetadataPayload vaultMetadata;
89+
try {
90+
vaultMetadata = vaultService.getVaultMetadataJWE(vaultDto.getId(), userKeys);
91+
}
92+
catch(ApiException e) {
93+
if(HttpStatus.SC_FORBIDDEN == e.getCode()) {
94+
log.warn("Skip vault {} with insufficient permissions", vaultDto);
95+
continue;
96+
}
97+
throw e;
98+
}
8899
final Host bookmark = vaultService.getStorageBackend(protocols, configDto, vaultDto.getId(),
89100
vaultMetadata.storage(), tokens);
90101
log.debug("Configured {} for vault {}", bookmark, vaultDto);

0 commit comments

Comments
 (0)