aboutsummaryrefslogtreecommitdiffstats
path: root/asn1/gsmmap/packet-gsm_map-template.c
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2005-06-28 21:14:09 +0000
committerAnders Broman <anders.broman@ericsson.com>2005-06-28 21:14:09 +0000
commite824655d635ea2a8321ba8a06c56c05393606a0b (patch)
tree827ba7a88b122a8830763a6ece9e4965d2b3e60d /asn1/gsmmap/packet-gsm_map-template.c
parent8f962c973f420bc1eae5b44302b2b6e00bf69da6 (diff)
Fix to SendAuthenticationInfoRes.
svn path=/trunk/; revision=14807
Diffstat (limited to 'asn1/gsmmap/packet-gsm_map-template.c')
-rw-r--r--asn1/gsmmap/packet-gsm_map-template.c20
1 files changed, 11 insertions, 9 deletions
diff --git a/asn1/gsmmap/packet-gsm_map-template.c b/asn1/gsmmap/packet-gsm_map-template.c
index 2c5d9a86a8..806a834a2b 100644
--- a/asn1/gsmmap/packet-gsm_map-template.c
+++ b/asn1/gsmmap/packet-gsm_map-template.c
@@ -742,12 +742,14 @@ static int dissect_returnResultData(packet_info *pinfo, proto_tree *tree, tvbuff
offset=dissect_gsm_map_SendIdentificationRes(FALSE, tvb, offset, pinfo, tree, -1);
break;
case 56: /*sendAuthenticationInfo*/
- if (application_context_version < 2 ){
- offset=dissect_gsm_map_SendAuthenticationInfoRes(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_SendAuthenticationInfoRes);
- }else{
- offset=dissect_gsm_map_SendAuthenticationInfoResV3(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_SendAuthenticationInfoRes);
- }
- break;
+ octet = tvb_get_guint8(tvb,0) & 0xf;
+ if ( octet == 3){ /* This is a V3 message ??? */
+ offset = offset +2;
+ offset=dissect_gsm_map_SendAuthenticationInfoResV3(TRUE, tvb, offset, pinfo, tree, hf_gsm_map_SendAuthenticationInfoRes);
+ }else{
+ offset=dissect_gsm_map_SendAuthenticationInfoRes(FALSE, tvb, offset, pinfo, tree, -1);
+ }
+ break;
case 57: /*restoreData*/
offset=dissect_gsm_map_RestoreDataRes(FALSE, tvb, offset, pinfo, tree, -1);
break;
@@ -813,9 +815,9 @@ static int dissect_returnResultData(packet_info *pinfo, proto_tree *tree, tvbuff
offset=dissect_gsm_map_EraseCC_EntryRes(FALSE, tvb, offset, pinfo, tree, -1);
break;
case 78: /*secureTransportClass1*/
- case 79: /*secureTransportClass1*/
- case 80: /*secureTransportClass1*/
- case 81: /*secureTransportClass1*/
+ case 79: /*secureTransportClass2*/
+ case 80: /*secureTransportClass3*/
+ case 81: /*secureTransportClass4*/
offset=dissect_gsm_map_SecureTransportRes(FALSE, tvb, offset, pinfo, tree, -1);
break;
case 83: /*provideSubscriberLocation*/