Changelog for HsOpenSSL-0.6.2

-*- Coding: utf-8 -*- Chanegs from 0.6.1 to 0.6.2 --------------------------- * Applied a patch by John Van Enk and his friend: 1) Moved away from the Configure build type to the Simple build type. 2) Removed the direct dependency on pthreads. This involved an indirection layer using the preprocessor. In linux/bsd, we use pthreads. In windows, we call out to the OS mutexing functions. This allows us to "cabal install" the HsOpenSSL library from the cmd.exe terminal in windows *without* having to use cygwin. Changes from 0.6 to 0.6.1 ------------------------- * OpenSSL.Session: - New functions: # lazyRead # lazyWrite # contextGetCAStore # contextSetPrivateKey # contextSetCertificate Changes from 0.5.2 to 0.6 ------------------------- * INCOMPATIBLE CHANGES: + OpenSSL.DSA: - The data type "DSA" is now broken into two separate types "DSAPubKey" and "DSAKeyPair" to distinguish between public keys and keypairs at type-level. These two data types are instances of class "DSAKey". - These functions are renamed to avoid name collision with OpenSSL.RSA: # generateParameters --> generateDSAParameters # generateKey --> generateDSAKey # generateParametersAndKey --> generateDSAParametersAndKey # signDigestedData --> signDigestedDataWithDSA # verifyDigestedData --> verifyDigestedDataWithDSA - These functions are broken into two separate functions: # dsaToTuple --> dsaPubKeyToTuple, dsaKeyPairToTuple # tupleToDSA --> tupleToDSAPubKey, tupleToDSAKeyPair + OpenSSL.RSA: - The data type "RSA" is now broken into two separate types "RSAPubKey" and "RSAKeyPair" to distinguish between public keys and keypairs at type-level. These two data types are instances of class "RSAKey". + OpenSSL.EVP.PKey: - The data type "PKey" is now broken into two separate classes, not data types, "PublicKey" and "KeyPair" to distinguish between public keys and keypairs at type-level. You can pass "RSAPubKey" and such like directly to cryptographic functions instead of the prior polymorphic type "PKey", for the sake of type classes. + OpenSSL.EVP.Open: - These functions now take "KeyPair k" instead of "PKey": # open # openBS # openLBS + OpenSSL.EVP.Seal: - These functions now take "SomePublicKey" instead of "PKey": # seal # sealBS # sealLBS + OpenSSL.EVP.Sign: - These functions now take "KeyPair k" instead of "PKey": # sign # signBS # signLBS + OpenSSL.EVP.Verify: - These functions now take "PublicKey k" instead of "PKey": # verify # verifyBS # verifyLBS + OpenSSL.PEM: - writePKCS8PrivateKey now takes "KeyPair k" instead of "PKey". - readPrivateKey now returns "SomeKeyPair" instead of "PKey". - writePublicKey now takes "PublicKey k" instead of "PKey". - readPublicKey now returns "SomePublicKey" instead of "PKey". + OpenSSL.PKCS7: - pkcs7Sign now takes "KeyPair k" instead of "PKey". - pkcs7Decrypt now takes "KeyPair k" instead of "PKey". + OpenSSL.X509: - signX509 now takes "KeyPair k" instead of "PKey". - verifyX509 now takes "PublicKey k" instead of "PKey". - getPublicKey now returns "SomePublicKey" instead of "PKey". - setPublicKey now takes "PublicKey k" instead of "PKey". + OpenSSL.X509.Request: - signX509Req now takes "KeyPair k" instead of "PKey". - verifyX509Req now takes "PublicKey k" instead of "PKey". - getPublicKey now returns "SomePublicKey" instead of "PKey". - setPublicKey now takes "PublicKey k" instead of "PKey". + OpenSSL.X509.Revocation: - signCRL now takes "KeyPair k" instead of "PKey". - verifyCRL now takes "PublicKey k" instead of "PKey". * OpenSSL.RSA: - RSAPubKey and RSAKeyPair are now instances of Eq, Ord and Show. - New function: generateRSAKey' * OpenSSL.DSA: - DSAPubKey and DSAKeyPair are now instances of Eq, Ord and Show. Changes from 0.5.1 to 0.5.2 --------------------------- * Fixed incorrect dependency declaration in HsOpenSSL.cabal. No semantical changes to the code. Changes from 0.5 to 0.5.1 ------------------------- * Fixed breakage on 64-bit architectures. Reported by: Neumark Péter Changes from 0.4.2 to 0.5 ------------------------- * Fixed breakage on GHC 6.10.1. And now requires 6.10.1... * Applied a patch by Taru Karttunen: - Add pkcs5_pbkdf2_hmac_sha1 to OpenSSL.EVP.Digest Changes from 0.4.1 to 0.4.2 --------------------------- * No .hs files which are generated from .hsc files should be in the tarball. If any .hs files are outdated, Cabal seems to compile the outdated files instead of newer .hsc files. Changes from 0.4 to 0.4.1 ------------------------- * Applied patches by Adam Langley: - Fix BN<->Integer conversions on 64-bit systems - Another 64-bit fix (OpenSSL.ASN1.peekASN1String) - Add ByteString version of digestBS - Fix the foreign types of the cipher functions to use CInt, not Int - 64-bit fix for HMAC - Turn the Session IO inside out - Silly cosmetic change Changes from 0.3.1 to 0.4 ------------------------- * Applied patches by Adam Langley: - Add the beginnings of session support - Add an example SSL server Changes from 0.3 to 0.3.1 ------------------------- * OpenSSL.EVP.Base64: Fix a bug in an internal function `decodeBlock': decodeBase64* didn't drop the padding NUL. * Applied patches by Adam Langley: - Updates for 6.8.1 (also *requires* 6.8.1 now) - tests/Base64.hs: Test for Base64 Changes from 0.2 to 0.3 ----------------------- * Applied patches by Adam Langley: - tests/DSA.hs: Add a DSA test: this just adds a binary which tests a few simple DSA cases (and runs a timing test) and prints "PASS" as the last line of stdout in the case that everything looks good. It doesn't include any hooks nor framework for running these. - Bug fix for fast Integer<->BN functions - OpenSSL.Cipher: Add non-EVP cipher support - OpenSSL.EVP.Digest: Add HMAC support in EVP - OpenSSL.Random: Add OpenSSL.Random - OpenSSL.BN: Additional utility functions in BN and exposing BN Changes from 0.1.1. to 0.2 -------------------------- * Applied patches by Adam Langley: - OpenSSL.DSA: Add DSA support - OpenSSL.BN: Add support for fast Integer<->BN conversions - OpenSSL.BN: New BN utility function, newBN - OpenSSL.BN: FIX: set the BN ptr to NULL before calling BN_dec2bn, otherwise that function thinks that there's a valid BN there - OpenSSL.Utils: Add utility functions to print and read hex numbers Changes from 0.1 to 0.1.1 ------------------------- * Moved hidden modules from Exposed-Modules to Other-Modules. * Added "time >= 1.1.1" to the Build-Depends.