From b98d3c3d6772c7ec9457f002ec297c88f75ce939 Mon Sep 17 00:00:00 2001 From: Lucy Cifferello <12953208+elvece@users.noreply.github.com> Date: Wed, 12 Apr 2023 12:10:09 -0600 Subject: [PATCH] change to whitelist --- config/settings.yml | 2 +- src/Handler/Admin.hs | 4 ++-- src/Handler/Package/V1/Index.hs | 1 - src/Handler/Util.hs | 2 +- src/Settings.hs | 4 ++-- 5 files changed, 6 insertions(+), 7 deletions(-) diff --git a/config/settings.yml b/config/settings.yml index 647478f..0cdd972 100644 --- a/config/settings.yml +++ b/config/settings.yml @@ -39,7 +39,7 @@ marketplace-name: "_env:MARKETPLACE_NAME:CHANGE ME" max-eos-version: "_env:MAX_VERSION:0.3.4.0" min-eos-version: "_env:MIN_VERSION:0.3.4.0" run-migration: "_env:RUN_MIGRATION:false" -blacklist: "_env:BLACKLIST:ADD ME" +whitelist: "_env:WHITELIST:ADD ME" database: database: "_env:PG_DATABASE:start9_registry" diff --git a/src/Handler/Admin.hs b/src/Handler/Admin.hs index 81ccf55..070bb3e 100644 --- a/src/Handler/Admin.hs +++ b/src/Handler/Admin.hs @@ -150,7 +150,7 @@ import Data.List (elem) postPkgUploadR :: Handler () postPkgUploadR = do resourcesTemp <- getsYesod $ ( "temp") . resourcesDir . appSettings - blacklist <- getsYesod $ blacklist . appSettings + whitelist <- getsYesod $ whitelist . appSettings createDirectoryIfMissing True resourcesTemp withTempDirectory resourcesTemp "newpkg" $ \dir -> do let path = dir "temp" <.> "s9pk" @@ -164,7 +164,7 @@ postPkgUploadR = do PackageManifest{..} <- do liftIO (decodeFileStrict (dir "manifest.json")) `orThrow` sendResponseText status500 "Failed to parse manifest.json" - if (elem packageManifestId blacklist) + if (not $ elem packageManifestId whitelist) then sendResponseText status500 "Package does not belong on this registry." else do renameFile path (dir (toS . unPkgId) packageManifestId <.> "s9pk") diff --git a/src/Handler/Package/V1/Index.hs b/src/Handler/Package/V1/Index.hs index 3dda683..3fa413d 100644 --- a/src/Handler/Package/V1/Index.hs +++ b/src/Handler/Package/V1/Index.hs @@ -51,7 +51,6 @@ import Startlude ( Show, Text, Traversable (traverse), - catMaybes, const, encodeUtf8, filter, diff --git a/src/Handler/Util.hs b/src/Handler/Util.hs index 6cdf91e..4559c2d 100644 --- a/src/Handler/Util.hs +++ b/src/Handler/Util.hs @@ -25,7 +25,7 @@ import Lib.PkgRepository ( ) import Lib.Types.Core (PkgId, OsArch) import Lib.Types.Emver ( - Version (Version, unVersion), + Version, VersionRange, satisfies, parseVersion ) diff --git a/src/Settings.hs b/src/Settings.hs index 6a9881c..3ac3e27 100644 --- a/src/Settings.hs +++ b/src/Settings.hs @@ -89,7 +89,7 @@ data AppSettings = AppSettings , sslPath :: !FilePath , staticBinDir :: !FilePath , torPort :: !AppPort - , blacklist :: ![PkgId] + , whitelist :: ![PkgId] } instance Has PkgRepo AppSettings where extract = liftA2 PkgRepo (( "apps") . resourcesDir) staticBinDir @@ -122,7 +122,7 @@ instance FromJSON AppSettings where sslPath <- o .: "ssl-path" staticBinDir <- o .: "static-bin-dir" torPort <- o .: "tor-port" - blacklist <- o .: "blacklist" + whitelist <- o .: "whitelist" let sslKeyLocation = sslPath "key.pem" let sslCsrLocation = sslPath "certificate.csr"