ldap-client-og 0.4.0 → 0.5.0
raw patch · 3 files changed
+25/−2 lines, 3 filesdep +data-defaultdep +tlsPVP ok
version bump matches the API change (PVP)
Dependencies added: data-default, tls
API changes (from Hackage documentation)
- Ldap.Client: data () => NonEmpty a
+ Ldap.Client: data NonEmpty a
- Ldap.Client: data () => PortNumber
+ Ldap.Client: data PortNumber
- Ldap.Client: type AttrList f = [(Attr, f AttrValue)]
+ Ldap.Client: type AttrList (f :: Type -> Type) = [(Attr, f AttrValue)]
- Ldap.Client.Internal: data () => PortNumber
+ Ldap.Client.Internal: data PortNumber
- Ldap.Client.Internal: type AttrList f = [(Attr, f AttrValue)]
+ Ldap.Client.Internal: type AttrList (f :: Type -> Type) = [(Attr, f AttrValue)]
Files
- CHANGELOG.markdown +7/−0
- ldap-client-og.cabal +4/−2
- src/Ldap/Client.hs +14/−0
CHANGELOG.markdown view
@@ -1,3 +1,10 @@+0.5.0+===++ * Supported lts-23.28 (GHC 9.8.4)++ * tls update broke us+ 0.4.0 ===
ldap-client-og.cabal view
@@ -1,11 +1,11 @@ cabal-version: 1.12 --- This file has been generated from package.yaml by hpack version 0.37.0.+-- This file has been generated from package.yaml by hpack version 0.38.0. -- -- see: https://github.com/sol/hpack name: ldap-client-og-version: 0.4.0+version: 0.5.0 synopsis: Pure Haskell LDAP Client Library description: Pure Haskell LDAP client library implementing (parts of) RFC 4511. category: Network@@ -53,10 +53,12 @@ , bytestring , containers , crypton-connection+ , data-default , network , semigroups , stm , text+ , tls default-language: Haskell2010 test-suite spec
src/Ldap/Client.hs view
@@ -70,6 +70,7 @@ import qualified Data.ASN1.Error as Asn1 import qualified Data.ByteString as ByteString import qualified Data.ByteString.Lazy as ByteString.Lazy+import Data.Default (def) import Data.Foldable (asum) import Data.Function (fix) import Data.List.NonEmpty (NonEmpty((:|)))@@ -79,6 +80,8 @@ import Data.Typeable (Typeable) import Network.Connection (Connection) import qualified Network.Connection as Conn+import qualified Network.TLS as Tls+import qualified Network.TLS.Extra as Tls (ciphersuite_default) import Prelude hiding (compare) import qualified System.IO.Error as IO @@ -166,11 +169,21 @@ , Conn.connectionUseSocks = Nothing } +-- Due to crypton-connection's API (inherited from connection) being+-- a hot pile of garbage, we don't have a simple, convenient, and safe way+-- to override the very simple default TLS connection settings. Instead, we+-- have to painfully copy whatever is going on in+--+-- https://hackage-content.haskell.org/package/crypton-connection-0.4.5/docs/src/Network.Connection.Types.html#line-95+--+-- (or a newer version) and fiddle with it. Our fiddling also always breaks+-- on pretty much any changes in crypton-connection related to TLSSEttings. defaultTlsSettings :: Conn.TLSSettings defaultTlsSettings = Conn.TLSSettingsSimple { Conn.settingDisableCertificateValidation = False , Conn.settingDisableSession = False , Conn.settingUseServerName = False+ , Conn.settingClientSupported = def {Tls.supportedCiphers = Tls.ciphersuite_default} } insecureTlsSettings :: Conn.TLSSettings@@ -178,6 +191,7 @@ { Conn.settingDisableCertificateValidation = True , Conn.settingDisableSession = False , Conn.settingUseServerName = False+ , Conn.settingClientSupported = def {Tls.supportedCiphers = Tls.ciphersuite_default} } input :: FromAsn1 a => TQueue a -> Connection -> IO b