chiark / gitweb /
Add new `knock' protocol.
authorMark Wooding <mdw@distorted.org.uk>
Thu, 24 Aug 2017 20:31:43 +0000 (21:31 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Sat, 16 Jun 2018 18:13:41 +0000 (19:13 +0100)
commit8362ac1c9b2fbf253b06a50639c57047d43a8fa2
tree0c5eb62c54a24da0547cb43737012fefdb15ed74
parentf6994bd047a35b06aa7aed3c59487000abec2325
Add new `knock' protocol.

  * Add a new option to the `ADD' command giving the knock string to
    send.

  * Add new protocol messages `token-rq', `token', and `knock', which
    together allow a possibly unknown peer to collect a single-use
    token (`token-rq' and `token') which it can use to identify itself,
    and use this to introduce itself to its (presumably) static
    peer (`knock').  This last message can either provoke a `KNOCK'
    notification to a service, or initiate key-exchange using a
    piggybacked `pre-challenge', possibly after having updated the
    peer's address.

  * Update the `connect' service to collect the necessary knock strings
    from the peer database, and to respond to `KNOCK' notifications.

  * Update the Wireshark dissector to recognize and dissect the new
    messages.  (The `cap.knock' file sneakily includes a message from
    the future, to be dissected in a later modification.)
17 files changed:
common/protocol.h
contrib/README
mon/tripemon.in
peerdb/peers.in
peerdb/peers.in.5.in
py/tripe.py.in
server/admin.c
server/keyexch.c
server/peer.c
server/tests.at
server/tripe-admin.5.in
server/tripe.c
server/tripe.h
svc/connect.8.in
svc/connect.in
wireshark/cap.knock [new file with mode: 0644]
wireshark/tripe.lua