Changelog of @hackage/HsOpenSSL 0.11.7.7

2024-06-11 Vladimir Shabanov dev@vshabanov.com

* HsOpenSSL.cabal (Version): Bump version to 0.11.7.7

* Added generic functionality for adding extensions to X509 (#87)
by Ishan Sharma @ishan-rep

* Clear error stack after x509_verify validation failure (#91)
by Paolo Capriotti @pcapriotti

* Add withContextSetKeylogCallback: Allow any type inside action (#85)
by Akshay Mankar @akshaymankar

2022-06-19 Vladimir Shabanov dev@vshabanov.com

* HsOpenSSL.cabal (Version): Bump version to 0.11.7.6

* More options in Options.hsc (#82)
by @BeowulfDragon

* Add note to help users of Session.read and Session.tryRead (#81)
* Add withContextSetKeylogCallback (#79)
by Akshay Mankar @akshaymankar

* Github Actions for Linux, MacOS and Windows (#72)
by John Ky @newhoggy

2022-02-05 Vladimir Shabanov dev@vshabanov.com

* HsOpenSSL.cabal (Version): Bump version to 0.11.7.5

* Better suggestions when OpenSSL is not found (#75)

* Add contextSetALPNProtos
by Akshay Mankar @akshaymankar (#76)

2022-12-21 Vladimir Shabanov dev@vshabanov.com

* HsOpenSSL.cabal (Version): Bump version to 0.11.7.4

* Fixes more OpenSSL 3.0.x compilation issues (#74)

2022-12-17 Vladimir Shabanov dev@vshabanov.com

* HsOpenSSL.cabal (Version): Bump version to 0.11.7.3

* Use capi instead of ccall for better compatibility
with OpenSSL 3.0 (#73, #63)

* Update documentation for ssl cipher selection
by Adam Sandberg Eriksson @adamse (#66)

2021-09-29 Vladimir Shabanov dev@vshabanov.com

* HsOpenSSL.cabal (Version): Bump version to 0.11.7.2

* Fixed OpenSSL 3.0 linking errors (#62)

2021-07-28 Vladimir Shabanov dev@vshabanov.com

* HsOpenSSL.cabal (Version): Bump version to 0.11.7.1

* Fix SSL_CTX_set_session_id_context #61
by @flobrosch (#61)

2021-04-19 Vladimir Shabanov dev@vshabanov.com

* HsOpenSSL.cabal (Version): Bump version to 0.11.7

* Added Session.contextSetDefaultVerifyPaths
by Alexander Biehl @alexbiehl (#59)

* Fix for LibreSSL (#58)

2021-04-05 Vladimir Shabanov dev@vshabanov.com

* HsOpenSSL.cabal (Version): Bump version to 0.11.6.1

* Windows: Use libcrypto instead of eay; allow pkg-config.
by @slycelote (#57)

2021-03-19 Vladimir Shabanov dev@vshabanov.com

* HsOpenSSL.cabal (Version): Bump version to 0.11.6

* Added Session.contextSetSessionIdContext
by Francesco Gazzetta @fgaz (#56)

2020-11-06 Vladimir Shabanov dev@vshabanov.com

* HsOpenSSL.cabal (Version): Bump version to 0.11.5.1

* Fix for older GHC versions.

2020-11-02 Vladimir Shabanov dev@vshabanov.com

* HsOpenSSL.cabal (Version): Bump version to 0.11.5
(actually it is previous version that should be 0.11.5
since it added new API but it was already released
so we bumping version here).

* Handling SSL_ERROR_SYSCALL with errno=0 which means unexpected EOF.

2020-10-08 Vladimir Shabanov dev@vshabanov.com

* HsOpenSSL.cabal (Version): Bump version to 0.11.4.20

* Hostname validation
by @amesgen (#52)

* Do not compile OpenSSL modules twice for tests

2020-09-01 Vladimir Shabanov dev@vshabanov.com

* HsOpenSSL.cabal (Version): Bump version to 0.11.4.19

* HsOpenSSL.cabal: Discover OpenSSL via pkg-config
by Alexander Biehl @alexbiehl (#51)

2020-03-31 Vladimir Shabanov dev@vshabanov.com

* HsOpenSSL.cabal (Version): Bump version to 0.11.4.18

* LibreSSL compatibility
by Julian Ospald @hasufell (#45, #47)

2019-09-13 Vladimir Shabanov dev@vshabanov.com

* HsOpenSSL.cabal (Version): Bump version to 0.11.4.17

* Allow old time, allows building with bundled time back to GHC-7.4
by Oleg Grenrus @phadej (#46)

2019-01-21 Vladimir Shabanov dev@vshabanov.com

* HsOpenSSL.cabal:
Added upper version bounds to all dependencies (#41)

2019-01-21 Vladimir Shabanov dev@vshabanov.com

* HsOpenSSL.cabal (Version): Bump version to 0.11.4.16

* Compatibility for network-3.0.0
by Roman Borschel @romanb (#40)

* .travis.yml: Fixed build. Updated to last 3 GHC versions.

2018-09-08 Vladimir Shabanov dev@vshabanov.com

* HsOpenSSL.cabal (Version): Bump version to 0.11.4.15

* Link libopenssl before libcrypto
by Shea Levy @shlevy (#38)

2018-05-31 Vladimir Shabanov dev@vshabanov.com

* HsOpenSSL.cabal (Version): Bump version to 0.11.4.14

* HsOpenSSL.cabal: Removed upper bounds from all dependencies except
base where it is required.

2018-03-09 Vladimir Shabanov dev@vshabanov.com

* HsOpenSSL.cabal (Version): Bump version to 0.11.4.13

* HsOpenSSL.cabal: Removed Cabal upper bound,
fixed Cabal-Version format.

2018-01-24 Vladimir Shabanov dev@vshabanov.com

* HsOpenSSL.cabal (Version): Bump version to 0.11.4.12

* Fix the build with GHC 8.4
by Ryan Scott @RyanGlScott (#35)

2017-08-14 Vladimir Shabanov dev@vshabanov.com

* HsOpenSSL.cabal (Version): Bump version to 0.11.4.11

* cbits/HsOpenSSL.h: Hack OpenSSL version number when using LibreSSL
by Javier López @TheLinuxKitten (#31)

2017-07-25 Vladimir Shabanov dev@vshabanov.com

* HsOpenSSL.cabal (Version): Bump version to 0.11.4.10

* Declare dependency on `hsc2hs`
by Herbert Valerio Riedel @hvr (#28).

2017-06-08 Vladimir Shabanov dev@vshabanov.com

* HsOpenSSL.cabal (Version): Bump version to 0.11.4.9

* Added -DNOCRYPT to compile in newer MINGW versions
by Baojun Wang @wangbj (#27)

2017-04-26 Vladimir Shabanov dev@vshabanov.com

* HsOpenSSL.cabal (Version): Bump version to 0.11.4.8

* Setup.hs: Updated for Cabal-2.0
by Eric Mertens @glguy (#24)

2017-04-17 Vladimir Shabanov dev@vshabanov.com

* HsOpenSSL.cabal (Version): Bump version to 0.11.4.7

* Support for MinGW64,
by @varosi (#23)

2017-04-05 Vladimir Shabanov dev@vshabanov.com

* HsOpenSSL.cabal (Version): Bump version to 0.11.4.6

* Setup.hs: builds with ghc 8.2,
by Erik de Castro Lopo @erikd (#22)

2017-04-04 Vladimir Shabanov dev@vshabanov.com

* HsOpenSSL.cabal (Version): Bump version to 0.11.4.5

* cbits/HsOpenSSL.c: fixed HMAC_CTX_free invocation (#21)

2017-03-24 Vladimir Shabanov dev@vshabanov.com

* HsOpenSSL.cabal (Version): Bump version to 0.11.4.4

* OpenSSL/EVP/Digest.hsc (hmacLBS): fixed linking error (#19).

* Tests/OpenSSL/EVP/Digest.hs: added tests for hmacBS and hmacLBS.

2017-03-22 Vladimir Shabanov dev@vshabanov.com

* HsOpenSSL.cabal (Version): Bump version to 0.11.4.3

* OpenSSL/EVP/Digest.hsc (hmacLBS): added HMAC on lazy bytestrings,
by SX91 (#18).

2017-03-11 Vladimir Shabanov dev@vshabanov.com

* HsOpenSSL.cabal (Version): Bump version to 0.11.4.2

* Ported BN to integer-gmp-1.0.x,
by SX91 (#17).

2017-02-27 Vladimir Shabanov dev@vshabanov.com

* HsOpenSSL.cabal (Version): Bump version to 0.11.4.1

* Updated for OpenSSL 1.1.0 (#16)

2017-01-24 Vladimir Shabanov dev@vshabanov.com

* HsOpenSSL.cabal (Version): Bump version to 0.11.4

* Updated for OpenSSL 1.1.0 (#15)

2016-10-17 Vladimir Shabanov dev@vshabanov.com

* HsOpenSSL.cabal (Version): Bump version to 0.11.3.2

* Test/*, HsOpenSSL.cabal (Build-Depends):
Removed HUnit, test-framework and test-framework-hunit dependencies.

2016-10-15 Vladimir Shabanov dev@vshabanov.com

* HsOpenSSL.cabal (Version): Bump version to 0.11.3.1

* OpenSSL/Session.hsc: Detect failure of SSL_CTX_new,
by Eric Mertens @glguy (#13)

2016-10-14 Vladimir Shabanov dev@vshabanov.com

* HsOpenSSL.cabal (Version): Bump version to 0.11.3

* HsOpenSSL.cabal (Build-Depends): Bump HUnit upper bound,

* OpenSSL/RSA.hsc, OpenSSL/DER.hsc: moved DER function from RSA to DER
module. Added encoding/decoding of private keys in ASN.1 DER.
by @shak-mar (#12).

2016-10-08 Vladimir Shabanov dev@vshabanov.com

* HsOpenSSL.cabal (Version): Bump version to 0.11.2.4

* Setup.hs: Fixed handling of 'cabal configure' errors
in Homebrew/MacPorts OpenSSL autodetection.

2016-10-06 Vladimir Shabanov dev@vshabanov.com

* HsOpenSSL.cabal (Version): Bump version to 0.11.2.3

* HsOpenSSL.cabal, Setup.hs:
Automatic detection of Homebrew or MacPorts OpenSSL on macOS
with helpful (I hope ;) error messages (phonohawk#41).
Previous approach caused ld warning 'directory not found',
wasn't informative when OpenSSL is not installed and could
potentially prevent linking with OpenSSL from another source.

* HsOpenSSL.cabal: Bump Cabal-Version to 1.12 (bundled with GHC 7.2.2).

* OpenSSL/Session.hsc: Exposed OpenSSL.Session internal types,
by Eric Mertens @glguy (#10).

2016-10-05 Vladimir Shabanov dev@vshabanov.com

* HsOpenSSL.cabal (Version): Bump version to 0.11.2.2

* HsOpenSSL.cabal: Added Include-Dirs and Extra-Lib-Dirs for building
with Homebrew/MacPorts OpenSSL on Mac OS X 10.11+ (phonohawk#41)

2016-10-04 Vladimir Shabanov dev@vshabanov.com

* HsOpenSSL.cabal (Version): Bump version to 0.11.2.1

* HsOpenSSL.cabal (Build-Depends):
base >= 4.4 && < 5 (GHC >= 7.2) instead of == 4.* (GHC >= 6.10)

* OpenSSL/RSA.hsc: fixed incompatibility with GHC < 7.10

* .travis.yml: Added Travis Job, by Herbert Valerio Riedel @hvr (#8).

2016-10-04 Vladimir Shabanov dev@vshabanov.com

* HsOpenSSL.cabal (Version): Bump version to 0.11.2

* HsOpenSSL.cabal: New maintainer and GitHub repo path.

* HsOpenSSL.cabal: removed old-locale dependency (requires time >= 1.5).

    * examples/Client.hs: Added client example, by @mirokuratczyk (#7).

* OpenSSL/EVP/Internal.hsc: Added cipherSetPadding function,
by @SX91 (#6).

* OpenSSL/BN.hsc: prandInteger functions now use BN_pseudo_rand_range,
by @Pamelloes (#5).

* OpenSSL/RSA.hsc, OpenSSL/X509.hs, OpenSSL/X509/Request.hs, Test/OpenSSL/RSA.hs, HsOpenSSL.cabal:
DER reading/writing for X509, X509Req & RSA,
by @newsham, @shak-mar, @afcady (#4)

* HsOpenSSL.cabal (Includes): Added openssl/asn1.h, by phadej (#3).

* HsOpenSSL.cabal (Build-Depends): Bump HUnit upper bound,
by phadej (#2).

* 10 files: Fixed GHC 7.10 warnings,
by Mikhail Glushenkov @23Skidoo (#1).

2015-01-06 PHO pho@cielonegro.org

* HsOpenSSL.cabal (Version): Bump version to 0.11.1.1

* OpenSSL/SSL/Option.hsc: Guard SSL_OP_SAFARI_ECDHE_ECDSA_BUG with
#if defined(),  Reported by Leon Mergen (#37).

2014-12-31 PHO pho@cielonegro.org

* tests/DSA.hs: Rename to Test/OpenSSL/DSA.hs and make it a cabal
test-case.

* tests/Cipher.hs: Rename to Test/OpenSSL/Cipher.hs and make it a
cabal test-case.

* tests/Base64.hs: Rename to Test/OpenSSL/EVP/Base64.hs and make
it a cabal test-case.

* HsOpenSSL.cabal (Install-Includes): Removed. HsOpenSSL.h needs
not be installed.

* HsOpenSSL.cabal (Extensions): Removed. Use {-# LANGUAGE #-}
pragma instead.

* OpenSSL/EVP/Internal.hsc (VaguePKey, PKey): Turn documentation
comments into Haddock ones.

* OpenSSL/EVP/PKey.hsc (module): Do not re-export PKey. It was
only accidentally re-exported.

* HsOpenSSL.cabal (Build-Depends): Narrow version ranges that were
unnecessarily wide.

* HsOpenSSL.cabal (Build-Depends): ghc-prim is only required when
fast-bignum is enabled and the compiler is ghc < 6.11.

* HsOpenSSL.cabal (Build-Depends) [fast-bignum]: Declare that
integer-gmp >= 1 is not supported yet.  Reported by Herbert
Valerio Riedel (#36).

2014-12-23 PHO pho@cielonegro.org

* OpenSSL/ASN1.hsc (peekASN1Time): Support time-1.5,
Patch by Herbert Valerio Riedel (#35).

* OpenSSL/Session.hsc (context, connection'): Replace
addMVarFinalizer with mkWeakMVar to suppress deprecation warnings,
Patch by Ryan Desfosses (#33).

* OpenSSL/Session.hsc (tryShutdown): "shutdown Bidirectional"
always resulted in an exception "thread blocked indefinitely in an
MVar operation" because of the way we were using withMVar in
OpenSSL.Session.tryShutdown.  Reported by Andreas Voellmy (#32).

* OpenSSL/Session.hsc (contextAddOption, contextRemoveOption)
(addOption, removeOption, SSLOption): New functions and a data
type to disable SSLv3 vulnerable to the POODLE attack.
Suggested by Maxim Dikun (#34).

* HsOpenSSL.cabal (Version): Bump version to 0.11.1

2014-07-13 PHO pho@cielonegro.org

* OpenSSL/EVP/Base64.hsc (encodeBase64, decodeBase64): Mark as
deprecated.

* OpenSSL/EVP/Cipher.hsc (cipherInit): Removed. Use
OpenSSL.EVP.Internal.cipherInitBS instead. This is a
backward-incompatible change.

* OpenSSL/EVP/Cipher.hsc (cipher): Mark as deprecated.

* OpenSSL/EVP/Digest.hsc (digest): Mark as deprecated.

* OpenSSL/EVP/Digest.hsc (digestBS): Changed the return type from
String to strict ByteString. This is a backward-incompatible
change.

* OpenSSL/EVP/Digest.hsc (digestBS'): Removed. Use digestBS
instead. This is a backward-incompatible change.

* OpenSSL/EVP/Digest.hsc (digestLBS): Change the return type from
String to strict ByteString. This is a backward-incompatible
change.

* OpenSSL/EVP/Open.hsc (open): Mark as deprecated.

* OpenSSL/EVP/Open.hsc (openBS, openLBS): Take key and IV as a
strict ByteString intead of String. This is a
backward-incompatible change.

* OpenSSL/EVP/Seal.hsc (seal): Mark as deprecated.

* OpenSSL/EVP/Seal.hsc (sealBS, sealLBS): Return key and IV as a
strict ByteString intead of String. This is a
backward-incompatible change.

* OpenSSL/EVP/Sign.hsc (sign): Mark as deprecated.

* OpenSSL/EVP/Verify.hsc (verify): Mark as deprecated.

* OpenSSL/EVP/Verify.hsc (verifyBS, verifyLBS): Take signature as
a strict ByteString instead of String. This is a
backward-incompatible change.

* HsOpenSSL.cabal (Version): Bump version to 0.11

2014-07-13 PHO pho@cielonegro.org

* OpenSSL/EVP/Cipher.hsc: Expose cipherInit,  Patch by rnons (#31).

* HsOpenSSL.cabal (Exposed-Modules): Expose OpenSSL.EVP.Internal,
Patch by rnons (#31).

* HsOpenSSL.cabal (Version): Bump version to 0.10.5

2013-12-25 PHO pho@cielonegro.org

* OpenSSL/Session.hsc (contextSetCertificateChainFile): Add
function to support for setting a certificate chain file,
Patch by Jacob Stanley.

* HsOpenSSL.cabal (Extra-Source-Files): Add Server-example files,
Patch by Jacob Stanley.

* HsOpenSSL.cabal (Version): Bump version to 0.10.4

2013-12-11 PHO pho@cielonegro.org

* OpenSSL.hsc [base < 4.6] (modifyMVar_): Fix compilation,
Patch by Gregory Collins.

* HsOpenSSL.cabal: Bump version to 0.10.3.6

2013-11-07 PHO pho@cielonegro.org

* OpenSSL.hsc (withOpenSSL): OpenSSL.withOpenSSL is now safe to be
applied redundantly,  Suggested by Andrew Cowie (#26).

* COPYING: Update the license to CC0: copyright waiver with a
public license fallback. See
http://creativecommons.org/publicdomain/zero/1.0/

* HsOpenSSL.cabal: Bump version to 0.10.3.5

2013-09-05 PHO pho@cielonegro.org

* cbits/HsOpenSSL.c, cbits/HsOpenSSL.h: Fix a compilation issue
that occurs when using a different builddir with "cabal build
--builddir=DIR",  Reported by Bit Connor (#23), Gregory Collins
(#24) and Bas van Dijk (#25).

* HsOpenSSL.cabal: Bump version to 0.10.3.4

2012-08-28 PHO pho@cielonegro.org

* OpenSSL/Session.hsc: Merged #17 "Use MVar instead of QSem in
OpenSSL.Session",  Patch by Mikhail Vorozhtsov.

* HsOpenSSL.cabal: Bump version to 0.10.3.3

2012-07-21 PHO pho@cielonegro.org

* OpenSSL/PEM.hsc, OpenSSL/Session.hsc: Merged #15 "Fixed build
with base-4.6",  Patch by Mikhail Vorozhtsov.

* HsOpenSSL.cabal: Added a configuration flag 'fast-bignum' (#16).

* HsOpenSSL.cabal: Bump version to 0.10.3.2

2012-04-24 PHO pho@cielonegro.org

* OpenSSL/X509/Store.hsc: Merged #14 "Fixed X509_STORE_CTX
bindings vs OpenSSL 0.9.x",  Patch by Mikhail Vorozhtsov.

* HsOpenSSL.cabal: Bump version to 0.10.3.1

2012-04-17 PHO pho@cielonegro.org

* OpenSSL/X509/Store.hsc (getStoreCtxCert, getStoreCtxIssuer)
(getStoreCtxCRL, getStoreCtxChain): Merged #12 "Bindings to some
of the X509_STORE_CTX functions",  Patch by Mikhail Vorozhtsov.

* OpenSSL/Session.hsc: Merged #13 "Fixed early verification
callback deallocation crash",  Patch by Mikhail Vorozhtsov.

* HsOpenSSL.cabal: Bump version to 0.10.3

2012-04-16 PHO pho@cielonegro.org

* OpenSSL/PEM.hsc: Merged #10 "Fix X509 PEM reading/writing",
Patch by Mikhail Vorozhtsov.

* HsOpenSSL.cabal: Bump version to 0.10.2.1

2012-04-06 PHO pho@cielonegro.org

* OpenSSL/Session.hsc (readPtr, tryReadPtr, writePtr)
(tryWritePtr): Merged #9 "Add raw pointer read/write operations",
Patch by Iavor S. Diatchki.

* cbits/HsOpenSSL.h: Fixed #8 "HsOpenSSL 0.10.1.4 won't build",
Reported by vcxp.

* HsOpenSSL.cabal: Bump version to 0.10.2

2012-03-08 PHO pho@cielonegro.org

* OpenSSL/EVP/Internal.hsc, OpenSSL/X509.hsc: Fixed #7 "Haskell
Platform 2011.4 Support",  Reported by stepcut.

* HsOpenSSL.cabal: Bump version to 0.10.1.4

2012-03-04 PHO pho@cielonegro.org

* OpenSSL/Session.hsc (SSL, SSLContext, SSLResult, ShutdownType)
(VerificationMode): Make these types instances of Typeable.

* OpenSSL/Utils.hs: Add Num to constraints with Bits,
Patch by Ben Gamari.

* OpenSSL/DSA.hsc, OpenSSL/EVP/Base64.hsc, OpenSSL/EVP/Digest.hsc,
OpenSSL/EVP/Open.hsc, OpenSSL/RSA.hsc: Use unsafePerformIO from
System.IO.Unsafe,  Patch by Ben Gamari.

* OpenSSL/EVP/Internal.hsc, OpenSSL/X509.hsc:
Use unsafeForeignPtrToPtr from Foreign.ForeignPtr.Unsafe,
Patch by Ben Gamari.

* HsOpenSSL.cabal: Bump version to 0.10.1.3

2011-11-16 PHO pho@cielonegro.org

* OpenSSL/Session.hsc: SSL_get_error() must be called within the
OS thread which caused the failed operation as it inspects the
thread-local storage.

* OpenSSL/Session.hsc: write/tryWrite should throw EPIPE for
cleanly-closed connections rather than EOF.

* OpenSSL/Session.hsc: shutdown/tryShutdown shouldn't throw an
exception when a remote peer sends us a "close notify" alert and
closes the connection without waiting for our reply.

* OpenSSL/Session.hsc: ProtocolError should contain an error
message string.

* OpenSSL/EVP/*: Moved all EVP-related private functions to
OpenSSL.EVP.Internal,  Patch by Mikhail Vorozhtsov.

* HsOpenSSL.cabal: Bump version to 0.10.1.2

2011-09-22 PHO pho@cielonegro.org

* OpenSSL/Session.hsc: GHC 6.12.3 friendliness: don't use
Control.Monad.void,  Patch by Peter Gammie.

* OpenSSL/BN.hsc, OpenSSL/Cipher.hsc: Placate LLVM in GHC 7.3.x
HEAD: give memcpy the right type.  Patch by Peter Gammie and David
Terei.

* OpenSSL/Session.hsc: Use throwIO instead of throw to raise SSL
exceptions,  Patch by Mikhail Vorozhtsov.

* cbits/HsOpenSSL.c, cbits/HsOpenSSL.h: DHparams_dup() is a
function in OpenSSL 1.0.0 but is a macro in 0.9.8.

* OpenSSL/X509/Revocation.hsc: OpenSSL 0.9.8 doesn't provide
X509_CRL_get0_by_serial().

* HsOpenSSL.cabal: Bump version to 0.10.1.1

2011-08-27 PHO pho@cielonegro.org

* OpenSSL/DH.hsc: Added bindings to Diffie-Hellman functions,
Patch by Mikhail Vorozhtsov.

* OpenSSL/X509/Revocation.hsc: Added revocation lookup function,
Patch by Mikhail Vorozhtsov.

* OpenSSL/Session.hsc: Added optional verification callback to
VerifyPeer,  Patch by Mikhail Vorozhtsov.

* OpenSSL/Session.hsc: Expose low-level asynchronous versions of
accept, connect, read, write and shutdown,
Patch by Mikhail Vorozhtsov.

* HsOpenSSL.cabal: Bump version to 0.10.1

2011-07-26 PHO pho@cielonegro.org

* OpenSSL/Session.hsc (fdConnection, sslSocket): Support wrapping
plain file descriptors in SSL connections,
Patch by Mikhail Vorozhtsov.

* HsOpenSSL.cabal: Bump version to 0.10

2011-06-21 PHO pho@cielonegro.org

* OpenSSL/BN.hsc: Added missing BangPatterns pragma,
Patch by Mikhail Vorozhtsov.

* HsOpenSSL.cabal: Bump version to 0.9.0.1

2010-11-13 PHO pho@cielonegro.org

* OpenSSL/Session.hsc: Operations in OpenSSL.Session now throw
exceptions of individual exception types instead of plain strings,
Suggested by Arthur Chan.

* HsOpenSSL.cabal: Bump version to 0.9

2010-09-19 PHO pho@cielonegro.org

* HsOpenSSL.cabal: Fix Windows support as suggested in
<http://hackage.haskell.org/trac/ghc/wiki/Builder>,
Reported by Edward Z. Yang.

* HsOpenSSL.cabal: Bump version to 0.8.0.2

2010-02-09 PHO pho@cielonegro.org

* OpenSSL/PEM.hsc: Add PEM-functionality with a new PwBS that
works like PwStr except there are no superfluous extra copies
retained in the memory,  Patch by Taru Karttunen.

* OpenSSL/PEM.hsc: Make PEM callbacks use bracket which makes
cleanup work even if there are exceptions,
Patch by Taru Karttunen.

* OpenSSL/EVP/Sign.hsc: Export OpenSSL.EVP.Sign.signFinal,
Patch by Taru Karttunen.

* OpenSSL/EVP/Sign.hsc: Make OpenSSL.EVP.Sign.signFinal use
ByteStrings internally,  Patch by Taru Karttunen.

* OpenSSL/EVP/Digest.hsc: Document pkcs5_pbkdf2_hmac_sha1 in
OpenSSL.EVP.Digest,  Patch by Taru Karttunen.

* OpenSSL/RSA.hsc: Add rsaCopyPublic and rsaKeyPairFinalize to
OpenSSL.RSA,  Patch by Taru Karttunen.

* OpenSSL/EVP/Cipher.hsc: Add cipherStrictLBS - Encrypt a lazy
bytestring in a strict manner. Does not leak the keys,
Patch by Taru Karttunen.

* HsOpenSSL.cabal: Bump version to 0.8

2010-01-24 PHO pho@cielonegro.org

* HsOpenSSL.cabal, OpenSSL/BN.hsc: Make HsOpenSSL compatible with
GHC 6.12.1,  Patch by Taru Karttunen.

* HsOpenSSL.cabal: Bump version to 0.7

2009-08-03 PHO pho@cielonegro.org

* OpenSSL/Cipher.hsc: OpenSSL.Cipher now exports the type AESCtx,
Suggested by Carl Mackey.

* HsOpenSSL.cabal: Bump version to 0.6.5

2009-07-14 PHO pho@cielonegro.org

* OpenSSL/BIO.hsc: Unbreak BIO ForeignPtrs for GHC 6.10,
Patch by Taru Karttunen.

* HsOpenSSL.cabal: Bump version to 0.6.4

2009-07-13 PHO pho@cielonegro.org

* OpenSSL/EVP/Sign.hsc (signBS, signLBS): These functions should
return Strict.Bytestring and Lazy.Bytestring respectively,
Suggested by Grant Monroe.

* HsOpenSSL.cabal: Bump version to 0.6.3

2009-06-28 PHO pho@cielonegro.org

* HsOpenSSL.cabal: Moved away from the Configure build type to the
Simple build type,  Patch by John Van Enk and his friend.

* cbits/mutex-*: 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,  Patch by John Van Enk and his friend.

* HsOpenSSL.cabal: Bump version to 0.6.2

2009-06-02 PHO pho@cielonegro.org

* OpenSSL/Session.hsc (lazyRead, lazyWrite, contextGetCAStore)
(contextSetPrivateKey, contextSetCertificate): New functions.

* HsOpenSSL.cabal: Bump version to 0.6.1

2009-03-27 PHO pho@cielonegro.org

* OpenSSL/DSA.hsc: 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".

* OpenSSL/DSA.hsc (generateDSAParameters, generateDSAKey)
(generateDSAParametersAndKey, signDigestedDataWithDSA)
(verifyDigestedDataWithDSA): Rename functions to avoid name
collision with OpenSSL.RSA.

* OpenSSL/DSA.hsc (dsaToTuple, tupleToDSA): Break into separate
functions.

* OpenSSL/RSA.hsc: 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.hsc: 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.hsc (open, openBS, openLBS): Take "KeyPair k"
instead of "PKey".

* OpenSSL/EVP/Seal.hsc (seal, sealBS, sealLBS): Take
"SomePublicKey" instead of "PKey".

* OpenSSL/EVP/Sign.hsc (sign, signBS, signLBS): Take "KeyPair k"
instead of "PKey".

* OpenSSL/EVP/Verify.hsc (verify, verifyBS, verifyLBS): Take
"PublicKey k" instead of "PKey".

* OpenSSL/PEM.hsc (writePKCS8PrivateKey, readPrivateKey)
(writePublicKey, readPublicKey): Take/return "KeyPair k",
"SomKeyPair", "PublicKey k", or "SomePublicKey" instead of "PKey".

* OpenSSL/PKCS7.hsc (pkcs7Sign, pkcs7Decrypt): Take "KeyPair k"
instead of "PKey".

* OpenSSL/X509.hsc (signX509, verifyX509, getPublicKey)
(setPublicKey): Take/return "KeyPair k", "PublicKey k", or
"SomePublicKey" instead of "PKey".

* OpenSSL/X509/Request.hsc (signX509Req, verifyX509Req)
(getPublicKey, setPublicKey): Take/return "KeyPair k", "PublicKey
k", or "SomePublicKey" instead of "PKey".

* OpenSSL/X509/Revocation.hsc (signCRL, verifyCRL): Take "KeyPair
k" or "PublicKey k" instead of "PKey".

* OpenSSL/RSA.hsc (RSAPubKey, RSAKeyPair): Let these types be
instances of Eq, Ord and Show.

* OpenSSL/RSA.hsc (generateRSAKey'): New function.

* OpenSSL/DSA.hsc (DSAPubKey, DSAKeyPair): Let these types be
instances of Eq, Ord and Show.

* HsOpenSSL.cabal: Bump version to 0.6

2009-02-20 PHO pho@cielonegro.org

* HsOpenSSL.cabal: Fix incorrect dependency declaration in
HsOpenSSL.cabal. No semantical changes to the code.

* HsOpenSSL.cabal: Bump version to 0.5.2

2009-02-02 PHO pho@cielonegro.org

* OpenSSL/**/*.hsc: Fix breakage on 64-bit architectures,
Reported by Neumark Péter.

* HsOpenSSL.cabal: Bump version to 0.5.1

2009-01-14 PHO pho@cielonegro.org

* OpenSSL/BN.hsc, OpenSSL/PEM.hsc: Fix breakage on GHC 6.10.1, and
now requires 6.10.1...

* OpenSSL/EVP/Digest.hsc (pkcs5_pbkdf2_hmac_sha1): New function,
Patch by Taru Karttunen.

* HsOpenSSL.cabal: Bump version to 0.5

2008-06-11 PHO pho@cielonegro.org

* HsOpenSSL.cabal: 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.

* HsOpenSSL.cabal: Bump version to 0.4.2

2008-03-19 PHO pho@cielonegro.org

* OpenSSL/Session.hsc: Turn the Session IO inside out,
Patch by Adam Langley.

* OpenSSL/EVP/Digest.hsc: 64-bit fix for HMAC,
Patch by Adam Langley.

* OpenSSL/EVP/Cipher.hsc: Fix the foreign types of the cipher
functions to use CInt, not Int,  Patch by Adam Langley.

* OpenSSL/EVP/Digest.hsc: Add ByteString version of digestBS,
Patch by Adam Langley.

* OpenSSL/BN.hsc: Fix BN<->Integer conversions on 64-bit systems,
Patch by Adam Langley.

* OpenSSL/ASN1.hsc (peekASN1String): Another 64-bit fix,
Patch by Adam Langley.

* HsOpenSSL.cabal: Bump version to 0.4.1

2008-02-14 PHO pho@cielonegro.org

* OpenSSL/Session.hsc: Add the beginnings of session support,
Patch by Adam Langley.

* HsOpenSSL.cabal: Bump version to 0.4

2007-11-05 PHO pho@cielonegro.org

* OpenSSL/EVP/Base64.hsc (decodeBlock): decodeBase64* weren't
dropping the padding NUL.

* HsOpenSSL.cabal: Updates for 6.8.1 (also *requires* 6.8.1 now),
Patch by Adam Langley

* HsOpenSSL.cabal: Bump version to 0.3.1

2007-10-29 PHO pho@cielonegro.org

* OpenSSL/Cipher.hsc: Add non-EVP cipher support,
Patch by Adam Langley.

* OpenSSL/EVP/Digest.hsc: Add HMAC support in EVP,
Patch by Adam Langley.

* OpenSSL/Random.hsc: Add OpenSSL.Random,
Patch by Adam Langley.

* OpenSSL/BN.hsc: Additional utility functions in BN and exposing
BN,  Patch by Adam Langley.

* OpenSSL/BN.hsc: Bug fix for fast Integer<->BN functions,
Patch by Adam Langley.

* HsOpenSSL.cabal: Bump version to 0.3

2007-10-14 PHO pho@cielonegro.org

* OpenSSL/BN.hsc: Add support for fast Integer<->BN conversions,
Patch by Adam Langley.

* OpenSSL/DSA.hsc: Add DSA support,  Patch by Adam Langley.

* OpenSSL/BN.hsc (newBN): New BN utility function,
Patch by Adam Langley.

* OpenSSL/BN.hsc: FIX: set the BN ptr to NULL before calling
BN_dec2bn, otherwise that function thinks that there's a valid BN
there,  Patch by Adam Langley.

* OpenSSL/Utils.hsc: Add utility functions to print and read hex
numbers,  Patch by Adam Langley.

* HsOpenSSL.cabal: Bump version to 0.2

2007-08-25 PHO pho@cielonegro.org

* HsOpenSSL.hsc: Move hidden modules from Exposed-Modules to
Other-Modules.

* HsOpenSSL.cabal: Bump version to 0.1.1