From 737070f95615d23ea0f702f4aff2b03bc23e19d6 Mon Sep 17 00:00:00 2001 From: vakarisz Date: Fri, 12 Aug 2022 09:50:28 +0300 Subject: [PATCH] Island, UI: Handle the case when version couldn't be fetched --- .../cc/ui/src/components/logo/VersionComponent.js | 5 +++++ monkey/monkey_island/cc/version.py | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/monkey/monkey_island/cc/ui/src/components/logo/VersionComponent.js b/monkey/monkey_island/cc/ui/src/components/logo/VersionComponent.js index fe93158ec..4fbb3fbb9 100644 --- a/monkey/monkey_island/cc/ui/src/components/logo/VersionComponent.js +++ b/monkey/monkey_island/cc/ui/src/components/logo/VersionComponent.js @@ -28,6 +28,11 @@ class VersionComponent extends AuthComponent { newerVersionAvailable() { const semverGt = require('semver/functions/gt'); + if(this.state.latestVersion === null) { + // Couldn't fetch the latest version. + // Consider showing this state to the user + return false; + } if(this.state.latestVersion !== undefined && this.state.versionNumber !== undefined) { return semverGt(this.state.latestVersion, this.state.versionNumber); } diff --git a/monkey/monkey_island/cc/version.py b/monkey/monkey_island/cc/version.py index a67fd440d..bcec8bc6a 100644 --- a/monkey/monkey_island/cc/version.py +++ b/monkey/monkey_island/cc/version.py @@ -63,7 +63,7 @@ class Version: response = requests.get(url, timeout=LATEST_VERSION_TIMEOUT).json() except requests.exceptions.RequestException as err: logger.warning(f"Failed to connect to {url}, Error: {err}") - return self._version_number, None + return None, None try: download_link = response["download_link"] @@ -73,6 +73,6 @@ class Version: f"Failed to fetch version information from {url}, response: {response}." f"Most likely deployment {self._deployment.value} is not recognized." ) - return self._version_number, None + return None, None return latest_version, download_link