From 0e71862f1d2e86722953d21e98170bda17310791 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20Carl=C3=A9n?= Date: Wed, 3 Jun 2026 18:13:40 +0200 Subject: [PATCH 1/3] crypton 1.1.x dropped memory in favour of ram as its byte array library, hence the lib change --- hsaml2.cabal | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hsaml2.cabal b/hsaml2.cabal index 9741581..9c40ac0 100644 --- a/hsaml2.cabal +++ b/hsaml2.cabal @@ -70,11 +70,11 @@ library c-sources: SAML2/XML/libxml2_stub.c build-depends: - crypton >=1.0.6 && <1.1, + crypton >=1.1 && <1.2, crypton-x509, crypton-asn1-types, crypton-asn1-encoding, - memory + ram build-depends: base >=4.8 && <5, base64-bytestring, From 200d0fee7cf4eaf0d3410ab28ed3bcd7b45424e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20Carl=C3=A9n?= Date: Wed, 3 Jun 2026 18:15:14 +0200 Subject: [PATCH 2/3] Remove warning according to GHC and Claude suggestions --- SAML2/Metadata/Metadata.hs | 2 +- SAML2/XML/Signature.hs | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/SAML2/Metadata/Metadata.hs b/SAML2/Metadata/Metadata.hs index 0c70974..01111b7 100644 --- a/SAML2/Metadata/Metadata.hs +++ b/SAML2/Metadata/Metadata.hs @@ -400,7 +400,7 @@ instance XP.XmlPickler RoleDescriptor where where xpAnyURIList = XP.xpWrapEither ( mapM (maybe (Left "invalid anyURI") Right . URI.parseURIReference) . words - , tail . foldr ((.) (' ':) . URI.uriToString id) "" + , drop 1 . foldr ((.) (' ':) . URI.uriToString id) "" ) $ XP.xpTextDT $ XPS.scDT (namespaceURIString ns) "anyURIListType" [] instance DS.Signable RoleDescriptor where diff --git a/SAML2/XML/Signature.hs b/SAML2/XML/Signature.hs index f170c8c..854fd01 100644 --- a/SAML2/XML/Signature.hs +++ b/SAML2/XML/Signature.hs @@ -28,7 +28,6 @@ import GHC.Stack import Control.Applicative ((<|>)) import Control.Exception (SomeException, handle) import Control.Monad ((<=<)) -import Control.Monad.Except import Crypto.Number.Serialize (i2ospOf_, os2ip) import Crypto.Hash (hashlazy, SHA1(..), SHA256(..), SHA512(..), RIPEMD160(..)) import qualified Crypto.PubKey.DSA as DSA @@ -40,6 +39,7 @@ import qualified Data.ByteString.Base64 as Base64 import qualified Data.ByteString.Lazy as BSL import qualified Data.List.NonEmpty as NonEmpty import Data.Either (isRight) +import Data.Maybe (listToMaybe) import Network.URI (URI(..)) import qualified Text.XML.HXT.Core as HXT import qualified Text.XML.HXT.DOM.ShowXml as DOM @@ -72,7 +72,9 @@ applyTransformsXML (Transform (Identified (TransformCanonicalization a)) ins x : applyTransformsXML (Transform (Identified TransformEnvelopedSignature) Nothing [] : tl) = -- XXX assumes "this" signature in top-level applyTransformsXML tl - . head . HXT.runLA (HXT.processChildren $ HXT.processChildren + . maybe (error "applyTransformsXML: EnvelopedSignature transform produced no result") id + . listToMaybe + . HXT.runLA (HXT.processChildren $ HXT.processChildren $ HXT.neg (isDSElem "Signature")) applyTransformsXML tl = applyTransformsBytes tl . DOM.xshowBlob . return From 65148057f808ebaa2fcfe9ed15839ec3f89814d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20Carl=C3=A9n?= Date: Wed, 3 Jun 2026 18:38:55 +0200 Subject: [PATCH 3/3] Update resolver and some extra deps --- stack.yaml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/stack.yaml b/stack.yaml index 70c6d3c..58f6504 100644 --- a/stack.yaml +++ b/stack.yaml @@ -1,11 +1,12 @@ -resolver: nightly-2026-01-19 +resolver: nightly-2026-06-03 packages: - . extra-deps: -- crypton-1.0.6 -- crypton-x509-1.8.0 +- crypton-1.1.4 +- crypton-x509-1.9.1 - crypton-asn1-types-0.4.1 - crypton-asn1-encoding-0.10.0 - crypton-asn1-parse-0.10.0 - invertible-0.2.0.8 - invertible-hxt-0.1 +- ram-0.22.0 \ No newline at end of file