lib: fix incorrect encoding of Signature (incompatible with decoding, but never used together) - breaks backward compatibility for remote control connections (#1765)

* lib: fix incorrect StrEncoding of Signature (it was not compatible with decoding, but was never used)

* align encoding with used in links (breaks backward compatibility)
This commit is contained in:
Evgeny
2026-04-15 15:11:06 +01:00
committed by GitHub
parent 43cdf55f3b
commit 95b17ada27
2 changed files with 4 additions and 6 deletions
+2 -4
View File
@@ -230,7 +230,7 @@ import qualified Data.Attoparsec.ByteString.Char8 as A
import Data.Bifunctor (bimap, first)
import Data.ByteArray (ByteArrayAccess)
import qualified Data.ByteArray as BA
import Data.ByteString.Base64 (decode, encode)
import Data.ByteString.Base64 (decode)
import qualified Data.ByteString.Base64.URL as U
import Data.ByteString.Char8 (ByteString)
import qualified Data.ByteString.Char8 as B
@@ -805,13 +805,11 @@ data ASignature
deriving instance Show ASignature
class CryptoSignature s where
serializeSignature :: s -> ByteString
serializeSignature = encode . signatureBytes
signatureBytes :: s -> ByteString
decodeSignature :: ByteString -> Either String s
instance CryptoSignature (Signature s) => StrEncoding (Signature s) where
strEncode = serializeSignature
strEncode = strEncode . signatureBytes
{-# INLINE strEncode #-}
strDecode = decodeSignature
{-# INLINE strDecode #-}
+2 -2
View File
@@ -108,9 +108,9 @@ instance StrEncoding RCSignedInvitation where
mconcat
[ strEncode invitation,
"&ssig=",
strEncode $ C.signatureBytes ssig,
strEncode ssig,
"&idsig=",
strEncode $ C.signatureBytes idsig
strEncode idsig
]
strP = do