aboutsummaryrefslogtreecommitdiff
path: root/cryptech_rpcmuxd
AgeCommit message (Collapse)Author
2017-01-04Convert "daemon" mode of C client code to use Python RPC MUX.Rob Austein
2016-12-28Experimental libhal RPC MUX based on PySerial and Tornado.Rob Austein
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.