diff --git a/gck-rpc-daemon-standalone.c b/gck-rpc-daemon-standalone.c index a0039f2f944644f7be3a0d9ce65fb27f1da4d1fc..5f30514dbe10aeb8f63caf62baf4590dd3b2105a 100644 --- a/gck-rpc-daemon-standalone.c +++ b/gck-rpc-daemon-standalone.c @@ -119,7 +119,7 @@ int main(int argc, char *argv[]) path = SOCKET_PATH; if (strcmp(path,"-") == 0) { - gck_rpc_layer_inetd(); + gck_rpc_layer_inetd(funcs); } else { sock = gck_rpc_layer_initialize(path, funcs); if (sock == -1) diff --git a/gck-rpc-dispatch.c b/gck-rpc-dispatch.c index de6f55886e34dd2cc09a3c4dbc03fb0c5a276435..6b0687d44f2ff7ea6128ecbcc5d5aac7eba1a7eb 100644 --- a/gck-rpc-dispatch.c +++ b/gck-rpc-dispatch.c @@ -101,7 +101,7 @@ void gck_rpc_log(const char *msg, ...) va_list ap; va_start(ap, msg); - vfprintf(stdout, msg, ap); + vfprintf(stderr, msg, ap); printf("\n"); va_end(ap); } @@ -2240,7 +2240,7 @@ void gck_rpc_layer_accept(void) pthread_mutex_unlock(&pkcs11_dispatchers_mutex); } -void gck_rpc_layer_inetd(void) +void gck_rpc_layer_inetd(CK_FUNCTION_LIST_PTR module) { CallState cs; @@ -2249,6 +2249,8 @@ void gck_rpc_layer_inetd(void) cs.read = &read; cs.write = &write; + pkcs11_module = module; + run_dispatch_thread(&cs); } diff --git a/gck-rpc-layer.h b/gck-rpc-layer.h index be6cdeb0c2e8c26692282d2b9c7e5c217971c7a0..5d2766c4fe5e466de380aab99fe04f848da6b80c 100644 --- a/gck-rpc-layer.h +++ b/gck-rpc-layer.h @@ -17,6 +17,6 @@ void gck_rpc_layer_uninitialize(void); void gck_rpc_layer_accept(void); /* Run a single connection off of STDIN - call from inetd or stunnel */ -void gck_rpc_layer_inetd(void); +void gck_rpc_layer_inetd(CK_FUNCTION_LIST_PTR funcs); #endif /* GCKRPC_LAYER_H_ */