BOOL rdp_recv_client_info(rdpRdp* rdp, wStream* s) { UINT16 length; UINT16 channelId; UINT16 securityFlags; if (!rdp_read_header(rdp, s, &length, &channelId)) return FALSE; if (!rdp_read_security_header(s, &securityFlags)) return FALSE; if ((securityFlags & SEC_INFO_PKT) == 0) return FALSE; if (rdp->settings->DisableEncryption) { if (securityFlags & SEC_REDIRECTION_PKT) { fprintf(stderr, "Error: SEC_REDIRECTION_PKT unsupported\n"); return FALSE; } if (securityFlags & SEC_ENCRYPT) { if (!rdp_decrypt(rdp, s, length - 4, securityFlags)) { fprintf(stderr, "rdp_decrypt failed\n"); return FALSE; } } } return rdp_read_info_packet(s, rdp->settings); }
boolean rdp_recv_client_info(rdpRdp* rdp, STREAM* s) { uint16 length; uint16 channelId; uint16 securityFlags; if (!rdp_read_header(rdp, s, &length, &channelId)) return false; rdp_read_security_header(s, &securityFlags); if ((securityFlags & SEC_INFO_PKT) == 0) return false; if (rdp->settings->encryption) { if (securityFlags & SEC_REDIRECTION_PKT) { printf("Error: SEC_REDIRECTION_PKT unsupported\n"); return false; } if (securityFlags & SEC_ENCRYPT) { if (!rdp_decrypt(rdp, s, length - 4, securityFlags)) { printf("rdp_decrypt failed\n"); return false; } } } return rdp_read_info_packet(s, rdp->settings); }
boolean rdp_recv_client_info(rdpRdp* rdp, STREAM* s) { uint16 length; uint16 channelId; uint16 sec_flags; if (!rdp_read_header(rdp, s, &length, &channelId)) return False; rdp_read_security_header(s, &sec_flags); if ((sec_flags & SEC_INFO_PKT) == 0) return False; return rdp_read_info_packet(s, rdp->settings); }