diff options
author | Rob Austein <sra@hactrn.net> | 2016-12-28 00:27:03 -0500 |
---|---|---|
committer | Rob Austein <sra@hactrn.net> | 2016-12-28 00:27:03 -0500 |
commit | 0c9048b97575e56131cd89b3b0882cefa5de2cf2 (patch) | |
tree | ddaac526cc38e867758aa9848c7a61c1dbb782c5 /cryptech/libhal.py | |
parent | 147208e5724d92f49f7252d0e877979ff4424173 (diff) |
Experimental libhal RPC MUX based on PySerial and Tornado.
This is a work in progress, so far it only works with libhal.py
client, haven't adapted libhal C client code for this yet.
General idea is to let PySerial and Tornado handle all the pesky work
of dealing with Unix serial ports, PF_LOCAL connection management,
select() vs epoll() vs kqueue() vs ... I/O management, etcetera.
We could do this with just PySerial and the Python standard libraries,
but using Tornado allows us to do it in a single process, without
threading, and also leaves the door open for consolidating other HSM
management functions (eg, console access) into the same single daemon
process.
For the moment we're using SLIP framing over a SOCK_STREAM connection,
which is a bit silly but avoids the problem of OSX not supporting
SOCK_SEQPACKET. In the long run we're going to want a real channel
security protocol here, so don't sweat this too much right now.
Diffstat (limited to 'cryptech/libhal.py')
0 files changed, 0 insertions, 0 deletions