Skip to content

Commit fb4d99d

Browse files
committed
Merge tag '2.0.1' into develop
2.0.1
2 parents 6c66842 + 6ba2ea9 commit fb4d99d

File tree

3 files changed

+71
-22
lines changed

3 files changed

+71
-22
lines changed

pom.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
<modelVersion>4.0.0</modelVersion>
33
<groupId>org.cryptomator</groupId>
44
<artifactId>cryptofs</artifactId>
5-
<version>2.1.0-SNAPSHOT</version>
6-
<name>Cryptomator Crypto Filesystem</name>
5+
<version>2.0.1</version>
6+
<name>Cryptomator Crypto Filesystem</name>
77
<description>This library provides the Java filesystem provider used by Cryptomator.</description>
88
<url>https://github.com/cryptomator/cryptofs</url>
99

@@ -18,7 +18,7 @@
1818
<maven.compiler.release>16</maven.compiler.release>
1919

2020
<!-- dependencies -->
21-
<cryptolib.version>2.0.1</cryptolib.version>
21+
<cryptolib.version>2.0.2</cryptolib.version>
2222
<jwt.version>3.18.1</jwt.version>
2323
<dagger.version>2.37</dagger.version>
2424
<guava.version>30.1.1-jre</guava.version>

src/main/java/org/cryptomator/cryptofs/LongFileNameProvider.java

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -116,12 +116,7 @@ public void persist() {
116116
private void persistInternal() throws IOException {
117117
Path longNameFile = c9sPath.resolve(INFLATED_FILE_NAME);
118118
Files.createDirectories(c9sPath);
119-
try (WritableByteChannel ch = Files.newByteChannel(longNameFile, StandardOpenOption.WRITE, StandardOpenOption.CREATE_NEW)) {
120-
ch.write(UTF_8.encode(longName));
121-
} catch (FileAlreadyExistsException e) {
122-
// no-op: if the file already exists, we assume its content to be what we want (or we found a SHA1 collision ;-))
123-
assert Arrays.equals(Files.readAllBytes(longNameFile), longName.getBytes(UTF_8));
124-
}
119+
Files.write(longNameFile,UTF_8.encode(longName).array()); //WRITE, CREATE, TRUNCATE_EXISTING
125120
}
126121
}
127122

src/test/java/org/cryptomator/cryptofs/CryptoFileSystemProviderIntegrationTest.java

Lines changed: 67 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -363,6 +363,38 @@ public void testRemoveOtherSymlink() throws IOException {
363363

364364
@Test
365365
@Order(9)
366+
@DisplayName("ln -s foo '/Internet Telefon Energie Wasser Webseitengeraffel Bus Bahn Mietwagen Internet Telefon Energie Wasser Webseitengeraffel Bus Bahn Mietwagen Internet'")
367+
public void testCreateSymlinkWithLongName() throws IOException {
368+
Path target = fs1.getPath("/foo");
369+
Assumptions.assumeTrue(Files.isRegularFile(target));
370+
Path longNameLink = fs1.getPath("/Internet Telefon Energie Wasser Webseitengeraffel Bus Bahn Mietwagen Internet Telefon Energie Wasser Webseitengeraffel Bus Bahn Mietwagen Internet");
371+
Files.createSymbolicLink(longNameLink, target);
372+
MatcherAssert.assertThat(MoreFiles.listFiles(fs1.getPath("/")), Matchers.hasItem(longNameLink));
373+
Assertions.assertTrue(Files.exists(longNameLink));
374+
}
375+
376+
@Test
377+
@Order(10)
378+
@DisplayName("mv '/Internet Telefon Energie Wasser Webseitengeraffel Bus Bahn Mietwagen Internet Telefon Energie Wasser Webseitengeraffel Bus Bahn Mietwagen Internet' '/Antarnat Talafan Anargaa Wassar Wabsaatangaraffal Bas Bahn Maatwagan Antarnat Talafan Anargaa Wassar Wabsaatangaraffal Bas Bahn Maatwagan Antarnat")
379+
public void testMoveSymlinkWithLongNameToAnotherLongName() throws IOException {
380+
Path longNameSource = fs1.getPath("/Internet Telefon Energie Wasser Webseitengeraffel Bus Bahn Mietwagen Internet Telefon Energie Wasser Webseitengeraffel Bus Bahn Mietwagen Internet");
381+
Assumptions.assumeTrue(Files.isSymbolicLink(longNameSource));
382+
Path longNameTarget = longNameSource.resolveSibling("/Antarnat Talafan Anargaa Wassar Wabsaatangaraffal Bas Bahn Maatwagan Antarnat Talafan Anargaa Wassar Wabsaatangaraffal Bas Bahn Maatwagan Antarnat");
383+
Files.move(longNameSource, longNameTarget);
384+
Assertions.assertTrue(Files.exists(longNameTarget));
385+
Assertions.assertTrue(Files.notExists(longNameSource));
386+
}
387+
388+
@Test
389+
@Order(11)
390+
@DisplayName("rm -r '/Antarnat Talafan Anargaa Wassar Wabsaatangaraffal Bas Bahn Maatwagan Antarnat Talafan Anargaa Wassar Wabsaatangaraffal Bas Bahn Maatwagan Antarnat'")
391+
public void testRemoveSymlinkWithLongName() throws IOException {
392+
Path longNamePath = fs1.getPath("/Antarnat Talafan Anargaa Wassar Wabsaatangaraffal Bas Bahn Maatwagan Antarnat Talafan Anargaa Wassar Wabsaatangaraffal Bas Bahn Maatwagan Antarnat");
393+
Files.delete(longNamePath);
394+
Assertions.assertTrue(Files.notExists(longNamePath));
395+
}
396+
@Test
397+
@Order(12)
366398
@DisplayName("mkdir '/Internet Telefon Energie Wasser Webseitengeraffel Bus Bahn Mietwagen Internet Telefon Energie Wasser Webseitengeraffel Bus Bahn Mietwagen Internet'")
367399
public void testCreateDirWithLongName() throws IOException {
368400
Path longNamePath = fs1.getPath("/Internet Telefon Energie Wasser Webseitengeraffel Bus Bahn Mietwagen Internet Telefon Energie Wasser Webseitengeraffel Bus Bahn Mietwagen Internet");
@@ -372,16 +404,27 @@ public void testCreateDirWithLongName() throws IOException {
372404
}
373405

374406
@Test
375-
@Order(10)
376-
@DisplayName("rm -r '/Internet Telefon Energie Wasser Webseitengeraffel Bus Bahn Mietwagen Internet Telefon Energie Wasser Webseitengeraffel Bus Bahn Mietwagen Internet'")
407+
@Order(13)
408+
@DisplayName("mv '/Internet Telefon Energie Wasser Webseitengeraffel Bus Bahn Mietwagen Internet Telefon Energie Wasser Webseitengeraffel Bus Bahn Mietwagen Internet' '/Antarnat Talafan Anargaa Wassar Wabsaatangaraffal Bas Bahn Maatwagan Antarnat Talafan Anargaa Wassar Wabsaatangaraffal Bas Bahn Maatwagan Antarnat")
409+
public void testMoveDirWithLongNameToAnotherLongName() throws IOException {
410+
Path longNameSource = fs1.getPath("/Internet Telefon Energie Wasser Webseitengeraffel Bus Bahn Mietwagen Internet Telefon Energie Wasser Webseitengeraffel Bus Bahn Mietwagen Internet");
411+
Path longNameTarget = longNameSource.resolveSibling("/Antarnat Talafan Anargaa Wassar Wabsaatangaraffal Bas Bahn Maatwagan Antarnat Talafan Anargaa Wassar Wabsaatangaraffal Bas Bahn Maatwagan Antarnat");
412+
Files.move(longNameSource, longNameTarget);
413+
Assertions.assertTrue(Files.exists(longNameTarget));
414+
Assertions.assertTrue(Files.notExists(longNameSource));
415+
}
416+
417+
@Test
418+
@Order(14)
419+
@DisplayName("rm -r '/Antarnat Talafan Anargaa Wassar Wabsaatangaraffal Bas Bahn Maatwagan Antarnat Talafan Anargaa Wassar Wabsaatangaraffal Bas Bahn Maatwagan Antarnat'")
377420
public void testRemoveDirWithLongName() throws IOException {
378-
Path longNamePath = fs1.getPath("/Internet Telefon Energie Wasser Webseitengeraffel Bus Bahn Mietwagen Internet Telefon Energie Wasser Webseitengeraffel Bus Bahn Mietwagen Internet");
421+
Path longNamePath = fs1.getPath("/Antarnat Talafan Anargaa Wassar Wabsaatangaraffal Bas Bahn Maatwagan Antarnat Talafan Anargaa Wassar Wabsaatangaraffal Bas Bahn Maatwagan Antarnat");
379422
Files.delete(longNamePath);
380423
Assertions.assertTrue(Files.notExists(longNamePath));
381424
}
382425

383426
@Test
384-
@Order(11)
427+
@Order(15)
385428
@DisplayName("touch '/Internet Telefon Energie Wasser Webseitengeraffel Bus Bahn Mietwagen Internet Telefon Energie Wasser Webseitengeraffel Bus Bahn Mietwagen Internet'")
386429
public void testCreateFileWithLongName() throws IOException {
387430
Path longNamePath = fs1.getPath("/Internet Telefon Energie Wasser Webseitengeraffel Bus Bahn Mietwagen Internet Telefon Energie Wasser Webseitengeraffel Bus Bahn Mietwagen Internet");
@@ -391,16 +434,27 @@ public void testCreateFileWithLongName() throws IOException {
391434
}
392435

393436
@Test
394-
@Order(12)
395-
@DisplayName("rm '/Internet Telefon Energie Wasser Webseitengeraffel Bus Bahn Mietwagen Internet Telefon Energie Wasser Webseitengeraffel Bus Bahn Mietwagen Internet'")
437+
@Order(16)
438+
@DisplayName("mv '/Internet Telefon Energie Wasser Webseitengeraffel Bus Bahn Mietwagen Internet Telefon Energie Wasser Webseitengeraffel Bus Bahn Mietwagen Internet' '/Antarnat Talafan Anargaa Wassar Wabsaatangaraffal Bas Bahn Maatwagan Antarnat Talafan Anargaa Wassar Wabsaatangaraffal Bas Bahn Maatwagan Antarnat")
439+
public void testMoveFileWithLongNameToAnotherLongName() throws IOException {
440+
Path longNameSource = fs1.getPath("/Internet Telefon Energie Wasser Webseitengeraffel Bus Bahn Mietwagen Internet Telefon Energie Wasser Webseitengeraffel Bus Bahn Mietwagen Internet");
441+
Path longNameTarget = longNameSource.resolveSibling("/Antarnat Talafan Anargaa Wassar Wabsaatangaraffal Bas Bahn Maatwagan Antarnat Talafan Anargaa Wassar Wabsaatangaraffal Bas Bahn Maatwagan Antarnat");
442+
Files.move(longNameSource, longNameTarget);
443+
Assertions.assertTrue(Files.exists(longNameTarget));
444+
Assertions.assertTrue(Files.notExists(longNameSource));
445+
}
446+
447+
@Test
448+
@Order(17)
449+
@DisplayName("rm -r '/Antarnat Talafan Anargaa Wassar Wabsaatangaraffal Bas Bahn Maatwagan Antarnat Talafan Anargaa Wassar Wabsaatangaraffal Bas Bahn Maatwagan Antarnat'")
396450
public void testRemoveFileWithLongName() throws IOException {
397-
Path longNamePath = fs1.getPath("/Internet Telefon Energie Wasser Webseitengeraffel Bus Bahn Mietwagen Internet Telefon Energie Wasser Webseitengeraffel Bus Bahn Mietwagen Internet");
451+
Path longNamePath = fs1.getPath("/Antarnat Talafan Anargaa Wassar Wabsaatangaraffal Bas Bahn Maatwagan Antarnat Talafan Anargaa Wassar Wabsaatangaraffal Bas Bahn Maatwagan Antarnat");
398452
Files.delete(longNamePath);
399453
Assertions.assertTrue(Files.notExists(longNamePath));
400454
}
401455

402456
@Test
403-
@Order(13)
457+
@Order(18)
404458
@DisplayName("cp fs1:/foo fs2:/bar")
405459
public void testCopyFileAcrossFilesystem() throws IOException {
406460
Path file1 = fs1.getPath("/foo");
@@ -414,7 +468,7 @@ public void testCopyFileAcrossFilesystem() throws IOException {
414468
}
415469

416470
@Test
417-
@Order(14)
471+
@Order(19)
418472
@DisplayName("echo 'goodbye world' > /foo")
419473
public void testWriteToFile() throws IOException {
420474
Path file1 = fs1.getPath("/foo");
@@ -423,7 +477,7 @@ public void testWriteToFile() throws IOException {
423477
}
424478

425479
@Test
426-
@Order(15)
480+
@Order(20)
427481
@DisplayName("cp -f fs1:/foo fs2:/bar")
428482
public void testCopyFileAcrossFilesystemReplaceExisting() throws IOException {
429483
Path file1 = fs1.getPath("/foo");
@@ -437,7 +491,7 @@ public void testCopyFileAcrossFilesystemReplaceExisting() throws IOException {
437491
}
438492

439493
@Test
440-
@Order(16)
494+
@Order(21)
441495
@DisplayName("readattr /attributes.txt")
442496
public void testLazinessOfFileAttributeViews() throws IOException {
443497
Path file = fs1.getPath("/attributes.txt");
@@ -462,7 +516,7 @@ public void testLazinessOfFileAttributeViews() throws IOException {
462516
}
463517

464518
@Test
465-
@Order(17)
519+
@Order(22)
466520
@DisplayName("ln -s /linked/targetY /links/linkX")
467521
public void testSymbolicLinks() throws IOException {
468522
Path linksDir = fs1.getPath("/links");
@@ -501,7 +555,7 @@ public void testSymbolicLinks() throws IOException {
501555
}
502556

503557
@Test
504-
@Order(18)
558+
@Order(22)
505559
@DisplayName("mv -f fs1:/foo fs2:/baz")
506560
public void testMoveFileFromOneCryptoFileSystemToAnother() throws IOException {
507561
Path file1 = fs1.getPath("/foo");

0 commit comments

Comments
 (0)