Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | WIP parts from transparent-failover + half baked toml configdevel | Linus Nordberg | 2020-02-10 | 6 | -219/+547 |
| | | | | | | | | | | | | The transparent failover experiment, see branch transparent-failover, resulted in a bunch of changes that we want regardless of failover implementation. This commit incorporates these. This commit also has a half baked implementation of TOML file based configuration, to not expose the operator for Erlang syntax when configuring the daemon. TODO: sort this out! | ||||
* | Rename remote -> client | Linus Nordberg | 2020-01-10 | 5 | -118/+114 |
| | | | | Also rename token -> vtoken where appropriate. | ||||
* | Verify RPC version | Linus Nordberg | 2020-01-09 | 3 | -61/+96 |
| | | | | | | | | | | Don't just forward the version octet, verify it and refuse other protocol versions. Send it once in each direction and don't count on the misconception that new client means new remote, or vice versa. Especially the latter, that a new remote means new client, will be untrue as soon as we implement failover. | ||||
* | Code cleanup, variable renaming | Linus Nordberg | 2020-01-07 | 7 | -156/+167 |
| | | | | | | | | Move away from func(Foo) -> NewFoo = something(Foo) and instead use FooIn and Foo, or something else that makes sense. | ||||
* | Servers don't need to know socket path | Linus Nordberg | 2020-01-07 | 2 | -12/+14 |
| | |||||
* | Set up environment for remotes according to configuration | Linus Nordberg | 2020-01-07 | 3 | -18/+38 |
| | |||||
* | 0.2.0-dev | Linus Nordberg | 2019-10-09 | 1 | -1/+1 |
| | |||||
* | p11p-0.1.0p11p-0.1.0 | Linus Nordberg | 2019-07-02 | 1 | -1/+1 |
| | |||||
* | add copyright and license info headers | Linus Nordberg | 2019-07-02 | 10 | -0/+30 |
| | |||||
* | improve that comment | Linus Nordberg | 2019-07-02 | 1 | -1/+1 |
| | |||||
* | get rid of hardcoded EUID | Linus Nordberg | 2019-07-02 | 1 | -2/+5 |
| | |||||
* | move path to p11-kit-remote properly | Linus Nordberg | 2019-07-02 | 1 | -5/+3 |
| | |||||
* | move path to p11-kit-remote to config | Linus Nordberg | 2019-07-02 | 2 | -2/+10 |
| | |||||
* | implement load balancing | Linus Nordberg | 2019-07-02 | 4 | -35/+84 |
| | |||||
* | clarify that return value from terminate/2 is ignored | Linus Nordberg | 2019-07-01 | 1 | -3/+3 |
| | |||||
* | stop server with reason normal | Linus Nordberg | 2019-07-01 | 1 | -1/+1 |
| | | | | | | I'm starting to think that 'shutdown' means that we're shutting down the application. Anyhow, we're not using this information, other than for debug printouts, which we can do explicitly instead. | ||||
* | go back to lists:map | Linus Nordberg | 2019-07-01 | 1 | -4/+5 |
| | | | | | I think it makes sense using map/2 when changing a list, like here, and use list comprehensions when filtering and bulding _other_ lists. | ||||
* | add outcommented code for testing remote timeouts | Linus Nordberg | 2019-07-01 | 1 | -0/+9 |
| | |||||
* | make events casts instead of calls; ask remotes to stop themselves | Linus Nordberg | 2019-07-01 | 2 | -23/+35 |
| | | | | | | | casts bc don't risk blocking avoiding gen_server:stop/1 so that we terminate processes which we are not sure are alive | ||||
* | comment | Linus Nordberg | 2019-07-01 | 1 | -1/+1 |
| | |||||
* | when a remote times out, hang up its p11 client | Linus Nordberg | 2019-07-01 | 1 | -2/+2 |
| | | | | | 7db7c1d ("remove some FIXME:s") contained more than what the commit message says. Needs this too. | ||||
* | remove some FIXME:s | Linus Nordberg | 2019-07-01 | 4 | -8/+9 |
| | |||||
* | add 'mode' to token config | Linus Nordberg | 2019-07-01 | 1 | -3/+16 |
| | |||||
* | rename client/server "change" -> "event" | Linus Nordberg | 2019-07-01 | 3 | -10/+10 |
| | |||||
* | document the manager a bit more | Linus Nordberg | 2019-07-01 | 1 | -7/+19 |
| | |||||
* | use a list comprehension in the place of lists:map/2 | Linus Nordberg | 2019-06-30 | 1 | -5/+4 |
| | | | | | | | | map/2 does _not_ risk reordering the list. The comment "The evaluation order depends on the implementation." in the documentation refers only to in which order fun is applied. A list comprehension looks a little bit nicer though, IMO. | ||||
* | rename manager functions to reflect where the policy lives | Linus Nordberg | 2019-06-30 | 3 | -11/+11 |
| | | | | | | Servers and remotes (soon renamed "clients") are not the ones implementing policy. They should therefore report events to the manager which then imposes policy. | ||||
* | at p11 client disconnect, server asks manager to kill remote | Linus Nordberg | 2019-06-30 | 3 | -18/+34 |
| | | | | | | | | Also, comment out all debug printouts reporting about octets sent and received, all four types. Missing: Switching remote behind the back of the p11 client, including replaying whatever needs to be replayed. | ||||
* | start remotes on demand rather than at manager startup | Linus Nordberg | 2019-06-30 | 2 | -36/+55 |
| | | | | | | | Also, rotate list of remotes on remote timeout. Still missing: When a remote times out, switch remote under the feet of the client. | ||||
* | make p11p_server:reply/2 a call too | Linus Nordberg | 2019-06-30 | 2 | -12/+12 |
| | |||||
* | turn most cast's into call's, for more synchronisity | Linus Nordberg | 2019-06-30 | 3 | -20/+30 |
| | |||||
* | parse rpc replies and timeout if they're not on time | Linus Nordberg | 2019-06-28 | 2 | -18/+42 |
| | | | | | | | | | | | | | | | | | Not that it works though, demonstrated thanks to our attempts at reusing a remote for a new client which is sending that version byte before the rpc message. At least I think that's why. Seems like send (to remote) is blocking and therefore the timeout can't fire (same process). First things is that the timeout should probably be in the server instead, in case the remote is blocking like in this case. Second is that we'd at least seen something if the server was calling the remote genserver instead of casting, du to the default gen_server:call timeout of 5s. Why are we casting in the first place? Well, we had to back when we didn't collect the full rpc message before passing it on. That could change now. | ||||
* | don't send that version octet by itself | Linus Nordberg | 2019-06-28 | 4 | -34/+40 |
| | | | | Instead, add it to new remote outbuf. | ||||
* | parse rpc requests and don't send until we've got a full request | Linus Nordberg | 2019-06-28 | 1 | -14/+30 |
| | |||||
* | serialise rpc | Linus Nordberg | 2019-06-28 | 1 | -2/+10 |
| | |||||
* | prepend debug printouts with own pid | Linus Nordberg | 2019-06-28 | 1 | -10/+7 |
| | |||||
* | first rought cut of an rpc parser | Linus Nordberg | 2019-06-28 | 2 | -0/+173 |
| | |||||
* | add a genserver for handling remotes and start forwarding data | Linus Nordberg | 2019-06-27 | 4 | -45/+158 |
| | | | | | | | | | | Current status is that p11tool successfully performs a --list-tokens request over p11p, yay! Only once though -- the next request hangs. heh. Also, the timeout logic is wrong and should move to the server, measuring the time it takes to get a full p11 response. This reqires parsing of the p11-kit rpc protocol, which we need anyway. | ||||
* | type | Linus Nordberg | 2019-06-27 | 1 | -1/+1 |
| | |||||
* | add remote manager, fork+execing p11-kit-remote processes | Linus Nordberg | 2019-06-26 | 3 | -6/+104 |
| | |||||
* | keep tokens and their modules in maps | Linus Nordberg | 2019-06-26 | 2 | -38/+73 |
| | | | | | | For convenient lookup by name. Not the most storage efficient, and maybe proplists would be better suited. Learning maps is useful though. | ||||
* | stop exposing config records | Linus Nordberg | 2019-06-24 | 5 | -26/+15 |
| | |||||
* | debug | Linus Nordberg | 2019-06-24 | 1 | -0/+2 |
| | |||||
* | init servers from config; cleanup on app stop | Linus Nordberg | 2019-06-24 | 3 | -11/+29 |
| | |||||
* | make top sup rest-for-one: restart servers if config changes | Linus Nordberg | 2019-06-24 | 1 | -1/+1 |
| | |||||
* | whitespace | Linus Nordberg | 2019-06-24 | 1 | -1/+1 |
| | |||||
* | start one sock_server per token; give servers a chance to clean up | Linus Nordberg | 2019-06-24 | 2 | -31/+63 |
| | | | | still not rm'ing the socket file though. wonder where that should happen. | ||||
* | include unix pid in socket name | Linus Nordberg | 2019-06-24 | 1 | -3/+4 |
| | |||||
* | use default intensity/restart values (1 restart in 5 seconds) | Linus Nordberg | 2019-06-24 | 1 | -4/+5 |
| | |||||
* | server side accepting connections, reading from socket | Linus Nordberg | 2019-06-20 | 4 | -74/+101 |
| |