From ff7de5e712445fd1d7fccbe47fcd62a9876e1239 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gutyina=20Gerg=C5=91?= Date: Tue, 4 Feb 2025 19:13:03 +0100 Subject: [PATCH] cryptomator: 1.14.2 -> 1.15.0 --- pkgs/by-name/cr/cryptomator/package.nix | 17 ++- .../string-template-removal-and-jdk23.patch | 135 ------------------ 2 files changed, 8 insertions(+), 144 deletions(-) delete mode 100644 pkgs/by-name/cr/cryptomator/string-template-removal-and-jdk23.patch diff --git a/pkgs/by-name/cr/cryptomator/package.nix b/pkgs/by-name/cr/cryptomator/package.nix index 1ebc237936f7..1badd7aee2ff 100644 --- a/pkgs/by-name/cr/cryptomator/package.nix +++ b/pkgs/by-name/cr/cryptomator/package.nix @@ -9,6 +9,7 @@ makeShellWrapper, maven, wrapGAppsHook3, + nix-update-script, }: let @@ -16,23 +17,18 @@ let in maven.buildMavenPackage rec { pname = "cryptomator"; - version = "1.14.2"; + version = "1.15.0"; src = fetchFromGitHub { owner = "cryptomator"; repo = "cryptomator"; - rev = version; - hash = "sha256-TSE83QYFry8O6MKAoggJBjqonYiGax5GG/a7sm7aHf8="; + tag = version; + hash = "sha256-fGn8jsPHwGHSiXgIfkMtSYut6pVg8p9+N/uDUlj2Wwc="; }; - patches = [ - # https://github.com/cryptomator/cryptomator/pull/3621 - ./string-template-removal-and-jdk23.patch - ]; - mvnJdk = jdk; mvnParameters = "-Dmaven.test.skip=true -Plinux"; - mvnHash = "sha256-LFD150cGW6OdwkK28GYI9j44GtVE0pwFMaQ8dQqArLo="; + mvnHash = "sha256-w0mIeSFRSGl3EorrGcxqnXF6C0SowjWUMYT/NN1erwM="; preBuild = '' VERSION=${version} @@ -114,9 +110,12 @@ maven.buildMavenPackage rec { libayatana-appindicator ]; + passthru.updateScript = nix-update-script { }; + meta = { description = "Free client-side encryption for your cloud files"; homepage = "https://cryptomator.org"; + changelog = "https://github.com/cryptomator/cryptomator/releases/tag/${version}"; license = lib.licenses.gpl3Plus; mainProgram = "cryptomator"; maintainers = with lib.maintainers; [ diff --git a/pkgs/by-name/cr/cryptomator/string-template-removal-and-jdk23.patch b/pkgs/by-name/cr/cryptomator/string-template-removal-and-jdk23.patch deleted file mode 100644 index 10ec8aa4ff57..000000000000 --- a/pkgs/by-name/cr/cryptomator/string-template-removal-and-jdk23.patch +++ /dev/null @@ -1,135 +0,0 @@ -diff --git a/src/main/java/org/cryptomator/common/mount/Mounter.java b/src/main/java/org/cryptomator/common/mount/Mounter.java -index 6ca067305b..89f8fb7822 100644 ---- a/src/main/java/org/cryptomator/common/mount/Mounter.java -+++ b/src/main/java/org/cryptomator/common/mount/Mounter.java -@@ -160,7 +160,7 @@ public MountHandle mount(VaultSettings vaultSettings, Path cryptoFsRoot) throws - var mountService = mountProviders.stream().filter(s -> s.getClass().getName().equals(vaultSettings.mountService.getValue())).findFirst().orElse(defaultMountService.getValue()); - - if (isConflictingMountService(mountService)) { -- var msg = STR."\{mountService.getClass()} unavailable due to conflict with either of \{CONFLICTING_MOUNT_SERVICES.get(mountService.getClass().getName())}"; -+ var msg = mountService.getClass() + " unavailable due to conflict with either of " + CONFLICTING_MOUNT_SERVICES.get(mountService.getClass().getName()); - throw new ConflictingMountServiceException(msg); - } - -diff --git a/src/main/java/org/cryptomator/ui/keyloading/hub/HubConfig.java b/src/main/java/org/cryptomator/ui/keyloading/hub/HubConfig.java -index eefad55a2f..0e7a6cc3ab 100644 ---- a/src/main/java/org/cryptomator/ui/keyloading/hub/HubConfig.java -+++ b/src/main/java/org/cryptomator/ui/keyloading/hub/HubConfig.java -@@ -20,7 +20,7 @@ public class HubConfig { - public String devicesResourceUrl; - - /** -- * A collection of String template processors to construct URIs related to this Hub instance. -+ * A collection of functions to construct URIs related to this Hub instance. - */ - @JsonIgnore - public final URIProcessors URIs = new URIProcessors(); -@@ -52,8 +52,7 @@ public class URIProcessors { - /** - * Resolves paths relative to the /api/ endpoint of this Hub instance. - */ -- public final StringTemplate.Processor API = template -> { -- var path = template.interpolate(); -+ public URI getApi(String path) { - var relPath = path.startsWith("/") ? path.substring(1) : path; - return getApiBaseUrl().resolve(relPath); - }; -diff --git a/src/main/java/org/cryptomator/ui/keyloading/hub/ReceiveKeyController.java b/src/main/java/org/cryptomator/ui/keyloading/hub/ReceiveKeyController.java -index 3bfb4ec8ea..3353d78dd6 100644 ---- a/src/main/java/org/cryptomator/ui/keyloading/hub/ReceiveKeyController.java -+++ b/src/main/java/org/cryptomator/ui/keyloading/hub/ReceiveKeyController.java -@@ -88,7 +88,7 @@ public void receiveKey() { - * STEP 0 (Request): GET /api/config - */ - private void requestApiConfig() { -- var configUri = hubConfig.URIs.API."config"; -+ var configUri = hubConfig.URIs.getApi("config"); - var request = HttpRequest.newBuilder(configUri) // - .GET() // - .timeout(REQ_TIMEOUT) // -@@ -122,7 +122,7 @@ private void receivedApiConfig(HttpResponse response) { - * STEP 1 (Request): GET user key for this device - */ - private void requestDeviceData() { -- var deviceUri = hubConfig.URIs.API."devices/\{deviceId}"; -+ var deviceUri = hubConfig.URIs.getApi("devices/" + deviceId); - var request = HttpRequest.newBuilder(deviceUri) // - .header("Authorization", "Bearer " + bearerToken) // - .GET() // -@@ -162,7 +162,7 @@ private void needsDeviceRegistration() { - * STEP 2 (Request): GET vault key for this user - */ - private void requestVaultMasterkey(String encryptedUserKey) { -- var vaultKeyUri = hubConfig.URIs.API."vaults/\{vaultId}/access-token"; -+ var vaultKeyUri = hubConfig.URIs.getApi("vaults/" + vaultId + "/access-token"); - var request = HttpRequest.newBuilder(vaultKeyUri) // - .header("Authorization", "Bearer " + bearerToken) // - .GET() // -@@ -205,7 +205,7 @@ private void receivedBothEncryptedKeys(String encryptedVaultKey, String encrypte - */ - @Deprecated - private void requestLegacyAccessToken() { -- var legacyAccessTokenUri = hubConfig.URIs.API."vaults/\{vaultId}/keys/\{deviceId}"; -+ var legacyAccessTokenUri = hubConfig.URIs.getApi("vaults/" + vaultId + "/keys/" + deviceId); - var request = HttpRequest.newBuilder(legacyAccessTokenUri) // - .header("Authorization", "Bearer " + bearerToken) // - .GET() // -diff --git a/src/main/java/org/cryptomator/ui/keyloading/hub/RegisterDeviceController.java b/src/main/java/org/cryptomator/ui/keyloading/hub/RegisterDeviceController.java -index b00d49874e..d711ff86ef 100644 ---- a/src/main/java/org/cryptomator/ui/keyloading/hub/RegisterDeviceController.java -+++ b/src/main/java/org/cryptomator/ui/keyloading/hub/RegisterDeviceController.java -@@ -115,7 +115,7 @@ public void register() { - workInProgress.set(true); - - -- var userReq = HttpRequest.newBuilder(hubConfig.URIs.API."users/me") // -+ var userReq = HttpRequest.newBuilder(hubConfig.URIs.getApi("users/me")) // - .GET() // - .timeout(REQ_TIMEOUT) // - .header("Authorization", "Bearer " + bearerToken) // -@@ -143,7 +143,7 @@ public void register() { - var now = Instant.now().toString(); - var dto = new CreateDeviceDto(deviceId, deviceNameField.getText(), BaseEncoding.base64().encode(deviceKeyPair.getPublic().getEncoded()), "DESKTOP", jwe.serialize(), now); - var json = toJson(dto); -- var deviceUri = hubConfig.URIs.API."devices/\{deviceId}"; -+ var deviceUri = hubConfig.URIs.getApi("devices/" + deviceId); - var putDeviceReq = HttpRequest.newBuilder(deviceUri) // - .PUT(HttpRequest.BodyPublishers.ofString(json, StandardCharsets.UTF_8)) // - .timeout(REQ_TIMEOUT) // -@@ -164,7 +164,7 @@ public void register() { - private void migrateLegacyDevices(ECPublicKey userPublicKey) { - try { - // GET legacy access tokens -- var getUri = hubConfig.URIs.API."devices/\{deviceId}/legacy-access-tokens"; -+ var getUri = hubConfig.URIs.getApi("devices/" + deviceId + "/legacy-access-tokens"); - var getReq = HttpRequest.newBuilder(getUri).GET().timeout(REQ_TIMEOUT).header("Authorization", "Bearer " + bearerToken).build(); - var getRes = httpClient.send(getReq, HttpResponse.BodyHandlers.ofString(StandardCharsets.UTF_8)); - if (getRes.statusCode() != 200) { -@@ -185,12 +185,12 @@ private void migrateLegacyDevices(ECPublicKey userPublicKey) { - LOG.warn("Failed to decrypt legacy access token for vault {}. Skipping migration.", entry.getKey()); - } - }).collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue)); -- var postUri = hubConfig.URIs.API."users/me/access-tokens"; -+ var postUri = hubConfig.URIs.getApi("users/me/access-tokens"); - var postBody = JSON.writer().writeValueAsString(newAccessTokens); - var postReq = HttpRequest.newBuilder(postUri).POST(HttpRequest.BodyPublishers.ofString(postBody)).timeout(REQ_TIMEOUT).header("Authorization", "Bearer " + bearerToken).build(); - var postRes = httpClient.send(postReq, HttpResponse.BodyHandlers.ofString(StandardCharsets.UTF_8)); - if (postRes.statusCode() != 200) { -- throw new IOException(STR."Unexpected response from POST \{postUri}: \{postRes.statusCode()}"); -+ throw new IOException("Unexpected response from POST " + postUri + ": " + postRes.statusCode()); - } - } catch (IOException e) { - // log and ignore: this is merely a best-effort attempt of migrating legacy devices. Failure is uncritical as this is merely a convenience feature. -diff --git a/pom.xml b/pom.xml -index 3290b3121d..0812419af1 100644 ---- a/pom.xml -+++ b/pom.xml -@@ -26,7 +26,7 @@ - - - UTF-8 -- 22 -+ 23 - - -