Fix lengths (mstsc gets further now!)
authorSteinar H. Gunderson <sesse@samfundet.no>
Sat, 5 Feb 2005 03:28:48 +0000 (03:28 +0000)
committerSteinar H. Gunderson <sesse@samfundet.no>
Sat, 5 Feb 2005 03:28:48 +0000 (03:28 +0000)
mcs.c
protodiff.c
rdpsrv.c

diff --git a/mcs.c b/mcs.c
index 038886a..a61b6f5 100644 (file)
--- 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)
index cf5c9c7..9f39dcf 100644 (file)
@@ -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 ( ;; ) {
index 9e09d21..0251a2a 100644 (file)
--- 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();