forked from osmocom/wireshark
93cc6f004f
Change-Id: Iedeaa411caa0823922dd79c27897a2349d4e6907 Reviewed-on: https://code.wireshark.org/review/4054 Reviewed-by: Bill Meier <wmeier@newsguy.com>
369 lines
8.7 KiB
INI
369 lines
8.7 KiB
INI
#.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; i<len; i++)
|
|
if(!g_ascii_isprint(tvb_get_guint8(out_tvb, i)))
|
|
break;
|
|
|
|
if(i == len) {
|
|
if(actx->created_item) {
|
|
|
|
proto_item_append_text(actx->created_item," (");
|
|
for(i=0; i<len; i++)
|
|
proto_item_append_text(actx->created_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)");
|
|
|