From f833c77dff9272fe848906500a04597fe07b2e03 Mon Sep 17 00:00:00 2001 From: Ronnie Sahlberg Date: Sun, 21 Nov 2004 23:25:04 +0000 Subject: cmip update add all remaining functions Arguments and Results svn path=/trunk/; revision=12570 --- asn1/cmip/CMIP.asn | 219 +++++++++++++++++++++++++++++++++++++++ asn1/cmip/cmip.cnf | 101 ++++++++++++++++++ asn1/cmip/packet-cmip-template.c | 15 +++ 3 files changed, 335 insertions(+) (limited to 'asn1') diff --git a/asn1/cmip/CMIP.asn b/asn1/cmip/CMIP.asn index 2f7fa089d2..5039c787ee 100644 --- a/asn1/cmip/CMIP.asn +++ b/asn1/cmip/CMIP.asn @@ -9,6 +9,223 @@ IMPORTS DistinguishedName, RDNSequence FROM InformationFramework; +ModificationItem ::= SEQUENCE { + modifyOperator [2] IMPLICIT ModifyOperator OPTIONAL, + attributeId OBJECT IDENTIFIER, + attributeValue ANY OPTIONAL +} + +GetListError ::= SEQUENCE { + managedObjectClass ObjectClass OPTIONAL, + managedObjectInstance ObjectInstance OPTIONAL, + currentTime [5] IMPLICIT GeneralizedTime OPTIONAL, + getInfoList [6] IMPLICIT SET OF GetInfoStatus, + ... +} + +ModifyOperator ::= INTEGER { + replace(0), addValues(1), removeValues(2), setToDefault(3)} + +GetInfoStatus ::= CHOICE { + attributeIdError [0] IMPLICIT AttributeIdError, + attribute [1] IMPLICIT Attribute +} + +AttributeIdError ::= SEQUENCE { + errorStatus ENUMERATED {accessDenied(2), noSuchAttribute(5), ... + }, + attributeId AttributeId, + ... +} + +SetListError ::= SEQUENCE { + managedObjectClass ObjectClass OPTIONAL, + managedObjectInstance ObjectInstance OPTIONAL, + currentTime [5] IMPLICIT GeneralizedTime OPTIONAL, + setInfoList [6] IMPLICIT SET OF SetInfoStatus, + ... +} + +ActionError ::= SEQUENCE { + managedObjectClass ObjectClass OPTIONAL, + managedObjectInstance ObjectInstance OPTIONAL, + currentTime [5] IMPLICIT GeneralizedTime OPTIONAL, + actionErrorInfo [6] ActionErrorInfo, + ... +} + +ProcessingFailure ::= SEQUENCE { + managedObjectClass ObjectClass, + managedObjectInstance ObjectInstance OPTIONAL, + specificErrorInfo [5] SpecificErrorInfo, + ... +} + +DeleteError ::= SEQUENCE { + managedObjectClass ObjectClass OPTIONAL, + managedObjectInstance ObjectInstance OPTIONAL, + currentTime [5] IMPLICIT GeneralizedTime OPTIONAL, + deleteErrorInfo [6] ENUMERATED {accessDenied(2), ... + }, + ... +} + +SetInfoStatus ::= CHOICE { + attributeError [0] IMPLICIT AttributeError, + attribute [1] IMPLICIT Attribute +} + +SpecificErrorInfo ::= SEQUENCE { + errorId OBJECT IDENTIFIER, + errorInfo ANY +} + +NoSuchArgumentAction ::= SEQUENCE { + managedObjectClass ObjectClass OPTIONAL, + actionType OBJECT IDENTIFIER +} + +NoSuchArgumentEvent ::= SEQUENCE { + managedObjectClass ObjectClass OPTIONAL, + eventType OBJECT IDENTIFIER +} + +NoSuchArgument ::= CHOICE { + actionId + [0] IMPLICIT NoSuchArgumentAction, + eventId + [1] IMPLICIT NoSuchArgumentEvent +} + +InvalidArgumentValueEventValue ::= SEQUENCE { + eventType OBJECT IDENTIFIER, + eventInfo [8] ANY OPTIONAL +} + +InvalidArgumentValue ::= CHOICE { + actionValue [0] IMPLICIT ActionInfo, + eventValue + [1] IMPLICIT InvalidArgumentValueEventValue +} + +ErrorInfo ::= CHOICE { + actionType OBJECT IDENTIFIER, + actionArgument [0] NoSuchArgument, + argumentValue [1] InvalidArgumentValue +} + +ActionErrorInfo ::= SEQUENCE { + errorStatus + ENUMERATED {accessDenied(2), noSuchAction(9), noSuchArgument(14), + invalidArgumentValue(15), ... + }, + errorInfo + ErrorInfo, + ... +} + +AttributeError ::= SEQUENCE { + errorStatus + ENUMERATED {accessDenied(2), noSuchAttribute(5), invalidAttributeValue(6), + invalidOperation(24), invalidOperator(25), ... + }, + modifyOperator [2] IMPLICIT ModifyOperator OPTIONAL, -- present for invalidOperator + + -- and invalidOperation + attributeId OBJECT IDENTIFIER, + attributeValue ANY OPTIONAL + -- value is absent for setToDefault +} + +SetResult ::= SEQUENCE { + managedObjectClass ObjectClass OPTIONAL, + managedObjectInstance ObjectInstance OPTIONAL, + currentTime [5] IMPLICIT GeneralizedTime OPTIONAL, + attributeList [6] IMPLICIT SET OF Attribute OPTIONAL, + ... +} + +SetArgument ::= SEQUENCE { + baseManagedObjectClass ObjectClass, + baseManagedObjectInstance ObjectInstance, + accessControl [5] AccessControl OPTIONAL, + synchronization [6] IMPLICIT CMISSync OPTIONAL, + scope [7] Scope OPTIONAL, + filter CMISFilter OPTIONAL, + modificationList [12] IMPLICIT SET OF ModificationItem, + -- value is absent for setToDefault + ... +} + +LinkedReplyArgument ::= CHOICE { + getResult [0] IMPLICIT GetResult, + getListError [1] IMPLICIT GetListError, + setResult [2] IMPLICIT SetResult, + setListError [3] IMPLICIT SetListError, + actionResult [4] IMPLICIT ActionResult, + processingFailure [5] IMPLICIT ProcessingFailure, + deleteResult [6] IMPLICIT DeleteResult, + actionError [7] IMPLICIT ActionError, + deleteError [8] IMPLICIT DeleteError +} + +EventReply ::= SEQUENCE { + eventType OBJECT IDENTIFIER, + eventReplyInfo [8] ANY OPTIONAL +} + +EventReportResult ::= SEQUENCE { + managedObjectClass ObjectClass OPTIONAL, + managedObjectInstance ObjectInstance OPTIONAL, + currentTime [5] IMPLICIT GeneralizedTime OPTIONAL, + eventReply EventReply OPTIONAL, + ... +} + +EventReportArgument ::= SEQUENCE { + managedObjectClass ObjectClass, + managedObjectInstance ObjectInstance, + eventTime [5] IMPLICIT GeneralizedTime OPTIONAL, + eventType OBJECT IDENTIFIER, + eventInfo [8] ANY OPTIONAL, + ... +} + +DeleteArgument ::= SEQUENCE { + baseManagedObjectClass ObjectClass, + baseManagedObjectInstance ObjectInstance, + accessControl [5] AccessControl OPTIONAL, + synchronization [6] IMPLICIT CMISSync OPTIONAL, + scope [7] Scope OPTIONAL, + filter CMISFilter OPTIONAL, + ... +} + +DeleteResult ::= SEQUENCE { + managedObjectClass ObjectClass OPTIONAL, + managedObjectInstance ObjectInstance OPTIONAL, + currentTime [5] IMPLICIT GeneralizedTime OPTIONAL, + ... +} + +CreateArgument ::= SEQUENCE { + managedObjectClass ObjectClass, + managedOrSuperiorObjectInstance + CHOICE {managedObjectInstance ObjectInstance, + superiorObjectInstance [8] ObjectInstance} OPTIONAL, + accessControl [5] AccessControl OPTIONAL, + referenceObjectInstance [6] ObjectInstance OPTIONAL, + attributeList [7] IMPLICIT SET OF Attribute OPTIONAL, + ... +} + +CreateResult ::= SEQUENCE { + managedObjectClass ObjectClass OPTIONAL, + managedObjectInstance ObjectInstance OPTIONAL, -- shall be returned if omitted from CreateArgument + currentTime [5] IMPLICIT GeneralizedTime OPTIONAL, + attributeList [6] IMPLICIT SET OF Attribute OPTIONAL, + ... +} ActionReply ::= SEQUENCE { actionType OBJECT IDENTIFIER, @@ -140,6 +357,8 @@ InvokeLinkedId ::= CHOICE { absent [1] IMPLICIT NULL } +InvokeIDType ::= InvokeId + InvokeId ::= CHOICE { present InvokeID, absent NULL diff --git a/asn1/cmip/cmip.cnf b/asn1/cmip/cmip.cnf index 29737f795e..90c4893109 100644 --- a/asn1/cmip/cmip.cnf +++ b/asn1/cmip/cmip.cnf @@ -95,27 +95,71 @@ ROS switch(opcode_type){ case OPCODE_INVOKE: switch(opcode){ + case 0: /* M-eventreport */ + offset = dissect_cmip_EventReportArgument(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 1: /* M-eventreport-confirmed */ + offset = dissect_cmip_EventReportArgument(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 2: /* M-linkedreply */ + offset = dissect_cmip_LinkedReplyArgument(FALSE, tvb, offset, pinfo, tree, -1); + break; case 3: /* M-get */ offset = dissect_cmip_GetArgument(FALSE, tvb, offset, pinfo, tree, -1); break; + case 4: /* M-set */ + offset = dissect_cmip_SetArgument(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 5: /* M-set-confirmed */ + offset = dissect_cmip_SetArgument(FALSE, tvb, offset, pinfo, tree, -1); + break; case 6: /* M-action*/ offset = dissect_cmip_ActionInfo(FALSE, tvb, offset, pinfo, tree, -1); break; case 7: /* M-action-confirmed*/ offset = dissect_cmip_ActionInfo(FALSE, tvb, offset, pinfo, tree, -1); break; + case 8: /* M-create*/ + offset = dissect_cmip_CreateArgument(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 9: /* M-delete*/ + offset = dissect_cmip_DeleteArgument(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 10: /* M-cancelget */ + offset = dissect_cmip_InvokeIDType(FALSE, tvb, offset, pinfo, tree, -1); + break; } break; case OPCODE_RETURN_RESULT: switch(opcode){ + case 0: /* M-eventreport*/ + break; /* No return data */ + case 1: /* M-eventreport-confirmed */ + offset = dissect_cmip_EventReportResult(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 2: /* M-linkedreply*/ + break; /* No return data */ case 3: /* M-get */ offset = dissect_cmip_GetResult(FALSE, tvb, offset, pinfo, tree, -1); break; + case 4: /* M-set */ + break; /* No return data */ + case 5: /* M-set-confirmed*/ + offset = dissect_cmip_SetResult(FALSE, tvb, offset, pinfo, tree, -1); + break; case 6: /* M-action*/ break; /* No return data */ case 7: /* M-action-confirmed*/ offset = dissect_cmip_ActionResult(FALSE, tvb, offset, pinfo, tree, -1); break; + case 8: /* M-create*/ + offset = dissect_cmip_CreateResult(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 9: /* M-delete*/ + offset = dissect_cmip_DeleteResult(FALSE, tvb, offset, pinfo, tree, -1); + break; + case 10: /* M-cancelget */ + break; /* doe this one return any data? */ } break; /*XXX add more types here */ @@ -144,6 +188,63 @@ ROS #.FN_BODY ActionReply/actionReplyInfo offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree); +#.FN_BODY EventReportArgument/eventType + offset = dissect_ber_object_identifier(FALSE, pinfo, tree, tvb, offset, + hf_cmip_eventType_OID, object_identifier_id); + +#.FN_BODY EventReportArgument/eventInfo + offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree); + + +#.FN_BODY EventReply/eventType + offset = dissect_ber_object_identifier(FALSE, pinfo, tree, tvb, offset, + hf_cmip_eventType_OID, object_identifier_id); + +#.FN_BODY EventReply/eventReplyInfo + offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree); + +#.FN_BODY ModificationItem/attributeId + offset = dissect_ber_object_identifier(FALSE, pinfo, tree, tvb, offset, + hf_cmip_attributeId_OID, object_identifier_id); + +#.FN_BODY ModificationItem/attributeValue + offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree); + + +#.FN_BODY SpecificErrorInfo/errorId + offset = dissect_ber_object_identifier(FALSE, pinfo, tree, tvb, offset, + hf_cmip_errorId_OID, object_identifier_id); + +#.FN_BODY SpecificErrorInfo/errorInfo + offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree); + +#.FN_BODY AttributeError/attributeId + offset = dissect_ber_object_identifier(FALSE, pinfo, tree, tvb, offset, + hf_cmip_attributeId_OID, object_identifier_id); + +#.FN_BODY AttributeError/attributeValue + offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree); + + +#.FN_BODY ErrorInfo/actionType + offset = dissect_ber_object_identifier(FALSE, pinfo, tree, tvb, offset, + hf_cmip_actionType_OID, object_identifier_id); + +#.FN_BODY NoSuchArgumentAction/actionType + offset = dissect_ber_object_identifier(FALSE, pinfo, tree, tvb, offset, + hf_cmip_actionType_OID, object_identifier_id); + +#.FN_BODY NoSuchArgumentEvent/eventType + offset = dissect_ber_object_identifier(FALSE, pinfo, tree, tvb, offset, + hf_cmip_eventType_OID, object_identifier_id); + +#.FN_BODY InvalidArgumentValueEventValue/eventType + offset = dissect_ber_object_identifier(FALSE, pinfo, tree, tvb, offset, + hf_cmip_eventType_OID, object_identifier_id); + +#.FN_BODY InvalidArgumentValueEventValue/eventInfo + offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree); + #.END diff --git a/asn1/cmip/packet-cmip-template.c b/asn1/cmip/packet-cmip-template.c index f06c8ff1fd..d6e62344e3 100644 --- a/asn1/cmip/packet-cmip-template.c +++ b/asn1/cmip/packet-cmip-template.c @@ -48,6 +48,9 @@ /* Initialize the protocol and registered fields */ int proto_cmip = -1; static int hf_cmip_actionType_OID = -1; +static int hf_cmip_eventType_OID = -1; +static int hf_cmip_attributeId_OID = -1; +static int hf_cmip_errorId_OID = -1; #include "packet-cmip-hf.c" /* Initialize the subtree pointers */ @@ -140,6 +143,18 @@ void proto_register_cmip(void) { { "actionType", "cmip.actionType_OID", FT_STRING, BASE_NONE, NULL, 0, "actionType", HFILL }}, + { &hf_cmip_eventType_OID, + { "eventType", "cmip.eventType_OID", + FT_STRING, BASE_NONE, NULL, 0, + "eventType", HFILL }}, + { &hf_cmip_attributeId_OID, + { "attributeId", "cmip.attributeId_OID", + FT_STRING, BASE_NONE, NULL, 0, + "attributeId", HFILL }}, + { &hf_cmip_errorId_OID, + { "errorId", "cmip.errorId_OID", + FT_STRING, BASE_NONE, NULL, 0, + "errorId", HFILL }}, #include "packet-cmip-hfarr.c" }; -- cgit v1.2.3