hackage-security-0.5.2.2: Hackage security library

# hackage-security-0.5.2.2: Hackage security library

The hackage security library provides both server and client utilities for securing the Hackage package server (http://hackage.haskell.org/). It is based on The Update Framework (http://theupdateframework.com/), a set of recommendations developed by security researchers at various universities in the US as well as developers on the Tor project (https://www.torproject.org/).

The current implementation supports only index signing, thereby enabling untrusted mirrors. It does not yet provide facilities for author package signing.

The library has two main entry points: Hackage.Security.Client is the main entry point for clients (the typical example being `cabal`), and Hackage.Security.Server is the main entry point for servers (the typical example being `hackage-server`).

Modules

- Hackage
  - Security
    - Hackage.Security.Client
      - Hackage.Security.Client.Formats
      - Hackage.Security.Client.Repository
        - Hackage.Security.Client.Repository.Cache
        - Hackage.Security.Client.Repository.HttpLib
        - Hackage.Security.Client.Repository.Local
        - Hackage.Security.Client.Repository.Remote
      - Hackage.Security.Client.Verify
    - Hackage.Security.JSON
    - Key
      - Hackage.Security.Key.Env
    - Hackage.Security.Server
    - TUF
      - Hackage.Security.TUF.FileMap
    - Hackage.Security.Trusted
    - Util
      - Hackage.Security.Util.Checked
      - Hackage.Security.Util.IO
      - Hackage.Security.Util.Lens
      - Hackage.Security.Util.Path
      - Hackage.Security.Util.Pretty
      - Hackage.Security.Util.Some
- Text
  - JSON
    - Text.JSON.Canonical