    -- |
    -- Module      : Data.X509.Validation.Types
    -- License     : BSD-style
    -- Maintainer  : Vincent Hanquez <vincent@snarc.org>
    -- Stability   : experimental
    -- Portability : unknown
    --
    -- X.509 Validation types
    module Data.X509.Validation.Types (
        ServiceID,
        HostName,
    ) where

    import Data.ByteString (ByteString)

    type HostName = String

    -- | identification of the connection consisting of the
    -- fully qualified host name (e.g. www.example.com) and
    -- an optional suffix.
    --
    -- The suffix is not used by the validation process, but
    -- is used by the optional cache to identity certificate per service
    -- on a specific host. For example, one might have a different
    -- certificate on 2 differents ports (443 and 995) for the same host.
    --
    -- for TCP connection, it's recommended to use: :port, or :service for the suffix.
    type ServiceID = (HostName, ByteString)