Go to 40-bit encryption, and ignore junk at end of logon packets. This makes us under...
authorSteinar H. Gunderson <sesse@samfundet.no>
Sat, 5 Feb 2005 21:08:21 +0000 (21:08 +0000)
committerSteinar H. Gunderson <sesse@samfundet.no>
Sat, 5 Feb 2005 21:08:21 +0000 (21:08 +0000)
mcs.c
rdp.c
secure.c

diff --git a/mcs.c b/mcs.c
index e771a07..6c5bbb7 100644 (file)
--- a/mcs.c
+++ b/mcs.c
@@ -370,7 +370,7 @@ mcs_send_connect_response()
        // crypto info
        out_uint16_le(s, SEC_TAG_SRV_CRYPT);
        out_uint16_le(s, 84 + sizeof(cacert) + sizeof(server_cert)); // length
-       out_uint32_le(s, 8); // 128-bit
+       out_uint32_le(s, 1); // 128-bit
        out_uint32_le(s, 2); // medium
 
        out_uint32_le(s, SEC_RANDOM_SIZE); // random_len
diff --git a/rdp.c b/rdp.c
index 39d2ce8..e8e69cd 100644 (file)
--- a/rdp.c
+++ b/rdp.c
@@ -275,8 +275,9 @@ rdp_get_logon_info(STREAM s)
                printf("directory='%s'\n", directory);
        }
 
-       if (!s_check_end(s))
-               error("Unknown data at end of logon packet!\n");
+       if (!s_check_end(s)) {
+               printf("Unknown data at end of logon packet!\n");
+       }
 }
 
 /* Send a control PDU */
index 51e5f84..3d0a42c 100644 (file)
--- a/secure.c
+++ b/secure.c
@@ -763,6 +763,7 @@ sec_recv(void)
                        {
                                printf("Received logon packet!\n");
                                rdp_get_logon_info(s);
+                               continue;
                        }
 
                        if (sec_flags & SEC_CLIENT_RANDOM) {
@@ -794,7 +795,7 @@ sec_recv(void)
                                printf("\n");
 
                                // now we can generate the keys
-                               sec_generate_keys(inr + SEC_RANDOM_SIZE, cacert, 8);
+                               sec_generate_keys(inr + SEC_RANDOM_SIZE, cacert, 1);
                                continue;
                        }
                }