Skip to content

Commit 71fd827

Browse files
committed
fix: remove hsec-tools utils not relevant in the new layout
1 parent c83b003 commit 71fd827

File tree

5 files changed

+7
-26
lines changed

5 files changed

+7
-26
lines changed

code/hsec-tools/CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@
44
* Add support for GHC component in `query is-affected`
55
* Add `model.database_specific.{repository,osvs,home}` and `model.affected.database_specific.{osv,human_link}` in OSV exports
66
* Adapt to new security-advisories layout
7+
* Drop `Security.Advisories.Filesystem.parseComponentIdentifier`
8+
* Drop `Security.Advisories.Parse.OutOfBandAttributes.oobComponentIdentifier`
9+
* Drop `Security.Advisories.Parse.OOBError.PathHasNoComponentIdentifier`
710

811
## 0.2.0.2
912

code/hsec-tools/app/Main.hs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ import Security.Advisories.Generate.HTML
2222
import Security.Advisories.Generate.Snapshot
2323
import Security.Advisories.Git
2424
import Security.Advisories.Queries (listVersionRangeAffectedBy)
25-
import Security.Advisories.Filesystem (parseComponentIdentifier)
2625
import System.Exit (die, exitFailure, exitSuccess)
2726
import System.FilePath (takeBaseName)
2827
import System.IO (hPrint, hPutStrLn, stderr)
@@ -197,13 +196,11 @@ withAdvisory go file = do
197196
oob <- runExceptT $ case file of
198197
Nothing -> throwE StdInHasNoOOB
199198
Just path -> do
200-
ecosystem <- parseComponentIdentifier path
201199
withExceptT GitHasNoOOB $ do
202200
gitInfo <- ExceptT $ liftIO $ getAdvisoryGitInfo path
203201
pure OutOfBandAttributes
204202
{ oobPublished = firstAppearanceCommitDate gitInfo
205203
, oobModified = lastModificationCommitDate gitInfo
206-
, oobComponentIdentifier = ecosystem
207204
}
208205

209206
case parseAdvisory NoOverrides oob input of

code/hsec-tools/src/Security/Advisories/Filesystem.hs

Lines changed: 4 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ module Security.Advisories.Filesystem
2424
, forAdvisory
2525
, listAdvisories
2626
, advisoryFromFile
27-
, parseComponentIdentifier
2827
) where
2928

3029
#if MIN_VERSION_base(4,18,0)
@@ -37,18 +36,16 @@ import Data.Semigroup (Max(Max, getMax))
3736
import Data.Traversable (for)
3837

3938
import Control.Monad.IO.Class (MonadIO, liftIO)
40-
import qualified Data.Text as T
4139
import qualified Data.Text.IO as T
42-
import System.FilePath ((</>), splitDirectories)
40+
import System.FilePath ((</>))
4341
import System.Directory (doesDirectoryExist, listDirectory)
4442
import Validation (Validation (..))
4543

46-
import Security.Advisories (Advisory, AttributeOverridePolicy (NoOverrides), OutOfBandAttributes (..), ParseAdvisoryError, parseAdvisory, ComponentIdentifier(..))
44+
import Security.Advisories (Advisory, AttributeOverridePolicy (NoOverrides), OutOfBandAttributes (..), ParseAdvisoryError, parseAdvisory)
4745
import Security.Advisories.Core.HsecId (HsecId, parseHsecId, placeholder)
4846
import Security.Advisories.Git(firstAppearanceCommitDate, getAdvisoryGitInfo, lastModificationCommitDate)
4947
import Control.Monad.Except (runExceptT, ExceptT (ExceptT), withExceptT)
50-
import Security.Advisories.Parse (OOBError(GitHasNoOOB, PathHasNoComponentIdentifier))
51-
import Security.Advisories.Core.Advisory (ghcComponentFromText)
48+
import Security.Advisories.Parse (OOBError(GitHasNoOOB))
5249

5350

5451
dirNameAdvisories :: FilePath
@@ -140,14 +137,12 @@ advisoryFromFile
140137
:: (MonadIO m)
141138
=> FilePath -> m (Validation ParseAdvisoryError Advisory)
142139
advisoryFromFile advisoryPath = do
143-
oob <- runExceptT $ do
144-
ecosystem <- parseComponentIdentifier advisoryPath
140+
oob <- runExceptT $
145141
withExceptT GitHasNoOOB $ do
146142
gitInfo <- ExceptT $ liftIO $ getAdvisoryGitInfo advisoryPath
147143
pure OutOfBandAttributes
148144
{ oobPublished = firstAppearanceCommitDate gitInfo
149145
, oobModified = lastModificationCommitDate gitInfo
150-
, oobComponentIdentifier = ecosystem
151146
}
152147
fileContent <- liftIO $ T.readFile advisoryPath
153148
pure
@@ -168,10 +163,3 @@ _forFilesByYear root go = do
168163
case parseHsecId ("HSEC-" <> year <> "-" <> file) of
169164
Nothing -> pure mempty
170165
Just hsid -> go (root </> year </> file) hsid
171-
172-
parseComponentIdentifier :: Monad m => FilePath -> ExceptT OOBError m (Maybe ComponentIdentifier)
173-
parseComponentIdentifier fp = ExceptT . pure $ case drop 1 $ reverse $ splitDirectories fp of
174-
package : "hackage" : _ -> pure (Just $ Hackage $ T.pack package)
175-
component : "ghc" : _ | Just ghc <- ghcComponentFromText (T.pack component) -> pure (Just $ GHC ghc)
176-
_ : _ : "advisories" : _ -> Left PathHasNoComponentIdentifier
177-
_ -> pure Nothing

code/hsec-tools/src/Security/Advisories/Parse.hs

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,6 @@ type OOB = Either OOBError OutOfBandAttributes
6161
data OutOfBandAttributes = OutOfBandAttributes
6262
{ oobModified :: UTCTime
6363
, oobPublished :: UTCTime
64-
, oobComponentIdentifier :: Maybe ComponentIdentifier
6564
}
6665
deriving (Show)
6766

@@ -91,14 +90,12 @@ instance Exception ParseAdvisoryError where
9190
-- @since 0.2.0.0
9291
data OOBError
9392
= StdInHasNoOOB -- ^ we obtain the advisory via stdin and can hence not parse git history
94-
| PathHasNoComponentIdentifier -- ^ the path is missing 'hackage' or 'ghc' directory
9593
| GitHasNoOOB GitError -- ^ processing oob info via git failed
9694
deriving stock (Eq, Show, Generic)
9795

9896
displayOOBError :: OOBError -> String
9997
displayOOBError = \case
10098
StdInHasNoOOB -> "stdin doesn't provide out of band information"
101-
PathHasNoComponentIdentifier -> "the path is missing 'hackage' or 'ghc' directory"
10299
GitHasNoOOB gitErr -> "no out of band information obtained with git error:\n"
103100
<> explainGitError gitErr
104101

@@ -187,9 +184,6 @@ parseAdvisoryTable oob policy doc summary details html tab =
187184
"advisory.modified"
188185
(amdModified (frontMatterAdvisory fm))
189186
let affected = frontMatterAffected fm
190-
case oob of
191-
Right (OutOfBandAttributes _ _ (Just ecosystem)) -> validateComponentIdentifier ecosystem affected
192-
_ -> pure ()
193187
pure Advisory
194188
{ advisoryId = amdId (frontMatterAdvisory fm)
195189
, advisoryPublished = published

code/hsec-tools/test/Spec.hs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@ doGoldenTest fp = goldenVsString fp (fp <> ".golden") (LText.encodeUtf8 <$> doCh
4646
attr = OutOfBandAttributes
4747
{ oobPublished = fakeDate
4848
, oobModified = fakeDate
49-
, oobComponentIdentifier = Nothing
5049
}
5150
res = parseAdvisory NoOverrides (Right attr) input
5251
osvExport = case res of

0 commit comments

Comments
 (0)