diff --git a/src/daemon/toks_daemon_acquire.c b/src/daemon/toks_daemon_acquire.c index 5fae774..6411eb8 100644 --- a/src/daemon/toks_daemon_acquire.c +++ b/src/daemon/toks_daemon_acquire.c @@ -354,6 +354,14 @@ int32_t __stdcall toks_daemon_acquire(struct toks_daemon_ctx * dctx) msg->syncinfo.ipckeys[5] = token->keys.key[5]; } + if ((token->meta.key[0] = msg->syncinfo.ipcsvc.keys.key[0])) { + token->meta.key[1] = msg->syncinfo.ipcsvc.keys.key[1]; + token->meta.key[2] = msg->syncinfo.ipcsvc.keys.key[2]; + token->meta.key[3] = msg->syncinfo.ipcsvc.keys.key[3]; + token->meta.key[4] = msg->syncinfo.ipcsvc.keys.key[4]; + token->meta.key[5] = msg->syncinfo.ipcsvc.keys.key[5]; + } + if ((status = toks_daemon_token_instance(token,&client))) { toks_daemon_token_reset(token); ntapi->zw_close(client.hprocess); diff --git a/src/internal/toksvc_daemon_impl.h b/src/internal/toksvc_daemon_impl.h index 52d5e99..9430274 100644 --- a/src/internal/toksvc_daemon_impl.h +++ b/src/internal/toksvc_daemon_impl.h @@ -41,6 +41,7 @@ struct toks_token { struct toks_token * self; struct toks_client_ctx client; struct _nt_port_keys keys; + struct _nt_port_keys meta; }; struct toks_waiter {