From 8784115c75537ca985e574bb7667224f87879e5d Mon Sep 17 00:00:00 2001 From: Sebastian Stenzel Date: Fri, 29 Jan 2016 01:11:13 +0100 Subject: [PATCH] report client version in user agent header during update checks [ci skip] --- .../org/cryptomator/filesystem/inmem/InMemoryNode.java | 3 ++- .../cryptomator/ui/controllers/WelcomeController.java | 9 ++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/main/filesystem-inmemory/src/main/java/org/cryptomator/filesystem/inmem/InMemoryNode.java b/main/filesystem-inmemory/src/main/java/org/cryptomator/filesystem/inmem/InMemoryNode.java index 4dd90fd14..850cb1cbb 100644 --- a/main/filesystem-inmemory/src/main/java/org/cryptomator/filesystem/inmem/InMemoryNode.java +++ b/main/filesystem-inmemory/src/main/java/org/cryptomator/filesystem/inmem/InMemoryNode.java @@ -8,6 +8,7 @@ *******************************************************************************/ package org.cryptomator.filesystem.inmem; +import java.io.FileNotFoundException; import java.io.IOException; import java.io.UncheckedIOException; import java.time.Instant; @@ -47,7 +48,7 @@ class InMemoryNode implements Node { @Override public Instant lastModified() { if (!exists()) { - throw new UncheckedIOException(new IOException("File does not exist")); + throw new UncheckedIOException(new FileNotFoundException("File does not exist")); } return lastModified; } diff --git a/main/ui/src/main/java/org/cryptomator/ui/controllers/WelcomeController.java b/main/ui/src/main/java/org/cryptomator/ui/controllers/WelcomeController.java index d64bdd94a..4fd577e78 100644 --- a/main/ui/src/main/java/org/cryptomator/ui/controllers/WelcomeController.java +++ b/main/ui/src/main/java/org/cryptomator/ui/controllers/WelcomeController.java @@ -14,6 +14,7 @@ import java.net.URL; import java.util.Comparator; import java.util.HashMap; import java.util.Map; +import java.util.Optional; import java.util.ResourceBundle; import java.util.concurrent.ExecutorService; @@ -26,6 +27,7 @@ import org.apache.commons.httpclient.HttpMethod; import org.apache.commons.httpclient.HttpStatus; import org.apache.commons.httpclient.cookie.CookiePolicy; import org.apache.commons.httpclient.methods.GetMethod; +import org.apache.commons.httpclient.params.HttpClientParams; import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.SystemUtils; import org.cryptomator.ui.settings.Settings; @@ -138,6 +140,7 @@ public class WelcomeController extends AbstractFXMLViewController { }); final HttpClient client = new HttpClient(); final HttpMethod method = new GetMethod("https://cryptomator.org/downloads/latestVersion.json"); + client.getParams().setParameter(HttpClientParams.USER_AGENT, "Cryptomator VersionChecker/" + applicationVersion().orElse("SNAPSHOT")); client.getParams().setCookiePolicy(CookiePolicy.IGNORE_COOKIES); client.getParams().setConnectionManagerTimeout(5000); try { @@ -161,6 +164,10 @@ public class WelcomeController extends AbstractFXMLViewController { } } + private Optional applicationVersion() { + return Optional.ofNullable(getClass().getPackage().getImplementationVersion()); + } + private void compareVersions(final Map latestVersions) { final String latestVersion; if (SystemUtils.IS_OS_MAC_OSX) { @@ -173,7 +180,7 @@ public class WelcomeController extends AbstractFXMLViewController { // no version check possible on unsupported OS return; } - final String currentVersion = WelcomeController.class.getPackage().getImplementationVersion(); + final String currentVersion = applicationVersion().orElse(null); LOG.debug("Current version: {}, lastest version: {}", currentVersion, latestVersion); if (currentVersion != null && semVerComparator.compare(currentVersion, latestVersion) < 0) { final String msg = String.format(resourceBundle.getString("welcome.newVersionMessage"), latestVersion, currentVersion);