aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-ssl-utils.h
diff options
context:
space:
mode:
authorPeter Wu <peter@lekensteyn.nl>2017-02-03 15:15:10 +0100
committerAlexis La Goutte <alexis.lagoutte@gmail.com>2017-02-06 21:29:56 +0000
commit658253ba34e569313f8fec0d2e4ed7367501c7a3 (patch)
treeed6c4057e694c9646380601e13ec047c2df84222 /epan/dissectors/packet-ssl-utils.h
parent4623b05cd54e323047f6b4266653107f57a88684 (diff)
(D)TLS: simplify SignatureAndHashAlgorithm dissection
Merge the length parsing into the SignatureAndHashAlgorithm vector parsing. Remove extra expert info which are replaced by the generic ones. Tested with a mutated pcap where the signature length field is off by one (too large = expert error, too small = expert warning, as expected). Change-Id: I43350352ae00eb42bbe5c2ee81289fb592b88f86 Reviewed-on: https://code.wireshark.org/review/19933 Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Diffstat (limited to 'epan/dissectors/packet-ssl-utils.h')
-rw-r--r--epan/dissectors/packet-ssl-utils.h17
1 files changed, 3 insertions, 14 deletions
diff --git a/epan/dissectors/packet-ssl-utils.h b/epan/dissectors/packet-ssl-utils.h
index 414e01daeb..1a6f9e2c31 100644
--- a/epan/dissectors/packet-ssl-utils.h
+++ b/epan/dissectors/packet-ssl-utils.h
@@ -818,9 +818,7 @@ typedef struct ssl_common_dissect {
expert_field malformed_trailing_data;
expert_field hs_ext_cert_status_undecoded;
- expert_field hs_sig_hash_alg_len_bad;
expert_field hs_cipher_suites_len_bad;
- expert_field hs_sig_hash_algs_bad;
expert_field resumed;
expert_field record_length_invalid;
@@ -922,9 +920,9 @@ ssl_dissect_hnd_cert(ssl_common_dissect_t *hf, tvbuff_t *tvb, proto_tree *tree,
GHashTable *key_hash, gint is_from_server);
extern void
-ssl_dissect_hnd_cert_req(ssl_common_dissect_t *hf, tvbuff_t *tvb,
- proto_tree *tree, guint32 offset, packet_info *pinfo,
- const SslSession *session);
+ssl_dissect_hnd_cert_req(ssl_common_dissect_t *hf, tvbuff_t *tvb, packet_info *pinfo,
+ proto_tree *tree, guint32 offset, guint32 offset_end,
+ const SslSession *session);
extern void
ssl_dissect_hnd_cli_cert_verify(ssl_common_dissect_t *hf, tvbuff_t *tvb,
@@ -968,7 +966,6 @@ ssl_common_dissect_t name = { \
}, \
/* ei */ { \
EI_INIT, EI_INIT, EI_INIT, EI_INIT, EI_INIT, EI_INIT, EI_INIT, \
- EI_INIT, EI_INIT, \
}, \
}
/* }}} */
@@ -1628,18 +1625,10 @@ ssl_common_dissect_t name = { \
{ prefix ".handshake.status_request.undecoded", PI_UNDECODED, PI_NOTE, \
"Responder ID list or Request Extensions are not implemented, contact Wireshark developers if you want this to be supported", EXPFILL } \
}, \
- { & name .ei.hs_sig_hash_alg_len_bad, \
- { prefix ".handshake.sig_hash_alg_len.mult2", PI_MALFORMED, PI_ERROR, \
- "Signature Hash Algorithm length must be a multiple of 2", EXPFILL } \
- }, \
{ & name .ei.hs_cipher_suites_len_bad, \
{ prefix ".handshake.cipher_suites_length.mult2", PI_MALFORMED, PI_ERROR, \
"Cipher suite length must be a multiple of 2", EXPFILL } \
}, \
- { & name .ei.hs_sig_hash_algs_bad, \
- { prefix ".handshake.sig_hash_algs.mult2", PI_MALFORMED, PI_ERROR, \
- "Hash Algorithm length must be a multiple of 2", EXPFILL } \
- }, \
{ & name .ei.resumed, \
{ prefix ".resumed", PI_SEQUENCE, PI_NOTE, \
"This session reuses previously negotiated keys (Session resumption)", EXPFILL } \