packages feed

github 0.11.0 → 0.11.1

raw patch · 2 files changed

+30/−2 lines, 2 filesdep +cryptohashPVP ok

version bump matches the API change (PVP)

Dependencies added: cryptohash

API changes (from Hackage documentation)

+ Github.Repos.Webhooks.Validate: isValidPayload :: String -> Maybe String -> ByteString -> Bool

Files

+ Github/Repos/Webhooks/Validate.hs view
@@ -0,0 +1,26 @@+-- | Verification of incomming webhook payloads, as described at+-- <https://developer.github.com/webhooks/securing/>++module Github.Repos.Webhooks.Validate (+  isValidPayload+) where++import Crypto.Hash+import qualified Data.ByteString.Char8 as BS+++-- | Validates a given payload against a given HMAC hexdigest using a given+-- secret.+-- Returns 'True' iff the given hash is non-empty and it's a valid signature of+-- the payload.+isValidPayload+  :: String             -- ^ the secret+  -> Maybe String       -- ^ the hash provided by the remote party+                        -- in @X-Hub-Signature@ (if any),+                        -- including the 'sha1=...' prefix+  -> BS.ByteString      -- ^ the body+  -> Bool+isValidPayload secret shaOpt payload = Just sign == shaOpt+  where+    hm = hmac (BS.pack secret) payload :: HMAC SHA1+    sign = "sha1=" ++ (show . hmacGetDigest $ hm)
github.cabal view
@@ -7,7 +7,7 @@ -- The package version. See the Haskell package versioning policy -- (http://www.haskell.org/haskellwiki/Package_versioning_policy) for -- standards guiding when and how versions should be incremented.-Version:             0.11.0+Version:             0.11.1  -- A short (one-line) description of the package. Synopsis:            Access to the Github API, v3.@@ -145,6 +145,7 @@                    Github.Repos.Watching,                    Github.Repos.Starring,                    Github.Repos.Webhooks+                   Github.Repos.Webhooks.Validate,                    Github.Users,                    Github.Users.Followers                    Github.Search@@ -168,7 +169,8 @@                  http-types,                  data-default,                  vector,-                 unordered-containers >= 0.2 && < 0.3+                 unordered-containers >= 0.2 && < 0.3,+                 cryptohash >= 0.11    -- Modules not exported by this package.   Other-modules:       Github.Private