aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-tls-utils.h
diff options
context:
space:
mode:
authorAlexis La Goutte <alexis.lagoutte@gmail.com>2018-09-23 20:32:21 +0200
committerAnders Broman <a.broman58@gmail.com>2018-09-30 08:13:43 +0000
commit342088f8b80bc065bb23b0f33460951ebab30184 (patch)
tree79b0f669211d41c360c25a5f4caea34e03830381 /epan/dissectors/packet-tls-utils.h
parent88f74fb6268356bd742658cd7ae39bad33fbf6bb (diff)
TLS: Add compress_certificate Handshaketype (25)
See https://tools.ietf.org/html/draft-ietf-tls-certificate-compression-03 the value is TEMPORARY registered to IANA (registered 2018-05-23, expires 2019-05-23 Change-Id: I5a91ad4f1366cd7f0fa077677f227a66591494b6 Reviewed-on: https://code.wireshark.org/review/29796 Reviewed-by: Peter Wu <peter@lekensteyn.nl> Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan/dissectors/packet-tls-utils.h')
-rw-r--r--epan/dissectors/packet-tls-utils.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/epan/dissectors/packet-tls-utils.h b/epan/dissectors/packet-tls-utils.h
index 94e8d45200..fcb4634854 100644
--- a/epan/dissectors/packet-tls-utils.h
+++ b/epan/dissectors/packet-tls-utils.h
@@ -62,6 +62,7 @@ typedef enum {
SSL_HND_CERT_STATUS = 22,
SSL_HND_SUPPLEMENTAL_DATA = 23,
SSL_HND_KEY_UPDATE = 24,
+ SSL_HND_COMPRESSED_CERTIFICATE = 25,
/* Encrypted Extensions was NextProtocol in draft-agl-tls-nextprotoneg-03
* and changed in draft 04. Not to be confused with TLS 1.3 EE. */
SSL_HND_ENCRYPTED_EXTS = 67
@@ -846,6 +847,9 @@ typedef struct ssl_common_dissect {
/* compress_certificate */
gint hs_ext_compress_certificate_algorithms_length;
gint hs_ext_compress_certificate_algorithm;
+ gint hs_ext_compress_certificate_uncompressed_length;
+ gint hs_ext_compress_certificate_compressed_certificate_message_length;
+ gint hs_ext_compress_certificate_compressed_certificate_message;
/* QUIC Transport Parameters */
gint hs_ext_quictp_negotiated_version;
@@ -1084,6 +1088,11 @@ tls13_hkdf_expand_label(int md, const StringInfo *secret,
const char *label_prefix, const char *label,
guint16 out_len, guchar **out);
+extern void
+ssl_dissect_hnd_compress_certificate(ssl_common_dissect_t *hf, tvbuff_t *tvb, proto_tree *tree,
+ guint32 offset, guint32 offset_end, packet_info *pinfo,
+ SslSession *session _U_, SslDecryptSession *ssl _U_,
+ GHashTable *key_hash _U_, gboolean is_from_server _U_, gboolean is_dtls _U_);
/* {{{ */
#define SSL_COMMON_LIST_T(name) \
ssl_common_dissect_t name = { \
@@ -1099,6 +1108,7 @@ ssl_common_dissect_t name = { \
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, \
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, \
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, \
+ -1, -1, -1, \
}, \
/* ett */ { \
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, \
@@ -1829,6 +1839,21 @@ ssl_common_dissect_t name = { \
FT_UINT16, BASE_DEC, VALS(compress_certificate_algorithm_vals), 0x00, \
NULL, HFILL } \
}, \
+ { & name .hf.hs_ext_compress_certificate_uncompressed_length, \
+ { "Uncompressed Length", prefix ".compress_certificate.uncompressed_length", \
+ FT_UINT24, BASE_DEC, NULL, 0x00, \
+ NULL, HFILL } \
+ }, \
+ { & name .hf.hs_ext_compress_certificate_compressed_certificate_message_length, \
+ { "Length", prefix ".compress_certificate.compressed_certificate_message.length", \
+ FT_UINT24, BASE_DEC, NULL, 0x00, \
+ NULL, HFILL } \
+ }, \
+ { & name .hf.hs_ext_compress_certificate_compressed_certificate_message, \
+ { "Compressed Certificate Message", prefix ".compress_certificate.compressed_certificate_message", \
+ FT_BYTES, BASE_NONE, NULL, 0x00, \
+ NULL, HFILL } \
+ }, \
{ & name .hf.hs_ext_quictp_negotiated_version, \
{ "Negotiated Version", prefix ".quic.negotiated_version", \
FT_UINT32, BASE_HEX, VALS(quic_version_vals), 0x00, \