]> git.sesse.net Git - rdpsrv/blobdiff - iso.c
Swap encrypt/decrypt (makes encryption with rdesktop work)
[rdpsrv] / iso.c
diff --git a/iso.c b/iso.c
index c694624962c6bb90d68262dfa02606542d951ec1..b0bafa71863c4beff5fede42e1b79c4e63a825c2 100644 (file)
--- a/iso.c
+++ b/iso.c
@@ -22,7 +22,7 @@
 
 /* Send a self-contained ISO PDU */
 static void
-iso_send_msg(uint8 code)
+iso_send_msg(uint8 code, uint8 class)
 {
        STREAM s;
 
@@ -34,9 +34,9 @@ iso_send_msg(uint8 code)
 
        out_uint8(s, 6);        /* hdrlen */
        out_uint8(s, code);
-       out_uint16(s, 0);       /* dst_ref */
-       out_uint16(s, 0);       /* src_ref */
-       out_uint8(s, 0);        /* class */
+       out_uint16(s, 0);               /* dst_ref */
+       out_uint16_be(s, 0x1234);       /* src_ref */
+       out_uint8(s, class);    /* class */
 
        s_mark_end(s);
        tcp_send(s);
@@ -185,7 +185,7 @@ iso_recv(void)
 BOOL
 iso_recv_connect(int server_sock)
 {
-       STREAM s;
+       STREAM s, t;
        uint8 code;
 
        tcp_recv_connect(server_sock);
@@ -202,6 +202,7 @@ iso_recv_connect(int server_sock)
 
        DEBUG(("Got ISO connection request\n"));
 
+       iso_send_msg(ISO_PDU_CC, 0);
        return 1;
 }
 
@@ -209,6 +210,6 @@ iso_recv_connect(int server_sock)
 void
 iso_disconnect(void)
 {
-       iso_send_msg(ISO_PDU_DR);
+       iso_send_msg(ISO_PDU_DR, 0);
        tcp_disconnect();
 }