diff options
author | Stef Walter <stefw@gnome.org> | 2012-08-23 15:34:04 +0200 |
---|---|---|
committer | Stef Walter <stef@thewalter.net> | 2014-07-08 08:57:30 +0200 |
commit | c785ab66890ad7b73c556d6afdf2bb8a32dd50e2 (patch) | |
tree | b871dc6edf5e0a094fa3736eccdb92ca2a7091a8 /common | |
parent | 469e75bb8184392cb47b3cb4897589caabe56e70 (diff) |
rpc: Implement PKCS#11 messages/client/server code
* This enables passing around bytes which represent PKCS#11 RPC calls.
* Caller is responsible for connecting/disconnecting and so on.
* Client side caller gets a mixin from p11_rpc_client_init() to call
into, which generates callbacks with byte arrays to be transported.
* Server side calls p11_rpc_server_handle() with a CK_FUNCTION_LIST_PTR
on which relevant methods get called.
* Doesn't yet implement the actual daemon or clients etc...
https://bugs.freedesktop.org/show_bug.cgi?id=54105
Diffstat (limited to 'common')
-rw-r--r-- | common/debug.c | 1 | ||||
-rw-r--r-- | common/debug.h | 1 | ||||
-rw-r--r-- | common/mock.c | 7 | ||||
-rw-r--r-- | common/mock.h | 3 |
4 files changed, 12 insertions, 0 deletions
diff --git a/common/debug.c b/common/debug.c index b3327be..1fbdc7f 100644 --- a/common/debug.c +++ b/common/debug.c @@ -57,6 +57,7 @@ static struct DebugKey debug_keys[] = { { "proxy", P11_DEBUG_PROXY }, { "trust", P11_DEBUG_TRUST }, { "tool", P11_DEBUG_TOOL }, + { "rpc", P11_DEBUG_RPC }, { 0, } }; diff --git a/common/debug.h b/common/debug.h index 0dcfeae..6106f19 100644 --- a/common/debug.h +++ b/common/debug.h @@ -45,6 +45,7 @@ enum { P11_DEBUG_PROXY = 1 << 4, P11_DEBUG_TRUST = 1 << 5, P11_DEBUG_TOOL = 1 << 6, + P11_DEBUG_RPC = 1 << 7, }; extern int p11_debug_current_flags; diff --git a/common/mock.c b/common/mock.c index 51b32b6..01e095d 100644 --- a/common/mock.c +++ b/common/mock.c @@ -458,6 +458,13 @@ mock_C_Initialize__fails (CK_VOID_PTR init_args) } CK_RV +mock_X_Initialize__fails (CK_X_FUNCTION_LIST *self, + CK_VOID_PTR init_args) +{ + return mock_C_Initialize__fails (init_args); +} + +CK_RV mock_C_Finalize (CK_VOID_PTR reserved) { return_val_if_fail (pkcs11_initialized, CKR_CRYPTOKI_NOT_INITIALIZED); diff --git a/common/mock.h b/common/mock.h index 9128a63..6253386 100644 --- a/common/mock.h +++ b/common/mock.h @@ -133,6 +133,9 @@ CK_RV mock_C_Initialize__fails (CK_VOID_PTR init_args) CK_RV mock_X_Initialize (CK_X_FUNCTION_LIST *self, CK_VOID_PTR init_args); +CK_RV mock_X_Initialize__fails (CK_X_FUNCTION_LIST *self, + CK_VOID_PTR init_args); + CK_RV mock_C_Finalize (CK_VOID_PTR reserved); CK_RV mock_X_Finalize (CK_X_FUNCTION_LIST *self, |