#.TYPE_ATTR # X509AF also exports the type Time. This makes sure asn2wrs uses the locally defined version. Time TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = VALS(dap_Time_vals) BITMASK = 0 #.END #.IMPORT ../x509if/x509if-exp.cnf #.IMPORT ../x509af/x509af-exp.cnf #.IMPORT ../x509sat/x509sat-exp.cnf #.IMPORT ../crmf/crmf-exp.cnf #.IMPORT ../dsp/dsp-exp.cnf #.IMPORT ../disp/disp-exp.cnf #.IMPORT ../ros/ros-exp.cnf #.IMPORT ../acse/acse-exp.cnf #.OMIT_ASSIGNMENT DAP-InvokeIDSet #.END #.NO_EMIT ONLY_VALS Name #.MODULE_IMPORT AttributeCertificateDefinitions x509af BasicAccessControl crmf # Forward declaration of classes #.CLASS CONTEXT &Type &Assertion &id ObjectIdentifierType #.END #.CLASS CONTRACT &connection ClassReference CONNECTION-PACKAGE &OperationsOf ClassReference OPERATION-PACKAGE &InitiatorConsumerOf ClassReference OPERATION-PACKAGE &InitiatorSupplierOf ClassReference OPERATION-PACKAGE &id ObjectIdentifierType #.END #.CLASS APPLICATION-CONTEXT &bind-operation ClassReference OPERATION &Operations ClassReference OPERATION &applicationContextName ObjectIdentifierType #.END #.CLASS OBJECT-CLASS &Superclasses ClassReference OBJECT-CLASS &kind TypeReference ObjectClassKind &MandatoryAttributes ClassReference ATTRIBUTE &OptionalAttributes ClassReference ATTRIBUTE &id ObjectIdentifierType #.END #.CLASS ATTRIBUTE &derivation ClassReference ATTRIBUTE &Type &equality-match ClassReference MATCHING-RULE &ordering-match ClassReference MATCHING-RULE &substrings-match ClassReference MATCHING-RULE &single-valued BooleanType &collective BooleanType &no-user-modification BooleanType &usage TypeReference AttributeUsage &id ObjectIdentifierType #.END #.CLASS MATCHING-RULE &ParentMatchingRules ClassReference MATCHING-RULE &AssertionType &uniqueMatchIndicator ClassReference ATTRIBUTE &id ObjectIdentifierType #.END #.OMIT_ASSIGNMENT CommonArguments CommonResults CommonResultsSeq #.END #.EXPORTS Filter Referral EntryModification ContextSelection DirectoryBindArgument DirectoryBindError ReadArgument ReadResult ListArgument ListResult SearchArgument SearchResult AddEntryArgument AddEntryResult CompareArgument CompareResult RemoveEntryArgument RemoveEntryResult ModifyEntryArgument ModifyEntryResult ModifyDNArgument ModifyDNResult AbandonArgument AbandonResult AttributeError NameError ServiceError Abandoned SearchControlOptions SecurityError SecurityProblem SecurityParameters EXTERN WS_DLL ServiceControlOptions AbandonFailedError UpdateError HierarchySelections FamilyGrouping FamilyReturn #.TYPE_RENAME FamilyEntry/information FamilyInformation AbandonResult/information AbandonInformation AddEntryResult/information AddEntryInformation RemoveEntryResult/information RemoveEntryInformation ModifyEntryResult/information ModifyEntryInformation ModifyDNResult/information ModifyDNInformation EntryInformation/information/_item EntryInformationItem #.FIELD_RENAME ModifyRights/_item/item/attribute attribute-type ModifyRights/_item/item/entry item-entry AddEntryArgumentData/entry add-entry EntryInformation/information entry-information FamilyEntry/information family-information AbandonResult/information abandon-information AddEntryResult/information add-entry-information RemoveEntryResult/information remove-entry-information ModifyEntryResult/information modify-entry-information ModifyDNResult/information modify-dn-information EntryInformation/information/_item entry-information-item Filter/item filter-item NameErrorData/matched matched-name SecurityParameters/name distinguished-name SimpleCredentials/name distinguished-name StrongCredentials/name distinguished-name ModifyDNArgument/object distinguished-name AbandonFailedErrorData/problem abandon-failed-problem ServiceErrorData/problem service-error-problem AttributeErrorData/problems/_item/problem attribute-error-problem NameErrorData/problem name-error-problem SecurityErrorData/problem security-error-problem UpdateErrorData/problem update-error-problem DirectoryBindErrorData/error/securityError securityProblem SecurityError/signedSecurityError/securityError securityErrorData DirectoryBindErrorData/error/serviceError serviceProblem FilterItem/substrings/type sunstringType ModifyRights/_item/item/value value-assertion TokenData/name distinguished-name TokenData/time utctime PagedResultsRequest/queryReference pagedResultsQueryReference EntryInformationSelection/extraAttributes/select extraSelect SaslCredentials/credentials saslCredentials # This table creates the value_sting to name DAP operation codes and errors # in file packet-dap-table.c which is included in the template file # #.TABLE_HDR /* DAP OPERATIONS */ const value_string dap_opr_code_string_vals[] = { #.TABLE_BODY OPERATION { %(&operationCode)s, "%(_ident)s" }, #.TABLE_FTR { 0, NULL } }; #.END #.TABLE_HDR /* DAP ERRORS */ static const value_string dap_err_code_string_vals[] = { #.TABLE_BODY ERROR { %(&errorCode)s, "%(_ident)s" }, #.TABLE_FTR { 0, NULL } }; #.END # Create a table of opcode and corresponding args and res #.TABLE11_HDR static const ros_opr_t dap_opr_tab[] = { #.TABLE11_BODY OPERATION /* %(_name)s */ { %(&operationCode)-25s, %(_argument_pdu)s, %(_result_pdu)s }, #.TABLE11_FTR { 0, (new_dissector_t)(-1), (new_dissector_t)(-1) }, }; #.END #.TABLE21_HDR static const ros_err_t dap_err_tab[] = { #.TABLE21_BODY ERROR /* %(_name)s*/ { %(&errorCode)s, %(_parameter_pdu)s }, #.TABLE21_FTR { 0, (new_dissector_t)(-1) }, }; #.END #.PDU_NEW ERROR.&ParameterType OPERATION.&ArgumentType OPERATION.&ResultType #.END #.FN_BODY FilterItem/substrings/strings/_item/initial proto_item *it; it = proto_tree_add_item(tree, hf_index, tvb, offset, -1, ENC_BIG_ENDIAN); proto_item_append_text(it," XXX: Not yet implemented!"); #.FN_BODY FilterItem/substrings/strings/_item/any /* XXX: not yet implemented */ #.FN_BODY FilterItem/substrings/strings/_item/final /* XXX: not yet implemented */ #.FN_BODY MatchingRuleAssertion/matchValue /* XXX: not yet implemented */ #.FN_BODY SpkmCredentials/req /* XXX: not yet implemented */ #.FN_BODY SpkmCredentials/rep /* XXX: not yet implemented */ #.FN_BODY SecurityErrorData/spkmInfo /* XXX: not yet implemented */ #.FN_BODY DirectoryBindArgument guint32 len; /* check and see if this is an empty set */ dissect_ber_length(actx->pinfo, tree, tvb, offset+1, &len, NULL); if(len == 0) { /* it's an empty set - i.e anonymous (assuming version is DEFAULTed) */ proto_tree_add_expert(tree, actx->pinfo, &ei_dap_anonymous, tvb, offset, -1); col_append_str(actx->pinfo->cinfo, COL_INFO, " anonymous"); } /* do the default thing */ %(DEFAULT_BODY)s #.FN_BODY SimpleCredentials %(DEFAULT_BODY)s col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s", x509if_get_last_dn()); #.FN_BODY PagedResultsRequest/queryReference VAL_PTR=&out_tvb tvbuff_t *out_tvb; int i; int len; %(DEFAULT_BODY)s if(out_tvb) { len = tvb_length(out_tvb); /* now see if we can add a string representation */ for(i=0; icreated_item) { proto_item_append_text(actx->created_item," ("); for(i=0; icreated_item,"%%c",tvb_get_guint8(out_tvb,i)); proto_item_append_text(actx->created_item,")"); } } } #.FN_PARS SecurityProblem VAL_PTR = &problem #.FN_BODY SecurityProblem guint32 problem; %(DEFAULT_BODY)s col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s", val_to_str(problem, dap_SecurityProblem_vals, "SecurityProblem(%%d)")); #.FN_PARS ServiceProblem VAL_PTR = &problem #.FN_BODY ServiceProblem guint32 problem; %(DEFAULT_BODY)s col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s", val_to_str(problem, dap_ServiceProblem_vals, "ServiceProblem(%%d)")); #.FN_PARS UpdateProblem VAL_PTR = &problem #.FN_BODY UpdateProblem guint32 problem; %(DEFAULT_BODY)s col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s", val_to_str(problem, dap_UpdateProblem_vals, "UpdateProblem(%%d)")); #.FN_PARS LimitProblem VAL_PTR = &problem #.FN_BODY LimitProblem guint32 problem; %(DEFAULT_BODY)s col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s", val_to_str(problem, dap_LimitProblem_vals, "LimitProblem(%%d)")); #.END #.FN_BODY SearchArgumentData/subset VAL_PTR=&subset guint32 subset; %(DEFAULT_BODY)s col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s", val_to_str(subset, dap_T_subset_vals, "Subset(%%d)")); #.FN_BODY Name const char *dn; %(DEFAULT_BODY)s dn = x509if_get_last_dn(); col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s", (dn && *dn) ? dn : "(root)");