From 351fb11521ef2fc176098a2c1404f50c6d6ff681 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andr=C3=A9=20Moreau?= Date: Mon, 23 Apr 2012 15:10:18 -0400 Subject: [PATCH] libfreerdp-core: fix signing of messages with TSG --- libfreerdp-core/rpc.c | 4 +++- libfreerdp-core/rpc.h | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/libfreerdp-core/rpc.c b/libfreerdp-core/rpc.c index 4c586bf2a..7f0c1ba81 100644 --- a/libfreerdp-core/rpc.c +++ b/libfreerdp-core/rpc.c @@ -738,7 +738,7 @@ int rpc_tsg_write(rdpRpc* rpc, uint8* data, int length, uint16 opnum) Message.ulVersion = SECBUFFER_VERSION; Message.pBuffers = (PSecBuffer) &Buffers; - encrypt_status = ntlm->table->EncryptMessage(&ntlm->context, 0, &Message, 0); + encrypt_status = ntlm->table->EncryptMessage(&ntlm->context, 0, &Message, rpc->send_seq_num++); if (encrypt_status != SEC_E_OK) { @@ -952,6 +952,8 @@ rdpRpc* rpc_new(rdpSettings* settings) rpc->ReceiveWindow = 0x00010000; rpc->VirtualConnection = rpc_client_virtual_connection_new(rpc); + rpc->send_seq_num = 0; + rpc->settings = settings; rpc->ntlm = ntlm_new(); diff --git a/libfreerdp-core/rpc.h b/libfreerdp-core/rpc.h index bc5ddb904..735c4ddcc 100644 --- a/libfreerdp-core/rpc.h +++ b/libfreerdp-core/rpc.h @@ -651,6 +651,8 @@ struct rdp_rpc RpcVirtualConnection* VirtualConnection; + int send_seq_num; + uint32 call_id; uint32 pipe_call_id; };