Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add implementation of unified vault format (UVF). #16623

Draft
wants to merge 39 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
d1995d7
First ideas for uvf imple.
chenkins Dec 6, 2024
dee75a2
Switch to uvf draft snapshot dependency.
ylangisc Jan 6, 2025
61000a2
Migrate API changes.
ylangisc Jan 18, 2025
010a4b9
Extract filename cryptor and provider.
ylangisc Jan 18, 2025
007d66d
Intermediate interface for Cryptomator stuff.
ylangisc Jan 20, 2025
f6550ea
More extraction.
ylangisc Jan 20, 2025
b93c1b4
More extraction.
ylangisc Jan 20, 2025
e5af13a
Review.
ylangisc Feb 6, 2025
1330c34
Fix UnsupportedOperationException for fileNameCryptor() without revis…
chenkins Feb 6, 2025
1eb0db6
Bump version to 9.1.3.uvfdraft-SNAPSHOT.
chenkins Feb 8, 2025
aedf1bd
Temporarily skip SFTPCryptomatorInteroperabilityTest because of depen…
chenkins Feb 11, 2025
4ed0381
Switch to byte array for directory ids to avoid lossy data conversion.
ylangisc Feb 24, 2025
5baa253
Directory id for root is derived from key material.
ylangisc Feb 25, 2025
6d2ce9f
Fix cryptolib uvfdraft version.
chenkins Feb 25, 2025
e977086
Fix typo.
ylangisc Feb 26, 2025
29adf98
Metadata file/directory extension is .uvf.
ylangisc Feb 27, 2025
ac3512d
Fix compile.
chenkins Feb 27, 2025
ad5c784
Fix base64 URL pattern.
ylangisc Feb 27, 2025
8f8437d
Fix pattern.
ylangisc Feb 27, 2025
13f3fa9
Delete unused.
dkocher Mar 6, 2025
04eeba6
Require to pass UVF metadata payload in password callback.
dkocher Mar 6, 2025
278165b
Destroy on close.
dkocher Mar 6, 2025
354f2eb
Add UVF test listing files from vault created with cryptolib.
chenkins Mar 7, 2025
dba0ec7
Add category TestcontainerTest.
chenkins Mar 7, 2025
9907923
Fix hostname.
chenkins Mar 7, 2025
a865048
Simplify setup for uvf integration test.
chenkins Mar 8, 2025
e7fb181
Use expected files.
chenkins Mar 8, 2025
01539ae
Fix rootDirId handling.
ylangisc Mar 9, 2025
f486498
Implement loading dir.uvf using file content encryption instead of ra…
chenkins Mar 9, 2025
4d804f3
Verify root dir ID.
chenkins Mar 9, 2025
edf148d
Use revision from file header in CryptoDirectoryUVFProvider.
chenkins Mar 9, 2025
ca9b7bf
Implement decrypt respecting revision.
chenkins Mar 11, 2025
7d7f454
Rename.
chenkins Mar 11, 2025
894d524
Read file in subdir with current revision.
chenkins Mar 11, 2025
4684dbb
Add test write and read file UVF.
chenkins Mar 13, 2025
485f079
Add test write UVF ile to subdir.
chenkins Mar 13, 2025
bf67c96
Add test move UVF file.
chenkins Mar 13, 2025
44d8e2a
Use set equals.
chenkins Mar 13, 2025
703d9b7
Cleanup.
chenkins Mar 13, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion azure/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
<parent>
<groupId>ch.cyberduck</groupId>
<artifactId>parent</artifactId>
<version>9.1.3-SNAPSHOT</version>
<version>9.1.3.uvfdraft-SNAPSHOT</version>
</parent>
<artifactId>azure</artifactId>
<properties>
Expand Down
2 changes: 1 addition & 1 deletion backblaze/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
<parent>
<artifactId>parent</artifactId>
<groupId>ch.cyberduck</groupId>
<version>9.1.3-SNAPSHOT</version>
<version>9.1.3.uvfdraft-SNAPSHOT</version>
</parent>
<artifactId>backblaze</artifactId>
<packaging>jar</packaging>
Expand Down
2 changes: 1 addition & 1 deletion binding/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
<parent>
<groupId>ch.cyberduck</groupId>
<artifactId>parent</artifactId>
<version>9.1.3-SNAPSHOT</version>
<version>9.1.3.uvfdraft-SNAPSHOT</version>
</parent>
<artifactId>binding</artifactId>
<packaging>jar</packaging>
Expand Down
2 changes: 1 addition & 1 deletion bonjour/dll/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<groupId>ch.cyberduck</groupId>
<artifactId>parent</artifactId>
<relativePath>../../pom.xml</relativePath>
<version>9.1.3-SNAPSHOT</version>
<version>9.1.3.uvfdraft-SNAPSHOT</version>
</parent>
<artifactId>Cyberduck.Bonjour</artifactId>
<packaging>pom</packaging>
Expand Down
2 changes: 1 addition & 1 deletion bonjour/native/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<groupId>ch.cyberduck</groupId>
<artifactId>parent</artifactId>
<relativePath>../../pom.xml</relativePath>
<version>9.1.3-SNAPSHOT</version>
<version>9.1.3.uvfdraft-SNAPSHOT</version>
</parent>
<artifactId>Cyberduck.Bonjour.Native</artifactId>
<packaging>pom</packaging>
Expand Down
2 changes: 1 addition & 1 deletion bonjour/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
<parent>
<artifactId>parent</artifactId>
<groupId>ch.cyberduck</groupId>
<version>9.1.3-SNAPSHOT</version>
<version>9.1.3.uvfdraft-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>

Expand Down
2 changes: 1 addition & 1 deletion box/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
<parent>
<artifactId>parent</artifactId>
<groupId>ch.cyberduck</groupId>
<version>9.1.3-SNAPSHOT</version>
<version>9.1.3.uvfdraft-SNAPSHOT</version>
</parent>
<artifactId>box</artifactId>

Expand Down
2 changes: 1 addition & 1 deletion brick/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
<parent>
<groupId>ch.cyberduck</groupId>
<artifactId>parent</artifactId>
<version>9.1.3-SNAPSHOT</version>
<version>9.1.3.uvfdraft-SNAPSHOT</version>
</parent>
<artifactId>brick</artifactId>
<packaging>jar</packaging>
Expand Down
2 changes: 1 addition & 1 deletion cli/dll/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
<groupId>ch.cyberduck</groupId>
<artifactId>parent</artifactId>
<relativePath>../../pom.xml</relativePath>
<version>9.1.3-SNAPSHOT</version>
<version>9.1.3.uvfdraft-SNAPSHOT</version>
</parent>
<artifactId>Cyberduck.Cli</artifactId>
<packaging>pom</packaging>
Expand Down
2 changes: 1 addition & 1 deletion cli/linux/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
<groupId>ch.cyberduck</groupId>
<artifactId>parent</artifactId>
<relativePath>../../pom.xml</relativePath>
<version>9.1.3-SNAPSHOT</version>
<version>9.1.3.uvfdraft-SNAPSHOT</version>
</parent>
<artifactId>cli-linux</artifactId>
<description>Cyberduck CLI Linux</description>
Expand Down
2 changes: 1 addition & 1 deletion cli/osx/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
<groupId>ch.cyberduck</groupId>
<artifactId>parent</artifactId>
<relativePath>../../pom.xml</relativePath>
<version>9.1.3-SNAPSHOT</version>
<version>9.1.3.uvfdraft-SNAPSHOT</version>
</parent>
<artifactId>cli-osx</artifactId>
<description>Cyberduck CLI Mac</description>
Expand Down
2 changes: 1 addition & 1 deletion cli/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
<parent>
<groupId>ch.cyberduck</groupId>
<artifactId>parent</artifactId>
<version>9.1.3-SNAPSHOT</version>
<version>9.1.3.uvfdraft-SNAPSHOT</version>
</parent>
<artifactId>cli</artifactId>

Expand Down
2 changes: 1 addition & 1 deletion cli/windows/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
<groupId>ch.cyberduck</groupId>
<artifactId>parent</artifactId>
<relativePath>../../pom.xml</relativePath>
<version>9.1.3-SNAPSHOT</version>
<version>9.1.3.uvfdraft-SNAPSHOT</version>
</parent>
<artifactId>cli-windows</artifactId>
<description>Cyberduck CLI Windows</description>
Expand Down
2 changes: 1 addition & 1 deletion core/dll/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<groupId>ch.cyberduck</groupId>
<artifactId>parent</artifactId>
<relativePath>../../pom.xml</relativePath>
<version>9.1.3-SNAPSHOT</version>
<version>9.1.3.uvfdraft-SNAPSHOT</version>
</parent>
<artifactId>Cyberduck.Core</artifactId>
<packaging>pom</packaging>
Expand Down
2 changes: 1 addition & 1 deletion core/dylib/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<groupId>ch.cyberduck</groupId>
<artifactId>parent</artifactId>
<relativePath>../../pom.xml</relativePath>
<version>9.1.3-SNAPSHOT</version>
<version>9.1.3.uvfdraft-SNAPSHOT</version>
</parent>
<artifactId>libcore</artifactId>

Expand Down
2 changes: 1 addition & 1 deletion core/native/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<groupId>ch.cyberduck</groupId>
<artifactId>parent</artifactId>
<relativePath>../../pom.xml</relativePath>
<version>9.1.3-SNAPSHOT</version>
<version>9.1.3.uvfdraft-SNAPSHOT</version>
</parent>
<artifactId>Cyberduck.Core.Native</artifactId>
<packaging>pom</packaging>
Expand Down
2 changes: 1 addition & 1 deletion core/native/refresh/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<groupId>ch.cyberduck</groupId>
<artifactId>Cyberduck.Core.Native</artifactId>
<relativePath>../pom.xml</relativePath>
<version>9.1.3-SNAPSHOT</version>
<version>9.1.3.uvfdraft-SNAPSHOT</version>
</parent>
<artifactId>Cyberduck.Core.Refresh</artifactId>
<packaging>pom</packaging>
Expand Down
2 changes: 1 addition & 1 deletion core/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
<parent>
<groupId>ch.cyberduck</groupId>
<artifactId>parent</artifactId>
<version>9.1.3-SNAPSHOT</version>
<version>9.1.3.uvfdraft-SNAPSHOT</version>
</parent>
<artifactId>core</artifactId>
<packaging>jar</packaging>
Expand Down
6 changes: 3 additions & 3 deletions core/src/main/java/ch/cyberduck/core/PathAttributes.java
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@ public class PathAttributes extends Attributes implements Serializable {
/**
* Unique identifier for cryptomator
*/
private String directoryId;
private byte[] directoryId;

private Map<String, String> custom = Collections.emptyMap();

Expand Down Expand Up @@ -526,11 +526,11 @@ public PathAttributes withLockId(final String lockId) {
return this;
}

public String getDirectoryId() {
public byte[] getDirectoryId() {
return directoryId;
}

public void setDirectoryId(final String directoryId) {
public void setDirectoryId(final byte[] directoryId) {
this.directoryId = directoryId;
}

Expand Down
2 changes: 1 addition & 1 deletion cryptomator/dll/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
<groupId>ch.cyberduck</groupId>
<artifactId>parent</artifactId>
<relativePath>../../pom.xml</relativePath>
<version>9.1.3-SNAPSHOT</version>
<version>9.1.3.uvfdraft-SNAPSHOT</version>
</parent>
<artifactId>Cyberduck.Cryptomator</artifactId>
<packaging>pom</packaging>
Expand Down
4 changes: 2 additions & 2 deletions cryptomator/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,13 @@
<parent>
<artifactId>parent</artifactId>
<groupId>ch.cyberduck</groupId>
<version>9.1.3-SNAPSHOT</version>
<version>9.1.3.uvfdraft-SNAPSHOT</version>
</parent>
<artifactId>cryptomator</artifactId>
<packaging>jar</packaging>

<properties>
<cryptolib.version>2.1.2.1</cryptolib.version>
<cryptolib.version>2.3.0.uvfdraft-SNAPSHOT</cryptolib.version>
</properties>

<profiles>
Expand Down
Loading