X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=iso.c;h=a098ad5f50826b3e566cf3d849a62816a5488105;hb=d7f4fdca92c39405a79d71d3910ff114e0a692f0;hp=c694624962c6bb90d68262dfa02606542d951ec1;hpb=d4bb133e346809bf5393c0cdb06b2a422b99dddb;p=rdpsrv diff --git a/iso.c b/iso.c index c694624..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,6 +200,7 @@ iso_recv_connect(int server_sock) DEBUG(("Got ISO connection request\n")); + iso_send_msg(ISO_PDU_CC, 0); return 1; } @@ -209,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(); }