packages feed

botan-bindings 0.2.0.0 → 0.3.0.0

raw patch · 21 files changed

+35/−24 lines, 21 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

- Botan.Bindings.BlockCipher: [$sel:runBotanBlockCipher:MkBotanBlockCipher] :: BotanBlockCipher -> Ptr BotanBlockCipherStruct
- Botan.Bindings.Cipher: [$sel:runBotanCipher:MkBotanCipher] :: BotanCipher -> Ptr BotanCipherStruct
- Botan.Bindings.FPE: [$sel:runBotanFPE:MkBotanFPE] :: BotanFPE -> Ptr BotanFPEStruct
- Botan.Bindings.HOTP: [$sel:runBotanHOTP:MkBotanHOTP] :: BotanHOTP -> Ptr BotanHOTPStruct
- Botan.Bindings.Hash: [$sel:runBotanHash:MkBotanHash] :: BotanHash -> Ptr BotanHashStruct
- Botan.Bindings.MAC: [$sel:runBotanMAC:MkBotanMAC] :: BotanMAC -> Ptr BotanMACStruct
- Botan.Bindings.MPI: [$sel:runBotanMP:MkBotanMP] :: BotanMP -> Ptr BotanMPStruct
- Botan.Bindings.PubKey: [$sel:runBotanPrivKey:MkBotanPrivKey] :: BotanPrivKey -> Ptr BotanPrivKeyStruct
- Botan.Bindings.PubKey: [$sel:runBotanPubKey:MkBotanPubKey] :: BotanPubKey -> Ptr BotanPubKeyStruct
- Botan.Bindings.PubKey.Decrypt: [$sel:runBotanPKOpDecrypt:MkBotanPKOpDecrypt] :: BotanPKOpDecrypt -> Ptr BotanPKOpDecryptStruct
- Botan.Bindings.PubKey.Encrypt: [$sel:runBotanPKOpEncrypt:MkBotanPKOpEncrypt] :: BotanPKOpEncrypt -> Ptr BotanPKOpEncryptStruct
- Botan.Bindings.PubKey.KeyAgreement: [$sel:runBotanPKOpKeyAgreement:MkBotanPKOpKeyAgreement] :: BotanPKOpKeyAgreement -> Ptr BotanPKOpKeyAgreementStruct
- Botan.Bindings.PubKey.KeyEncapsulation: [$sel:runBotanPKOpKEMDecrypt:MkBotanPKOpKEMDecrypt] :: BotanPKOpKEMDecrypt -> Ptr BotanPKOpKEMDecryptStruct
- Botan.Bindings.PubKey.KeyEncapsulation: [$sel:runBotanPKOpKEMEncrypt:MkBotanPKOpKEMEncrypt] :: BotanPKOpKEMEncrypt -> Ptr BotanPKOpKEMEncryptStruct
- Botan.Bindings.PubKey.Sign: [$sel:runBotanPKOpSign:MkBotanPKOpSign] :: BotanPKOpSign -> Ptr BotanPKOpSignStruct
- Botan.Bindings.PubKey.Verify: [$sel:runBotanPKOpVerify:MkBotanPKOpVerify] :: BotanPKOpVerify -> Ptr BotanPKOpVerifyStruct
- Botan.Bindings.RNG: [$sel:runBotanRNG:MkBotanRNG] :: BotanRNG -> Ptr BotanRNGStruct
- Botan.Bindings.SRP6: [$sel:runBotanSRP6ServerSession:MkBotanSRP6ServerSession] :: BotanSRP6ServerSession -> Ptr BotanSRP6ServerSessionStruct
- Botan.Bindings.TOTP: [$sel:runBotanTOTP:MkBotanTOTP] :: BotanTOTP -> Ptr BotanTOTPStruct
- Botan.Bindings.X509: [$sel:runBotanX509CRL:MkBotanX509CRL] :: BotanX509CRL -> Ptr BotanX509CRLStruct
- Botan.Bindings.X509: [$sel:runBotanX509Cert:MkBotanX509Cert] :: BotanX509Cert -> Ptr BotanX509CertStruct
+ Botan.Bindings.BlockCipher: [$sel:ptr:MkBotanBlockCipher] :: BotanBlockCipher -> Ptr BotanBlockCipherStruct
+ Botan.Bindings.Cipher: [$sel:ptr:MkBotanCipher] :: BotanCipher -> Ptr BotanCipherStruct
+ Botan.Bindings.FPE: [$sel:ptr:MkBotanFPE] :: BotanFPE -> Ptr BotanFPEStruct
+ Botan.Bindings.HOTP: [$sel:ptr:MkBotanHOTP] :: BotanHOTP -> Ptr BotanHOTPStruct
+ Botan.Bindings.Hash: [$sel:ptr:MkBotanHash] :: BotanHash -> Ptr BotanHashStruct
+ Botan.Bindings.MAC: [$sel:ptr:MkBotanMAC] :: BotanMAC -> Ptr BotanMACStruct
+ Botan.Bindings.MPI: [$sel:ptr:MkBotanMP] :: BotanMP -> Ptr BotanMPStruct
+ Botan.Bindings.PubKey: [$sel:ptr:MkBotanPrivKey] :: BotanPrivKey -> Ptr BotanPrivKeyStruct
+ Botan.Bindings.PubKey: [$sel:ptr:MkBotanPubKey] :: BotanPubKey -> Ptr BotanPubKeyStruct
+ Botan.Bindings.PubKey.Decrypt: [$sel:ptr:MkBotanPKOpDecrypt] :: BotanPKOpDecrypt -> Ptr BotanPKOpDecryptStruct
+ Botan.Bindings.PubKey.Encrypt: [$sel:ptr:MkBotanPKOpEncrypt] :: BotanPKOpEncrypt -> Ptr BotanPKOpEncryptStruct
+ Botan.Bindings.PubKey.KeyAgreement: [$sel:ptr:MkBotanPKOpKeyAgreement] :: BotanPKOpKeyAgreement -> Ptr BotanPKOpKeyAgreementStruct
+ Botan.Bindings.PubKey.KeyEncapsulation: [$sel:ptr:MkBotanPKOpKEMDecrypt] :: BotanPKOpKEMDecrypt -> Ptr BotanPKOpKEMDecryptStruct
+ Botan.Bindings.PubKey.KeyEncapsulation: [$sel:ptr:MkBotanPKOpKEMEncrypt] :: BotanPKOpKEMEncrypt -> Ptr BotanPKOpKEMEncryptStruct
+ Botan.Bindings.PubKey.Sign: [$sel:ptr:MkBotanPKOpSign] :: BotanPKOpSign -> Ptr BotanPKOpSignStruct
+ Botan.Bindings.PubKey.Verify: [$sel:ptr:MkBotanPKOpVerify] :: BotanPKOpVerify -> Ptr BotanPKOpVerifyStruct
+ Botan.Bindings.RNG: [$sel:ptr:MkBotanRNG] :: BotanRNG -> Ptr BotanRNGStruct
+ Botan.Bindings.SRP6: [$sel:ptr:MkBotanSRP6ServerSession] :: BotanSRP6ServerSession -> Ptr BotanSRP6ServerSessionStruct
+ Botan.Bindings.TOTP: [$sel:ptr:MkBotanTOTP] :: BotanTOTP -> Ptr BotanTOTPStruct
+ Botan.Bindings.X509: [$sel:ptr:MkBotanX509CRL] :: BotanX509CRL -> Ptr BotanX509CRLStruct
+ Botan.Bindings.X509: [$sel:ptr:MkBotanX509Cert] :: BotanX509Cert -> Ptr BotanX509CertStruct

Files

CHANGELOG.md view
@@ -1,5 +1,15 @@ # Changelog +## 0.3.0.0 -- 2026-03-23++* BREAKING: for all newtypes with a record field name like `run*`, change the+  name to `ptr`. See PR's+  [#114](https://github.com/haskell-cryptography/botan/pull/114) and+  [#117](https://github.com/haskell-cryptography/botan/pull/117). For example.+  `runBotanBlockCipher` is changed to `ptr`.+* BREAKING: re-enable `FieldSelectors` for the `ConstPtr` module. See PR+  [#117](https://github.com/haskell-cryptography/botan/pull/117).+ ## 0.2.0.0 -- 2025-12-30  * BREAKING: remove experimental FFI code related to `x509`. See PR
botan-bindings.cabal view
@@ -1,6 +1,6 @@ cabal-version: 3.0 name: botan-bindings-version: 0.2.0.0+version: 0.3.0.0 synopsis: Raw Botan bindings description:   Welcome to botan-bindings@@ -39,7 +39,7 @@   type: git   location: https://github.com/haskell-cryptography/botan   subdir: botan-bindings-  tag: botan-bindings-0.2.0.0+  tag: botan-bindings-0.3.0.0  flag pkg-config   default: True
src/Botan/Bindings/BlockCipher.hs view
@@ -75,7 +75,7 @@  -- | Botan BlockCipher object newtype {-# CTYPE "botan/ffi.h" "botan_block_cipher_t" #-} BotanBlockCipher-    = MkBotanBlockCipher { runBotanBlockCipher :: Ptr BotanBlockCipherStruct }+    = MkBotanBlockCipher { ptr :: Ptr BotanBlockCipherStruct }         deriving newtype (Eq, Ord, Storable)  -- | Destroy a block cipher object
src/Botan/Bindings/Cipher.hsc view
@@ -78,7 +78,7 @@  -- | Botan Cipher object newtype {-# CTYPE "botan/ffi.h" "botan_cipher_t" #-} BotanCipher-    = MkBotanCipher { runBotanCipher :: Ptr BotanCipherStruct }+    = MkBotanCipher { ptr :: Ptr BotanCipherStruct }         deriving newtype (Eq, Ord, Storable)  -- | Destroy the cipher object
src/Botan/Bindings/ConstPtr.hs view
@@ -1,4 +1,5 @@-{-# LANGUAGE CPP #-}+{-# LANGUAGE CPP            #-}+{-# LANGUAGE FieldSelectors #-}  module Botan.Bindings.ConstPtr (     ConstPtr(..)
src/Botan/Bindings/FPE.hsc view
@@ -61,7 +61,7 @@  -- | Botan FPE object newtype {-# CTYPE "botan/ffi.h" "botan_fpe_t" #-} BotanFPE-    = MkBotanFPE { runBotanFPE :: Ptr BotanFPEStruct }+    = MkBotanFPE { ptr :: Ptr BotanFPEStruct }         deriving newtype (Eq, Ord, Storable)  -- | Destroy the FPE object
src/Botan/Bindings/HOTP.hs view
@@ -59,7 +59,7 @@  -- | Botan HOTP object newtype {-# CTYPE "botan/ffi.h" "botan_hotp_t" #-} BotanHOTP-    = MkBotanHOTP { runBotanHOTP :: Ptr BotanHOTPStruct }+    = MkBotanHOTP { ptr :: Ptr BotanHOTPStruct }         deriving newtype (Eq, Ord, Storable)  -- | Destroy a HOTP instance
src/Botan/Bindings/Hash.hs view
@@ -84,7 +84,7 @@  -- | Botan Hash object newtype {-# CTYPE "botan/ffi.h" "botan_hash_t" #-} BotanHash-    = MkBotanHash { runBotanHash :: Ptr BotanHashStruct }+    = MkBotanHash { ptr :: Ptr BotanHashStruct }         deriving newtype (Eq, Ord, Storable)  -- | Frees all resources of the hash object
src/Botan/Bindings/MAC.hs view
@@ -74,7 +74,7 @@  -- | Botan MAC object newtype {-# CTYPE "botan/ffi.h" "botan_mac_t" #-} BotanMAC-    = MkBotanMAC { runBotanMAC :: Ptr BotanMACStruct }+    = MkBotanMAC { ptr :: Ptr BotanMACStruct }         deriving newtype (Eq, Ord, Storable)  -- | Frees all resources of the MAC object
src/Botan/Bindings/MPI.hs view
@@ -68,7 +68,7 @@  -- | Botan MP object newtype {-# CTYPE "botan/ffi.h" "botan_mp_t" #-} BotanMP-    = MkBotanMP { runBotanMP :: Ptr BotanMPStruct }+    = MkBotanMP { ptr :: Ptr BotanMPStruct }         deriving newtype (Eq, Ord, Storable)  -- | Destroy (deallocate) an MPI
src/Botan/Bindings/PubKey.hsc view
@@ -159,7 +159,7 @@  -- | Botan PrivKey object newtype {-# CTYPE "botan/ffi.h" "botan_privkey_t" #-} BotanPrivKey-    = MkBotanPrivKey { runBotanPrivKey :: Ptr BotanPrivKeyStruct }+    = MkBotanPrivKey { ptr :: Ptr BotanPrivKeyStruct }         deriving newtype (Eq, Ord, Storable)  -- | Frees all resources of the PrivKey object@@ -547,7 +547,7 @@  -- | Botan PubKey object newtype {-# CTYPE "botan/ffi.h" "botan_pubkey_t" #-} BotanPubKey-    = MkBotanPubKey { runBotanPubKey :: Ptr BotanPubKeyStruct }+    = MkBotanPubKey { ptr :: Ptr BotanPubKeyStruct }         deriving newtype (Eq, Ord, Storable)  -- | Frees all resources of the PubKey object
src/Botan/Bindings/PubKey/Decrypt.hsc view
@@ -36,7 +36,7 @@  -- | Botan decrypt object newtype {-# CTYPE "botan/ffi.h" "botan_pk_op_decrypt_t" #-} BotanPKOpDecrypt-    = MkBotanPKOpDecrypt { runBotanPKOpDecrypt :: Ptr BotanPKOpDecryptStruct }+    = MkBotanPKOpDecrypt { ptr :: Ptr BotanPKOpDecryptStruct }         deriving newtype (Eq, Ord, Storable)  -- | Destroy a decrypt object
src/Botan/Bindings/PubKey/Encrypt.hsc view
@@ -37,7 +37,7 @@  -- | Botan encrypt object newtype {-# CTYPE "botan/ffi.h" "botan_pk_op_encrypt_t" #-} BotanPKOpEncrypt-    = MkBotanPKOpEncrypt { runBotanPKOpEncrypt :: Ptr BotanPKOpEncryptStruct }+    = MkBotanPKOpEncrypt { ptr :: Ptr BotanPKOpEncryptStruct }         deriving newtype (Eq, Ord, Storable)  -- | Destroy a encrypt object
src/Botan/Bindings/PubKey/KeyAgreement.hsc view
@@ -41,7 +41,7 @@  -- | Botan key agreement object newtype {-# CTYPE "botan/ffi.h" "botan_pk_op_ka_t" #-} BotanPKOpKeyAgreement-    = MkBotanPKOpKeyAgreement { runBotanPKOpKeyAgreement :: Ptr BotanPKOpKeyAgreementStruct }+    = MkBotanPKOpKeyAgreement { ptr :: Ptr BotanPKOpKeyAgreementStruct }         deriving newtype (Eq, Ord, Storable)  -- | Destroy a key agreement object
src/Botan/Bindings/PubKey/KeyEncapsulation.hs view
@@ -41,7 +41,7 @@  -- | Botan KEM encrypt object newtype {-# CTYPE "botan/ffi.h" "botan_pk_op_kem_encrypt_t" #-} BotanPKOpKEMEncrypt-    = MkBotanPKOpKEMEncrypt { runBotanPKOpKEMEncrypt :: Ptr BotanPKOpKEMEncryptStruct }+    = MkBotanPKOpKEMEncrypt { ptr :: Ptr BotanPKOpKEMEncryptStruct }         deriving newtype (Eq, Ord, Storable)  -- | Destroy a KEM encrypt object@@ -87,7 +87,7 @@  -- | Botan KEM decrypt object newtype {-# CTYPE "botan/ffi.h" "botan_pk_op_kem_decrypt_t" #-} BotanPKOpKEMDecrypt-    = MkBotanPKOpKEMDecrypt { runBotanPKOpKEMDecrypt :: Ptr BotanPKOpKEMDecryptStruct }+    = MkBotanPKOpKEMDecrypt { ptr :: Ptr BotanPKOpKEMDecryptStruct }         deriving newtype (Eq, Ord, Storable)  -- | Destroy a KEM decrypt object
src/Botan/Bindings/PubKey/Sign.hsc view
@@ -39,7 +39,7 @@  -- | Botan sign object newtype {-# CTYPE "botan/ffi.h" "botan_pk_op_sign_t" #-} BotanPKOpSign-    = MkBotanPKOpSign { runBotanPKOpSign :: Ptr BotanPKOpSignStruct }+    = MkBotanPKOpSign { ptr :: Ptr BotanPKOpSignStruct }         deriving newtype (Eq, Ord, Storable)  -- | Destroy a sign object
src/Botan/Bindings/PubKey/Verify.hsc view
@@ -36,7 +36,7 @@  -- | Botan verify object newtype {-# CTYPE "botan/ffi.h" "botan_pk_op_verify_t" #-} BotanPKOpVerify-    = MkBotanPKOpVerify { runBotanPKOpVerify :: Ptr BotanPKOpVerifyStruct }+    = MkBotanPKOpVerify { ptr :: Ptr BotanPKOpVerifyStruct }         deriving newtype (Eq, Ord, Storable)  -- | Destroy a verify object
src/Botan/Bindings/RNG.hs view
@@ -48,7 +48,7 @@  -- | Botan RNG object newtype {-# CTYPE "botan/ffi.h" "botan_rng_t" #-} BotanRNG-    = MkBotanRNG { runBotanRNG :: Ptr BotanRNGStruct }+    = MkBotanRNG { ptr :: Ptr BotanRNGStruct }         deriving newtype (Eq, Ord, Storable)  -- | Frees all resources of the random number generator object
src/Botan/Bindings/SRP6.hs view
@@ -40,7 +40,7 @@  -- | SRP-6 server session object newtype {-# CTYPE "botan/ffi.h" "botan_srp6_server_session_t" #-} BotanSRP6ServerSession-  = MkBotanSRP6ServerSession { runBotanSRP6ServerSession :: Ptr BotanSRP6ServerSessionStruct }+  = MkBotanSRP6ServerSession { ptr :: Ptr BotanSRP6ServerSessionStruct }       deriving newtype (Eq, Ord, Storable)  -- | Frees all resources of the SRP-6 server session object
src/Botan/Bindings/TOTP.hs view
@@ -64,7 +64,7 @@  -- | Botan TOTP object newtype {-# CTYPE "botan/ffi.h" "botan_totp_t" #-} BotanTOTP-    = MkBotanTOTP { runBotanTOTP :: Ptr BotanTOTPStruct }+    = MkBotanTOTP { ptr :: Ptr BotanTOTPStruct }         deriving newtype (Eq, Ord, Storable)  -- | Destroy a TOTP instance
src/Botan/Bindings/X509.hsc view
@@ -82,7 +82,7 @@  -- | Botan X509Cert object newtype {-# CTYPE "botan/ffi.h" "botan_x509_cert_t" #-} BotanX509Cert-    = MkBotanX509Cert { runBotanX509Cert :: Ptr BotanX509CertStruct }+    = MkBotanX509Cert { ptr :: Ptr BotanX509CertStruct }         deriving newtype (Eq, Ord, Storable)  -- | Destroy a X509Cert instance@@ -295,7 +295,7 @@  -- | Botan X509CRL object newtype {-# CTYPE "botan/ffi.h" "botan_x509_crl_t" #-} BotanX509CRL-    = MkBotanX509CRL { runBotanX509CRL :: Ptr BotanX509CRLStruct }+    = MkBotanX509CRL { ptr :: Ptr BotanX509CRLStruct }         deriving newtype (Eq, Ord, Storable)  -- | Destroy a X509CRL instance