summaryrefslogtreecommitdiff
path: root/epan/dissectors/packet-ftp.c
diff options
context:
space:
mode:
authorMichael Mann <mmann78@netscape.net>2013-05-26 03:29:07 +0000
committerMichael Mann <mmann78@netscape.net>2013-05-26 03:29:07 +0000
commit5bc22a25df02c19a2414bcf3c5ea3446cf96c7ef (patch)
treecd264649621f031a8edcfa7cbd34ba4b0a8d5450 /epan/dissectors/packet-ftp.c
parenta9c35aa4b65dc566ffe845e9bc205e81ecc7979c (diff)
downloadwireshark-5bc22a25df02c19a2414bcf3c5ea3446cf96c7ef.tar.gz
Batch of filterable expert infos.
svn path=/trunk/; revision=49584
Diffstat (limited to 'epan/dissectors/packet-ftp.c')
-rw-r--r--epan/dissectors/packet-ftp.c22
1 files changed, 16 insertions, 6 deletions
diff --git a/epan/dissectors/packet-ftp.c b/epan/dissectors/packet-ftp.c
index bf7bc072a4..22f2f4a47c 100644
--- a/epan/dissectors/packet-ftp.c
+++ b/epan/dissectors/packet-ftp.c
@@ -80,6 +80,9 @@ static int hf_ftp_epsv_port = -1;
static gint ett_ftp = -1;
static gint ett_ftp_reqresp = -1;
+static expert_field ei_ftp_eprt_args_invalid = EI_INIT;
+static expert_field ei_ftp_epsv_args_invalid = EI_INIT;
+
static dissector_handle_t ftpdata_handle;
#define TCP_PORT_FTPDATA 20
@@ -826,8 +829,7 @@ dissect_ftp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
proto_item *item;
item = proto_tree_add_text(reqresp_tree,
tvb, offset - linelen - 1, linelen, "Invalid EPRT arguments");
- expert_add_info_format(pinfo, item, PI_MALFORMED, PI_WARN,
- "EPRT arguments must have the form: |<family>|<addr>|<port>|");
+ expert_add_info(pinfo, item, &ei_ftp_eprt_args_invalid);
}
}
@@ -877,8 +879,7 @@ dissect_ftp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
proto_item *item;
item = proto_tree_add_text(reqresp_tree,
tvb, offset - linelen - 1, linelen, "Invalid EPSV arguments");
- expert_add_info_format(pinfo, item, PI_MALFORMED, PI_WARN,
- "EPSV arguments must have the form (|||<port>|)");
+ expert_add_info(pinfo, item, &ei_ftp_epsv_args_invalid);
}
}
}
@@ -1045,13 +1046,22 @@ proto_register_ftp(void)
&ett_ftp_reqresp
};
- proto_ftp = proto_register_protocol("File Transfer Protocol (FTP)", "FTP",
- "ftp");
+ static ei_register_info ei[] = {
+ { &ei_ftp_eprt_args_invalid, { "ftp.eprt.args_invalid", PI_MALFORMED, PI_WARN, "EPRT arguments must have the form: |<family>|<addr>|<port>|", EXPFILL }},
+ { &ei_ftp_epsv_args_invalid, { "ftp.epsv.args_invalid", PI_MALFORMED, PI_WARN, "EPSV arguments must have the form (|||<port>|)", EXPFILL }},
+ };
+
+ expert_module_t* expert_ftp;
+
+ proto_ftp = proto_register_protocol("File Transfer Protocol (FTP)", "FTP", "ftp");
+
register_dissector("ftp", dissect_ftp, proto_ftp);
proto_ftp_data = proto_register_protocol("FTP Data", "FTP-DATA", "ftp-data");
register_dissector("ftp-data", dissect_ftpdata, proto_ftp_data);
proto_register_field_array(proto_ftp, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
+ expert_ftp = expert_register_protocol(proto_ftp);
+ expert_register_field_array(expert_ftp, ei, array_length(ei));
}
void