From c785ab66890ad7b73c556d6afdf2bb8a32dd50e2 Mon Sep 17 00:00:00 2001 From: Stef Walter Date: Thu, 23 Aug 2012 15:34:04 +0200 Subject: 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 --- common/debug.c | 1 + common/debug.h | 1 + common/mock.c | 7 +++++++ common/mock.h | 3 +++ 4 files changed, 12 insertions(+) (limited to 'common') 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, -- cgit v1.1