/mandos/trunk

To get this branch, use:
bzr branch http://bzr.recompile.se/loggerhead/mandos/trunk

« back to all changes in this revision

Viewing changes to network-protocol.txt

  • Committer: teddy at recompile
  • Date: 2019-12-04 23:46:59 UTC
  • Revision ID: teddy@recompile.se-20191204234659-m4u7bxnjrns6d3fc
Simplification of Python 3 compatibility code

Apply previously-made change in mandos and mandos-ctl also to
mandos-monitor.

* mandos-monitor: Set "__metaclass__ = type" globally for Python 2,
  and remove inheriting from "object" in all places possible.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
The Mandos server announces itself as a Zeroconf service of type
2
 
"_mandos._tcp". The Mandos client sends a line of text where the first
3
 
whitespace-separated field is the protocol version, which currently is
4
 
"1".  The client and server then start a TLS protocol handshake with a
5
 
slight quirk: the Mandos server program acts as a TLS "client" while
6
 
the connecting Mandos client acts as a TLS "server".  The Mandos
7
 
client must supply an OpenPGP certificate, and the fingerprint of this
8
 
certificate is used by the Mandos server to look up (in a list read
9
 
from a file at start time) which binary blob to give the client.  No
10
 
other authentication or authorization is done by the server.
11
 
 
12
 
| Mandos server   |     | Mandos client                              |
13
 
|                 |     | <Connect>                                  |
14
 
|                 | <-  | "1\r\n"                                    |
15
 
| <TLS handshake> | <-> | <TLS handshake>                            |
16
 
|                 | <-  | OpenPGP public key (part of TLS handshake) |
17
 
| <Binary blob>   | ->  |                                            |
18
 
| <Close>         |     |                                            |