X-Git-Url: https://git.sesse.net/?p=rdpsrv;a=blobdiff_plain;f=iso.c;h=a098ad5f50826b3e566cf3d849a62816a5488105;hp=905e54a2fbf8b28cfe8953f38ae70cc5c848b11d;hb=99f2e8c32508ab193c1d42221c86cb7fca4be9ab;hpb=3c6b8a5bfb9ee7115afbe58c12d67abfb42096f1;ds=sidebyside diff --git a/iso.c b/iso.c index 905e54a..a098ad5 100644 --- 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); @@ -111,10 +111,8 @@ iso_recv_msg(uint8 * code) if ((version & 3) == 0) { - // FIXME :-) - // rdp5_process(s, version & 0x80); - printf("rdp5_process()\n"); - goto next_packet; + rdp5_process(s, version & 0x80); + return NULL; } in_uint8s(s, 1); /* hdrlen */ @@ -185,7 +183,7 @@ iso_recv(void) BOOL iso_recv_connect(int server_sock) { - STREAM s; + STREAM s, t; uint8 code; tcp_recv_connect(server_sock); @@ -202,19 +200,7 @@ iso_recv_connect(int server_sock) DEBUG(("Got ISO connection request\n")); - iso_init(0); - - /* send an CC PDU back */ - out_uint8(s, 3); /* version */ - out_uint8(s, 0); /* reserved */ - out_uint16_be(s, 0); - - out_uint8(s, 2); /* hdrlen */ - out_uint8(s, ISO_PDU_CC); /* code */ - out_uint8(s, 0x80); /* eot */ - - tcp_send(s); - + iso_send_msg(ISO_PDU_CC, 0); return 1; } @@ -222,6 +208,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(); }