From: Steinar H. Gunderson Date: Sat, 5 Feb 2005 03:28:48 +0000 (+0000) Subject: Fix lengths (mstsc gets further now!) X-Git-Url: https://git.sesse.net/?p=rdpsrv;a=commitdiff_plain;h=411dc381dcdd11dd5c12bbfcfb3f7177075d364e Fix lengths (mstsc gets further now!) --- diff --git a/mcs.c b/mcs.c index 038886a..a61b6f5 100644 --- a/mcs.c +++ b/mcs.c @@ -199,10 +199,10 @@ mcs_send_connect_response() STREAM s; int i; - s = iso_init(98); + s = iso_init(97); printf("INITLEN: %u\n", s->p - s->iso_hdr); - ber_out_header(s, MCS_CONNECT_RESPONSE, 93); + ber_out_header(s, MCS_CONNECT_RESPONSE, 94); ber_out_header(s, BER_TAG_RESULT, 1); out_uint8(s, 0); @@ -211,7 +211,7 @@ mcs_send_connect_response() mcs_out_domain_params(s, 34, 2, 0, 0xffff); // dumdidum? - ber_out_header(s, BER_TAG_OCTET_STRING, 59); + ber_out_header(s, BER_TAG_OCTET_STRING, 58); // some unknown header of sorts out_uint8(s, 0x00); @@ -224,8 +224,8 @@ mcs_send_connect_response() out_uint8(s, 0x2a); out_uint8(s, 0x14); out_uint8(s, 0x76); - out_uint8(s, 0x0a); // length? - out_uint8(s, 0x01); // length? + out_uint8(s, 0x0a); + out_uint8(s, 0x01); out_uint8(s, 0x01); out_uint8(s, 0x00); out_uint8(s, 0x01); @@ -236,8 +236,7 @@ mcs_send_connect_response() out_uint8(s, 0x44); out_uint8(s, 0x6e); - out_uint8(s, 0x81); // one byte length - out_uint8(s, 0x04); // unknown + out_uint8(s, 36); // one byte length // server info -- we claim to support RDP5 out_uint16_le(s, SEC_TAG_SRV_INFO); @@ -259,7 +258,7 @@ mcs_send_connect_response() out_uint16_le(s, SEC_TAG_SRV_CRYPT); out_uint16_le(s, 12); // length out_uint32_le(s, 1); // 40-bit - out_uint32_le(s, 0); // no encryption + out_uint32_le(s, 0); // no encryption s_mark_end(s); printf("LEN: %u\n", s->p - s->iso_hdr); @@ -412,6 +411,7 @@ mcs_recv(uint16 * channel) return s; case MCS_DPUM: + printf("Received DPUM (?)\n"); return NULL; case MCS_EDRQ: // Erect Domain (ignore) diff --git a/protodiff.c b/protodiff.c index cf5c9c7..9f39dcf 100644 --- a/protodiff.c +++ b/protodiff.c @@ -25,7 +25,7 @@ int main() printf("Got connection.\n"); - sock_real = tcp_connect("glasur.uka.no", 3389); + sock_real = tcp_connect("tsstud.stud.ntnu.no", 3389); sock_fake = tcp_connect("127.0.0.1", 3390); for ( ;; ) { diff --git a/rdpsrv.c b/rdpsrv.c index 9e09d21..0251a2a 100644 --- a/rdpsrv.c +++ b/rdpsrv.c @@ -10,7 +10,7 @@ #include "rdesktop.h" #include "scancodes.h" -const int tcp_port_rdp = 3390; +const int tcp_port_rdp = 3389; int create_server_socket(); int serve_client();