~singpolyma/haskell-gnutls

ref: 4edd87d2079544e5f5eb963a3190f5f2f543a091 haskell-gnutls/lib/Network/Protocol/TLS d---------
4edd87d2 — John Millikin 7 years ago
Remove references to gnutls_certificate_type_set_priority.

This function was deprecated at some point in the distant past, and has
now been removed from gnutls upstream. There is no good replacement, and
no current users of the Haskell wrapper, so the easiest solution is to
remove setPriority from the binding.
a8b81673 — Michael Alan Dorman 7 years ago
Fixups for AMP changes.
0d7a60a1 — John Millikin 9 years ago
Fix a crash due to out-of-order garbage collection of Session values.

GnuTLS has separate initialization and deinitialization procedures for
global and per-session state. Previously, haskell-gnutls used Haskell's
garbage collector (via ForeignPtr) to manage these separate states by
creating a dummy GlobalState type representing an initialized global
state. The Session type contained ForeignPtrs to the global and session
state, with the idea that GC would collect them both at the same time
(albeit in non-determinstic order).

It turns out that session deinitialization *requires* an initialized
global state, and calling gnutls_deinit() after gnutls_global_deinit()
can cause a crash.

This patch solves the crash by removing the GlobalState ForeignPtr hack,
and ensuring that gnutls_global_deinit() is always called after
gnutls_deinit().

Originally reported by Keven McKenzie and Joey Hess.
777d6003 — John Millikin 10 years ago
After setting credentials, save a reference to the gnutls credentials
struct to keep them alive for the duration of the session.

Fixes a potential crash when opening connections, reported by Joey Hess.
04064950 — John Millikin 10 years ago
Remove unused FFI imports from gnutls-extra.

Bump version to 0.1.3.
50014171 — John Millikin 10 years ago
Minor cleanups. Remove maximum version of "transformers" dependency.
05137fd0 — John Millikin 10 years ago
Export 'rehandshake'.
c51832cc — John Millikin 10 years ago
Fix some compilation errors.
c36fdda7 — John Millikin 10 years ago
Clean up the Cabal file, and move library source to lib/.