diff options
author | Anders Broman <anders.broman@ericsson.com> | 2005-06-28 21:14:59 +0000 |
---|---|---|
committer | Anders Broman <anders.broman@ericsson.com> | 2005-06-28 21:14:59 +0000 |
commit | 359ada1199fe17775f588f12597d7068872418a4 (patch) | |
tree | 73afb69851ee7f016a3cac34deb69f8e0c872727 /epan | |
parent | e824655d635ea2a8321ba8a06c56c05393606a0b (diff) |
Fix to SendAuthenticationInfoRes
svn path=/trunk/; revision=14808
Diffstat (limited to 'epan')
-rw-r--r-- | epan/dissectors/packet-gsm_map.c | 20 | ||||
-rw-r--r-- | epan/dissectors/packet-gsm_map.h | 2 |
2 files changed, 12 insertions, 10 deletions
diff --git a/epan/dissectors/packet-gsm_map.c b/epan/dissectors/packet-gsm_map.c index 606cc8669c..078bf60e98 100644 --- a/epan/dissectors/packet-gsm_map.c +++ b/epan/dissectors/packet-gsm_map.c @@ -13243,12 +13243,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; @@ -13314,9 +13316,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*/ diff --git a/epan/dissectors/packet-gsm_map.h b/epan/dissectors/packet-gsm_map.h index 49a863319a..6a257f3535 100644 --- a/epan/dissectors/packet-gsm_map.h +++ b/epan/dissectors/packet-gsm_map.h @@ -1,6 +1,6 @@ /* Do not modify this file. */ /* It is created automatically by the ASN.1 to Ethereal dissector compiler */ -/* ./packet-gsm_map.h */ +/* .\packet-gsm_map.h */ /* ../../tools/asn2eth.py -X -b -e -p gsm_map -c gsmmap.cnf -s packet-gsm_map-template GSMMAP.asn */ /* Input file: packet-gsm_map-template.h */ |