diff options
Diffstat (limited to 'epan/dissectors/packet-ldap.c')
-rw-r--r-- | epan/dissectors/packet-ldap.c | 547 |
1 files changed, 293 insertions, 254 deletions
diff --git a/epan/dissectors/packet-ldap.c b/epan/dissectors/packet-ldap.c index 7d94e194ad..0ce93b5335 100644 --- a/epan/dissectors/packet-ldap.c +++ b/epan/dissectors/packet-ldap.c @@ -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 -X -e -p ldap -c ldap.cnf -s packet-ldap-template Lightweight-Directory-Access-Protocol-V3.asn */ +/* packet-ldap.c */ +/* ../../tools/asn2wrs.py -b -X -T -p ldap -c ldap.cnf -s packet-ldap-template Lightweight-Directory-Access-Protocol-V3.asn */ /* Input file: packet-ldap-template.c */ @@ -209,8 +209,7 @@ static int hf_ldap_ntlmsspNegotiate = -1; /* T_ntlmsspNegotiate */ static int hf_ldap_ntlmsspAuth = -1; /* T_ntlmsspAuth */ static int hf_ldap_mechanism = -1; /* Mechanism */ static int hf_ldap_credentials = -1; /* Credentials */ -static int hf_ldap_bindResponse_resultCode = -1; /* BindResponse_resultCode */ -static int hf_ldap_matchedDN_01 = -1; /* T_matchedDN */ +static int hf_ldap_resultCode_01 = -1; /* T_resultCode_01 */ static int hf_ldap_serverSaslCreds = -1; /* ServerSaslCreds */ static int hf_ldap_baseObject = -1; /* LDAPDN */ static int hf_ldap_scope = -1; /* T_scope */ @@ -218,8 +217,8 @@ static int hf_ldap_derefAliases = -1; /* T_derefAliases */ static int hf_ldap_sizeLimit = -1; /* INTEGER_0_maxInt */ static int hf_ldap_timeLimit = -1; /* INTEGER_0_maxInt */ static int hf_ldap_typesOnly = -1; /* BOOLEAN */ -static int hf_ldap_filter = -1; /* T_filter */ -static int hf_ldap_searchRequest_attributes = -1; /* AttributeDescriptionList */ +static int hf_ldap_filter = -1; /* Filter */ +static int hf_ldap_attributes = -1; /* AttributeDescriptionList */ static int hf_ldap_and = -1; /* T_and */ static int hf_ldap_and_item = -1; /* T_and_item */ static int hf_ldap_or = -1; /* T_or */ @@ -241,16 +240,16 @@ static int hf_ldap_matchingRule = -1; /* MatchingRuleId */ static int hf_ldap_matchValue = -1; /* AssertionValue */ static int hf_ldap_dnAttributes = -1; /* T_dnAttributes */ static int hf_ldap_objectName = -1; /* LDAPDN */ -static int hf_ldap_searchResultEntry_attributes = -1; /* PartialAttributeList */ +static int hf_ldap_attributes_01 = -1; /* PartialAttributeList */ static int hf_ldap_PartialAttributeList_item = -1; /* PartialAttributeList_item */ -static int hf_ldap_SearchResultReference_item = -1; /* LDAPURL */ +static int hf_ldap__untag_item = -1; /* LDAPURL */ static int hf_ldap_object = -1; /* LDAPDN */ -static int hf_ldap_modifyRequest_modification = -1; /* ModifyRequest_modification */ -static int hf_ldap_modifyRequest_modification_item = -1; /* T_modifyRequest_modification_item */ +static int hf_ldap_modification = -1; /* T_modification */ +static int hf_ldap_modification_item = -1; /* T_modification_item */ static int hf_ldap_operation = -1; /* T_operation */ -static int hf_ldap_modification = -1; /* AttributeTypeAndValues */ +static int hf_ldap_modification_01 = -1; /* AttributeTypeAndValues */ static int hf_ldap_entry = -1; /* LDAPDN */ -static int hf_ldap_attributes = -1; /* AttributeList */ +static int hf_ldap_attributes_02 = -1; /* AttributeList */ static int hf_ldap_AttributeList_item = -1; /* AttributeList_item */ static int hf_ldap_newrdn = -1; /* RelativeLDAPDN */ static int hf_ldap_deleteoldrdn = -1; /* BOOLEAN */ @@ -258,7 +257,7 @@ static int hf_ldap_newSuperior = -1; /* LDAPDN */ static int hf_ldap_ava = -1; /* AttributeValueAssertion */ static int hf_ldap_requestName = -1; /* LDAPOID */ static int hf_ldap_requestValue = -1; /* OCTET_STRING */ -static int hf_ldap_extendedResponse_resultCode = -1; /* ExtendedResponse_resultCode */ +static int hf_ldap_resultCode_02 = -1; /* T_resultCode_02 */ static int hf_ldap_responseName = -1; /* ResponseName */ static int hf_ldap_response = -1; /* OCTET_STRING */ static int hf_ldap_size = -1; /* INTEGER */ @@ -294,11 +293,11 @@ static gint ett_ldap_LDAPResult = -1; static gint ett_ldap_Referral = -1; static gint ett_ldap_Controls = -1; static gint ett_ldap_Control = -1; -static gint ett_ldap_BindRequest = -1; +static gint ett_ldap_BindRequest_U = -1; static gint ett_ldap_AuthenticationChoice = -1; static gint ett_ldap_SaslCredentials = -1; -static gint ett_ldap_BindResponse = -1; -static gint ett_ldap_SearchRequest = -1; +static gint ett_ldap_BindResponse_U = -1; +static gint ett_ldap_SearchRequest_U = -1; static gint ett_ldap_Filter = -1; static gint ett_ldap_T_and = -1; static gint ett_ldap_T_or = -1; @@ -306,21 +305,21 @@ static gint ett_ldap_SubstringFilter = -1; static gint ett_ldap_T_substringFilter_substrings = -1; static gint ett_ldap_T_substringFilter_substrings_item = -1; static gint ett_ldap_MatchingRuleAssertion = -1; -static gint ett_ldap_SearchResultEntry = -1; +static gint ett_ldap_SearchResultEntry_U = -1; static gint ett_ldap_PartialAttributeList = -1; static gint ett_ldap_PartialAttributeList_item = -1; -static gint ett_ldap_SearchResultReference = -1; -static gint ett_ldap_ModifyRequest = -1; -static gint ett_ldap_ModifyRequest_modification = -1; -static gint ett_ldap_T_modifyRequest_modification_item = -1; +static gint ett_ldap_SEQUENCE_OF_LDAPURL = -1; +static gint ett_ldap_ModifyRequest_U = -1; +static gint ett_ldap_T_modification = -1; +static gint ett_ldap_T_modification_item = -1; static gint ett_ldap_AttributeTypeAndValues = -1; -static gint ett_ldap_AddRequest = -1; +static gint ett_ldap_AddRequest_U = -1; static gint ett_ldap_AttributeList = -1; static gint ett_ldap_AttributeList_item = -1; -static gint ett_ldap_ModifyDNRequest = -1; -static gint ett_ldap_CompareRequest = -1; -static gint ett_ldap_ExtendedRequest = -1; -static gint ett_ldap_ExtendedResponse = -1; +static gint ett_ldap_ModifyDNRequest_U = -1; +static gint ett_ldap_CompareRequest_U = -1; +static gint ett_ldap_ExtendedRequest_U = -1; +static gint ett_ldap_ExtendedResponse_U = -1; static gint ett_ldap_SearchControlValue = -1; static gint ett_ldap_SortKeyList = -1; static gint ett_ldap_SortKeyList_item = -1; @@ -1070,7 +1069,7 @@ dissect_ldap_AuthenticationChoice(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, } -static const ber_sequence_t BindRequest_sequence[] = { +static const ber_sequence_t BindRequest_U_sequence[] = { { &hf_ldap_version , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_ldap_INTEGER_1_127 }, { &hf_ldap_name , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ldap_LDAPDN }, { &hf_ldap_authentication , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ldap_AuthenticationChoice }, @@ -1078,15 +1077,25 @@ static const ber_sequence_t BindRequest_sequence[] = { }; static int -dissect_ldap_BindRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_ldap_BindRequest_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, - BindRequest_sequence, hf_index, ett_ldap_BindRequest); + BindRequest_U_sequence, hf_index, ett_ldap_BindRequest_U); + + return offset; +} + + + +static int +dissect_ldap_BindRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset, + hf_index, BER_CLASS_APP, 0, TRUE, dissect_ldap_BindRequest_U); return offset; } -static const value_string ldap_BindResponse_resultCode_vals[] = { +static const value_string ldap_T_resultCode_01_vals[] = { { 0, "success" }, { 1, "operationsError" }, { 2, "protocolError" }, @@ -1131,56 +1140,9 @@ static const value_string ldap_BindResponse_resultCode_vals[] = { static int -dissect_ldap_BindResponse_resultCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 394 "ldap.cnf" - - const gchar *valstr; - - offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, - &result); - - - ldap_do_protocolop(actx->pinfo); - - if(result) { - - valstr = val_to_str(result, ldap_BindResponse_resultCode_vals, "Unknown result(%u)"); - - if (check_col(actx->pinfo->cinfo, COL_INFO)) - col_append_fstr(actx->pinfo->cinfo, COL_INFO, "%s ", valstr); - - if(ldm_tree) - proto_item_append_text(ldm_tree, " %s", valstr); - - } - - - - - return offset; -} - - - -static int -dissect_ldap_T_matchedDN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 643 "ldap.cnf" - tvbuff_t *new_tvb=NULL; - - offset = dissect_ber_octet_string(FALSE, actx, tree, tvb, offset, hf_ldap_matchedDN, &new_tvb); - - if( new_tvb - && (tvb_length(new_tvb)>=7) - && (!tvb_memeql(new_tvb, 0, "NTLMSSP", 7))){ - - /* make sure the protocol op comes first */ - ldap_do_protocolop(actx->pinfo); - - call_dissector(ntlmssp_handle, new_tvb, actx->pinfo, tree); - } - return offset; - - +dissect_ldap_T_resultCode_01(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); return offset; } @@ -1303,9 +1265,9 @@ ldap_conv_info_t *ldap_info; } -static const ber_sequence_t BindResponse_sequence[] = { - { &hf_ldap_bindResponse_resultCode, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_ldap_BindResponse_resultCode }, - { &hf_ldap_matchedDN_01 , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ldap_T_matchedDN }, +static const ber_sequence_t BindResponse_U_sequence[] = { + { &hf_ldap_resultCode_01 , BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_ldap_T_resultCode_01 }, + { &hf_ldap_matchedDN , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ldap_LDAPDN }, { &hf_ldap_errorMessage , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ldap_ErrorMessage }, { &hf_ldap_referral , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ldap_Referral }, { &hf_ldap_serverSaslCreds, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ldap_ServerSaslCreds }, @@ -1313,9 +1275,28 @@ static const ber_sequence_t BindResponse_sequence[] = { }; static int -dissect_ldap_BindResponse(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_ldap_BindResponse_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, - BindResponse_sequence, hf_index, ett_ldap_BindResponse); + BindResponse_U_sequence, hf_index, ett_ldap_BindResponse_U); + + return offset; +} + + + +static int +dissect_ldap_BindResponse(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset, + hf_index, BER_CLASS_APP, 1, TRUE, dissect_ldap_BindResponse_U); + + return offset; +} + + + +static int +dissect_ldap_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index); return offset; } @@ -1328,7 +1309,8 @@ dissect_ldap_UnbindRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int off implicit_tag = TRUE; /* correct problem with asn2wrs */ - offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index); + offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset, + hf_index, BER_CLASS_APP, 2, TRUE, dissect_ldap_NULL); ldap_do_protocolop(actx->pinfo); @@ -1353,26 +1335,8 @@ static const value_string ldap_T_scope_vals[] = { static int dissect_ldap_T_scope(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 357 "ldap.cnf" - - gint scope; - const gchar *valstr; - - offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, - &scope); - - - ldap_do_protocolop(actx->pinfo); - - valstr = val_to_str(scope, ldap_T_scope_vals, "Unknown scope(%u)"); - - if (check_col(actx->pinfo->cinfo, COL_INFO)) - col_append_fstr(actx->pinfo->cinfo, COL_INFO, "%s ", valstr); - - if(ldm_tree) - proto_item_append_text(ldm_tree, " %s", valstr); - - + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); return offset; } @@ -1825,24 +1789,6 @@ dissect_ldap_Filter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_ } - -static int -dissect_ldap_T_filter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 484 "ldap.cnf" - Filter_string=NULL; - - - offset = dissect_ldap_Filter(implicit_tag, tvb, offset, actx, tree, hf_index); - -#line 487 "ldap.cnf" - Filter_string=NULL; - and_filter_string=NULL; - - - return offset; -} - - static const ber_sequence_t AttributeDescriptionList_sequence_of[1] = { { &hf_ldap_AttributeDescriptionList_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ldap_AttributeDescription }, }; @@ -1856,22 +1802,32 @@ dissect_ldap_AttributeDescriptionList(gboolean implicit_tag _U_, tvbuff_t *tvb _ } -static const ber_sequence_t SearchRequest_sequence[] = { +static const ber_sequence_t SearchRequest_U_sequence[] = { { &hf_ldap_baseObject , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ldap_LDAPDN }, { &hf_ldap_scope , BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_ldap_T_scope }, { &hf_ldap_derefAliases , BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_ldap_T_derefAliases }, { &hf_ldap_sizeLimit , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_ldap_INTEGER_0_maxInt }, { &hf_ldap_timeLimit , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_ldap_INTEGER_0_maxInt }, { &hf_ldap_typesOnly , BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_NOOWNTAG, dissect_ldap_BOOLEAN }, - { &hf_ldap_filter , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ldap_T_filter }, - { &hf_ldap_searchRequest_attributes, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ldap_AttributeDescriptionList }, + { &hf_ldap_filter , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ldap_Filter }, + { &hf_ldap_attributes , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ldap_AttributeDescriptionList }, { NULL, 0, 0, 0, NULL } }; static int -dissect_ldap_SearchRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_ldap_SearchRequest_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, - SearchRequest_sequence, hf_index, ett_ldap_SearchRequest); + SearchRequest_U_sequence, hf_index, ett_ldap_SearchRequest_U); + + return offset; +} + + + +static int +dissect_ldap_SearchRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset, + hf_index, BER_CLASS_APP, 3, TRUE, dissect_ldap_SearchRequest_U); return offset; } @@ -1964,16 +1920,26 @@ dissect_ldap_PartialAttributeList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, } -static const ber_sequence_t SearchResultEntry_sequence[] = { +static const ber_sequence_t SearchResultEntry_U_sequence[] = { { &hf_ldap_objectName , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ldap_LDAPDN }, - { &hf_ldap_searchResultEntry_attributes, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ldap_PartialAttributeList }, + { &hf_ldap_attributes_01 , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ldap_PartialAttributeList }, { NULL, 0, 0, 0, NULL } }; static int -dissect_ldap_SearchResultEntry(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_ldap_SearchResultEntry_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, - SearchResultEntry_sequence, hf_index, ett_ldap_SearchResultEntry); + SearchResultEntry_U_sequence, hf_index, ett_ldap_SearchResultEntry_U); + + return offset; +} + + + +static int +dissect_ldap_SearchResultEntry(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset, + hf_index, BER_CLASS_APP, 4, TRUE, dissect_ldap_SearchResultEntry_U); return offset; } @@ -2073,20 +2039,31 @@ dissect_ldap_LDAPResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset static int dissect_ldap_SearchResultDone(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_ldap_LDAPResult(implicit_tag, tvb, offset, actx, tree, hf_index); + offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset, + hf_index, BER_CLASS_APP, 5, TRUE, dissect_ldap_LDAPResult); return offset; } -static const ber_sequence_t SearchResultReference_sequence_of[1] = { - { &hf_ldap_SearchResultReference_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ldap_LDAPURL }, +static const ber_sequence_t SEQUENCE_OF_LDAPURL_sequence_of[1] = { + { &hf_ldap__untag_item , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ldap_LDAPURL }, }; static int -dissect_ldap_SearchResultReference(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_ldap_SEQUENCE_OF_LDAPURL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, - SearchResultReference_sequence_of, hf_index, ett_ldap_SearchResultReference); + SEQUENCE_OF_LDAPURL_sequence_of, hf_index, ett_ldap_SEQUENCE_OF_LDAPURL); + + return offset; +} + + + +static int +dissect_ldap_SearchResultReference(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset, + hf_index, BER_CLASS_APP, 19, TRUE, dissect_ldap_SEQUENCE_OF_LDAPURL); return offset; } @@ -2124,44 +2101,54 @@ dissect_ldap_AttributeTypeAndValues(gboolean implicit_tag _U_, tvbuff_t *tvb _U_ } -static const ber_sequence_t T_modifyRequest_modification_item_sequence[] = { +static const ber_sequence_t T_modification_item_sequence[] = { { &hf_ldap_operation , BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_ldap_T_operation }, - { &hf_ldap_modification , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ldap_AttributeTypeAndValues }, + { &hf_ldap_modification_01, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ldap_AttributeTypeAndValues }, { NULL, 0, 0, 0, NULL } }; static int -dissect_ldap_T_modifyRequest_modification_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_ldap_T_modification_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, - T_modifyRequest_modification_item_sequence, hf_index, ett_ldap_T_modifyRequest_modification_item); + T_modification_item_sequence, hf_index, ett_ldap_T_modification_item); return offset; } -static const ber_sequence_t ModifyRequest_modification_sequence_of[1] = { - { &hf_ldap_modifyRequest_modification_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ldap_T_modifyRequest_modification_item }, +static const ber_sequence_t T_modification_sequence_of[1] = { + { &hf_ldap_modification_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ldap_T_modification_item }, }; static int -dissect_ldap_ModifyRequest_modification(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_ldap_T_modification(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, - ModifyRequest_modification_sequence_of, hf_index, ett_ldap_ModifyRequest_modification); + T_modification_sequence_of, hf_index, ett_ldap_T_modification); return offset; } -static const ber_sequence_t ModifyRequest_sequence[] = { +static const ber_sequence_t ModifyRequest_U_sequence[] = { { &hf_ldap_object , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ldap_LDAPDN }, - { &hf_ldap_modifyRequest_modification, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ldap_ModifyRequest_modification }, + { &hf_ldap_modification , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ldap_T_modification }, { NULL, 0, 0, 0, NULL } }; static int -dissect_ldap_ModifyRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_ldap_ModifyRequest_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, - ModifyRequest_sequence, hf_index, ett_ldap_ModifyRequest); + ModifyRequest_U_sequence, hf_index, ett_ldap_ModifyRequest_U); + + return offset; +} + + + +static int +dissect_ldap_ModifyRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset, + hf_index, BER_CLASS_APP, 6, TRUE, dissect_ldap_ModifyRequest_U); return offset; } @@ -2170,7 +2157,8 @@ dissect_ldap_ModifyRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int off static int dissect_ldap_ModifyResponse(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_ldap_LDAPResult(implicit_tag, tvb, offset, actx, tree, hf_index); + offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset, + hf_index, BER_CLASS_APP, 7, TRUE, dissect_ldap_LDAPResult); return offset; } @@ -2204,16 +2192,26 @@ dissect_ldap_AttributeList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int off } -static const ber_sequence_t AddRequest_sequence[] = { +static const ber_sequence_t AddRequest_U_sequence[] = { { &hf_ldap_entry , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ldap_LDAPDN }, - { &hf_ldap_attributes , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ldap_AttributeList }, + { &hf_ldap_attributes_02 , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ldap_AttributeList }, { NULL, 0, 0, 0, NULL } }; static int -dissect_ldap_AddRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_ldap_AddRequest_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, - AddRequest_sequence, hf_index, ett_ldap_AddRequest); + AddRequest_U_sequence, hf_index, ett_ldap_AddRequest_U); + + return offset; +} + + + +static int +dissect_ldap_AddRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset, + hf_index, BER_CLASS_APP, 8, TRUE, dissect_ldap_AddRequest_U); return offset; } @@ -2222,7 +2220,8 @@ dissect_ldap_AddRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset static int dissect_ldap_AddResponse(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_ldap_LDAPResult(implicit_tag, tvb, offset, actx, tree, hf_index); + offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset, + hf_index, BER_CLASS_APP, 9, TRUE, dissect_ldap_LDAPResult); return offset; } @@ -2231,7 +2230,8 @@ dissect_ldap_AddResponse(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offse static int dissect_ldap_DelRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_ldap_LDAPDN(implicit_tag, tvb, offset, actx, tree, hf_index); + offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset, + hf_index, BER_CLASS_APP, 10, TRUE, dissect_ldap_LDAPDN); return offset; } @@ -2240,7 +2240,8 @@ dissect_ldap_DelRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset static int dissect_ldap_DelResponse(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_ldap_LDAPResult(implicit_tag, tvb, offset, actx, tree, hf_index); + offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset, + hf_index, BER_CLASS_APP, 11, TRUE, dissect_ldap_LDAPResult); return offset; } @@ -2255,7 +2256,7 @@ dissect_ldap_RelativeLDAPDN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of } -static const ber_sequence_t ModifyDNRequest_sequence[] = { +static const ber_sequence_t ModifyDNRequest_U_sequence[] = { { &hf_ldap_entry , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ldap_LDAPDN }, { &hf_ldap_newrdn , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ldap_RelativeLDAPDN }, { &hf_ldap_deleteoldrdn , BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_NOOWNTAG, dissect_ldap_BOOLEAN }, @@ -2264,9 +2265,19 @@ static const ber_sequence_t ModifyDNRequest_sequence[] = { }; static int -dissect_ldap_ModifyDNRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_ldap_ModifyDNRequest_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, - ModifyDNRequest_sequence, hf_index, ett_ldap_ModifyDNRequest); + ModifyDNRequest_U_sequence, hf_index, ett_ldap_ModifyDNRequest_U); + + return offset; +} + + + +static int +dissect_ldap_ModifyDNRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset, + hf_index, BER_CLASS_APP, 12, TRUE, dissect_ldap_ModifyDNRequest_U); return offset; } @@ -2275,22 +2286,33 @@ dissect_ldap_ModifyDNRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int o static int dissect_ldap_ModifyDNResponse(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_ldap_LDAPResult(implicit_tag, tvb, offset, actx, tree, hf_index); + offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset, + hf_index, BER_CLASS_APP, 13, TRUE, dissect_ldap_LDAPResult); return offset; } -static const ber_sequence_t CompareRequest_sequence[] = { +static const ber_sequence_t CompareRequest_U_sequence[] = { { &hf_ldap_entry , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ldap_LDAPDN }, { &hf_ldap_ava , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ldap_AttributeValueAssertion }, { NULL, 0, 0, 0, NULL } }; static int -dissect_ldap_CompareRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_ldap_CompareRequest_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, - CompareRequest_sequence, hf_index, ett_ldap_CompareRequest); + CompareRequest_U_sequence, hf_index, ett_ldap_CompareRequest_U); + + return offset; +} + + + +static int +dissect_ldap_CompareRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset, + hf_index, BER_CLASS_APP, 14, TRUE, dissect_ldap_CompareRequest_U); return offset; } @@ -2299,7 +2321,8 @@ dissect_ldap_CompareRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of static int dissect_ldap_CompareResponse(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_ldap_LDAPResult(implicit_tag, tvb, offset, actx, tree, hf_index); + offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset, + hf_index, BER_CLASS_APP, 15, TRUE, dissect_ldap_LDAPResult); return offset; } @@ -2308,7 +2331,8 @@ dissect_ldap_CompareResponse(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int o static int dissect_ldap_AbandonRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_ldap_MessageID(implicit_tag, tvb, offset, actx, tree, hf_index); + offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset, + hf_index, BER_CLASS_APP, 16, TRUE, dissect_ldap_MessageID); return offset; } @@ -2360,22 +2384,32 @@ dissect_ldap_OCTET_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offs } -static const ber_sequence_t ExtendedRequest_sequence[] = { +static const ber_sequence_t ExtendedRequest_U_sequence[] = { { &hf_ldap_requestName , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ldap_LDAPOID }, { &hf_ldap_requestValue , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ldap_OCTET_STRING }, { NULL, 0, 0, 0, NULL } }; static int -dissect_ldap_ExtendedRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_ldap_ExtendedRequest_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, - ExtendedRequest_sequence, hf_index, ett_ldap_ExtendedRequest); + ExtendedRequest_U_sequence, hf_index, ett_ldap_ExtendedRequest_U); + + return offset; +} + + + +static int +dissect_ldap_ExtendedRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset, + hf_index, BER_CLASS_APP, 23, TRUE, dissect_ldap_ExtendedRequest_U); return offset; } -static const value_string ldap_ExtendedResponse_resultCode_vals[] = { +static const value_string ldap_T_resultCode_02_vals[] = { { 0, "success" }, { 1, "operationsError" }, { 2, "protocolError" }, @@ -2420,7 +2454,7 @@ static const value_string ldap_ExtendedResponse_resultCode_vals[] = { static int -dissect_ldap_ExtendedResponse_resultCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_ldap_T_resultCode_02(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); @@ -2437,8 +2471,8 @@ dissect_ldap_ResponseName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offs } -static const ber_sequence_t ExtendedResponse_sequence[] = { - { &hf_ldap_extendedResponse_resultCode, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_ldap_ExtendedResponse_resultCode }, +static const ber_sequence_t ExtendedResponse_U_sequence[] = { + { &hf_ldap_resultCode_02 , BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_ldap_T_resultCode_02 }, { &hf_ldap_matchedDN , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ldap_LDAPDN }, { &hf_ldap_errorMessage , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ldap_ErrorMessage }, { &hf_ldap_referral , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ldap_Referral }, @@ -2448,9 +2482,19 @@ static const ber_sequence_t ExtendedResponse_sequence[] = { }; static int -dissect_ldap_ExtendedResponse(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_ldap_ExtendedResponse_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, - ExtendedResponse_sequence, hf_index, ett_ldap_ExtendedResponse); + ExtendedResponse_U_sequence, hf_index, ett_ldap_ExtendedResponse_U); + + return offset; +} + + + +static int +dissect_ldap_ExtendedResponse(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset, + hf_index, BER_CLASS_APP, 24, TRUE, dissect_ldap_ExtendedResponse_U); return offset; } @@ -3108,8 +3152,7 @@ dissect_ldap_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gboolean i * been decrypted; dissect the decrypted LDAP message. */ if (check_col(pinfo->cinfo, COL_INFO)) { - col_add_str(pinfo->cinfo, COL_INFO, "SASL GSS-API Privacy (decrypted): "); - + col_set_str(pinfo->cinfo, COL_INFO, "SASL GSS-API Privacy (decrypted): "); } if (sasl_tree) { @@ -3129,7 +3172,7 @@ dissect_ldap_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gboolean i * dissect the plain LDAP message. */ if (check_col(pinfo->cinfo, COL_INFO)) { - col_add_str(pinfo->cinfo, COL_INFO, "SASL GSS-API Integrity: "); + col_set_str(pinfo->cinfo, COL_INFO, "SASL GSS-API Integrity: "); } if (sasl_tree) { @@ -3945,7 +3988,7 @@ void proto_register_ldap(void) { "ldap.AddResponse", HFILL }}, { &hf_ldap_delRequest, { "delRequest", "ldap.delRequest", - FT_STRING, BASE_NONE, NULL, 0, + FT_NONE, BASE_NONE, NULL, 0, "ldap.DelRequest", HFILL }}, { &hf_ldap_delResponse, { "delResponse", "ldap.delResponse", @@ -3969,7 +4012,7 @@ void proto_register_ldap(void) { "ldap.CompareResponse", HFILL }}, { &hf_ldap_abandonRequest, { "abandonRequest", "ldap.abandonRequest", - FT_UINT32, BASE_DEC, NULL, 0, + FT_NONE, BASE_NONE, NULL, 0, "ldap.AbandonRequest", HFILL }}, { &hf_ldap_extendedReq, { "extendedReq", "ldap.extendedReq", @@ -4075,14 +4118,10 @@ void proto_register_ldap(void) { { "credentials", "ldap.credentials", FT_BYTES, BASE_HEX, NULL, 0, "ldap.Credentials", HFILL }}, - { &hf_ldap_bindResponse_resultCode, + { &hf_ldap_resultCode_01, { "resultCode", "ldap.resultCode", - FT_UINT32, BASE_DEC, VALS(ldap_BindResponse_resultCode_vals), 0, - "ldap.BindResponse_resultCode", HFILL }}, - { &hf_ldap_matchedDN_01, - { "matchedDN", "ldap.matchedDN", - FT_STRING, BASE_NONE, NULL, 0, - "ldap.T_matchedDN", HFILL }}, + FT_UINT32, BASE_DEC, VALS(ldap_T_resultCode_01_vals), 0, + "ldap.T_resultCode_01", HFILL }}, { &hf_ldap_serverSaslCreds, { "serverSaslCreds", "ldap.serverSaslCreds", FT_BYTES, BASE_HEX, NULL, 0, @@ -4114,8 +4153,8 @@ void proto_register_ldap(void) { { &hf_ldap_filter, { "filter", "ldap.filter", FT_UINT32, BASE_DEC, VALS(ldap_Filter_vals), 0, - "ldap.T_filter", HFILL }}, - { &hf_ldap_searchRequest_attributes, + "ldap.Filter", HFILL }}, + { &hf_ldap_attributes, { "attributes", "ldap.attributes", FT_UINT32, BASE_DEC, NULL, 0, "ldap.AttributeDescriptionList", HFILL }}, @@ -4203,7 +4242,7 @@ void proto_register_ldap(void) { { "objectName", "ldap.objectName", FT_STRING, BASE_NONE, NULL, 0, "ldap.LDAPDN", HFILL }}, - { &hf_ldap_searchResultEntry_attributes, + { &hf_ldap_attributes_01, { "attributes", "ldap.attributes", FT_UINT32, BASE_DEC, NULL, 0, "ldap.PartialAttributeList", HFILL }}, @@ -4211,27 +4250,27 @@ void proto_register_ldap(void) { { "Item", "ldap.PartialAttributeList_item", FT_NONE, BASE_NONE, NULL, 0, "ldap.PartialAttributeList_item", HFILL }}, - { &hf_ldap_SearchResultReference_item, - { "Item", "ldap.SearchResultReference_item", + { &hf_ldap__untag_item, + { "Item", "ldap._untag_item", FT_STRING, BASE_NONE, NULL, 0, "ldap.LDAPURL", HFILL }}, { &hf_ldap_object, { "object", "ldap.object", FT_STRING, BASE_NONE, NULL, 0, "ldap.LDAPDN", HFILL }}, - { &hf_ldap_modifyRequest_modification, + { &hf_ldap_modification, { "modification", "ldap.modification", FT_UINT32, BASE_DEC, NULL, 0, - "ldap.ModifyRequest_modification", HFILL }}, - { &hf_ldap_modifyRequest_modification_item, + "ldap.T_modification", HFILL }}, + { &hf_ldap_modification_item, { "Item", "ldap.modification_item", FT_NONE, BASE_NONE, NULL, 0, - "ldap.T_modifyRequest_modification_item", HFILL }}, + "ldap.T_modification_item", HFILL }}, { &hf_ldap_operation, { "operation", "ldap.operation", FT_UINT32, BASE_DEC, VALS(ldap_T_operation_vals), 0, "ldap.T_operation", HFILL }}, - { &hf_ldap_modification, + { &hf_ldap_modification_01, { "modification", "ldap.modification", FT_NONE, BASE_NONE, NULL, 0, "ldap.AttributeTypeAndValues", HFILL }}, @@ -4239,7 +4278,7 @@ void proto_register_ldap(void) { { "entry", "ldap.entry", FT_STRING, BASE_NONE, NULL, 0, "ldap.LDAPDN", HFILL }}, - { &hf_ldap_attributes, + { &hf_ldap_attributes_02, { "attributes", "ldap.attributes", FT_UINT32, BASE_DEC, NULL, 0, "ldap.AttributeList", HFILL }}, @@ -4271,10 +4310,10 @@ void proto_register_ldap(void) { { "requestValue", "ldap.requestValue", FT_BYTES, BASE_HEX, NULL, 0, "ldap.OCTET_STRING", HFILL }}, - { &hf_ldap_extendedResponse_resultCode, + { &hf_ldap_resultCode_02, { "resultCode", "ldap.resultCode", - FT_UINT32, BASE_DEC, VALS(ldap_ExtendedResponse_resultCode_vals), 0, - "ldap.ExtendedResponse_resultCode", HFILL }}, + FT_UINT32, BASE_DEC, VALS(ldap_T_resultCode_02_vals), 0, + "ldap.T_resultCode_02", HFILL }}, { &hf_ldap_responseName, { "responseName", "ldap.responseName", FT_STRING, BASE_NONE, NULL, 0, @@ -4321,7 +4360,7 @@ void proto_register_ldap(void) { "ldap.INTEGER", HFILL }}, /*--- End of included file: packet-ldap-hfarr.c ---*/ -#line 1625 "packet-ldap-template.c" +#line 1624 "packet-ldap-template.c" }; /* List of subtrees */ @@ -4345,11 +4384,11 @@ void proto_register_ldap(void) { &ett_ldap_Referral, &ett_ldap_Controls, &ett_ldap_Control, - &ett_ldap_BindRequest, + &ett_ldap_BindRequest_U, &ett_ldap_AuthenticationChoice, &ett_ldap_SaslCredentials, - &ett_ldap_BindResponse, - &ett_ldap_SearchRequest, + &ett_ldap_BindResponse_U, + &ett_ldap_SearchRequest_U, &ett_ldap_Filter, &ett_ldap_T_and, &ett_ldap_T_or, @@ -4357,21 +4396,21 @@ void proto_register_ldap(void) { &ett_ldap_T_substringFilter_substrings, &ett_ldap_T_substringFilter_substrings_item, &ett_ldap_MatchingRuleAssertion, - &ett_ldap_SearchResultEntry, + &ett_ldap_SearchResultEntry_U, &ett_ldap_PartialAttributeList, &ett_ldap_PartialAttributeList_item, - &ett_ldap_SearchResultReference, - &ett_ldap_ModifyRequest, - &ett_ldap_ModifyRequest_modification, - &ett_ldap_T_modifyRequest_modification_item, + &ett_ldap_SEQUENCE_OF_LDAPURL, + &ett_ldap_ModifyRequest_U, + &ett_ldap_T_modification, + &ett_ldap_T_modification_item, &ett_ldap_AttributeTypeAndValues, - &ett_ldap_AddRequest, + &ett_ldap_AddRequest_U, &ett_ldap_AttributeList, &ett_ldap_AttributeList_item, - &ett_ldap_ModifyDNRequest, - &ett_ldap_CompareRequest, - &ett_ldap_ExtendedRequest, - &ett_ldap_ExtendedResponse, + &ett_ldap_ModifyDNRequest_U, + &ett_ldap_CompareRequest_U, + &ett_ldap_ExtendedRequest_U, + &ett_ldap_ExtendedResponse_U, &ett_ldap_SearchControlValue, &ett_ldap_SortKeyList, &ett_ldap_SortKeyList_item, @@ -4379,7 +4418,7 @@ void proto_register_ldap(void) { &ett_ldap_ReplControlValue, /*--- End of included file: packet-ldap-ettarr.c ---*/ -#line 1636 "packet-ldap-template.c" +#line 1635 "packet-ldap-template.c" }; module_t *ldap_module; @@ -4438,42 +4477,42 @@ proto_reg_handoff_ldap(void) ntlmssp_handle = find_dissector("ntlmssp"); /* http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dsml/dsml/ldap_controls_and_session_support.asp */ - add_oid_str_name("1.2.840.113556.1.4.319","LDAP_PAGED_RESULT_OID_STRING"); - add_oid_str_name("1.2.840.113556.1.4.417","LDAP_SERVER_SHOW_DELETED_OID"); - add_oid_str_name("1.2.840.113556.1.4.473","LDAP_SERVER_SORT_OID"); - add_oid_str_name("1.2.840.113556.1.4.474","LDAP_CONTROL_SORT_RESP_OID"); - add_oid_str_name("1.2.840.113556.1.4.521","LDAP_SERVER_CROSSDOM_MOVE_TARGET_OID"); - add_oid_str_name("1.2.840.113556.1.4.528","LDAP_SERVER_NOTIFICATION_OID"); - add_oid_str_name("1.2.840.113556.1.4.529","LDAP_SERVER_EXTENDED_DN_OID"); - add_oid_str_name("1.2.840.113556.1.4.582","meetingAdvertiseScope"); - add_oid_str_name("1.2.840.113556.1.4.619","LDAP_SERVER_LAZY_COMMIT_OID"); - add_oid_str_name("1.2.840.113556.1.4.650","mhsORAddress"); - add_oid_str_name("1.2.840.113556.1.4.654","managedObjects"); - add_oid_str_name("1.2.840.113556.1.4.800","LDAP_CAP_ACTIVE_DIRECTORY_OID"); - add_oid_str_name("1.2.840.113556.1.4.801","LDAP_SERVER_SD_FLAGS_OID"); - add_oid_str_name("1.2.840.113556.1.4.804","LDAP_OID_COMPARATOR_OR"); - add_oid_str_name("1.2.840.113556.1.4.805","LDAP_SERVER_TREE_DELETE_OID"); - add_oid_str_name("1.2.840.113556.1.4.841","LDAP_SERVER_DIRSYNC_OID"); - add_oid_str_name("1.2.840.113556.1.4.970 ","None"); - add_oid_str_name("1.2.840.113556.1.4.1338","LDAP_SERVER_VERIFY_NAME_OID"); - add_oid_str_name("1.2.840.113556.1.4.1339","LDAP_SERVER_DOMAIN_SCOPE_OID"); - add_oid_str_name("1.2.840.113556.1.4.1340","LDAP_SERVER_SEARCH_OPTIONS_OID"); - add_oid_str_name("1.2.840.113556.1.4.1413","LDAP_SERVER_PERMISSIVE_MODIFY_OID"); - add_oid_str_name("1.2.840.113556.1.4.1504","LDAP_SERVER_ASQ_OID"); - add_oid_str_name("1.2.840.113556.1.4.1670","LDAP_CAP_ACTIVE_DIRECTORY_V51_OID"); - add_oid_str_name("1.2.840.113556.1.4.1781","LDAP_SERVER_FAST_BIND_OID"); - add_oid_str_name("1.2.840.113556.1.4.1791","LDAP_CAP_ACTIVE_DIRECTORY_LDAP_INTEG_OID"); - add_oid_str_name("1.2.840.113556.1.4.1840","msDS-ObjectReference"); - add_oid_str_name("1.2.840.113556.1.4.1848","msDS-QuotaEffective"); - add_oid_str_name("1.2.840.113556.1.4.1851","LDAP_CAP_ACTIVE_DIRECTORY_ADAM_OID"); - add_oid_str_name("1.2.840.113556.1.4.1860","msDS-PortSSL"); - add_oid_str_name("1.2.840.113556.1.4.1960","msDS-isRODC"); - add_oid_str_name("1.2.840.113556.1.4.1711","msDS-SDReferenceDomain"); - add_oid_str_name("1.2.840.113556.1.4.1717","msDS-AdditionalDnsHostName"); - add_oid_str_name("1.3.6.1.4.1.1466.101.119.1","None"); - add_oid_str_name("1.3.6.1.4.1.1466.20037","LDAP_START_TLS_OID"); - add_oid_str_name("2.16.840.1.113730.3.4.9","LDAP_CONTROL_VLVREQUEST VLV"); - add_oid_str_name("2.16.840.1.113730.3.4.10","LDAP_CONTROL_VLVRESPONSE VLV"); + oid_add_from_string("LDAP_PAGED_RESULT_OID_STRING","1.2.840.113556.1.4.319"); + oid_add_from_string("LDAP_SERVER_SHOW_DELETED_OID","1.2.840.113556.1.4.417"); + oid_add_from_string("LDAP_SERVER_SORT_OID","1.2.840.113556.1.4.473"); + oid_add_from_string("LDAP_CONTROL_SORT_RESP_OID","1.2.840.113556.1.4.474"); + oid_add_from_string("LDAP_SERVER_CROSSDOM_MOVE_TARGET_OID","1.2.840.113556.1.4.521"); + oid_add_from_string("LDAP_SERVER_NOTIFICATION_OID","1.2.840.113556.1.4.528"); + oid_add_from_string("LDAP_SERVER_EXTENDED_DN_OID","1.2.840.113556.1.4.529"); + oid_add_from_string("meetingAdvertiseScope","1.2.840.113556.1.4.582"); + oid_add_from_string("LDAP_SERVER_LAZY_COMMIT_OID","1.2.840.113556.1.4.619"); + oid_add_from_string("mhsORAddress","1.2.840.113556.1.4.650"); + oid_add_from_string("managedObjects","1.2.840.113556.1.4.654"); + oid_add_from_string("LDAP_CAP_ACTIVE_DIRECTORY_OID","1.2.840.113556.1.4.800"); + oid_add_from_string("LDAP_SERVER_SD_FLAGS_OID","1.2.840.113556.1.4.801"); + oid_add_from_string("LDAP_OID_COMPARATOR_OR","1.2.840.113556.1.4.804"); + oid_add_from_string("LDAP_SERVER_TREE_DELETE_OID","1.2.840.113556.1.4.805"); + oid_add_from_string("LDAP_SERVER_DIRSYNC_OID","1.2.840.113556.1.4.841"); + oid_add_from_string("None","1.2.840.113556.1.4.970"); + oid_add_from_string("LDAP_SERVER_VERIFY_NAME_OID","1.2.840.113556.1.4.1338"); + oid_add_from_string("LDAP_SERVER_DOMAIN_SCOPE_OID","1.2.840.113556.1.4.1339"); + oid_add_from_string("LDAP_SERVER_SEARCH_OPTIONS_OID","1.2.840.113556.1.4.1340"); + oid_add_from_string("LDAP_SERVER_PERMISSIVE_MODIFY_OID","1.2.840.113556.1.4.1413"); + oid_add_from_string("LDAP_SERVER_ASQ_OID","1.2.840.113556.1.4.1504"); + oid_add_from_string("LDAP_CAP_ACTIVE_DIRECTORY_V51_OID","1.2.840.113556.1.4.1670"); + oid_add_from_string("LDAP_SERVER_FAST_BIND_OID","1.2.840.113556.1.4.1781"); + oid_add_from_string("LDAP_CAP_ACTIVE_DIRECTORY_LDAP_INTEG_OID","1.2.840.113556.1.4.1791"); + oid_add_from_string("msDS-ObjectReference","1.2.840.113556.1.4.1840"); + oid_add_from_string("msDS-QuotaEffective","1.2.840.113556.1.4.1848"); + oid_add_from_string("LDAP_CAP_ACTIVE_DIRECTORY_ADAM_OID","1.2.840.113556.1.4.1851"); + oid_add_from_string("msDS-PortSSL","1.2.840.113556.1.4.1860"); + oid_add_from_string("msDS-isRODC","1.2.840.113556.1.4.1960"); + oid_add_from_string("msDS-SDReferenceDomain","1.2.840.113556.1.4.1711"); + oid_add_from_string("msDS-AdditionalDnsHostName","1.2.840.113556.1.4.1717"); + oid_add_from_string("None","1.3.6.1.4.1.1466.101.119.1"); + oid_add_from_string("LDAP_START_TLS_OID","1.3.6.1.4.1.1466.20037"); + oid_add_from_string("LDAP_CONTROL_VLVREQUEST VLV","2.16.840.1.113730.3.4.9"); + oid_add_from_string("LDAP_CONTROL_VLVRESPONSE VLV","2.16.840.1.113730.3.4.10"); register_ldap_name_dissector("netlogon", dissect_NetLogon_PDU, proto_cldap); register_ldap_name_dissector("objectGUID", dissect_ldap_guid, proto_ldap); @@ -4492,7 +4531,7 @@ proto_reg_handoff_ldap(void) /*--- End of included file: packet-ldap-dis-tab.c ---*/ -#line 1739 "packet-ldap-template.c" +#line 1738 "packet-ldap-template.c" } |