forked from osmocom/wireshark
from Olivier J
bugfix for IMPLICIT NULL in BER sequences and gsmmap updates svn path=/trunk/; revision=14160
This commit is contained in:
parent
dfc96b3d23
commit
b95490206d
|
@ -63,6 +63,7 @@ static int hf_gsm_map_local_errorCode = -1;
|
|||
static int hf_gsm_map_global_errorCode_oid = -1;
|
||||
static int hf_gsm_map_global_errorCode = -1;
|
||||
static int hf_gsm_map_SendAuthenticationInfoArg = -1;
|
||||
static int hf_gsm_map_SendAuthenticationInfoRes = -1;
|
||||
static int hf_gsm_mapSendEndSignal = -1;
|
||||
static int hf_gsm_map_getPassword = -1;
|
||||
static int hf_gsm_map_currentPassword = -1;
|
||||
|
@ -710,15 +711,19 @@ static int dissect_returnResultData(packet_info *pinfo, proto_tree *tree, tvbuff
|
|||
case 55: /*sendIdentification*/
|
||||
offset=dissect_gsm_map_SendIdentificationRes(FALSE, tvb, offset, pinfo, tree, -1);
|
||||
break;
|
||||
case 56:
|
||||
offset = dissect_gsm_map_SendAuthenticationInfoRes(FALSE, tvb, offset, pinfo, tree, -1);
|
||||
case 56: /*sendAuthenticationInfo*/
|
||||
if (application_context_version < 3 ){
|
||||
offset=dissect_gsm_map_SendAuthenticationInfoRes(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_SendAuthenticationInfoRes);
|
||||
}else{
|
||||
offset=dissect_gsm_map_SendAuthenticationInfoV3Res(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_SendAuthenticationInfoRes);
|
||||
}
|
||||
break;
|
||||
case 57: /*restoreData*/
|
||||
offset=dissect_gsm_map_RestoreDataRes(FALSE, tvb, offset, pinfo, tree, -1);
|
||||
break;
|
||||
offset=dissect_gsm_map_RestoreDataRes(FALSE, tvb, offset, pinfo, tree, -1);
|
||||
break;
|
||||
case 58: /*sendIMSI*/
|
||||
offset=dissect_gsm_map_Imsi(FALSE, tvb, offset, pinfo, tree,hf_gsm_map_imsi);
|
||||
break;
|
||||
offset=dissect_gsm_map_Imsi(FALSE, tvb, offset, pinfo, tree,hf_gsm_map_imsi);
|
||||
break;
|
||||
case 59: /*unstructuredSS-Request*/
|
||||
offset=dissect_gsm_map_Ussd_Res(FALSE, tvb, offset, pinfo, tree, -1);
|
||||
break;
|
||||
|
@ -1252,6 +1257,10 @@ void proto_register_gsm_map(void) {
|
|||
{ "SendAuthenticationInfoArg", "gsm_map.SendAuthenticationInfoArg",
|
||||
FT_BYTES, BASE_NONE, NULL, 0,
|
||||
"SendAuthenticationInfoArg", HFILL }},
|
||||
{ &hf_gsm_map_SendAuthenticationInfoRes,
|
||||
{ "SendAuthenticationInfoRes", "gsm_map.SendAuthenticationInfoRes",
|
||||
FT_BYTES, BASE_NONE, NULL, 0,
|
||||
"SendAuthenticationInfoRes", HFILL }},
|
||||
{ &hf_gsm_map_currentPassword,
|
||||
{ "currentPassword", "gsm_map.currentPassword",
|
||||
FT_STRING, BASE_NONE, NULL, 0,
|
||||
|
|
|
@ -869,12 +869,15 @@ printf("SEQUENCE dissect_ber_sequence(%s) subdissector ate %d bytes\n",name,coun
|
|||
}
|
||||
#endif
|
||||
seq++;
|
||||
offset = hoffset+count;
|
||||
/* if it was optional and no bytes were eaten,
|
||||
just try again.
|
||||
*/
|
||||
if((count==0)&&(seq->flags&BER_FLAGS_OPTIONAL)){
|
||||
goto ber_sequence_try_again;
|
||||
if (len==0) {
|
||||
offset = eoffset;
|
||||
} else {
|
||||
offset = hoffset+count;
|
||||
}
|
||||
/* if it was optional and no bytes were eaten and it was */
|
||||
/* supposed to (len<>0), just try again. */
|
||||
if((len!=0)&&(count==0)&&(seq->flags&BER_FLAGS_OPTIONAL)){
|
||||
goto ber_sequence_try_again;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/* Do not modify this file. */
|
||||
/* It is created automatically by the ASN.1 to Ethereal dissector compiler */
|
||||
/* .\packet-gsm_map.c */
|
||||
/* ./packet-gsm_map.c */
|
||||
/* ../../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.c */
|
||||
|
@ -70,6 +70,7 @@ static int hf_gsm_map_local_errorCode = -1;
|
|||
static int hf_gsm_map_global_errorCode_oid = -1;
|
||||
static int hf_gsm_map_global_errorCode = -1;
|
||||
static int hf_gsm_map_SendAuthenticationInfoArg = -1;
|
||||
static int hf_gsm_map_SendAuthenticationInfoRes = -1;
|
||||
static int hf_gsm_mapSendEndSignal = -1;
|
||||
static int hf_gsm_map_getPassword = -1;
|
||||
static int hf_gsm_map_currentPassword = -1;
|
||||
|
@ -11073,15 +11074,19 @@ static int dissect_returnResultData(packet_info *pinfo, proto_tree *tree, tvbuff
|
|||
case 55: /*sendIdentification*/
|
||||
offset=dissect_gsm_map_SendIdentificationRes(FALSE, tvb, offset, pinfo, tree, -1);
|
||||
break;
|
||||
case 56:
|
||||
offset = dissect_gsm_map_SendAuthenticationInfoRes(FALSE, tvb, offset, pinfo, tree, -1);
|
||||
case 56: /*sendAuthenticationInfo*/
|
||||
if (application_context_version < 3 ){
|
||||
offset=dissect_gsm_map_SendAuthenticationInfoRes(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_SendAuthenticationInfoRes);
|
||||
}else{
|
||||
offset=dissect_gsm_map_SendAuthenticationInfoV3Res(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_SendAuthenticationInfoRes);
|
||||
}
|
||||
break;
|
||||
case 57: /*restoreData*/
|
||||
offset=dissect_gsm_map_RestoreDataRes(FALSE, tvb, offset, pinfo, tree, -1);
|
||||
break;
|
||||
offset=dissect_gsm_map_RestoreDataRes(FALSE, tvb, offset, pinfo, tree, -1);
|
||||
break;
|
||||
case 58: /*sendIMSI*/
|
||||
offset=dissect_gsm_map_Imsi(FALSE, tvb, offset, pinfo, tree,hf_gsm_map_imsi);
|
||||
break;
|
||||
offset=dissect_gsm_map_Imsi(FALSE, tvb, offset, pinfo, tree,hf_gsm_map_imsi);
|
||||
break;
|
||||
case 59: /*unstructuredSS-Request*/
|
||||
offset=dissect_gsm_map_Ussd_Res(FALSE, tvb, offset, pinfo, tree, -1);
|
||||
break;
|
||||
|
@ -11615,6 +11620,10 @@ void proto_register_gsm_map(void) {
|
|||
{ "SendAuthenticationInfoArg", "gsm_map.SendAuthenticationInfoArg",
|
||||
FT_BYTES, BASE_NONE, NULL, 0,
|
||||
"SendAuthenticationInfoArg", HFILL }},
|
||||
{ &hf_gsm_map_SendAuthenticationInfoRes,
|
||||
{ "SendAuthenticationInfoRes", "gsm_map.SendAuthenticationInfoRes",
|
||||
FT_BYTES, BASE_NONE, NULL, 0,
|
||||
"SendAuthenticationInfoRes", HFILL }},
|
||||
{ &hf_gsm_map_currentPassword,
|
||||
{ "currentPassword", "gsm_map.currentPassword",
|
||||
FT_STRING, BASE_NONE, NULL, 0,
|
||||
|
|
|
@ -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 */
|
||||
|
|
Loading…
Reference in New Issue