From aaa00d02004ace6077e8a3101f96950b409d429b Mon Sep 17 00:00:00 2001 From: Adam Date: Thu, 22 Nov 2018 18:48:36 -0500 Subject: [PATCH] Remove update check service and client --- .../api/updatecheck/UpdateCheckClient.java | 68 ------------- .../updatecheck/ClientConfigLoader.java | 84 ---------------- .../http/service/updatecheck/RSConfig.java | 52 ---------- .../updatecheck/UpdateCheckService.java | 95 ------------------- 4 files changed, 299 deletions(-) delete mode 100644 http-api/src/main/java/net/runelite/http/api/updatecheck/UpdateCheckClient.java delete mode 100644 http-service/src/main/java/net/runelite/http/service/updatecheck/ClientConfigLoader.java delete mode 100644 http-service/src/main/java/net/runelite/http/service/updatecheck/RSConfig.java delete mode 100644 http-service/src/main/java/net/runelite/http/service/updatecheck/UpdateCheckService.java diff --git a/http-api/src/main/java/net/runelite/http/api/updatecheck/UpdateCheckClient.java b/http-api/src/main/java/net/runelite/http/api/updatecheck/UpdateCheckClient.java deleted file mode 100644 index 157221a554..0000000000 --- a/http-api/src/main/java/net/runelite/http/api/updatecheck/UpdateCheckClient.java +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Copyright (c) 2017, Adam - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this - * list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ -package net.runelite.http.api.updatecheck; - -import com.google.gson.JsonParseException; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import net.runelite.http.api.RuneLiteAPI; -import okhttp3.HttpUrl; -import okhttp3.Request; -import okhttp3.Response; -import okhttp3.ResponseBody; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class UpdateCheckClient -{ - private static final Logger logger = LoggerFactory.getLogger(UpdateCheckClient.class); - - public boolean isOutdated() - { - HttpUrl url = RuneLiteAPI.getApiBase().newBuilder() - .addPathSegment("update-check") - .build(); - - logger.debug("Built URI: {}", url); - - Request request = new Request.Builder() - .url(url) - .build(); - - try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute()) - { - ResponseBody body = response.body(); - - InputStream in = body.byteStream(); - return RuneLiteAPI.GSON.fromJson(new InputStreamReader(in), boolean.class); - } - catch (JsonParseException | IOException ex) - { - logger.debug("Unable to update-check", ex); - return false; - } - } -} diff --git a/http-service/src/main/java/net/runelite/http/service/updatecheck/ClientConfigLoader.java b/http-service/src/main/java/net/runelite/http/service/updatecheck/ClientConfigLoader.java deleted file mode 100644 index 8df39598bd..0000000000 --- a/http-service/src/main/java/net/runelite/http/service/updatecheck/ClientConfigLoader.java +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Copyright (c) 2018, Adam - * Copyright (c) 2018, Tomas Slusny - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this - * list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ -package net.runelite.http.service.updatecheck; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStreamReader; -import net.runelite.http.api.RuneLiteAPI; -import okhttp3.Request; -import okhttp3.Response; - -class ClientConfigLoader -{ - private static final String CONFIG_URL = "http://oldschool.runescape.com/jav_config.ws"; - - static RSConfig fetch() throws IOException - { - final Request request = new Request.Builder() - .url(CONFIG_URL) - .build(); - - final RSConfig config = new RSConfig(); - - try (final Response response = RuneLiteAPI.CLIENT.newCall(request).execute(); final BufferedReader in = new BufferedReader( - new InputStreamReader(response.body().byteStream()))) - { - String str; - - while ((str = in.readLine()) != null) - { - int idx = str.indexOf('='); - - if (idx == -1) - { - continue; - } - - String s = str.substring(0, idx); - - switch (s) - { - case "param": - str = str.substring(idx + 1); - idx = str.indexOf('='); - s = str.substring(0, idx); - - config.getAppletProperties().put(s, str.substring(idx + 1)); - break; - case "msg": - // ignore - break; - default: - config.getClassLoaderProperties().put(s, str.substring(idx + 1)); - break; - } - } - } - - return config; - } -} diff --git a/http-service/src/main/java/net/runelite/http/service/updatecheck/RSConfig.java b/http-service/src/main/java/net/runelite/http/service/updatecheck/RSConfig.java deleted file mode 100644 index def3919d7f..0000000000 --- a/http-service/src/main/java/net/runelite/http/service/updatecheck/RSConfig.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright (c) 2018, Adam - * Copyright (c) 2018, Tomas Slusny - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this - * list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ -package net.runelite.http.service.updatecheck; - -import java.util.HashMap; -import java.util.Map; -import lombok.Getter; - -@Getter -class RSConfig -{ - private final Map appletProperties = new HashMap<>(); - private final Map classLoaderProperties = new HashMap<>(); - - String getCodeBase() - { - return classLoaderProperties.get("codebase"); - } - - String getInitialJar() - { - return classLoaderProperties.get("initial_jar"); - } - - String getInitialClass() - { - return classLoaderProperties.get("initial_class").replace(".class", ""); - } -} diff --git a/http-service/src/main/java/net/runelite/http/service/updatecheck/UpdateCheckService.java b/http-service/src/main/java/net/runelite/http/service/updatecheck/UpdateCheckService.java deleted file mode 100644 index 9af87a9a39..0000000000 --- a/http-service/src/main/java/net/runelite/http/service/updatecheck/UpdateCheckService.java +++ /dev/null @@ -1,95 +0,0 @@ -/* - * Copyright (c) 2018, Adam - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this - * list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ -package net.runelite.http.service.updatecheck; - -import java.io.IOException; -import lombok.extern.slf4j.Slf4j; -import net.runelite.http.api.RuneLiteAPI; -import okhttp3.HttpUrl; -import org.springframework.scheduling.annotation.Scheduled; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -@RestController -@RequestMapping("/update-check") -@Slf4j -public class UpdateCheckService -{ - private boolean updateAvailable; - - @RequestMapping - public boolean check() - { - return updateAvailable; - } - - @Scheduled(fixedDelay = 60_000) - public void scheduledCheck() - { - updateAvailable = checkUpdate(); - } - - private int getRevision() throws IOException - { - RSConfig config = ClientConfigLoader.fetch(); - - for (String value : config.getAppletProperties().values()) - { - // http://www.runescape.com/g=oldscape/slr.ws?order=LPWM&ep=176 - if (value.contains("slr.ws")) - { - HttpUrl url = HttpUrl.parse(value); - String revstr = url.queryParameter("ep"); - int rev = Integer.parseInt(revstr); - return rev; - } - } - - return -1; - } - - private boolean checkUpdate() - { - int rev; - try - { - rev = getRevision(); - } - catch (IOException e) - { - log.warn("error checking revision", e); - return false; - } - - if (rev == -1) - { - log.warn("Unable to parse revision from config!"); - return false; - } - - int thisRevision = RuneLiteAPI.getRsVersion(); - return rev != thisRevision; - } -}