network-simple-tls

Simple interface to TLS secured network sockets.

https://github.com/k0001/network-simple-tls

Version on this page:0.3.1
LTS Haskell 21.25:0.4.1
Stackage Nightly 2024-03-28:0.4.2
Latest on Hackage:0.4.2

See all snapshots network-simple-tls appears in

BSD-3-Clause licensed by Renzo Carbonara
Maintained by renλren.zone
This version can be pinned in stack with:network-simple-tls-0.3.1@sha256:3ba89d3bfc2f133a8b27e7acd6e6942b2bbc640ce6f231491ef7ea0586415e15,1288

Module documentation for 0.3.1

  • Network
    • Network.Simple
      • Network.Simple.TCP
        • Network.Simple.TCP.TLS

network-simple-tls

Build Status

Haskell library simplifying the useage of TLS secured network connections. Currently, only TCP sockets are supported. This package aims to be similar and compatible with the network-simple package.

Check the source or rendered Haddocks for extensive documentation.

This code is licensed under the terms of the so called 3-clause BSD license. Read the file named LICENSE found in this same directory for details.

See the PEOPLE file to learn about the people involved in this effort.

Changes

Version 0.3.1

  • Added SOCKS5 proxy support. See functions connectOverSOCKS5 and connectTlsOverSOCKS5.

  • Use safe-exceptions.

Version 0.3

  • BREAKING CHANGE: Changed type of the following functions: getDefaultClientSettings, makeClientSettings, updateClientParams, clientParams, makeServerSettings, updateServerParams, serverParams.

  • BREAKING CHANGE: Only TLS 1.1 and TLS 1.2 are supported by default.

  • Server’s choice of ciphers are always prefered over client’s.

  • Server code will mandate strong cipher requirements, client code will be more permissive.

  • Compatible with tls-1.4

  • Remove upper bounds for all dependencies except base.

Version 0.2.1

  • Ensure that the Socket TLS backend always receive the expected number of bytes. This issue showed up as the following exception previously:

    Error_Packet "partial packet: expecting 100 bytes, got: 6"
    

Version 0.2.0

  • Re-export Socket, SockAddr, HostName and ServiceName from Network.Socket at Network.Simple.TCP.TLS.

  • Re-export Context from Network.TLS at Network.Simple.TCP.TLS.

  • Generalize the IO monad by using MonadIO and MonadCatch (from the exceptions library).

  • Added makeClientContext, makeServerContext and useTlsThenClose.

  • Use Socket as a TLS backend instead of Handle.

  • Drop dependency on monad-random-api in favour of monad-random.

  • Dependency bumps.

Version 0.1.1.0

  • Export ‘Network.Socket.withSocketsDo’ from ‘Network.Simple.TCP.TLS’.

Version 0.1.0.1

  • Dependency bumps.

Version 0.1.0.0

  • First release.