summaryrefslogtreecommitdiff
path: root/p11p-daemon/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'p11p-daemon/README.md')
-rw-r--r--p11p-daemon/README.md46
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