The smallest LDAP PDU is 7 bytes, not 4.

svn path=/trunk/; revision=36777
This commit is contained in:
Jeff Morriss 2011-04-21 19:51:05 +00:00
parent 3edd2b5b0d
commit 9be16e49c4
2 changed files with 64 additions and 6 deletions

View File

@ -1705,7 +1705,36 @@ this_was_not_sasl:
goto this_was_not_normal_ldap;
}
tcp_dissect_pdus(tvb, pinfo, tree, ldap_desegment, 4, get_normal_ldap_pdu_len, dissect_normal_ldap_pdu);
/*
* The minimun size of a LDAP pdu is 7 bytes
*
* dumpasn1 -hh ldap-unbind-min.dat
*
* <30 05 02 01 09 42 00>
* 0 5: SEQUENCE {
* <02 01 09>
* 2 1: INTEGER 9
* <42 00>
* 5 0: [APPLICATION 2]
* : Error: Object has zero length.
* : }
*
* dumpasn1 -hh ldap-unbind-windows.dat
*
* <30 84 00 00 00 05 02 01 09 42 00>
* 0 5: SEQUENCE {
* <02 01 09>
* 6 1: INTEGER 9
* <42 00>
* 9 0: [APPLICATION 2]
* : Error: Object has zero length.
* : }
*
* 6 bytes would also be ok to get the full length of
* the pdu, but as the smallest pdu can be 7 bytes
* we can use 7.
*/
tcp_dissect_pdus(tvb, pinfo, tree, ldap_desegment, 7, get_normal_ldap_pdu_len, dissect_normal_ldap_pdu);
goto end;

View File

@ -1,7 +1,7 @@
/* Do not modify this file. */
/* It is created automatically by the ASN.1 to Wireshark dissector compiler */
/* packet-ldap.c */
/* ../../tools/asn2wrs.py -b -p ldap -c ./ldap.cnf -s ./packet-ldap-template -D . Lightweight-Directory-Access-Protocol-V3.asn */
/* ../../../tools/asn2wrs.py -b -p ldap -c ../../../asn1/ldap/ldap.cnf -s ../../../asn1/ldap/packet-ldap-template -D ../../../asn1/ldap Lightweight-Directory-Access-Protocol-V3.asn */
/* Input file: packet-ldap-template.c */
@ -4669,7 +4669,36 @@ this_was_not_sasl:
goto this_was_not_normal_ldap;
}
tcp_dissect_pdus(tvb, pinfo, tree, ldap_desegment, 4, get_normal_ldap_pdu_len, dissect_normal_ldap_pdu);
/*
* The minimun size of a LDAP pdu is 7 bytes
*
* dumpasn1 -hh ldap-unbind-min.dat
*
* <30 05 02 01 09 42 00>
* 0 5: SEQUENCE {
* <02 01 09>
* 2 1: INTEGER 9
* <42 00>
* 5 0: [APPLICATION 2]
* : Error: Object has zero length.
* : }
*
* dumpasn1 -hh ldap-unbind-windows.dat
*
* <30 84 00 00 00 05 02 01 09 42 00>
* 0 5: SEQUENCE {
* <02 01 09>
* 6 1: INTEGER 9
* <42 00>
* 9 0: [APPLICATION 2]
* : Error: Object has zero length.
* : }
*
* 6 bytes would also be ok to get the full length of
* the pdu, but as the smallest pdu can be 7 bytes
* we can use 7.
*/
tcp_dissect_pdus(tvb, pinfo, tree, ldap_desegment, 7, get_normal_ldap_pdu_len, dissect_normal_ldap_pdu);
goto end;
@ -5583,7 +5612,7 @@ void proto_register_ldap(void) {
NULL, HFILL }},
/*--- End of included file: packet-ldap-hfarr.c ---*/
#line 2042 "../../asn1/ldap/packet-ldap-template.c"
#line 2071 "../../asn1/ldap/packet-ldap-template.c"
};
/* List of subtrees */
@ -5658,7 +5687,7 @@ void proto_register_ldap(void) {
&ett_ldap_T_warning,
/*--- End of included file: packet-ldap-ettarr.c ---*/
#line 2055 "../../asn1/ldap/packet-ldap-template.c"
#line 2084 "../../asn1/ldap/packet-ldap-template.c"
};
module_t *ldap_module;
@ -5789,7 +5818,7 @@ proto_reg_handoff_ldap(void)
/*--- End of included file: packet-ldap-dis-tab.c ---*/
#line 2169 "../../asn1/ldap/packet-ldap-template.c"
#line 2198 "../../asn1/ldap/packet-ldap-template.c"
}