aboutsummaryrefslogtreecommitdiffstats
path: root/asn1/snmp
diff options
context:
space:
mode:
authorStig Bjørlykke <stig@bjorlykke.org>2014-08-29 19:36:59 +0200
committerAnders Broman <a.broman58@gmail.com>2014-08-30 09:54:05 +0000
commit437b448095a6c2135a1c90c259ac3334445c348d (patch)
treea23e1f48d64e074345707fcb8467eee4f4262c22 /asn1/snmp
parent26ab2e40e38b7dc38e13955267e7375b59f9bfc0 (diff)
Mark Trap-PDU as obsolete for SNMP versions > 1
Change-Id: I967a1547eb97619042b620bb3d803a29cce9ebe1 Reviewed-on: https://code.wireshark.org/review/3920 Reviewed-by: Evan Huus <eapache@gmail.com> Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'asn1/snmp')
-rw-r--r--asn1/snmp/packet-snmp-template.c4
-rw-r--r--asn1/snmp/snmp.cnf6
2 files changed, 9 insertions, 1 deletions
diff --git a/asn1/snmp/packet-snmp-template.c b/asn1/snmp/packet-snmp-template.c
index f33c8d9fe3..4558dc4e4e 100644
--- a/asn1/snmp/packet-snmp-template.c
+++ b/asn1/snmp/packet-snmp-template.c
@@ -165,7 +165,7 @@ static guint num_specific_traps = 0;
static snmp_st_assoc_t *specific_traps = NULL;
static const char *enterprise_oid = NULL;
static guint generic_trap = 0;
-
+static guint32 snmp_version = 0;
static snmp_usm_params_t usm_p = {FALSE,FALSE,0,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,FALSE};
@@ -279,6 +279,7 @@ static expert_field ei_snmp_varbind_wrong_class_tag = EI_INIT;
static expert_field ei_snmp_rfc1910_non_conformant = EI_INIT;
static expert_field ei_snmp_rfc3411_non_conformant = EI_INIT;
static expert_field ei_snmp_version_unknown = EI_INIT;
+static expert_field ei_snmp_trap_pdu_obsolete = EI_INIT;
static const true_false_string auth_flags = {
"OK",
@@ -2476,6 +2477,7 @@ void proto_register_snmp(void) {
{ &ei_snmp_rfc1910_non_conformant, { "snmp.rfc1910_non_conformant", PI_PROTOCOL, PI_WARN, "Data not conforming to RFC1910", EXPFILL }},
{ &ei_snmp_rfc3411_non_conformant, { "snmp.rfc3411_non_conformant", PI_PROTOCOL, PI_WARN, "Data not conforming to RFC3411", EXPFILL }},
{ &ei_snmp_version_unknown, { "snmp.version.unknown", PI_PROTOCOL, PI_WARN, "Unknown version", EXPFILL }},
+ { &ei_snmp_trap_pdu_obsolete, { "snmp.trap_pdu_obsolete", PI_PROTOCOL, PI_WARN, "Trap-PDU is obsolete in this SNMP version", EXPFILL }},
};
diff --git a/asn1/snmp/snmp.cnf b/asn1/snmp/snmp.cnf
index c476530ea0..5e899abd29 100644
--- a/asn1/snmp/snmp.cnf
+++ b/asn1/snmp/snmp.cnf
@@ -18,6 +18,8 @@ Trap-PDU/_untag/specific-trap SpecificTrap
Messagev2u/datav2u/plaintext v2u_plaintext
BulkPDU/request-id bulkPDU_request-id
+#.FN_PARS Version VAL_PTR = &snmp_version
+
#.FN_PARS PDUs
VAL_PTR = &pdu_type
@@ -40,6 +42,10 @@ gint pdu_type=-1;
%(DEFAULT_BODY)s
+ if (snmp_version != 0) {
+ expert_add_info(actx->pinfo, tree, &ei_snmp_trap_pdu_obsolete);
+ }
+
#.FN_PARS Trap-PDU/_untag/generic-trap VAL_PTR = &generic_trap
#.FN_BODY Trap-PDU/_untag/specific-trap VAL_PTR = &specific_trap