Forráskód Böngészése

- don't write encrypted file header, if no actual write happens inside of an encrypted writable file (temporary workaround only!)
- reduced loglevel

Sebastian Stenzel 9 éve
szülő
commit
7bc678d4dc

+ 4 - 1
main/filesystem-crypto/src/main/java/org/cryptomator/filesystem/crypto/CryptoWritableFile.java

@@ -32,6 +32,7 @@ class CryptoWritableFile implements WritableFile {
 
 	private FileContentEncryptor encryptor;
 	private Future<Void> writeTask;
+	private boolean contentChanged = false;
 
 	public CryptoWritableFile(FileContentCryptor cryptor, WritableFile file) {
 		this.file = file;
@@ -54,6 +55,7 @@ class CryptoWritableFile implements WritableFile {
 
 	@Override
 	public int write(ByteBuffer source) {
+		contentChanged = true;
 		final int size = source.remaining();
 		final ByteBuffer cleartextCopy = ByteBuffer.allocate(size);
 		ByteBuffers.copy(source, cleartextCopy);
@@ -99,6 +101,7 @@ class CryptoWritableFile implements WritableFile {
 
 	@Override
 	public void truncate() {
+		contentChanged = true;
 		terminateAndWaitForWriteTask();
 		file.truncate();
 		initialize(0);
@@ -112,7 +115,7 @@ class CryptoWritableFile implements WritableFile {
 	@Override
 	public void close() {
 		try {
-			if (file.isOpen()) {
+			if (contentChanged && file.isOpen()) {
 				terminateAndWaitForWriteTask();
 				writeHeader();
 			}

+ 1 - 1
main/frontend-webdav/src/main/java/org/cryptomator/frontend/webdav/filters/UriNormalizationFilter.java

@@ -106,7 +106,7 @@ public class UriNormalizationFilter implements HttpFilter {
 		} else if (ArrayUtils.contains(DIRECTORY_METHODS, requestMethod)) {
 			return normalizedFolderRequest(originalRequest);
 		} else {
-			LOG.debug("Could not determine resource type of resource: {}", originalRequest.getRequestURI());
+			LOG.trace("Could not determine resource type of resource: {}", originalRequest.getRequestURI());
 			return originalRequest;
 		}
 	}