- Use "RELOAD" everywhere.
- Fix invalid variable name "reload_framing.probe_information.type".
- Fix various names to match the spec.
- Dissect the X.509 certificate embedded in RELOAD messages.
- Use tls_signature_algorithm and tls_hash_algorithm tables in
  packet-ssl-utils.

From me: take out the tabs.  Keep the long dissector name when registering the
protocols.

svn path=/trunk/; revision=37003
This commit is contained in:
Jeff Morriss 2011-05-06 01:09:04 +00:00
parent c3f165c779
commit c666536162
2 changed files with 110 additions and 129 deletions

View File

@ -25,7 +25,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* Please refer to the following specs for protocol detail:
* - draft-ietf-p2psip-base-10
* - draft-ietf-p2psip-base-13
*/
#ifdef HAVE_CONFIG_H
@ -65,7 +65,7 @@ typedef struct _reload_frame_conv_info_t {
} reload_conv_info_t;
/* ReLOAD Message classes = (message_code & 0x1) (response = request +1) */
/* RELOAD Message classes = (message_code & 0x1) (response = request +1) */
#define DATA 128
#define ACK 129
@ -84,8 +84,8 @@ static gint ett_reload_framing_message = -1;
#define RELOAD_TOKEN 0xd2454c4f
static const value_string types[] = {
{DATA, "Data"},
{ACK, "Ack"},
{DATA, "DATA"},
{ACK, "ACK"},
{0x00, NULL}
};
@ -129,37 +129,37 @@ dissect_reload_framing_message(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tr
if (effective_length < MIN_HDR_LENGTH)
return 0;
/* Get the type
/* Get the type
* http://tools.ietf.org/html/draft-ietf-p2psip-base-12
* 5.6.2. Framing Header
*/
type = tvb_get_guint8(tvb, 0);
switch(type){
case DATA:
/* in the data type, check the reload token to be sure this
* is a reLoad packet
*/
message_length = (tvb_get_ntohs(tvb, 1 + 4)<<8)+ tvb_get_guint8(tvb, 1 + 4 + 2);
if (message_length < MIN_RELOADDATA_HDR_LENGTH) {
return 0;
}
relo_token = tvb_get_ntohl(tvb,1 + 4 + 3);
if (relo_token != RELOAD_TOKEN) {
return 0;
}
break;
case ACK:
if (effective_length != 9){
return 0;
}
break;
default:
return 0;
case DATA:
/* in the data type, check the reload token to be sure this
* is a reLoad packet
*/
message_length = (tvb_get_ntohs(tvb, 1 + 4)<<8)+ tvb_get_guint8(tvb, 1 + 4 + 2);
if (message_length < MIN_RELOADDATA_HDR_LENGTH) {
return 0;
}
relo_token = tvb_get_ntohl(tvb,1 + 4 + 3);
if (relo_token != RELOAD_TOKEN) {
return 0;
}
break;
case ACK:
if (effective_length != 9) {
return 0;
}
break;
default:
return 0;
}
/* The message seems to be a valid reLOAD framing message! */
/* The message seems to be a valid RELOAD framing message! */
col_set_str(pinfo->cinfo, COL_PROTOCOL, "RELOAD Frame");
col_clear(pinfo->cinfo, COL_INFO);
@ -279,7 +279,7 @@ dissect_reload_framing_message(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tr
message_tree = proto_item_add_subtree(ti_message, ett_reload_framing_message);
proto_tree_add_item(message_tree, hf_reload_framing_message_length, tvb, offset, 3, FALSE);
offset += 3;
next_tvb = tvb_new_subset(tvb, offset, effective_length -offset, message_length);
next_tvb = tvb_new_subset(tvb, offset, effective_length - offset, message_length);
if (reload_handle == NULL) {
expert_add_info_format(pinfo, ti, PI_PROTOCOL, PI_WARN, "Can not find reload dissector");
return tvb_length(tvb);
@ -316,7 +316,7 @@ dissect_reload_framing_message_no_return(tvbuff_t *tvb, packet_info *pinfo, prot
static void
dissect_reload_framing_tcp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{
/* XXX: Check if we have a valid ReLOAD Frame Type ? */
/* XXX: Check if we have a valid RELOAD Frame Type ? */
tcp_dissect_pdus(tvb, pinfo, tree, TRUE, MIN_HDR_LENGTH,
get_reload_framing_message_length, dissect_reload_framing_message_no_return);
}
@ -340,36 +340,36 @@ proto_register_reload_framing(void)
static hf_register_info hf[] = {
{ &hf_reload_framing_type,
{ "Framed Message Type", "reload_framing.probe_information.type", FT_UINT8,
{ "Framed Message Type", "reload_framing.type", FT_UINT8,
BASE_DEC, VALS(types), 0x0, NULL, HFILL }
},
{ &hf_reload_framing_sequence,
{ "sequence", "reload_framing.sequence", FT_UINT32,
{ "Sequence", "reload_framing.sequence", FT_UINT32,
BASE_DEC, NULL, 0x0, NULL, HFILL }
},
{ &hf_reload_framing_ack_sequence,
{ "ack sequence", "reload_framing.ack_sequence", FT_UINT32,
{ "ACK Sequence", "reload_framing.ack_sequence", FT_UINT32,
BASE_DEC, NULL, 0x0, NULL, HFILL }
},
{ &hf_reload_framing_message,
{ "message", "reload_framing.message", FT_BYTES,
{ "Message", "reload_framing.message", FT_BYTES,
BASE_NONE, NULL, 0x0, NULL, HFILL }
},
{ &hf_reload_framing_message_length,
{ "message length", "reload_framing.message.length", FT_UINT32,
{ "Message length", "reload_framing.message.length", FT_UINT32,
BASE_DEC, NULL, 0x0, NULL, HFILL }
},
{ &hf_reload_framing_received,
{ "received", "reload_framing.received", FT_UINT32,
{ "Received", "reload_framing.received", FT_UINT32,
BASE_HEX, NULL, 0x0, NULL, HFILL }
},
{ &hf_reload_framing_response_in,
{ "Response In", "reload_framing.response-in", FT_FRAMENUM,
BASE_NONE, NULL, 0x0, "The response to this ReLOAD Request is in this frame", HFILL }
BASE_NONE, NULL, 0x0, "The response to this RELOAD Request is in this frame", HFILL }
},
{ &hf_reload_framing_response_to,
{ "Request In", "reload_framing.response-to", FT_FRAMENUM,
BASE_NONE, NULL, 0x0, "This is a response to the ReLOAD Request in this frame", HFILL }
BASE_NONE, NULL, 0x0, "This is a response to the RELOAD Request in this frame", HFILL }
},
{ &hf_reload_framing_time,
{ "Time", "reload_framing.time", FT_RELATIVE_TIME,
@ -377,7 +377,7 @@ proto_register_reload_framing(void)
},
{ &hf_reload_framing_duplicate,
{ "Duplicated original message in", "reload_framing.duplicate", FT_FRAMENUM,
BASE_NONE, NULL, 0x0, "This is a duplicate of ReLOAD message in this frame", HFILL }
BASE_NONE, NULL, 0x0, "This is a duplicate of RELOAD message in this frame", HFILL }
},
};

View File

@ -24,7 +24,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* Please refer to the following specs for protocol detail:
* - draft-ietf-p2psip-base-12
* - draft-ietf-p2psip-base-13
*/
#ifdef HAVE_CONFIG_H
@ -35,7 +35,10 @@
#include <epan/prefs.h>
#include <epan/reassemble.h>
#include <epan/expert.h>
#include <epan/asn1.h>
#include <epan/dissectors/packet-x509af.h>
#include <packet-tcp.h>
#include <packet-ssl-utils.h>
/* Initialize the protocol and registered fields */
static int proto_reload = -1;
@ -120,9 +123,9 @@ static int hf_reload_error_response_code = -1;
static int hf_reload_error_response_info = -1;
static int hf_reload_security_block = -1;
static int hf_reload_certificates_length = -1;
static int hf_reload_certificate = -1;
static int hf_reload_certificates = -1;
static int hf_reload_certificate_type = -1;
static int hf_reload_certificate_data = -1;
static int hf_reload_certificate = -1;
static int hf_reload_signature = -1;
static int hf_reload_hash_algorithm = -1;
static int hf_reload_signature_algorithm = -1;
@ -204,13 +207,13 @@ typedef struct _reload_conv_info_t {
} reload_conv_info_t;
/* ReLOAD Message classes = (message_code & 0x1) (response = request +1) */
/* RELOAD Message classes = (message_code & 0x1) (response = request +1) */
#define REQUEST 0x0001
#define RESPONSE 0x0000
#define ERROR 0xffff
/* ReLOAD Message Methods = (message_code +1) & 0xfffe*/
/* RELOAD Message Methods = (message_code +1) & 0xfffe*/
#define METHOD_INVALID 0
#define METHOD_PROBE 2
#define METHOD_ATTACH 4
@ -228,16 +231,16 @@ typedef struct _reload_conv_info_t {
#define METHOD_CONFIGUPDATE 34
/* ReLOAD Destinationtype */
/* RELOAD Destinationtype */
#define DESTINATIONTYPE_RESERVED 0
#define DESTINATIONTYPE_NODE 1
#define DESTINATIONTYPE_RESOURCE 2
#define DESTINATIONTYPE_COMPRESSED 3
/* ReLOAD forwarding option type */
/* RELOAD forwarding option type */
#define OPTIONTYPE_DIRECTRESPONSEFORWARDING 1
/* ReLOAD CandTypes */
/* RELOAD CandTypes */
#define CANDTYPE_RESERVED 0
#define CANDTYPE_HOST 1
#define CANDTYPE_SRFLX 2
@ -276,21 +279,6 @@ typedef struct _reload_conv_info_t {
/* Certificate types */
#define CERTIFICATETYPE_X509 0
/* Hash Algorithm */
#define HASHALGORITHM_NONE 0
#define HASHALGORITHM_MD5 1
#define HASHALGORITHM_SHA1 2
#define HASHALGORITHM_SHA224 3
#define HASHALGORITHM_SHA256 4
#define HASHALGORITHM_SHA384 5
#define HASHALGORITHM_SHA512 6
/* Signature algorithm */
#define SIGNATUREALGORITHM_ANONYMOUS 0
#define SIGNATUREALGORITHM_RSA 1
#define SIGNATUREALGORITHM_DSA 2
#define SIGNATUREALGORITHM_ECDSA 3
#define SIGNATUREIDENTITYTYPE_RESERVED 0
#define SIGNATUREIDENTITYTYPE_CERTHASH 1
@ -373,7 +361,7 @@ static const fragment_items reload_frag_items = {
&hf_reload_fragment_count,
&hf_reload_reassembled_in,
&hf_reload_reassembled_length,
"ReLOAD fragments"
"RELOAD fragments"
};
@ -389,12 +377,12 @@ static const fragment_items reload_frag_items = {
static const value_string classes[] = {
{REQUEST, "Request"},
{RESPONSE, "Response"},
{RESPONSE, "Answer"},
{0x00, NULL}
};
static const value_string methods[] = {
{METHOD_INVALID, "Invalid"},
{METHOD_INVALID, "invalid"},
{METHOD_PROBE, "Probe"},
{METHOD_ATTACH, "Attach"},
{METHOD_STORE, "Store"},
@ -404,16 +392,16 @@ static const value_string methods[] = {
{METHOD_JOIN, "Join"},
{METHOD_LEAVE, "Leave"},
{METHOD_UPDATE, "Update"},
{METHOD_ROUTEQUERY, "Route Query"},
{METHOD_ROUTEQUERY, "RouteQuery"},
{METHOD_PING, "Ping"},
{METHOD_STAT, "Stat"},
{METHOD_APPATTACH, "App-Attach"},
{METHOD_CONFIGUPDATE, "Config Update"},
{METHOD_APPATTACH, "AppAttach"},
{METHOD_CONFIGUPDATE, "ConfigUpdate"},
{0x00, NULL}
};
static const value_string destinationtypes[] = {
{DESTINATIONTYPE_RESERVED, "Reserved"},
{DESTINATIONTYPE_RESERVED, "reserved"},
{DESTINATIONTYPE_NODE, "Node"},
{DESTINATIONTYPE_RESOURCE, "Resource"},
{DESTINATIONTYPE_COMPRESSED, "Compressed"},
@ -426,7 +414,7 @@ static const value_string forwardingoptiontypes[] = {
};
static const value_string candtypes[] = {
{CANDTYPE_RESERVED, "reservedCand"},
{CANDTYPE_RESERVED, "reserved"},
{CANDTYPE_HOST, "host"},
{CANDTYPE_SRFLX, "srflx"},
{CANDTYPE_PRFLX, "prflx"},
@ -436,13 +424,13 @@ static const value_string candtypes[] = {
static const value_string ipaddressporttypes [] = {
{IPADDRESSPORTTYPE_RESERVED, "reserved"},
{IPADDRESSPORTTYPE_IPV4, "ipv4"},
{IPADDRESSPORTTYPE_IPV6, "ipv6"},
{IPADDRESSPORTTYPE_IPV4, "IPV4"},
{IPADDRESSPORTTYPE_IPV6, "IPV6"},
{0x00, NULL}
};
static const value_string overlaylinktypes [] ={
{OVERLAYLINKTYPE_RESERVEDOVERLAYLINK, "ReservedOverLayLink"},
{OVERLAYLINKTYPE_RESERVEDOVERLAYLINK, "reserved"},
{OVERLAYLINKTYPE_DTLS_UDP_SR, "DTLS-UDP-SR"},
{OVERLAYLINKTYPE_DTLS_UDP_SR_NO_ICE, "DTLS-UDP-SR-NO-ICE"},
{OVERLAYLINKTYPE_TLS_TCP_FH_NO_ICE, "TLS-TCP-FH-NO-ICE"},
@ -471,37 +459,18 @@ static const value_string errorcodes [] ={
};
static const value_string certificatetypes[] = {
{CERTIFICATETYPE_X509, "x509"},
{0x00, NULL}
};
static const value_string hashalgorithms[] = {
{HASHALGORITHM_NONE, "none"},
{HASHALGORITHM_MD5, "md5"},
{HASHALGORITHM_SHA1, "sha1"},
{HASHALGORITHM_SHA224, "sha224"},
{HASHALGORITHM_SHA256, "sha256"},
{HASHALGORITHM_SHA384, "sha384"},
{HASHALGORITHM_SHA512 , "sha512"},
{0x00, NULL}
};
static const value_string signaturealgorithms[] = {
{SIGNATUREALGORITHM_ANONYMOUS, "anonymous"},
{SIGNATUREALGORITHM_RSA, "rsa"},
{SIGNATUREALGORITHM_DSA, "dsa"},
{SIGNATUREALGORITHM_ECDSA, "ecdsa"},
{CERTIFICATETYPE_X509, "X509"},
{0x00, NULL}
};
static const value_string signatureidentitytypes[] = {
{SIGNATUREIDENTITYTYPE_RESERVED, "reserved"},
{SIGNATUREIDENTITYTYPE_CERTHASH, "cert hash"},
{SIGNATUREIDENTITYTYPE_CERTHASH, "CERT_HASH"},
{0x00, NULL}
};
static const value_string probeinformationtypes[] = {
{PROBEINFORMATIONTYPE_RESERVED, "reservedProbeInformation"},
{PROBEINFORMATIONTYPE_RESERVED, "reserved"},
{PROBEINFORMATIONTYPE_RESPONSIBLESET, "responsible_set"},
{PROBEINFORMATIONTYPE_NUMRESOURCES, "num_resources"},
{PROBEINFORMATIONTYPE_UPTIME, "uptime"},
@ -510,19 +479,19 @@ static const value_string probeinformationtypes[] = {
static const value_string datakindids[] = {
{DATAKINDID_INVALID, "invalid"},
{DATAKINDID_TURNSERVICE, "turn-service"},
{DATAKINDID_CERTIFICATE_BY_NODE, "certificate-by-node"},
{DATAKINDID_CERTIFICATE_BY_USER, "certificate-by-user"},
{DATAKINDID_TURNSERVICE, "TURN-SERVICE"},
{DATAKINDID_CERTIFICATE_BY_NODE, "CERTIFICATE_BY_NODE"},
{DATAKINDID_CERTIFICATE_BY_USER, "CERTIFICATE_BY_USER"},
{0x00, NULL}
};
static const value_string messageextensiontypes[] = {
{MESSAGEEXTENSIONTYPE_RESERVED, "reservedMessageExtension"},
{MESSAGEEXTENSIONTYPE_RESERVED, "reserved"},
{0x00, NULL}
};
static const value_string configupdatetypes[] = {
{CONFIGUPDATETYPE_RESERVED, "reservedConfigUpdate"},
{CONFIGUPDATETYPE_RESERVED, "reserved"},
{CONFIGUPDATETYPE_CONFIG, "config"},
{CONFIGUPDATETYPE_KIND, "kind"},
{0x00, NULL}
@ -1240,7 +1209,7 @@ dissect_reload_message(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
if (effective_length < msg_length) {
/* The effective length is too small for the packet */
expert_add_info_format(pinfo, NULL, PI_PROTOCOL, PI_ERROR, "Truncated reload packet");
expert_add_info_format(pinfo, NULL, PI_PROTOCOL, PI_ERROR, "Truncated RELOAD packet");
return 0;
}
@ -1433,7 +1402,7 @@ dissect_reload_message(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
offset += MIN_HDR_LENGTH;
if (((guint)offset + via_list_length) > msg_length) {
expert_add_info_format(pinfo, ti, PI_PROTOCOL, PI_ERROR, "Truncated reload packet");
expert_add_info_format(pinfo, ti, PI_PROTOCOL, PI_ERROR, "Truncated RELOAD packet");
return MIN_HDR_LENGTH;
}
@ -1448,7 +1417,7 @@ dissect_reload_message(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
offset += via_list_length;
if (((guint)offset + destination_list_length) > msg_length) {
expert_add_info_format(pinfo, ti, PI_PROTOCOL, PI_ERROR, "Truncated reload packet");
expert_add_info_format(pinfo, ti, PI_PROTOCOL, PI_ERROR, "Truncated RELOAD packet");
return offset;
}
@ -1463,7 +1432,7 @@ dissect_reload_message(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
offset += destination_list_length;
if (((guint)offset + options_length) > msg_length) {
expert_add_info_format(pinfo, ti, PI_PROTOCOL, PI_ERROR, "Truncated reload packet");
expert_add_info_format(pinfo, ti, PI_PROTOCOL, PI_ERROR, "Truncated RELOAD packet");
return offset;
}
@ -1550,12 +1519,12 @@ dissect_reload_message(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
msg_length - offset,
!last_fragment);
next_tvb = process_reassembled_data(tvb, offset, pinfo, "Reassembled ReLOAD",
next_tvb = process_reassembled_data(tvb, offset, pinfo, "Reassembled RELOAD",
reload_fd_head, &reload_frag_items, &update_col_info, reload_tree);
}
if (next_tvb == NULL) {
/* Just show this as a fragment. */
col_add_fstr(pinfo->cinfo, COL_INFO, "Fragmented ReLOAD protocol (trans id=%x%x off=%u)",
col_add_fstr(pinfo->cinfo, COL_INFO, "Fragmented RELOAD protocol (trans id=%x%x off=%u)",
transaction_id[0],transaction_id[1], fragment);
if (reload_fd_head && reload_fd_head->reassembled_in != pinfo->fd->num) {
col_append_fstr(pinfo->cinfo, COL_INFO, " [Reassembled in #%u]",
@ -1741,7 +1710,7 @@ dissect_reload_message(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
configupdate_length = tvb_get_ntohl(tvb, offset + local_offset);
proto_tree_add_uint(configupdate_tree, hf_reload_configupdatereq_length, tvb, offset + local_offset, 4, configupdate_length);
if (5 + configupdate_length > message_body_length) {
expert_add_info_format(pinfo, ti_configupdate, PI_PROTOCOL, PI_ERROR, "Truncated ConfigupdateReq");
expert_add_info_format(pinfo, ti_configupdate, PI_PROTOCOL, PI_ERROR, "Truncated ConfigUpdateReq");
break;
}
local_offset += 4;
@ -1863,7 +1832,7 @@ dissect_reload_message(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
find_offset += dissect_opaque(tvb, pinfo, message_body_tree, hf_reload_resource_id, offset, 1, message_body_length);
kinds_length = tvb_get_guint8(tvb, offset + find_offset);
if (find_offset + 1 + kinds_length > message_body_length) {
expert_add_info_format(pinfo, ti_message_body, PI_PROTOCOL, PI_ERROR, "Truncated Find Request");
expert_add_info_format(pinfo, ti_message_body, PI_PROTOCOL, PI_ERROR, "Truncated FindRequest");
break;
}
proto_tree_add_uint(message_body_tree, hf_reload_findreq_kinds_length, tvb, offset + find_offset, 1, kinds_length);
@ -1882,7 +1851,7 @@ dissect_reload_message(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
results_length = tvb_get_ntohs(tvb, offset);
if ((guint32)results_length + 2 > message_body_length) {
expert_add_info_format(pinfo, ti_message_body, PI_PROTOCOL, PI_ERROR, "Truncated Find Answer");
expert_add_info_format(pinfo, ti_message_body, PI_PROTOCOL, PI_ERROR, "Truncated FindAnswer");
break;
}
proto_tree_add_uint(message_body_tree, hf_reload_findans_results_length, tvb, offset, 2, results_length);
@ -2025,15 +1994,27 @@ dissect_reload_message(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
break;
}
ti_certificate = proto_tree_add_item(security_block_tree,
hf_reload_certificate, tvb, offset+security_block_offset + certificate_offset,
hf_reload_certificates, tvb, offset + security_block_offset + certificate_offset,
1 + 2 + certificate_length,
FALSE);
certificate_tree = proto_item_add_subtree(ti_certificate, ett_reload_certificate);
proto_tree_add_item(certificate_tree, hf_reload_certificate_type, tvb,
offset + security_block_offset + certificate_offset, 1, FALSE);
switch (tvb_get_guint8(tvb, offset + security_block_offset + certificate_offset)) {
case CERTIFICATETYPE_X509: {
asn1_ctx_t asn1_ctx;
dissect_opaque(tvb, pinfo, certificate_tree, hf_reload_certificate_data, offset+security_block_offset + certificate_offset+1, 2, -1);
asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
dissect_x509af_Certificate(FALSE, tvb, offset + security_block_offset + certificate_offset + 1 + 2, &asn1_ctx,
certificate_tree, hf_reload_certificate);
}
break;
default:
dissect_opaque(tvb, pinfo, certificate_tree, hf_reload_certificate, offset + security_block_offset + certificate_offset + 1,
2, -1);
}
certificate_offset += 1 + 2 + certificate_length;
}
}
@ -2154,11 +2135,11 @@ proto_register_reload(void)
static hf_register_info hf[] = {
{ &hf_reload_response_in,
{ "Response In", "reload.response-in", FT_FRAMENUM,
BASE_NONE, NULL, 0x0, "The response to this ReLOAD Request is in this frame", HFILL }
BASE_NONE, NULL, 0x0, "The response to this RELOAD Request is in this frame", HFILL }
},
{ &hf_reload_response_to,
{ "Request In", "reload.response-to", FT_FRAMENUM,
BASE_NONE, NULL, 0x0, "This is a response to the ReLOAD Request in this frame", HFILL }
BASE_NONE, NULL, 0x0, "This is a response to the RELOAD Request in this frame", HFILL }
},
{ &hf_reload_time,
{ "Time", "reload.time", FT_RELATIVE_TIME,
@ -2166,7 +2147,7 @@ proto_register_reload(void)
},
{ &hf_reload_duplicate,
{ "Duplicated original message in", "reload.duplicate", FT_FRAMENUM,
BASE_NONE, NULL, 0x0, "This is a duplicate of ReLOAD message in this frame", HFILL }
BASE_NONE, NULL, 0x0, "This is a duplicate of RELOAD message in this frame", HFILL }
},
{ &hf_reload_forwarding,
{ "Forwarding Header", "reload.forwarding", FT_NONE,
@ -2457,19 +2438,19 @@ proto_register_reload(void)
BASE_NONE, NULL, 0x0, NULL, HFILL }
},
{ &hf_reload_certificates_length,
{ "certificates length", "reload.certificates.length", FT_UINT16,
{ "Certificates Length", "reload.certificates.length", FT_UINT16,
BASE_DEC, NULL, 0x0, NULL, HFILL }
},
{ &hf_reload_certificate,
{ "Certificate", "reload.certificate", FT_NONE,
{ &hf_reload_certificates,
{ "Certificates", "reload.certificates", FT_NONE,
BASE_NONE, NULL, 0x0, NULL, HFILL }
},
{ &hf_reload_certificate_type,
{ "Certificate type", "reload.certificate.type", FT_UINT8,
{ "Certificate Type", "reload.certificate.type", FT_UINT8,
BASE_DEC, VALS(certificatetypes), 0x0, NULL, HFILL }
},
{ &hf_reload_certificate_data,
{ "certificate data", "reload.certificate.data", FT_BYTES,
{ &hf_reload_certificate,
{ "Certificate", "reload.certificate", FT_NONE,
BASE_NONE, NULL, 0x0, NULL, HFILL }
},
{ &hf_reload_signature,
@ -2478,11 +2459,11 @@ proto_register_reload(void)
},
{ &hf_reload_hash_algorithm,
{ "Hash Algorithm", "reload.hash_algorithm", FT_UINT8,
BASE_DEC, VALS(hashalgorithms), 0x0, NULL, HFILL }
BASE_DEC, VALS(tls_hash_algorithm), 0x0, NULL, HFILL }
},
{ &hf_reload_signature_algorithm,
{ "Signature Algorithm", "reload.signature_algorithm", FT_UINT8,
BASE_DEC, VALS(signaturealgorithms), 0x0, NULL, HFILL }
BASE_DEC, VALS(tls_signature_algorithm), 0x0, NULL, HFILL }
},
{ &hf_reload_signature_identity,
{ "Signature Identity", "reload.signature.identity", FT_NONE,
@ -2684,24 +2665,24 @@ proto_register_reload(void)
{ "Defragmentation error", "reload.fragment.error", FT_FRAMENUM, BASE_NONE, NULL, 0x0,
"Defragmentation error due to illegal fragments", HFILL }},
{ &hf_reload_fragment_count,
{ "Fragment count", "reload.fragment.count", FT_UINT32, BASE_DEC, NULL, 0x0,
{ &hf_reload_fragment_count,
{ "Fragment count", "reload.fragment.count", FT_UINT32, BASE_DEC, NULL, 0x0,
NULL, HFILL}},
{ &hf_reload_fragment,
{ "ReLOAD Fragment", "reload.fragment", FT_FRAMENUM, BASE_NONE, NULL, 0x0,
{ "RELOAD Fragment", "reload.fragment", FT_FRAMENUM, BASE_NONE, NULL, 0x0,
NULL, HFILL }},
{ &hf_reload_fragments,
{ "ReLOAD Fragments", "reload.fragments", FT_NONE, BASE_NONE, NULL, 0x0,
{ "RELOAD Fragments", "reload.fragments", FT_NONE, BASE_NONE, NULL, 0x0,
NULL, HFILL }},
{ &hf_reload_reassembled_in,
{ "Reassembled ReLOAD in frame", "reload.reassembled_in", FT_FRAMENUM, BASE_NONE, NULL, 0x0,
"This ReLOAD packet is reassembled in this frame", HFILL }},
{ "Reassembled RELOAD in frame", "reload.reassembled_in", FT_FRAMENUM, BASE_NONE, NULL, 0x0,
"This RELOAD packet is reassembled in this frame", HFILL }},
{ &hf_reload_reassembled_length,
{ "Reassembled ReLOAD length", "reload.reassembled.length", FT_UINT32, BASE_DEC, NULL, 0x0,
{ &hf_reload_reassembled_length,
{ "Reassembled RELOAD length", "reload.reassembled.length", FT_UINT32, BASE_DEC, NULL, 0x0,
"The total length of the reassembled payload", HFILL}},
{ &hf_reload_configupdatereq,
@ -2794,7 +2775,7 @@ proto_register_reload(void)
reload_module = prefs_register_protocol(proto_reload, NULL);
prefs_register_bool_preference(reload_module, "defragment",
"Reassemble fragmented reload datagrams",
"Whether fragmented ReLOAD datagrams should be reassembled",
"Whether fragmented RELOAD datagrams should be reassembled",
&reload_defragment);
prefs_register_uint_preference(reload_module, "nodeid_length",
"NodeId Length",