Remove parsing of non-existing TS_UD_SC_SEC1 fields

When RDP encryption method/level is NONE (CredSSP implies this case), TS_UD_SC_SEC1::encryptionLevel is the last present field. Subsequent fields aren't present in this case.

Change-Id: I44cfea3ed52fae1ed6c416aeb01c3cf6ff002a3c
Reviewed-on: https://code.wireshark.org/review/3545
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
This commit is contained in:
Eugene Sukhodolin 2014-08-10 20:24:05 -07:00 committed by Alexis La Goutte
parent ddada16e68
commit 7b05f6cf33

View file

@ -1769,10 +1769,6 @@ dissect_rdp_ServerData(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
{&hf_rdp_encryptionLevel, 4, &encryptionLevel, 0, 0, NULL },
FI_TERMINATOR
};
rdp_field_info_t ss_encryption_len_unused_fields[] = {
{&hf_rdp_unused, 4, NULL, 0, 0, NULL },
{&hf_rdp_unused, 4, NULL, 0, 0, NULL },
};
rdp_field_info_t encryption_fields[] = {
{&hf_rdp_serverRandomLen, 4, &serverRandomLen, 0, 0, NULL },
{&hf_rdp_serverCertLen, 4, &serverCertLen, 0, 0, NULL },
@ -1842,8 +1838,6 @@ dissect_rdp_ServerData(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
if ((encryptionLevel != 0) || (encryptionMethod != 0)) {
/*lcl_offset =*/ dissect_rdp_fields(tvb, lcl_offset, pinfo, next_tree, encryption_fields, 0);
} else {
/*lcl_offset =*/ dissect_rdp_fields(tvb, lcl_offset, pinfo, next_tree, ss_encryption_len_unused_fields, 0);
}
rdp_info->encryptionMethod = encryptionMethod;