aboutsummaryrefslogblamecommitdiffhomepage
path: root/hmacaroons.haddock
blob: 396db6f69756cbee5e2d1e93c78435d910631fd5 (plain) (tree)



























                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
��1l/	

(c) 2015 Julien TanguyBSD3julien.tanguy@jhome.frexperimentalportableNoneCaveat structureCaveat identifier"Caveat verification key identifierCaveat target locationMain structure of a macaroonTarget locationMacaroon IdentifierList of caveatsMacaroon HMAC signature	#Type alias for Macaroons signatures
-Type alias for Macaroons and Caveat locations3Type alias for Macaroons and Caveat and identifiers$Type alias for Macaroons secret keysSPrimitive to add a First or Third party caveat to a macaroon
 For internal use onlyUtility non-short circuiting 
 function.(NFData instance for use in the benchmark show instance conforming to the inspect "specification"Constant-time Eq instance (NFData instance for use in the benchmark! show instance conforming to the inspect "specification""Constant-time Eq instance#$	
 !"#$	
#$	
 !"(c) 2015 Julien TanguyBSD3julien.tanguy@jhome.frexperimentalportableNoneIN
5Type representing different validation errors.
 Only  and  are exported, SigMismatch and
 
NoVerifier7 are used internally and should not be used by the user%Signatures do not match&%No verifier can handle a given caveatA verifier had a parse errorA verifier failed+Type representing the result of a validator+The caveat is correctly parsed and verifiedAThe caveat is refused (Either a parse error or a validation error-The given verifier does not verify the caveat'5Check that the given macaroon has a correct signature(CGiven a list of verifiers, verify each caveat of the given macaroon)The * instance is written so SigMismatch is an annihilator,
 and 
NoVerifier is the identity element
%&'()
%&'(
%&'()(c) 2015 Julien TanguyBSD3julien.tanguy@jhome.frexperimentalportableNone35INYVerify a Macaroon's signature and caveats, given the corresponding Secret
 and verifiers."A verifier is a function of type
 + m =>  -> m VerifierResult.It should return:h if the caveat is not related to the verifier
 (for instance a time verifier is given an action caveat); (W reason) if the verifier  is related to the
 caveat, but failed to parse it completely; (Q reason) if the verifier is related to the
 caveat, parsed it and invalidated it;< if the verifier has successfully verified the
 given caveat

(c) 2015 Julien TanguyBSD3julien.tanguy@jhome.frexperimentalportableNone3Serialize a macaroon in an URL-safe Base64 encoding:Deserialize a macaroon from a base64url-encoded ByteString,-.,-.(c) 2015 Julien TanguyBSD3julien.tanguy@jhome.frexperimentalportableNone7Create a Macaroon from its key, identifier and location6Inspect a macaroon's contents. For debugging purposes.;Add a first party Caveat to a Macaroon, with its identifier	


	/	

 !"#$%&'()*+,-./0123456789:;hmaca_IHDaYODZ21f24s2gaiv8yXCrypto.MacaroonCrypto.Macaroon.Verifier!Crypto.Macaroon.Serializer.Base64Crypto.Macaroon.Internal!Crypto.Macaroon.Verifier.InternalCaveatcidvidclMacaroonlocation
identifiercaveats	signatureSigLocationKeySecretValidationError
ParseErrorValidatorErrorVerifierResultVerifiedRefused	Unrelatedverify	serializedeserializecreateinspectaddFirstPartyCaveat	addCaveat&&!ghc-primGHC.Classes&&$fNFDataCaveat$fShowCaveat
$fEqCaveat$fNFDataMacaroon$fShowMacaroon$fEqMacaroonMkCaveat
MkMacaroonSigMismatch
NoVerifier	verifySig
verifyCavs$fMonoidValidationErrorbaseGHC.BaseMonoidtrans_3eG64VdP2vzGjP6wJiCp5XControl.Monad.IO.ClassMonadIO	packetizemacaroonpacket