From 0cf1f087adf748c848372313984f1e0b199955d3 Mon Sep 17 00:00:00 2001 From: Armin Schrenk Date: Tue, 17 Oct 2023 11:36:50 +0200 Subject: [PATCH 1/5] Closes #3113 --- src/main/java/org/cryptomator/ui/error/ErrorController.java | 2 ++ .../java/org/cryptomator/ui/fxapp/UpdateCheckerModule.java | 4 ++++ .../java/org/cryptomator/ui/keyloading/hub/AuthFlowTask.java | 5 ++++- 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/cryptomator/ui/error/ErrorController.java b/src/main/java/org/cryptomator/ui/error/ErrorController.java index 61f2b0e10..b66d0e779 100644 --- a/src/main/java/org/cryptomator/ui/error/ErrorController.java +++ b/src/main/java/org/cryptomator/ui/error/ErrorController.java @@ -31,6 +31,7 @@ import java.net.http.HttpClient; import java.net.http.HttpRequest; import java.net.http.HttpResponse; import java.nio.charset.StandardCharsets; +import java.time.Duration; import java.util.Comparator; import java.util.Map; import java.util.Optional; @@ -154,6 +155,7 @@ public class ErrorController implements FxController { HttpClient httpClient = HttpClient.newBuilder().version(HttpClient.Version.HTTP_1_1).build(); HttpRequest httpRequest = HttpRequest.newBuilder()// .header("User-Agent", userAgent) + .timeout(Duration.ofSeconds(5)) .uri(URI.create(ERROR_CODES_URL_FORMAT.formatted(URLEncoder.encode(errorCode.toString(),StandardCharsets.UTF_8))))// .build(); httpClient.sendAsync(httpRequest, HttpResponse.BodyHandlers.ofInputStream())// diff --git a/src/main/java/org/cryptomator/ui/fxapp/UpdateCheckerModule.java b/src/main/java/org/cryptomator/ui/fxapp/UpdateCheckerModule.java index d70301e78..4bbe44799 100644 --- a/src/main/java/org/cryptomator/ui/fxapp/UpdateCheckerModule.java +++ b/src/main/java/org/cryptomator/ui/fxapp/UpdateCheckerModule.java @@ -20,8 +20,11 @@ import java.io.UncheckedIOException; import java.net.URI; import java.net.http.HttpClient; import java.net.http.HttpRequest; +import java.time.temporal.ChronoUnit; +import java.time.temporal.TemporalUnit; import java.util.Optional; import java.util.concurrent.ExecutorService; +import java.util.concurrent.TimeUnit; @Module public abstract class UpdateCheckerModule { @@ -63,6 +66,7 @@ public abstract class UpdateCheckerModule { return HttpRequest.newBuilder() // .uri(LATEST_VERSION_URI) // .header("User-Agent", userAgent) // + .timeout(java.time.Duration.ofSeconds(3)) .build(); } diff --git a/src/main/java/org/cryptomator/ui/keyloading/hub/AuthFlowTask.java b/src/main/java/org/cryptomator/ui/keyloading/hub/AuthFlowTask.java index 0379d4331..4f9609aa7 100644 --- a/src/main/java/org/cryptomator/ui/keyloading/hub/AuthFlowTask.java +++ b/src/main/java/org/cryptomator/ui/keyloading/hub/AuthFlowTask.java @@ -8,6 +8,8 @@ import io.github.coffeelibs.tinyoauth2client.http.response.Response; import javafx.concurrent.Task; import java.io.IOException; import java.net.URI; +import java.net.http.HttpClient; +import java.time.Duration; import java.util.function.Consumer; class AuthFlowTask extends Task { @@ -37,7 +39,8 @@ class AuthFlowTask extends Task { .authFlow(URI.create(hubConfig.authEndpoint)) // .setSuccessResponse(Response.redirect(URI.create(hubConfig.authSuccessUrl + "&device=" + authFlowContext.deviceId()))) // .setErrorResponse(Response.redirect(URI.create(hubConfig.authErrorUrl + "&device=" + authFlowContext.deviceId()))) // - .authorize(redirectUriConsumer); + .authorize(HttpClient.newBuilder().connectTimeout(Duration.ofSeconds(3)).build(), + redirectUriConsumer); if (response.statusCode() != 200) { throw new NotOkResponseException("Authorization returned status code " + response.statusCode()); } From 3567c036c3842c2092d5e4c0b6421bb65cc315db Mon Sep 17 00:00:00 2001 From: Armin Schrenk Date: Tue, 17 Oct 2023 17:25:38 +0200 Subject: [PATCH 2/5] remove unused imports --- .../java/org/cryptomator/ui/fxapp/UpdateCheckerModule.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/main/java/org/cryptomator/ui/fxapp/UpdateCheckerModule.java b/src/main/java/org/cryptomator/ui/fxapp/UpdateCheckerModule.java index 4bbe44799..cfd48935f 100644 --- a/src/main/java/org/cryptomator/ui/fxapp/UpdateCheckerModule.java +++ b/src/main/java/org/cryptomator/ui/fxapp/UpdateCheckerModule.java @@ -20,11 +20,8 @@ import java.io.UncheckedIOException; import java.net.URI; import java.net.http.HttpClient; import java.net.http.HttpRequest; -import java.time.temporal.ChronoUnit; -import java.time.temporal.TemporalUnit; import java.util.Optional; import java.util.concurrent.ExecutorService; -import java.util.concurrent.TimeUnit; @Module public abstract class UpdateCheckerModule { From 174225c60ecb10f50f38421090a365b0907b7fdb Mon Sep 17 00:00:00 2001 From: Sebastian Stenzel Date: Fri, 20 Oct 2023 12:03:07 +0200 Subject: [PATCH 3/5] add timeout to OAuth2 requests --- .idea/compiler.xml | 8 ++++---- pom.xml | 2 +- .../org/cryptomator/ui/keyloading/hub/AuthFlowTask.java | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.idea/compiler.xml b/.idea/compiler.xml index df360a26d..a3e38d3aa 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -14,10 +14,10 @@