diff options
Diffstat (limited to 'p11p-daemon/README.md')
-rw-r--r-- | p11p-daemon/README.md | 46 |
1 files changed, 33 insertions, 13 deletions
diff --git a/p11p-daemon/README.md b/p11p-daemon/README.md index 43a4170..c1910b8 100644 --- a/p11p-daemon/README.md +++ b/p11p-daemon/README.md @@ -148,34 +148,54 @@ Quit by entering "q()." in the Erlang shell. ### Layout in src -There are clients, servers, remotes and tokens: -- Clients are p11 applications connecting to a unix socket set up by a - p11p_server. -- Servers proxy p11 requests between clients and remotes. -- Remotes are unix processes loading vendor.so at startup and talking - to a token. NOTE: This term, remote, was inherited from p11-kit and - will change at some point. -- Tokens are p11 devices, associated with one or more remotes. +Terms used: p11 apps, servers, clients, proxy apps, virtual tokens and +physical tokens. + +- p11 apps are PKCS #11 applications, not part of p11p-daemon, running + in their own processes and connecting to a unix socket set up by a + p11p-daemon server. + +- Servers, implemented in p11p_server, proxy PKCS #11 requests and + responses between a p11 app and a p11p-daemon client. + +- Clients, implemented in p11p_client, proxy PKCS #11 requests and + responses between p11p-daemon servers and a physical token, with the + help of a proxy app. + +- Proxy aps are considered part of p11p-daemon but run in separate + unix processes, loading vendor.so at startup and talking to a + physical token. Proxy apps are run by p11p-daemon clients. + +- Virtual tokens are p11p-daemon objects representing a group of + physical tokens. + +- Phsyical tokens are p11 devices, not part of p11p-daemon, associated + with a p11p-daemon proxy app. The modules are: - p11p_app.erl -- The application starts the main supervisor, p11p_sup. - p11p_sup.erl -- The main supervisor starts the the server - supervisor, the config server, and the manager of "remotes". + supervisor, the config server, and the manager. + +- p11p_manager.erl -- The manager of clients and virtual + tokens. Spawning clients when needed, facilitating failover and load + balancing. - p11p_server_sup.erl -- The server supervisor starts one server per configured token. - p11p_server.erl -- A server, binding to a unix socket and proxying - p11 requests and rsponses between clients and a remote. + p11 requests and rsponses between a connecting p11 app and a client. + +- p11p_client.erl -- A client, forking and executing proxy apps and + proxying p11 requests and responses between a proxy app and a + server. - p11p_config.erl -- The config server reads the configuration file(s) and is used by any module needing configuration. -- p11p_remote_manager.erl -- The manager of remotes - - ## Contact linus+p11p@sunet.se |