Commit Graph

4 Commits

Author SHA1 Message Date
mpl 896c8cda74 pkg/gpgchallenge: expose the clients handler
The Client used to start its own listener and http server, so it could
receive the Server's challenge. However, that design does not work when
the Client must be used in an application that is already an http(s)
server.

Therefore, this change adds a Handler method to the Client, that returns
the Client's handler, as well as the pattern it should registered for
with an HTTPS server. This means, it is now the responsibility of the
caller to setup the listener for the Client before the Challenge can be
started.

Change-Id: I160e21c470322f7acad209ac28a15eaeed36c2c4
2016-12-17 20:40:03 +01:00
mpl 9dc6d6db7c pkg/gpgchallenge: more paranoia against clients
-check claimed IP is a global unicast one
-set timeout on requests, so they don't make us create long-lived
connections for nothing
-prevent redirects
-disable keepalive connections

Change-Id: Ibdbdd9916ddc93eb58505b04b4f21de60e37c745
2016-12-15 23:06:16 +01:00
mpl b3d21d7faa pkg/gpgchallenge: require public key of at least 2048 bits
Change-Id: Id1e3bb32b4fb6b89d09303f8121b95b1008bd65a
2016-12-14 20:48:43 +01:00
mpl f4ae855a49 pkg/gpgchallenge: to prove IP ownership with a gpg challenge
A demo client and server are included, to help with testing.

TODO(mpl): restrict IP space

Issue #722

Change-Id: I6952069e8885c06adcbb8fca103af9d83f2fa9a7
2016-12-10 01:09:43 +01:00