Fix to SendAuthenticationInfoRes.
authoretxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7>
Tue, 28 Jun 2005 21:14:09 +0000 (21:14 +0000)
committeretxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7>
Tue, 28 Jun 2005 21:14:09 +0000 (21:14 +0000)
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@14807 f5534014-38df-0310-8fa8-9805f1628bb7

asn1/gsmmap/packet-gsm_map-template.c

index 2c5d9a86a8b2721ddb230eeb409d4e4b570adaed..806a834a2bb3889543508dcea8a9833ad66b3801 100644 (file)
@@ -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*/