diff --git a/LICENCE b/LICENCE
--- a/LICENCE
+++ b/LICENCE
@@ -1,6 +1,6 @@
 An HTTP client for use with io-streams
 
-Copyright © 2012-2014 Operational Dynamics Consulting, Pty Ltd and Others
+Copyright © 2012-2017 Operational Dynamics Consulting, Pty Ltd and Others
 All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
diff --git a/http-streams.cabal b/http-streams.cabal
--- a/http-streams.cabal
+++ b/http-streams.cabal
@@ -1,6 +1,6 @@
 cabal-version:       >= 1.10
 name:                http-streams
-version:             0.8.4.0
+version:             0.8.5.2
 synopsis:            An HTTP client using io-streams
 description:
  /Overview/
@@ -17,11 +17,11 @@
 license-file:        LICENCE
 author:              Andrew Cowie <andrew@operationaldynamics.com>
 maintainer:          Andrew Cowie <andrew@operationaldynamics.com>
-copyright:           © 2012-2016 Operational Dynamics Consulting, Pty Ltd and Others
+copyright:           © 2012-2017 Operational Dynamics Consulting, Pty Ltd and Others
 category:            Web, IO-Streams
-tested-with:         GHC == 7.10.3, GHC == 8.0.1
+tested-with:         GHC == 8.0.2
 stability:           experimental
-homepage:            http://research.operationaldynamics.com/projects/http-streams/
+homepage:            http://github.com/afcowie/http-streams/
 bug-reports:         https://github.com/afcowie/http-streams/issues
 extra-source-files:  README.markdown CHANGELOG.markdown
                      tests/MockServer.hs
@@ -40,6 +40,10 @@
 
 build-type:          Custom
 
+custom-setup
+  setup-depends:     base >= 4,
+                     Cabal
+
 flag network-uri
    description: Get Network.URI from the network-uri package
    default: True
@@ -54,7 +58,7 @@
                      blaze-builder >= 0.4,
                      bytestring,
                      case-insensitive,
-                     io-streams >= 1.3 && < 1.4,
+                     io-streams >= 1.3 && < 1.5,
                      HsOpenSSL >= 0.10.3.5,
                      openssl-streams >= 1.1 && < 1.4,
                      mtl,
@@ -75,8 +79,7 @@
                      Network.Http.Utilities,
                      Network.Http.Inconvenience
 
-  ghc-options:       -O2
-                     -Wall
+  ghc-options:       -Wall
                      -Wwarn
                      -fwarn-tabs
                      -funbox-strict-fields
@@ -86,7 +89,7 @@
 
   include-dirs:      .
 
-  ghc-prof-options:  -fprof-auto-top
+  ghc-prof-options:  -fprof-auto-exported
 
 
 test-suite           check
@@ -123,10 +126,12 @@
                      unordered-containers,
                      aeson,
                      http-common  >= 0.8.2,
-                     http-streams >= 0.8.4
+                     http-streams >= 0.8.5
 
   hs-source-dirs:    lib,tests
   main-is:           check.hs
+  other-modules:     TestSuite
+                     MockServer
 
   ghc-options:       -O2
                      -threaded
diff --git a/lib/Network/Http/Connection.hs b/lib/Network/Http/Connection.hs
--- a/lib/Network/Http/Connection.hs
+++ b/lib/Network/Http/Connection.hs
@@ -236,6 +236,7 @@
     connect s a
 
     ssl <- SSL.connection ctx s
+    SSL.setTlsextHostName ssl h1
     SSL.connect ssl
 
     (i,o1) <- Streams.sslToStreams ssl
diff --git a/lib/Network/Http/Inconvenience.hs b/lib/Network/Http/Inconvenience.hs
--- a/lib/Network/Http/Inconvenience.hs
+++ b/lib/Network/Http/Inconvenience.hs
@@ -76,7 +76,7 @@
 import Network.Http.RequestBuilder
 import Network.Http.Types
 
-#if defined __LINUX__
+#if defined __LINUX__ || defined __FREEBSD__
 import System.Directory (doesDirectoryExist)
 #endif
 
@@ -240,6 +240,9 @@
     SSL.contextSetVerificationMode ctx SSL.VerifyNone
 #elif defined __WINDOWS__
     SSL.contextSetVerificationMode ctx SSL.VerifyNone
+#elif defined __FREEBSD__
+    SSL.contextSetCAFile ctx "/usr/local/etc/ssl/cert.pem"
+    SSL.contextSetVerificationMode ctx $ SSL.VerifyPeer True True Nothing
 #else
     fedora <- doesDirectoryExist "/etc/pki/tls"
     if fedora
@@ -615,4 +618,3 @@
     case r of
         (Success a) ->  return a
         (Error str) ->  error str
-
