pkspxy - The PKS proxy server
pkspxy [-d] [-o] [-c] [-F config-file]
The PKS proxy server is a caching proxy server which can be used together with PGP key servers such as pks.
The server listens to a certain port on the local system (by default port 11372, as opposed to port 11371 which is used by pks). It expects HTTP queries for URIs of the following form:
The x-time parameter is optional; its value is a time stamp in standard Unix time format (see time(2)) in decimal representation. If it is given, the server will only transfer data when it was gathered more recently than the timestamp given. When there is no data to transfer, the server will use a 204 HTTP return code.
The proxy server operates in two different modi. By default, it starts up in online mode. In this mode, the server will immediately try to gather data if it considers this necessary. In offline mode, the server will exclusively rely on the material contained in its cache, and add requests to a queue of postponed queries. Data gathering for postponed requests is tried after configurable intervals of time when in online mode.
Data gathering happens as follows: The proxy first checks whether there are already data for the query in question. If this is the case, it further checks if these data are older than a configurable amount of time. If this is the case, it will ask the key servers which are known to it. This process will stop with the first key server which responds with actual key material.
Switching between modes can be done at run-time: When pkspxy receives a SIGUSR1 signal, it will switch to online mode and immediately process the postponed queue. When it receives SIGUSR2, the server switches to offline mode.
Upon receiving a SIGTERM, SIGINT or SIGQUIT signal, the proxy will dump the postponed queue to a file in the spool area and exit. The file generated this way is automatically read when the server gets up.
pkspxyc(1), pkspxy.conf(5), pks-intro(8), pks(8), time(2), signal(7), find(1), rm(1)