forked from osmocom/wireshark
Handle unsigned SMI types. This should fix bug 2292.
svn path=/trunk/; revision=24457
This commit is contained in:
parent
32ae9c1d7f
commit
1997308ac1
|
@ -551,7 +551,11 @@ extern int dissect_snmp_VarBind(gboolean implicit_tag _U_,
|
|||
goto indexing_done;
|
||||
}
|
||||
case OID_KEY_TYPE_INTEGER: {
|
||||
proto_tree_add_int(pt_name,k->hfid,tvb,name_offset,name_len,(guint)subids[key_start]);
|
||||
if (IS_FT_INT(k->ft_type)) {
|
||||
proto_tree_add_int(pt_name,k->hfid,tvb,name_offset,name_len,(guint)subids[key_start]);
|
||||
} else { /* if it's not an unsigned int let proto_tree_add_uint throw a warning */
|
||||
proto_tree_add_uint(pt_name,k->hfid,tvb,name_offset,name_len,(guint)subids[key_start]);
|
||||
}
|
||||
key_start++;
|
||||
key_len--;
|
||||
continue; /* k->next */
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/* Do not modify this file. */
|
||||
/* It is created automatically by the ASN.1 to Wireshark dissector compiler */
|
||||
/* packet-snmp.c */
|
||||
/* ../../tools/asn2wrs.py -b -p snmp -c snmp.cnf -s packet-snmp-template snmp.asn */
|
||||
/* ../../tools/asn2wrs.py -b -p snmp -c ./snmp.cnf -s ./packet-snmp-template -D . snmp.asn */
|
||||
|
||||
/* Input file: packet-snmp-template.c */
|
||||
|
||||
|
@ -653,7 +653,11 @@ extern int dissect_snmp_VarBind(gboolean implicit_tag _U_,
|
|||
goto indexing_done;
|
||||
}
|
||||
case OID_KEY_TYPE_INTEGER: {
|
||||
proto_tree_add_int(pt_name,k->hfid,tvb,name_offset,name_len,(guint)subids[key_start]);
|
||||
if (IS_FT_INT(k->ft_type)) {
|
||||
proto_tree_add_int(pt_name,k->hfid,tvb,name_offset,name_len,(guint)subids[key_start]);
|
||||
} else { /* if it's not an unsigned int let proto_tree_add_uint throw a warning */
|
||||
proto_tree_add_uint(pt_name,k->hfid,tvb,name_offset,name_len,(guint)subids[key_start]);
|
||||
}
|
||||
key_start++;
|
||||
key_len--;
|
||||
continue; /* k->next */
|
||||
|
@ -1511,7 +1515,7 @@ dissect_snmp_NetworkAddress(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of
|
|||
static int
|
||||
dissect_snmp_INTEGER_0_4294967295(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
|
||||
NULL);
|
||||
NULL);
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
@ -1531,7 +1535,7 @@ dissect_snmp_TimeTicks(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset
|
|||
static int
|
||||
dissect_snmp_Integer32(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
|
||||
NULL);
|
||||
NULL);
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
@ -1558,7 +1562,7 @@ static const value_string snmp_Version_vals[] = {
|
|||
static int
|
||||
dissect_snmp_Version(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
|
||||
NULL);
|
||||
NULL);
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
@ -1578,7 +1582,7 @@ dissect_snmp_OCTET_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offs
|
|||
static int
|
||||
dissect_snmp_INTEGER(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
|
||||
NULL);
|
||||
NULL);
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
@ -1611,7 +1615,7 @@ static const value_string snmp_T_error_status_vals[] = {
|
|||
static int
|
||||
dissect_snmp_T_error_status(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
|
||||
NULL);
|
||||
NULL);
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
@ -1721,7 +1725,7 @@ static const value_string snmp_T_generic_trap_vals[] = {
|
|||
static int
|
||||
dissect_snmp_T_generic_trap(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
|
||||
NULL);
|
||||
NULL);
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
@ -1760,7 +1764,7 @@ dissect_snmp_Trap_PDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _
|
|||
static int
|
||||
dissect_snmp_INTEGER_0_2147483647(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
|
||||
NULL);
|
||||
NULL);
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
@ -1964,7 +1968,7 @@ dissect_snmp_T_msgAuthoritativeEngineID(gboolean implicit_tag _U_, tvbuff_t *tvb
|
|||
static int
|
||||
dissect_snmp_T_msgAuthoritativeEngineBoots(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
|
||||
&usm_p.boots);
|
||||
&usm_p.boots);
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
@ -1974,7 +1978,7 @@ dissect_snmp_T_msgAuthoritativeEngineBoots(gboolean implicit_tag _U_, tvbuff_t *
|
|||
static int
|
||||
dissect_snmp_T_msgAuthoritativeEngineTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
|
||||
&usm_p.time);
|
||||
&usm_p.time);
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
@ -2038,7 +2042,7 @@ dissect_snmp_UsmSecurityParameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_,
|
|||
static int
|
||||
dissect_snmp_INTEGER_484_2147483647(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
|
||||
NULL);
|
||||
NULL);
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
@ -2076,7 +2080,7 @@ dissect_snmp_T_msgFlags(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset
|
|||
static int
|
||||
dissect_snmp_T_msgSecurityModel(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
|
||||
&MsgSecurityModel);
|
||||
&MsgSecurityModel);
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
@ -2290,7 +2294,7 @@ static const value_string snmp_T_smux_version_vals[] = {
|
|||
static int
|
||||
dissect_snmp_T_smux_version(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
|
||||
NULL);
|
||||
NULL);
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
@ -2367,7 +2371,7 @@ static const value_string snmp_ClosePDU_U_vals[] = {
|
|||
static int
|
||||
dissect_snmp_ClosePDU_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
|
||||
NULL);
|
||||
NULL);
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
@ -2387,7 +2391,7 @@ dissect_snmp_ClosePDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _
|
|||
static int
|
||||
dissect_snmp_INTEGER_M1_2147483647(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
|
||||
NULL);
|
||||
NULL);
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
@ -2404,7 +2408,7 @@ static const value_string snmp_T_operation_vals[] = {
|
|||
static int
|
||||
dissect_snmp_T_operation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
|
||||
NULL);
|
||||
NULL);
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
@ -2445,7 +2449,7 @@ static const value_string snmp_RRspPDU_U_vals[] = {
|
|||
static int
|
||||
dissect_snmp_RRspPDU_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
|
||||
NULL);
|
||||
NULL);
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
@ -2493,7 +2497,7 @@ static const value_string snmp_SOutPDU_U_vals[] = {
|
|||
static int
|
||||
dissect_snmp_SOutPDU_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||
offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
|
||||
NULL);
|
||||
NULL);
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
@ -2546,7 +2550,7 @@ static void dissect_SMUX_PDUs_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, pro
|
|||
|
||||
|
||||
/*--- End of included file: packet-snmp-fn.c ---*/
|
||||
#line 1384 "packet-snmp-template.c"
|
||||
#line 1388 "packet-snmp-template.c"
|
||||
|
||||
|
||||
guint
|
||||
|
@ -3324,7 +3328,7 @@ void proto_register_snmp(void) {
|
|||
"snmp.T_operation", HFILL }},
|
||||
|
||||
/*--- End of included file: packet-snmp-hfarr.c ---*/
|
||||
#line 1897 "packet-snmp-template.c"
|
||||
#line 1901 "packet-snmp-template.c"
|
||||
};
|
||||
|
||||
/* List of subtrees */
|
||||
|
@ -3364,7 +3368,7 @@ void proto_register_snmp(void) {
|
|||
&ett_snmp_RReqPDU_U,
|
||||
|
||||
/*--- End of included file: packet-snmp-ettarr.c ---*/
|
||||
#line 1913 "packet-snmp-template.c"
|
||||
#line 1917 "packet-snmp-template.c"
|
||||
};
|
||||
module_t *snmp_module;
|
||||
static uat_field_t users_fields[] = {
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/* Do not modify this file. */
|
||||
/* It is created automatically by the ASN.1 to Wireshark dissector compiler */
|
||||
/* packet-snmp.h */
|
||||
/* ../../tools/asn2wrs.py -b -p snmp -c snmp.cnf -s packet-snmp-template snmp.asn */
|
||||
/* ../../tools/asn2wrs.py -b -p snmp -c ./snmp.cnf -s ./packet-snmp-template -D . snmp.asn */
|
||||
|
||||
/* Input file: packet-snmp-template.h */
|
||||
|
||||
|
|
Loading…
Reference in New Issue