diff options
author | etxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7> | 2007-04-12 20:37:08 +0000 |
---|---|---|
committer | etxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7> | 2007-04-12 20:37:08 +0000 |
commit | a83d6de4694db07cb4d6e7ba2c53c660f0585796 (patch) | |
tree | 5e1c58c733e65cb3c47f1323f4e4f5d662e2b52c | |
parent | 9d1edf2f2eda9e569d8584da80cdb70b64bd260c (diff) |
Workaround for the ber CHOICE crash.
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@21392 f5534014-38df-0310-8fa8-9805f1628bb7
-rw-r--r-- | asn1/mms/mms-exp.cnf | 2 | ||||
-rw-r--r-- | asn1/mms/mms.asn | 349 | ||||
-rw-r--r-- | epan/dissectors/packet-mms.c | 46 | ||||
-rw-r--r-- | epan/dissectors/packet-mms.h | 2 |
4 files changed, 214 insertions, 185 deletions
diff --git a/asn1/mms/mms-exp.cnf b/asn1/mms/mms-exp.cnf index 05f983cec0..9dc0cf51d2 100644 --- a/asn1/mms/mms-exp.cnf +++ b/asn1/mms/mms-exp.cnf @@ -1,6 +1,6 @@ # Do not modify this file. # It is created automatically by the ASN.1 to Wireshark dissector compiler -# ./mms-exp.cnf +# .\mms-exp.cnf # ../../tools/asn2wrs.py -b -e -p mms -c mms.cnf -s packet-mms-template mms.asn #.MODULE diff --git a/asn1/mms/mms.asn b/asn1/mms/mms.asn index 05ecd010e7..bc11a5f8ae 100644 --- a/asn1/mms/mms.asn +++ b/asn1/mms/mms.asn @@ -27,28 +27,28 @@ FROM ISO-8650-ACSE-1; MMSpdu ::= CHOICE { - confirmed-RequestPDU [0] IMPLICIT Confirmed-RequestPDU, - confirmed-ResponsePDU [1] IMPLICIT Confirmed-ResponsePDU, + confirmed-RequestPDU [0] IMPLICIT Confirmed-RequestPDU, + confirmed-ResponsePDU [1] IMPLICIT Confirmed-ResponsePDU, confirmed-ErrorPDU [2] IMPLICIT Confirmed-ErrorPDU, unconfirmed-PDU [3] IMPLICIT Unconfirmed-PDU, - rejectPDU [4] IMPLICIT RejectPDU, + rejectPDU [4] IMPLICIT RejectPDU, cancel-RequestPDU [5] IMPLICIT Cancel-RequestPDU, cancel-ResponsePDU [6] IMPLICIT Cancel-ResponsePDU, cancel-ErrorPDU [7] IMPLICIT Cancel-ErrorPDU, initiate-RequestPDU [8] IMPLICIT Initiate-RequestPDU, - initiate-ResponsePDU [9] IMPLICIT Initiate-ResponsePDU, + initiate-ResponsePDU [9] IMPLICIT Initiate-ResponsePDU, initiate-ErrorPDU [10] IMPLICIT Initiate-ErrorPDU, conclude-RequestPDU [11] IMPLICIT Conclude-RequestPDU, - conclude-ResponsePDU [12] IMPLICIT Conclude-ResponsePDU, + conclude-ResponsePDU [12] IMPLICIT Conclude-ResponsePDU, conclude-ErrorPDU [13] IMPLICIT Conclude-ErrorPDU } Confirmed-RequestPDU ::= SEQUENCE { - invokeID Unsigned32, + invokeID Unsigned32, listOfModifier SEQUENCE OF Modifier OPTIONAL, - confirmedServiceRequest ConfirmedServiceRequest, + confirmedServiceRequest ConfirmedServiceRequest, cs-request-detail [79] CS-Request-Detail OPTIONAL } @@ -70,7 +70,7 @@ Confirmed-ResponsePDU ::= SEQUENCE Confirmed-ErrorPDU ::= SEQUENCE { - invokeID [0] IMPLICIT Unsigned32, + invokeID [0] IMPLICIT Unsigned32, modifierPosition [1] IMPLICIT Unsigned32 OPTIONAL, serviceError [2] IMPLICIT ServiceError } @@ -89,92 +89,92 @@ UnconfirmedService ::= CHOICE Modifier ::= CHOICE { attach-To-Event-Condition [0] IMPLICIT AttachToEventCondition, - attach-To-Semaphore [1] IMPLICIT AttachToSemaphore + attach-To-Semaphore [1] IMPLICIT AttachToSemaphore } ConfirmedServiceRequest ::= CHOICE { - status [0] IMPLICIT Status-Request, - getNameList [1] IMPLICIT GetNameList-Request, - identify [2] IMPLICIT Identify-Request, - rename [3] IMPLICIT Rename-Request, - read [4] IMPLICIT Read-Request, - write [5] IMPLICIT Write-Request, - getVariableAccessAttributes [6] GetVariableAccessAttributes-Request, - defineNamedVariable [7] IMPLICIT DefineNamedVariable-Request, - defineScatteredAccess [8] IMPLICIT DefineScatteredAccess-Request, + status [0] IMPLICIT Status-Request, + getNameList [1] IMPLICIT GetNameList-Request, + identify [2] IMPLICIT Identify-Request, + rename [3] IMPLICIT Rename-Request, + read [4] IMPLICIT Read-Request, + write [5] IMPLICIT Write-Request, + getVariableAccessAttributes [6] GetVariableAccessAttributes-Request, + defineNamedVariable [7] IMPLICIT DefineNamedVariable-Request, + defineScatteredAccess [8] IMPLICIT DefineScatteredAccess-Request, getScatteredAccessAttributes [9] IMPLICIT GetScatteredAccessAttributes-Request, - deleteVariableAccess [10] IMPLICIT DeleteVariableAccess-Request, - defineNamedVariableList [11] IMPLICIT DefineNamedVariableList-Request, - getNamedVariableListAttributes [12] IMPLICIT GetNamedVariableListAttributes-Request, - deleteNamedVariableList [13] IMPLICIT DeleteNamedVariableList-Request, - defineNamedType [14] IMPLICIT DefineNamedType-Request, - getNamedTypeAttributes [15] IMPLICIT GetNamedTypeAttributes-Request, - deleteNamedType [16] IMPLICIT DeleteNamedType-Request, - input [17] IMPLICIT Input-Request, - output [18] IMPLICIT Output-Request, - takeControl [19] IMPLICIT TakeControl-Request, - relinquishControl [20] IMPLICIT RelinquishControl-Request, - defineSemaphore [21] IMPLICIT DefineSemaphore-Request, - deleteSemaphore [22] IMPLICIT DeleteSemaphore-Request, - reportSemaphoreStatus [23] IMPLICIT ReportSemaphoreStatus-Request, - reportPoolSemaphoreStatus [24] IMPLICIT ReportPoolSemaphoreStatus-Request, - reportSemaphoreEntryStatus [25] IMPLICIT ReportSemaphoreEntryStatus-Request, - initiateDownloadSequence [26] IMPLICIT InitiateDownloadSequence-Request, - downloadSegment [27] IMPLICIT DownloadSegment-Request, - terminateDownloadSequence [28] IMPLICIT TerminateDownloadSequence-Request, - initiateUploadSequence [29] IMPLICIT InitiateUploadSequence-Request, - uploadSegment [30] IMPLICIT UploadSegment-Request, - terminateUploadSequence [31] IMPLICIT TerminateUploadSequence-Request, - requestDomainDownload [32] IMPLICIT RequestDomainDownload-Request, - requestDomainUpload [33] IMPLICIT RequestDomainUpload-Request, - loadDomainContent [34] IMPLICIT LoadDomainContent-Request, - storeDomainContent [35] IMPLICIT StoreDomainContent-Request, - deleteDomain [36] IMPLICIT DeleteDomain-Request, - getDomainAttributes [37] IMPLICIT GetDomainAttributes-Request, - createProgramInvocation [38] IMPLICIT CreateProgramInvocation-Request, - deleteProgramInvocation [39] IMPLICIT DeleteProgramInvocation-Request, - start [40] IMPLICIT Start-Request, - stop [41] IMPLICIT Stop-Request, - resume [42] IMPLICIT Resume-Request, - reset [43] IMPLICIT Reset-Request, - kill [44] IMPLICIT Kill-Request, - getProgramInvocationAttributes [45] IMPLICIT GetProgramInvocationAttributes-Request, - obtainFile [46] IMPLICIT ObtainFile-Request, - defineEventCondition [47] IMPLICIT DefineEventCondition-Request, - deleteEventCondition [48] DeleteEventCondition-Request, - getEventConditionAttributes [49] GetEventConditionAttributes-Request, - reportEventConditionStatus [50] ReportEventConditionStatus-Request, - alterEventConditionMonitoring [51] IMPLICIT AlterEventConditionMonitoring-Request, - triggerEvent [52] IMPLICIT TriggerEvent-Request, - defineEventAction [53] IMPLICIT DefineEventAction-Request, - deleteEventAction [54] DeleteEventAction-Request, - getEventActionAttributes [55] GetEventActionAttributes-Request, - reportEventActionStatus [56] ReportEventActionStatus-Request, - defineEventEnrollment [57] IMPLICIT DefineEventEnrollment-Request, - deleteEventEnrollment [58] DeleteEventEnrollment-Request, - alterEventEnrollment [59] IMPLICIT AlterEventEnrollment-Request, - reportEventEnrollmentStatus [60] ReportEventEnrollmentStatus-Request, - getEventEnrollmentAttributes [61] IMPLICIT GetEventEnrollmentAttributes-Request, - acknowledgeEventNotification [62] IMPLICIT AcknowledgeEventNotification-Request, - getAlarmSummary [63] IMPLICIT GetAlarmSummary-Request, - getAlarmEnrollmentSummary [64] IMPLICIT GetAlarmEnrollmentSummary-Request, - readJournal [65] IMPLICIT ReadJournal-Request, - writeJournal [66] IMPLICIT WriteJournal-Request, - initializeJournal [67] IMPLICIT InitializeJournal-Request, - reportJournalStatus [68] IMPLICIT ReportJournalStatus-Request, - createJournal [69] IMPLICIT CreateJournal-Request, - deleteJournal [70] IMPLICIT DeleteJournal-Request, - getCapabilityList [71] IMPLICIT GetCapabilityList-Request, - fileOpen [72] IMPLICIT FileOpen-Request, - fileRead [73] IMPLICIT FileRead-Request, - fileClose [74] IMPLICIT FileClose-Request, - fileRename [75] IMPLICIT FileRename-Request, - fileDelete [76] IMPLICIT FileDelete-Request, - fileDirectory [77] IMPLICIT FileDirectory-Request + deleteVariableAccess [10] IMPLICIT DeleteVariableAccess-Request, + defineNamedVariableList [11] IMPLICIT DefineNamedVariableList-Request, + getNamedVariableListAttributes [12] IMPLICIT GetNamedVariableListAttributes-Request, + deleteNamedVariableList [13] IMPLICIT DeleteNamedVariableList-Request, + defineNamedType [14] IMPLICIT DefineNamedType-Request, + getNamedTypeAttributes [15] IMPLICIT GetNamedTypeAttributes-Request, + deleteNamedType [16] IMPLICIT DeleteNamedType-Request, + input [17] IMPLICIT Input-Request, + output [18] IMPLICIT Output-Request, + takeControl [19] IMPLICIT TakeControl-Request, + relinquishControl [20] IMPLICIT RelinquishControl-Request, + defineSemaphore [21] IMPLICIT DefineSemaphore-Request, + deleteSemaphore [22] IMPLICIT DeleteSemaphore-Request, + reportSemaphoreStatus [23] IMPLICIT ReportSemaphoreStatus-Request, + reportPoolSemaphoreStatus [24] IMPLICIT ReportPoolSemaphoreStatus-Request, + reportSemaphoreEntryStatus [25] IMPLICIT ReportSemaphoreEntryStatus-Request, + initiateDownloadSequence [26] IMPLICIT InitiateDownloadSequence-Request, + downloadSegment [27] IMPLICIT DownloadSegment-Request, + terminateDownloadSequence [28] IMPLICIT TerminateDownloadSequence-Request, + initiateUploadSequence [29] IMPLICIT InitiateUploadSequence-Request, + uploadSegment [30] IMPLICIT UploadSegment-Request, + terminateUploadSequence [31] IMPLICIT TerminateUploadSequence-Request, + requestDomainDownload [32] IMPLICIT RequestDomainDownload-Request, + requestDomainUpload [33] IMPLICIT RequestDomainUpload-Request, + loadDomainContent [34] IMPLICIT LoadDomainContent-Request, + storeDomainContent [35] IMPLICIT StoreDomainContent-Request, + deleteDomain [36] IMPLICIT DeleteDomain-Request, + getDomainAttributes [37] IMPLICIT GetDomainAttributes-Request, + createProgramInvocation [38] IMPLICIT CreateProgramInvocation-Request, + deleteProgramInvocation [39] IMPLICIT DeleteProgramInvocation-Request, + start [40] IMPLICIT Start-Request, + stop [41] IMPLICIT Stop-Request, + resume [42] IMPLICIT Resume-Request, + reset [43] IMPLICIT Reset-Request, + kill [44] IMPLICIT Kill-Request, + getProgramInvocationAttributes [45] IMPLICIT GetProgramInvocationAttributes-Request, + obtainFile [46] IMPLICIT ObtainFile-Request, + defineEventCondition [47] IMPLICIT DefineEventCondition-Request, + deleteEventCondition [48] DeleteEventCondition-Request, + getEventConditionAttributes [49] GetEventConditionAttributes-Request, + reportEventConditionStatus [50] ReportEventConditionStatus-Request, + alterEventConditionMonitoring [51] IMPLICIT AlterEventConditionMonitoring-Request, + triggerEvent [52] IMPLICIT TriggerEvent-Request, + defineEventAction [53] IMPLICIT DefineEventAction-Request, + deleteEventAction [54] DeleteEventAction-Request, + getEventActionAttributes [55] GetEventActionAttributes-Request, + reportEventActionStatus [56] ReportEventActionStatus-Request, + defineEventEnrollment [57] IMPLICIT DefineEventEnrollment-Request, + deleteEventEnrollment [58] DeleteEventEnrollment-Request, + alterEventEnrollment [59] IMPLICIT AlterEventEnrollment-Request, + reportEventEnrollmentStatus [60] ReportEventEnrollmentStatus-Request, + getEventEnrollmentAttributes [61] IMPLICIT GetEventEnrollmentAttributes-Request, + acknowledgeEventNotification [62] IMPLICIT AcknowledgeEventNotification-Request, + getAlarmSummary [63] IMPLICIT GetAlarmSummary-Request, + getAlarmEnrollmentSummary [64] IMPLICIT GetAlarmEnrollmentSummary-Request, + readJournal [65] IMPLICIT ReadJournal-Request, + writeJournal [66] IMPLICIT WriteJournal-Request, + initializeJournal [67] IMPLICIT InitializeJournal-Request, + reportJournalStatus [68] IMPLICIT ReportJournalStatus-Request, + createJournal [69] IMPLICIT CreateJournal-Request, + deleteJournal [70] IMPLICIT DeleteJournal-Request, + getCapabilityList [71] IMPLICIT GetCapabilityList-Request, + fileOpen [72] IMPLICIT FileOpen-Request, + fileRead [73] IMPLICIT FileRead-Request, + fileClose [74] IMPLICIT FileClose-Request, + fileRename [75] IMPLICIT FileRename-Request, + fileDelete [76] IMPLICIT FileDelete-Request, + fileDirectory [77] IMPLICIT FileDirectory-Request -- XXX this one is neither in this ASN nor in the IMPORTS --- additionalService [78] AdditionalService-Request +-- additionalService [78] AdditionalService-Request } CS-Request-Detail ::= CHOICE { @@ -186,86 +186,86 @@ CS-Request-Detail ::= CHOICE { ConfirmedServiceResponse ::= CHOICE { - status [0] IMPLICIT Status-Response, - getNameList [1] IMPLICIT GetNameList-Response, - identify [2] IMPLICIT Identify-Response, - rename [3] IMPLICIT Rename-Response, - read [4] IMPLICIT Read-Response, - write [5] IMPLICIT Write-Response, - getVariableAccessAttributes [6] IMPLICIT GetVariableAccessAttributes-Response, - defineNamedVariable [7] IMPLICIT DefineNamedVariable-Response, - defineScatteredAccess [8] IMPLICIT DefineScatteredAccess-Response, + status [0] IMPLICIT Status-Response, + getNameList [1] IMPLICIT GetNameList-Response, + identify [2] IMPLICIT Identify-Response, + rename [3] IMPLICIT Rename-Response, + read [4] IMPLICIT Read-Response, + write [5] IMPLICIT Write-Response, + getVariableAccessAttributes [6] IMPLICIT GetVariableAccessAttributes-Response, + defineNamedVariable [7] IMPLICIT DefineNamedVariable-Response, + defineScatteredAccess [8] IMPLICIT DefineScatteredAccess-Response, getScatteredAccessAttributes [9] IMPLICIT GetScatteredAccessAttributes-Response, - deleteVariableAccess [10] IMPLICIT DeleteVariableAccess-Response, - defineNamedVariableList [11] IMPLICIT DefineNamedVariableList-Response, + deleteVariableAccess [10] IMPLICIT DeleteVariableAccess-Response, + defineNamedVariableList [11] IMPLICIT DefineNamedVariableList-Response, getNamedVariableListAttributes [12] IMPLICIT GetNamedVariableListAttributes-Response, - deleteNamedVariableList [13] IMPLICIT DeleteNamedVariableList-Response, - defineNamedType [14] IMPLICIT DefineNamedType-Response, - getNamedTypeAttributes [15] IMPLICIT GetNamedTypeAttributes-Response, - deleteNamedType [16] IMPLICIT DeleteNamedType-Response, - input [17] IMPLICIT Input-Response, - output [18] IMPLICIT Output-Response, - takeControl [19] TakeControl-Response, - relinquishControl [20] IMPLICIT RelinquishControl-Response, - defineSemaphore [21] IMPLICIT DefineSemaphore-Response, - deleteSemaphore [22] IMPLICIT DeleteSemaphore-Response, - reportSemaphoreStatus [23] IMPLICIT ReportSemaphoreStatus-Response, - reportPoolSemaphoreStatus [24] IMPLICIT ReportPoolSemaphoreStatus-Response, - reportSemaphoreEntryStatus [25] IMPLICIT ReportSemaphoreEntryStatus-Response, - initiateDownloadSequence [26] IMPLICIT InitiateDownloadSequence-Response, - downloadSegment [27] IMPLICIT DownloadSegment-Response, - terminateDownloadSequence [28] IMPLICIT TerminateDownloadSequence-Response, - initiateUploadSequence [29] IMPLICIT InitiateUploadSequence-Response, - uploadSegment [30] IMPLICIT UploadSegment-Response, - terminateUploadSequence [31] IMPLICIT TerminateUploadSequence-Response, - requestDomainDownLoad [32] IMPLICIT RequestDomainDownload-Response, - requestDomainUpload [33] IMPLICIT RequestDomainUpload-Response, - loadDomainContent [34] IMPLICIT LoadDomainContent-Response, - storeDomainContent [35] IMPLICIT StoreDomainContent-Response, - deleteDomain [36] IMPLICIT DeleteDomain-Response, - getDomainAttributes [37] IMPLICIT GetDomainAttributes-Response, - createProgramInvocation [38] IMPLICIT CreateProgramInvocation-Response, - deleteProgramInvocation [39] IMPLICIT DeleteProgramInvocation-Response, - start [40] IMPLICIT Start-Response, - stop [41] IMPLICIT Stop-Response, - resume [42] IMPLICIT Resume-Response, - reset [43] IMPLICIT Reset-Response, - kill [44] IMPLICIT Kill-Response, + deleteNamedVariableList [13] IMPLICIT DeleteNamedVariableList-Response, + defineNamedType [14] IMPLICIT DefineNamedType-Response, + getNamedTypeAttributes [15] IMPLICIT GetNamedTypeAttributes-Response, + deleteNamedType [16] IMPLICIT DeleteNamedType-Response, + input [17] IMPLICIT Input-Response, + output [18] IMPLICIT Output-Response, + takeControl [19] TakeControl-Response, + relinquishControl [20] IMPLICIT RelinquishControl-Response, + defineSemaphore [21] IMPLICIT DefineSemaphore-Response, + deleteSemaphore [22] IMPLICIT DeleteSemaphore-Response, + reportSemaphoreStatus [23] IMPLICIT ReportSemaphoreStatus-Response, + reportPoolSemaphoreStatus [24] IMPLICIT ReportPoolSemaphoreStatus-Response, + reportSemaphoreEntryStatus [25] IMPLICIT ReportSemaphoreEntryStatus-Response, + initiateDownloadSequence [26] IMPLICIT InitiateDownloadSequence-Response, + downloadSegment [27] IMPLICIT DownloadSegment-Response, + terminateDownloadSequence [28] IMPLICIT TerminateDownloadSequence-Response, + initiateUploadSequence [29] IMPLICIT InitiateUploadSequence-Response, + uploadSegment [30] IMPLICIT UploadSegment-Response, + terminateUploadSequence [31] IMPLICIT TerminateUploadSequence-Response, + requestDomainDownLoad [32] IMPLICIT RequestDomainDownload-Response, + requestDomainUpload [33] IMPLICIT RequestDomainUpload-Response, + loadDomainContent [34] IMPLICIT LoadDomainContent-Response, + storeDomainContent [35] IMPLICIT StoreDomainContent-Response, + deleteDomain [36] IMPLICIT DeleteDomain-Response, + getDomainAttributes [37] IMPLICIT GetDomainAttributes-Response, + createProgramInvocation [38] IMPLICIT CreateProgramInvocation-Response, + deleteProgramInvocation [39] IMPLICIT DeleteProgramInvocation-Response, + start [40] IMPLICIT Start-Response, + stop [41] IMPLICIT Stop-Response, + resume [42] IMPLICIT Resume-Response, + reset [43] IMPLICIT Reset-Response, + kill [44] IMPLICIT Kill-Response, getProgramInvocationAttributes [45] IMPLICIT GetProgramInvocationAttributes-Response, - obtainFile [46] IMPLICIT ObtainFile-Response, - fileOpen [72] IMPLICIT FileOpen-Response, - defineEventCondition [47] IMPLICIT DefineEventCondition-Response, - deleteEventCondition [48] IMPLICIT DeleteEventCondition-Response, - getEventConditionAttributes [49] IMPLICIT GetEventConditionAttributes-Response, - reportEventConditionStatus [50] IMPLICIT ReportEventConditionStatus-Response, + obtainFile [46] IMPLICIT ObtainFile-Response, + fileOpen [72] IMPLICIT FileOpen-Response, + defineEventCondition [47] IMPLICIT DefineEventCondition-Response, + deleteEventCondition [48] IMPLICIT DeleteEventCondition-Response, + getEventConditionAttributes [49] IMPLICIT GetEventConditionAttributes-Response, + reportEventConditionStatus [50] IMPLICIT ReportEventConditionStatus-Response, alterEventConditionMonitoring [51] IMPLICIT AlterEventConditionMonitoring-Response, - triggerEvent [52] IMPLICIT TriggerEvent-Response, - defineEventAction [53] IMPLICIT DefineEventAction-Response, - deleteEventAction [54] IMPLICIT DeleteEventAction-Response, - getEventActionAttributes [55] IMPLICIT GetEventActionAttributes-Response, - reportActionStatus [56] IMPLICIT ReportEventActionStatus-Response, - defineEventEnrollment [57] IMPLICIT DefineEventEnrollment-Response, - deleteEventEnrollment [58] IMPLICIT DeleteEventEnrollment-Response, - alterEventEnrollment [59] IMPLICIT AlterEventEnrollment-Response, - reportEventEnrollmentStatus [60] IMPLICIT ReportEventEnrollmentStatus-Response, + triggerEvent [52] IMPLICIT TriggerEvent-Response, + defineEventAction [53] IMPLICIT DefineEventAction-Response, + deleteEventAction [54] IMPLICIT DeleteEventAction-Response, + getEventActionAttributes [55] IMPLICIT GetEventActionAttributes-Response, + reportActionStatus [56] IMPLICIT ReportEventActionStatus-Response, + defineEventEnrollment [57] IMPLICIT DefineEventEnrollment-Response, + deleteEventEnrollment [58] IMPLICIT DeleteEventEnrollment-Response, + alterEventEnrollment [59] IMPLICIT AlterEventEnrollment-Response, + reportEventEnrollmentStatus [60] IMPLICIT ReportEventEnrollmentStatus-Response, getEventEnrollmentAttributes [61] IMPLICIT GetEventEnrollmentAttributes-Response, acknowledgeEventNotification [62] IMPLICIT AcknowledgeEventNotification-Response, - getAlarmSummary [63] IMPLICIT GetAlarmSummary-Response, - getAlarmEnrollmentSummary [64] IMPLICIT GetAlarmEnrollmentSummary-Response, - readJournal [65] IMPLICIT ReadJournal-Response, - writeJournal [66] IMPLICIT WriteJournal-Response, - initializeJournal [67] IMPLICIT InitializeJournal-Response, - reportJournalStatus [68] IMPLICIT ReportJournalStatus-Response, - createJournal [69] IMPLICIT CreateJournal-Response, - deleteJournal [70] IMPLICIT DeleteJournal-Response, - getCapabilityList [71] IMPLICIT GetCapabilityList-Response, - fileRead [73] IMPLICIT FileRead-Response, - fileClose [74] IMPLICIT FileClose-Response, - fileRename [75] IMPLICIT FileRename-Response, - fileDelete [76] IMPLICIT FileDelete-Response, - fileDirectory [77] IMPLICIT FileDirectory-Response + getAlarmSummary [63] IMPLICIT GetAlarmSummary-Response, + getAlarmEnrollmentSummary [64] IMPLICIT GetAlarmEnrollmentSummary-Response, + readJournal [65] IMPLICIT ReadJournal-Response, + writeJournal [66] IMPLICIT WriteJournal-Response, + initializeJournal [67] IMPLICIT InitializeJournal-Response, + reportJournalStatus [68] IMPLICIT ReportJournalStatus-Response, + createJournal [69] IMPLICIT CreateJournal-Response, + deleteJournal [70] IMPLICIT DeleteJournal-Response, + getCapabilityList [71] IMPLICIT GetCapabilityList-Response, + fileRead [73] IMPLICIT FileRead-Response, + fileClose [74] IMPLICIT FileClose-Response, + fileRename [75] IMPLICIT FileRename-Response, + fileDelete [76] IMPLICIT FileDelete-Response, + fileDirectory [77] IMPLICIT FileDirectory-Response -- XXX this one is neither in this ASN nor in the IMPORTS --- additionalService [78] AdditionalService-Response +-- additionalService [78] AdditionalService-Response } --********************************** COMMON MMS TYPES *********************************** @@ -289,7 +289,7 @@ Unsigned32 ::= INTEGER ObjectName ::= CHOICE { vmd-specific [0] IMPLICIT Identifier, - domain-specific [1] IMPLICIT SEQUENCE + domain-specific [1] IMPLICIT SEQUENCE { domainId Identifier, itemId Identifier @@ -300,7 +300,7 @@ ObjectName ::= CHOICE ApplicationReference ::= SEQUENCE { - ap-title [0] AP-title OPTIONAL, + ap-title [0] AP-title OPTIONAL, ap-invocation-id [1] AP-invocation-identifier OPTIONAL, ae-qualifier [2] AE-qualifier OPTIONAL, ae-invocation-id [3] AE-invocation-identifier OPTIONAL @@ -321,11 +321,11 @@ Initiate-ErrorPDU ::= ServiceError Initiate-RequestPDU ::= SEQUENCE { - localDetailCalling [0] IMPLICIT Integer32 OPTIONAL, + localDetailCalling [0] IMPLICIT Integer32 OPTIONAL, proposedMaxServOutstandingCalling [1] IMPLICIT Integer16, proposedMaxServOutstandingCalled [2] IMPLICIT Integer16, proposedDataStructureNestingLevel [3] IMPLICIT Integer8 OPTIONAL, - mmsInitRequestDetail [4] IMPLICIT InitRequestDetail + mmsInitRequestDetail [4] IMPLICIT InitRequestDetail } InitRequestDetail ::= SEQUENCE @@ -337,7 +337,7 @@ InitRequestDetail ::= SEQUENCE Initiate-ResponsePDU ::= SEQUENCE { - localDetailCalled [0] IMPLICIT Integer32 OPTIONAL, + localDetailCalled [0] IMPLICIT Integer32 OPTIONAL, negociatedMaxServOutstandingCalling [1] IMPLICIT Integer16, negociatedMaxServOutstandingCalled [2] IMPLICIT Integer16, negociatedDataStructureNestingLevel [3] IMPLICIT Integer8 OPTIONAL, @@ -582,7 +582,7 @@ ServiceError ::= SEQUENCE }, others [12] IMPLICIT INTEGER }, - additionalCode [1] IMPLICIT INTEGER OPTIONAL, + additionalCode [1] IMPLICIT INTEGER OPTIONAL, additionalDescription [2] IMPLICIT VisibleString OPTIONAL, serviceSpecificInformation [3] CHOICE { @@ -1360,7 +1360,22 @@ DeleteNamedType-Error ::= Unsigned32 -- number Deleted AccessResult ::= CHOICE { failure [0] IMPLICIT DataAccessError, - success Data +-- success Data +-- Expand Data here to get correct WS dissection + array [1] IMPLICIT SEQUENCE OF Data, + structure [2] IMPLICIT SEQUENCE OF Data, + boolean [3] IMPLICIT BOOLEAN, + bit-string [4] IMPLICIT BIT STRING, + integer [5] IMPLICIT INTEGER, + unsigned [6] IMPLICIT INTEGER, + floating-point [7] IMPLICIT FloatingPoint, +-- XXX asn2wrs and packet-ber can not handle REAL yet +-- real [8] IMPLICIT REAL, + octet-string [9] IMPLICIT OCTET STRING, + visible-string [10] IMPLICIT VisibleString, + binary-time [12] IMPLICIT TimeOfDay, + bcd [13] IMPLICIT INTEGER, + booleanArray [14] IMPLICIT BIT STRING } diff --git a/epan/dissectors/packet-mms.c b/epan/dissectors/packet-mms.c index 7b9ba6ad19..c3f9c7fe6f 100644 --- a/epan/dissectors/packet-mms.c +++ b/epan/dissectors/packet-mms.c @@ -1,6 +1,6 @@ /* Do not modify this file. */ /* It is created automatically by the ASN.1 to Wireshark dissector compiler */ -/* ./packet-mms.c */ +/* .\packet-mms.c */ /* ../../tools/asn2wrs.py -b -e -p mms -c mms.cnf -s packet-mms-template mms.asn */ /* Input file: packet-mms-template.c */ @@ -432,7 +432,6 @@ static int hf_mms_listOfVariableListName_item = -1; /* ObjectName */ static int hf_mms_scopeOfDelete2 = -1; /* T_scopeOfDelete2 */ static int hf_mms_listOfTypeName = -1; /* SEQUENCE_OF_ObjectName */ static int hf_mms_listOfTypeName_item = -1; /* ObjectName */ -static int hf_mms_success1 = -1; /* Data */ static int hf_mms_array1 = -1; /* SEQUENCE_OF_Data */ static int hf_mms_array_item = -1; /* Data */ static int hf_mms_structure1 = -1; /* SEQUENCE_OF_Data */ @@ -559,7 +558,7 @@ static int hf_mms_eventConditionName2 = -1; /* T_eventConditionName1 */ static int hf_mms_actionResult = -1; /* T_actionResult */ static int hf_mms_eventActioName = -1; /* ObjectName */ static int hf_mms_eventActionResult = -1; /* T_eventActionResult */ -static int hf_mms_success2 = -1; /* ConfirmedServiceResponse */ +static int hf_mms_success1 = -1; /* ConfirmedServiceResponse */ static int hf_mms_failure1 = -1; /* ServiceError */ static int hf_mms_causingTransitions = -1; /* Transitions */ static int hf_mms_timeOfDayT = -1; /* TimeOfDay */ @@ -972,9 +971,6 @@ static int dissect_mms_Data(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of static int dissect_listOfData_item(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) { return dissect_mms_Data(FALSE, tvb, offset, pinfo, tree, hf_mms_listOfData_item); } -static int dissect_success1(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) { - return dissect_mms_Data(FALSE, tvb, offset, pinfo, tree, hf_mms_success1); -} static int dissect_array_item(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) { return dissect_mms_Data(FALSE, tvb, offset, pinfo, tree, hf_mms_array_item); } @@ -5562,13 +5558,35 @@ static int dissect_failure_impl(packet_info *pinfo _U_, proto_tree *tree _U_, tv static const value_string mms_AccessResult_vals[] = { { 0, "failure" }, - { 1, "success" }, + { 1, "array" }, + { 2, "structure" }, + { 3, "boolean" }, + { 4, "bit-string" }, + { 5, "integer" }, + { 6, "unsigned" }, + { 7, "floating-point" }, + { 9, "octet-string" }, + { 10, "visible-string" }, + { 12, "binary-time" }, + { 13, "bcd" }, + { 14, "booleanArray" }, { 0, NULL } }; static const ber_choice_t AccessResult_choice[] = { { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_failure_impl }, - { 1, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_success1 }, + { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_array1_impl }, + { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_structure1_impl }, + { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_boolean1_impl }, + { 4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_bit_string1_impl }, + { 5, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_integer1_impl }, + { 6, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_unsigned1_impl }, + { 7, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_floating_point_impl }, + { 9, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_octet_string1_impl }, + { 10, BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_visible_string1_impl }, + { 12, BER_CLASS_CON, 12, BER_FLAGS_IMPLTAG, dissect_binary_time1_impl }, + { 13, BER_CLASS_CON, 13, BER_FLAGS_IMPLTAG, dissect_bcd1_impl }, + { 14, BER_CLASS_CON, 14, BER_FLAGS_IMPLTAG, dissect_booleanArray_impl }, { 0, 0, 0, 0, NULL } }; @@ -7652,8 +7670,8 @@ dissect_mms_ConfirmedServiceResponse(gboolean implicit_tag _U_, tvbuff_t *tvb _U static int dissect_confirmedServiceResponse(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) { return dissect_mms_ConfirmedServiceResponse(FALSE, tvb, offset, pinfo, tree, hf_mms_confirmedServiceResponse); } -static int dissect_success2(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) { - return dissect_mms_ConfirmedServiceResponse(FALSE, tvb, offset, pinfo, tree, hf_mms_success2); +static int dissect_success1(packet_info *pinfo _U_, proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_) { + return dissect_mms_ConfirmedServiceResponse(FALSE, tvb, offset, pinfo, tree, hf_mms_success1); } @@ -7757,7 +7775,7 @@ static const value_string mms_T_eventActionResult_vals[] = { }; static const ber_choice_t T_eventActionResult_choice[] = { - { 0, BER_CLASS_CON, 0, 0, dissect_success2 }, + { 0, BER_CLASS_CON, 0, 0, dissect_success1 }, { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_failure1_impl }, { 0, 0, 0, 0, NULL } }; @@ -10089,10 +10107,6 @@ void proto_register_mms(void) { { "Item", "mms.listOfTypeName_item", FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0, "mms.ObjectName", HFILL }}, - { &hf_mms_success1, - { "success", "mms.success", - FT_UINT32, BASE_DEC, VALS(mms_Data_vals), 0, - "mms.Data", HFILL }}, { &hf_mms_array1, { "array", "mms.array", FT_UINT32, BASE_DEC, NULL, 0, @@ -10597,7 +10611,7 @@ void proto_register_mms(void) { { "eventActionResult", "mms.eventActionResult", FT_UINT32, BASE_DEC, VALS(mms_T_eventActionResult_vals), 0, "mms.T_eventActionResult", HFILL }}, - { &hf_mms_success2, + { &hf_mms_success1, { "success", "mms.success", FT_UINT32, BASE_DEC, VALS(mms_ConfirmedServiceResponse_vals), 0, "mms.ConfirmedServiceResponse", HFILL }}, diff --git a/epan/dissectors/packet-mms.h b/epan/dissectors/packet-mms.h index 19c140e735..bf67ee1ff5 100644 --- a/epan/dissectors/packet-mms.h +++ b/epan/dissectors/packet-mms.h @@ -1,6 +1,6 @@ /* Do not modify this file. */ /* It is created automatically by the ASN.1 to Wireshark dissector compiler */ -/* ./packet-mms.h */ +/* .\packet-mms.h */ /* ../../tools/asn2wrs.py -b -e -p mms -c mms.cnf -s packet-mms-template mms.asn */ /* Input file: packet-mms-template.h */ |