Adjust indentation to match editor modelines; Do other minor whitespace changes.

Change-Id: Ic020b2c92db5d14a2be9dc4d35aef4514b8b0353
Reviewed-on: https://code.wireshark.org/review/4502
Reviewed-by: Bill Meier <wmeier@newsguy.com>
This commit is contained in:
Bill Meier 2014-10-06 12:55:18 -04:00
parent c822eeabe4
commit 24d50bc290
36 changed files with 4378 additions and 4372 deletions

View File

@ -196,11 +196,11 @@ dissect_file_record(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
/* Win32: Visual-C Structured Exception Handling (SEH) to trap hardware exceptions
like memory access violations.
(a running debugger will be called before the except part below) */
/* Note: A Windows "exceptional exception" may leave the kazlib's (Portable Exception Handling)
stack in an inconsistent state thus causing a crash at some point in the
handling of the exception.
See: https://www.wireshark.org/lists/wireshark-dev/200704/msg00243.html
*/
/* Note: A Windows "exceptional exception" may leave the kazlib's (Portable Exception Handling)
stack in an inconsistent state thus causing a crash at some point in the
handling of the exception.
See: https://www.wireshark.org/lists/wireshark-dev/200704/msg00243.html
*/
__try {
#endif
if (!dissector_try_uint(file_encap_dissector_table, pinfo->fd->lnk_t,
@ -241,7 +241,7 @@ dissect_file_record(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
}
ENDTRY;
if(proto_field_is_referenced(tree, hf_file_protocols)) {
if(proto_field_is_referenced(tree, hf_file_protocols)) {
wmem_strbuf_t *val = wmem_strbuf_new(wmem_packet_scope(), "");
wmem_list_frame_t *frame;
/* skip the first entry, it's always the "frame" protocol */
@ -267,11 +267,11 @@ dissect_file_record(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
/* Win32: Visual-C Structured Exception Handling (SEH)
to trap hardware exceptions like memory access violations */
/* (a running debugger will be called before the except part below) */
/* Note: A Windows "exceptional exception" may leave the kazlib's (Portable Exception Handling)
stack in an inconsistent state thus causing a crash at some point in the
handling of the exception.
See: https://www.wireshark.org/lists/wireshark-dev/200704/msg00243.html
*/
/* Note: A Windows "exceptional exception" may leave the kazlib's (Portable Exception Handling)
stack in an inconsistent state thus causing a crash at some point in the
handling of the exception.
See: https://www.wireshark.org/lists/wireshark-dev/200704/msg00243.html
*/
__try {
#endif
call_all_postdissectors(tvb, pinfo, parent_tree);

View File

@ -2201,7 +2201,7 @@ static void dissect_9P_qid(tvbuff_t *tvb, proto_tree *tree, int offset)
path = tvb_get_letoh64(tvb, offset+1+4);
qid_tree = proto_tree_add_subtree_format(tree, tvb, offset, 13, ett_9P_qid, NULL,
"Qid type=0x%02x vers=%d path=%" G_GINT64_MODIFIER "u", type, vers, path);
"Qid type=0x%02x vers=%d path=%" G_GINT64_MODIFIER "u", type, vers, path);
qidtype_item = proto_tree_add_item(qid_tree, hf_9P_qidtype, tvb, offset, 1, ENC_LITTLE_ENDIAN);
qidtype_tree = proto_item_add_subtree(qidtype_item, ett_9P_qidtype);

View File

@ -138,11 +138,11 @@ static const value_string a21_message_type_vals[] = {
static void
dissect_a21_correlation_id(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, proto_item *item _U_, guint16 length _U_, guint8 message_type _U_)
{
int offset=0;
int offset = 0;
proto_item *tc;
proto_tree *corr_tree;
if(tree == NULL)
if (tree == NULL)
return;
tc = proto_tree_add_item(tree, hf_a21_corr_id, tvb, offset, 6, ENC_BIG_ENDIAN);
corr_tree = proto_item_add_subtree(tc,ett_a21_corr_id);
@ -153,7 +153,7 @@ dissect_a21_correlation_id(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tr
offset++;
proto_tree_add_item(corr_tree, hf_a21_corr_id_corr_value, tvb, offset, 4, ENC_BIG_ENDIAN);
/* offset +=4; */
/* offset += 4; */
}
@ -169,17 +169,17 @@ static const value_string a21_mn_id_type_of_identity_vals[] = {
static void
dissect_a21_mobile_identity(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, proto_item *item, guint16 length, guint8 message_type _U_)
{
int offset =0;
int offset = 0;
guint identity_type;
const gchar *imsi_str;
if(tree == NULL)
if (tree == NULL)
return;
identity_type = tvb_get_guint8(tvb, offset) & 0x07;
proto_tree_add_item(tree, hf_a21_mn_id_type_of_identity, tvb, offset, 1, ENC_BIG_ENDIAN);
switch(identity_type){
switch (identity_type) {
case 0:
/* No Identity Code */
proto_tree_add_item(tree, hf_a21_mn_id_msid_value, tvb, offset, 1, ENC_BIG_ENDIAN);
@ -202,7 +202,7 @@ dissect_a21_mobile_identity(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *t
/* IMSI */
proto_tree_add_item(tree, hf_a21_mn_id_odd_even_indicator, tvb, offset, 1, ENC_BIG_ENDIAN);
imsi_str = dissect_e212_imsi(tvb, pinfo, tree, offset, length, TRUE);
imsi_str = dissect_e212_imsi(tvb, pinfo, tree, offset, length, TRUE);
proto_item_append_text(item, "%s", imsi_str);
break;
@ -214,8 +214,8 @@ dissect_a21_mobile_identity(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *t
static void
dissect_a21_1x_message_transmission_control(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, proto_item *item _U_, guint16 length _U_, guint8 message_type _U_)
{
int offset=0;
if(tree == NULL)
int offset = 0;
if (tree == NULL)
return;
proto_tree_add_item(tree, hf_a21_reserved, tvb, offset, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(tree, hf_a21_msg_tran_ctrl_paging_msg, tvb, offset, 1, ENC_BIG_ENDIAN);
@ -230,9 +230,9 @@ dissect_a21_1x_message_transmission_control(tvbuff_t *tvb, packet_info *pinfo _U
static void
dissect_a21_1x_lac_encapsulated_pdu(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, proto_item *item _U_, guint16 length _U_, guint8 message_type _U_)
{
int offset=0;
int offset = 0;
proto_tree_add_item(tree, hf_a21_1x_lac_en_pdu, tvb, offset, 3, ENC_BIG_ENDIAN);
/* offset +=3; */
/* offset += 3; */
}
@ -246,15 +246,15 @@ dissect_a21_1x_parameters(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tre
static void
dissect_a21_pilot_list(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, proto_item *item _U_, guint16 length, guint8 message_type _U_)
{
int offset=0;
int offset = 0;
guint8 num;
num = tvb_get_guint8(tvb, offset);
proto_tree_add_item(tree, hf_a21_pilot_list_num_of_pilots, tvb, offset, 1, ENC_BIG_ENDIAN);
offset++;
if(num>0){
if (num>0) {
proto_tree_add_item(tree, hf_a21_pilot_list_value, tvb, offset, length-1, ENC_NA);
/* offset +=(length-1); */
/* offset += (length-1); */
}
}
@ -268,20 +268,20 @@ static const range_string a21_random_number_type_rvals[] = {
static void
dissect_a21_authentication_challenge_parameter(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, proto_item *item _U_, guint16 length _U_, guint8 message_type _U_)
{
int offset=0;
int offset = 0;
guint type;
if(tree == NULL)
if (tree == NULL)
return;
type=tvb_get_guint8(tvb, offset) & 0x0f;
type = tvb_get_guint8(tvb, offset) & 0x0f;
proto_tree_add_item(tree, hf_a21_reserved, tvb, offset, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(tree, hf_a21_auth_chall_para_rand_num_type, tvb, offset, 1, ENC_BIG_ENDIAN);
offset++;
switch(type){
switch (type) {
case 1:
proto_tree_add_item(tree, hf_a21_auth_chall_para_rand_value, tvb, offset, 4, ENC_BIG_ENDIAN);
/*offset +=4;*/
/*offset += 4;*/
break;
}
@ -298,17 +298,17 @@ static const value_string a21_record_identifier_vals[] = {
static void
dissect_a21_mobile_subscription_information(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, proto_item *item _U_, guint16 length, guint8 message_type _U_)
{
int offset=0;
int i=0;
int offset = 0;
int i = 0;
guint8 record_id;
guint16 record_len=0;
guint16 record_len = 0;
proto_tree *record_tree;
if(tree == NULL)
if (tree == NULL)
return;
while(offset<length){
record_id=tvb_get_guint8(tvb, offset);
record_len=tvb_get_guint8(tvb, offset+1);
while (offset<length) {
record_id = tvb_get_guint8(tvb, offset);
record_len = tvb_get_guint8(tvb, offset+1);
record_tree = proto_tree_add_subtree_format(tree, tvb, offset+2, record_len,
ett_a21_record_content, NULL, "Record %u",i+1);
@ -319,7 +319,7 @@ dissect_a21_mobile_subscription_information(tvbuff_t *tvb, packet_info *pinfo _U
proto_tree_add_item(record_tree, hf_a21_mob_sub_info_record_length, tvb, offset, 1, ENC_BIG_ENDIAN);
offset++;
if(record_id == 0){
if (record_id == 0) {
proto_tree_add_item(record_tree, hf_a21_mob_sub_info_re_con_all_band_inc, tvb, offset, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(record_tree, hf_a21_mob_sub_info_re_con_curr_band_sub, tvb, offset, 1, ENC_BIG_ENDIAN);
offset++;
@ -328,7 +328,7 @@ dissect_a21_mobile_subscription_information(tvbuff_t *tvb, packet_info *pinfo _U
proto_tree_add_item(record_tree, hf_a21_mob_sub_info_re_con_all_sub_band_inc, tvb, offset, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(record_tree, hf_a21_mob_sub_info_re_sub_cls_len, tvb, offset, 1, ENC_BIG_ENDIAN);
offset += record_len-2;
}else{
} else {
proto_tree_add_item(record_tree, hf_a21_mob_sub_info_record_content, tvb, offset, record_len, ENC_NA);
offset += record_len;
}
@ -346,10 +346,10 @@ static const value_string a21_gcsna_status_vals[] = {
static void
dissect_a21_gcsna_status(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, proto_item *item _U_, guint16 length _U_, guint8 message_type _U_)
{
int offset=0;
int offset = 0;
guint8 priority_incl, status_incl;
if(tree == NULL)
if (tree == NULL)
return;
status_incl = tvb_get_guint8(tvb, offset) & 0x01;
priority_incl = tvb_get_guint8(tvb, offset) & 0x04;
@ -360,12 +360,12 @@ dissect_a21_gcsna_status(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree
proto_tree_add_item(tree, hf_a21_gcsna_status_status_incl, tvb, offset, 1, ENC_BIG_ENDIAN);
offset++;
if(status_incl == 1){
if (status_incl == 1) {
proto_tree_add_item(tree, hf_a21_gcsna_status, tvb, offset, 1, ENC_BIG_ENDIAN);
offset++;
}
if(priority_incl == 1){
if (priority_incl == 1) {
proto_tree_add_item(tree, hf_a21_reserved, tvb, offset, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(tree, hf_a21_gcsna_status_call_priority, tvb, offset, 1, ENC_BIG_ENDIAN);
}
@ -375,10 +375,10 @@ dissect_a21_gcsna_status(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree
static void
dissect_a21_gcsna_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *top_tree, proto_tree *tree, proto_item *item _U_, guint16 length, guint8 message_type _U_)
{
int offset=0;
int offset = 0;
proto_tree_add_item(tree, hf_a21_gcsna_content, tvb, offset, length, ENC_NA);
if(gcsna_handle){
if (gcsna_handle) {
tvbuff_t *new_tvb;
new_tvb = tvb_new_subset_length(tvb, offset, length);
/* call the dissector with the parent (top)tree */
@ -391,14 +391,14 @@ dissect_a21_gcsna_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *top_tree, p
static void
dissect_a21_reference_cell_id(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, proto_item *item _U_, guint16 length _U_, guint8 message_type _U_)
{
int offset=0;
int offset = 0;
if(tree == NULL)
if (tree == NULL)
return;
proto_tree_add_item(tree, hf_a21_mscid_market_id, tvb, offset, 2, ENC_BIG_ENDIAN);
offset+=2;
offset += 2;
proto_tree_add_item(tree, hf_a21_mscid_switch_number, tvb, offset, 1, ENC_BIG_ENDIAN);
offset+=1;
offset += 1;
proto_tree_add_item(tree, hf_a21_reference_cell_id_cell, tvb, offset, 2, ENC_BIG_ENDIAN);
offset++;
@ -428,7 +428,7 @@ static const value_string a21_cause_vals[] = {
static void
dissect_a21_cause(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, proto_item *item _U_, guint16 length _U_, guint8 message_type _U_)
{
int offset=0;
int offset = 0;
proto_tree_add_item(tree, hf_a21_cause_value, tvb, offset, 1, ENC_BIG_ENDIAN);
/* offset++; */
@ -468,23 +468,23 @@ static const value_string a21_additional_event_info_vals[] = {
static void
dissect_a21_event(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, proto_item *item _U_, guint16 length, guint8 message_type _U_)
{
int offset=0;
int offset = 0;
guint8 event_id;
if(tree == NULL)
if (tree == NULL)
return;
event_id = tvb_get_guint8(tvb, offset);
proto_tree_add_item(tree, hf_a21_event, tvb, offset, 1, ENC_BIG_ENDIAN);
proto_item_append_text(item, "%s", val_to_str_const(event_id, a21_event_vals, "Unknown"));
offset++;
if(length>1){
if(event_id == 7){
if (length>1) {
if (event_id == 7) {
proto_tree_add_item(tree, hf_a21_allowed_foward_link_message, tvb, offset, 2, ENC_BIG_ENDIAN);
/*offset +=2;*/
/*offset += 2;*/
}
else{
else {
proto_tree_add_item(tree, hf_a21_additional_event_info, tvb, offset, 2, ENC_BIG_ENDIAN);
/*offset +=2;*/
/*offset += 2;*/
}
}
@ -502,10 +502,10 @@ static const value_string a21_service_option_vals[] = {
static void
dissect_a21_service_option(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, proto_item *item _U_, guint16 length _U_, guint8 message_type _U_)
{
int offset=0;
int offset = 0;
proto_tree_add_item(tree, hf_a21_service_option, tvb, offset, 2, ENC_BIG_ENDIAN);
/* offset +=2; */
/* offset += 2; */
}
@ -538,18 +538,18 @@ static void
dissect_a21_ie_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *top_tree, proto_tree *tree, gint offset, guint8 message_type)
{
guint8 ie_type, length_len;
guint16 length=0;
guint16 length = 0;
tvbuff_t *ie_tvb;
proto_tree *ie_tree;
proto_item *ti;
while(offset < (gint)tvb_reported_length(tvb)){
while (offset < (gint)tvb_reported_length(tvb)) {
ie_type = tvb_get_guint8(tvb, offset);
if(ie_type == A21_IEI_GCSNA_PDU){
if (ie_type == A21_IEI_GCSNA_PDU) {
/* length of GCSNA PDU is 2 octets long */
length_len = 2;
length = tvb_get_ntohs(tvb, offset+1);
}else{
} else {
/* Octet 2-length */
length_len = 1;
length = tvb_get_guint8(tvb, offset+1);
@ -566,7 +566,7 @@ dissect_a21_ie_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *top_tree, p
ie_tvb = tvb_new_subset_remaining(tvb, offset);
switch(ie_type){
switch (ie_type) {
case A21_IEI_1X_LAC_ENCAPSULATED_PDU:
/* 5.2.4.4 1x LAC Encapsulated PDU */
dissect_a21_1x_lac_encapsulated_pdu(ie_tvb,pinfo, ie_tree, ti, length, message_type);
@ -669,7 +669,7 @@ dissect_a21(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
offset++;
proto_tree_add_item(corr_tree, hf_a21_corr_id_corr_value, tvb, offset, 4, ENC_BIG_ENDIAN);
offset +=4;
offset += 4;
dissect_a21_ie_common(tvb, pinfo, tree, a21_tree, offset, message_type);
@ -966,13 +966,13 @@ void proto_reg_handoff_a21(void)
a21_handle = create_dissector_handle(dissect_a21, proto_a21);
gcsna_handle = find_dissector("gcsna");
dissector_add_uint("udp.port", a21_udp_port, a21_handle);
a21_prefs_initialized = TRUE;
}else{
a21_prefs_initialized = TRUE;
} else {
dissector_delete_uint("udp.port", saved_a21_udp_port, a21_handle);
}
saved_a21_udp_port = a21_udp_port;
if(a21_udp_port != 0){
if (a21_udp_port != 0) {
dissector_add_uint("udp.port", a21_udp_port, a21_handle);
}

View File

@ -461,26 +461,26 @@ static gint ett_afs_cm_interfaces = -1;
static gint ett_afs_cm_capabilities = -1;
static const fragment_items afs_frag_items = {
/* Fragment subtrees */
&ett_afs_fragment,
&ett_afs_fragments,
/* Fragment fields */
&hf_afs_fragments,
&hf_afs_fragment,
&hf_afs_fragment_overlap,
&hf_afs_fragment_overlap_conflicts,
&hf_afs_fragment_multiple_tails,
&hf_afs_fragment_too_long_fragment,
&hf_afs_fragment_error,
&hf_afs_fragment_count,
/* Reassembled in field */
&hf_afs_reassembled_in,
/* Reassembled length field */
&hf_afs_reassembled_length,
/* Reassembled data field */
NULL,
/* Tag */
"RX fragments"
/* Fragment subtrees */
&ett_afs_fragment,
&ett_afs_fragments,
/* Fragment fields */
&hf_afs_fragments,
&hf_afs_fragment,
&hf_afs_fragment_overlap,
&hf_afs_fragment_overlap_conflicts,
&hf_afs_fragment_multiple_tails,
&hf_afs_fragment_too_long_fragment,
&hf_afs_fragment_error,
&hf_afs_fragment_count,
/* Reassembled in field */
&hf_afs_reassembled_in,
/* Reassembled length field */
&hf_afs_reassembled_length,
/* Reassembled data field */
NULL,
/* Tag */
"RX fragments"
};
@ -895,24 +895,24 @@ static const fragment_items afs_frag_items = {
/* output a ubik interface addr array */
#define OUT_UBIK_InterfaceAddrs() \
{ \
unsigned int i,j,seen_null=0; \
for (i=0; i<255; i++) { \
j = tvb_get_ntohl(tvb, offset); \
if ( j != 0 ) { \
OUT_IP(hf_afs_ubik_interface); \
seen_null = 0; \
} else { \
if ( ! seen_null ) { \
proto_tree_add_text(tree, tvb, offset, \
tvb_captured_length_remaining(tvb, offset), \
"Null Interface Addresses"); \
seen_null = 1; \
} \
offset += 4; \
}\
} \
}
{ \
unsigned int i,j,seen_null=0; \
for (i=0; i<255; i++) { \
j = tvb_get_ntohl(tvb, offset); \
if ( j != 0 ) { \
OUT_IP(hf_afs_ubik_interface); \
seen_null = 0; \
} else { \
if ( ! seen_null ) { \
proto_tree_add_text(tree, tvb, offset, \
tvb_captured_length_remaining(tvb, offset), \
"Null Interface Addresses"); \
seen_null = 1; \
} \
offset += 4; \
}\
} \
}
#define OUT_UBIK_DebugOld() \
{ \
@ -3200,7 +3200,7 @@ dissect_backup_reply(tvbuff_t *tvb, struct rxinfo *rxinfo, proto_tree *tree, int
static void
dissect_backup_request(tvbuff_t *tvb _U_, struct rxinfo *rxinfo _U_, proto_tree *tree _U_, int offset _U_, int opcode)
{
/* offset += 4; */ /* skip the opcode */
/* offset += 4; */ /* skip the opcode */
switch ( opcode )
{

View File

@ -7,12 +7,12 @@
* Added option field filters
* Copyright 2011, Michael Mann
*
* Added option 77 : RFC 3004 - The User Class Option for DHCP
* Added option 77 : RFC 3004 - The User Class Option for DHCP
* Added option 117 : RFC 2937 - The Name Service Search Option for DHCP
* Added option 119 : RFC 3397 - Dynamic Host Configuration Protocol (DHCP) Domain Search Option
* RFC 3396 - Encoding Long Options in the Dynamic Host Configuration Protocol (DHCPv4)
* RFC 3396 - Encoding Long Options in the Dynamic Host Configuration Protocol (DHCPv4)
* Improved opt 120 : Add support of RFC 3396 - Encoding Long Options in the Dynamic Host Configuration Protocol (DHCPv4)
* Add support compression according to the encoding in Section 4.1.4 of RFC 1035 - DOMAIN NAMES - IMPLEMENTATION AND SPECIFICATION
* Add support compression according to the encoding in Section 4.1.4 of RFC 1035 - DOMAIN NAMES - IMPLEMENTATION AND SPECIFICATION
*
*
* Copyright 2012, Jerome LAFORGE <jerome.laforge [AT] gmail.com>
@ -369,15 +369,15 @@ static int hf_bootp_option82_vi_cl_docsis_version = -1;
/* 82:9 suboptions end */
static int hf_bootp_option82_flags = -1; /* 82:10 */
static int hf_bootp_option82_server_id_override = -1; /* 82:11 */
static int hf_bootp_option82_link_selection_cisco = -1; /* 82:150 */
static int hf_bootp_option82_vrf_name_vpn_id = -1; /* 82:151 */
/* 82:151 suboptions */
static int hf_bootp_option82_link_selection_cisco = -1; /* 82:150 */
static int hf_bootp_option82_vrf_name_vpn_id = -1; /* 82:151 */
/* 82:151 suboptions */
static int hf_bootp_option82_vrf_name_global = -1;
static int hf_bootp_option82_vrf_name = -1;
static int hf_bootp_option82_vrf_name_vpn_id_oui = -1;
static int hf_bootp_option82_vrf_name_vpn_id_index = -1;
/* 82:151 suboptions end */
static int hf_bootp_option82_server_id_override_cisco = -1; /* 82:152 */
/* 82:151 suboptions end */
static int hf_bootp_option82_server_id_override_cisco = -1; /* 82:152 */
static int hf_bootp_option_novell_dss_string = -1; /* 85 */
static int hf_bootp_option_novell_dss_ip = -1; /* 85 */
@ -494,11 +494,11 @@ static expert_field ei_bootp_end_option_missing = EI_INIT;
static dissector_handle_t bootp_handle;
/* RFC2937 The Name Service Search Option for DHCP */
#define RFC2937_LOCAL_NAMING_INFORMATION 0
#define RFC2937_DOMAIN_NAME_SERVER_OPTION 6
#define RFC2937_NETWORK_INFORMATION_SERVERS_OPTION 41
#define RFC2937_NETBIOS_OVER_TCP_IP_NAME_SERVER_OPTION 44
#define RFC2937_NETWORK_INFORMATION_SERVICE_PLUS_SERVERS_OPTION 65
#define RFC2937_LOCAL_NAMING_INFORMATION 0
#define RFC2937_DOMAIN_NAME_SERVER_OPTION 6
#define RFC2937_NETWORK_INFORMATION_SERVERS_OPTION 41
#define RFC2937_NETBIOS_OVER_TCP_IP_NAME_SERVER_OPTION 44
#define RFC2937_NETWORK_INFORMATION_SERVICE_PLUS_SERVERS_OPTION 65
/* RFC3825decoder error codes of the conversion function */
#define RFC3825_NOERROR 0
@ -1273,10 +1273,10 @@ bootp_handle_basic_types(packet_info *pinfo, proto_tree *tree, proto_item *item,
enum field_type ftype, int offset, int total_len,
gint *hf, struct basic_types_hfs* hf_default)
{
int i, left;
gint32 time_s_secs;
int i, left;
gint32 time_s_secs;
guint32 time_u_secs;
int consumed = 0;
int consumed = 0;
switch (ftype) {
case bytes:
@ -1440,9 +1440,9 @@ bootp_handle_basic_types(packet_info *pinfo, proto_tree *tree, proto_item *item,
default:
/* Ignore other field_types */
break;
}
}
return consumed;
return consumed;
}
/* Returns the number of bytes consumed by this option. */
@ -1452,7 +1452,7 @@ bootp_option(tvbuff_t *tvb, packet_info *pinfo, proto_tree *bp_tree, proto_item
const guint8 **vendor_class_id_p, guint8 *overload_p)
{
struct opt_info *opt;
enum field_type ftype;
enum field_type ftype;
guchar code = tvb_get_guint8(tvb, voff);
int optlen;
guchar byte;
@ -2271,8 +2271,8 @@ bootp_option(tvbuff_t *tvb, packet_info *pinfo, proto_tree *bp_tree, proto_item
break;
case 119: { /* Dynamic Host Configuration Protocol (DHCP) Domain Search Option (RFC 3397) */
/* Encoding Long Options in the Dynamic Host Configuration Protocol (DHCPv4) (RFC 3396) */
/* Domain Names - Implementation And Specification (RFC 1035) */
/* Encoding Long Options in the Dynamic Host Configuration Protocol (DHCPv4) (RFC 3396) */
/* Domain Names - Implementation And Specification (RFC 1035) */
char tmpChar[BOOTP_MAX_NO_CHAR];
rfc3396_dns_domain_search_list.index_current_block++;
if (rfc3396_dns_domain_search_list.total_number_of_block > 1) {
@ -2318,8 +2318,8 @@ bootp_option(tvbuff_t *tvb, packet_info *pinfo, proto_tree *bp_tree, proto_item
break;
}
case 120: { /* SIP Servers (RFC 3361) */
/* Encoding Long Options in the Dynamic Host Configuration Protocol (DHCPv4) (RFC 3396) */
/* Domain Names - Implementation And Specification (RFC 1035) */
/* Encoding Long Options in the Dynamic Host Configuration Protocol (DHCPv4) (RFC 3396) */
/* Domain Names - Implementation And Specification (RFC 1035) */
char tmpChar[BOOTP_MAX_NO_CHAR];
rfc3396_sip_server.index_current_block++;
if (rfc3396_sip_server.total_number_of_block > 1) {
@ -2404,15 +2404,15 @@ bootp_option(tvbuff_t *tvb, packet_info *pinfo, proto_tree *bp_tree, proto_item
/* RFC 3396 is used, so the option is split into several option 120. We don't link fqdn with v_tree. */
/* Since we don't use the "numbered argument" as described by README.developer, we have to repeat the arguments :( */
g_snprintf(tmpChar, BOOTP_MAX_NO_CHAR, "%u.%u.%u.%u (%u.%u.%u.%u)",
tvb_get_guint8(rfc3396_sip_server.tvb_composite, offset),
tvb_get_guint8(rfc3396_sip_server.tvb_composite, offset + 1),
tvb_get_guint8(rfc3396_sip_server.tvb_composite, offset + 2),
tvb_get_guint8(rfc3396_sip_server.tvb_composite, offset + 3),
tvb_get_guint8(rfc3396_sip_server.tvb_composite, offset),
tvb_get_guint8(rfc3396_sip_server.tvb_composite, offset + 1),
tvb_get_guint8(rfc3396_sip_server.tvb_composite, offset + 2),
tvb_get_guint8(rfc3396_sip_server.tvb_composite, offset + 3)
);
tvb_get_guint8(rfc3396_sip_server.tvb_composite, offset),
tvb_get_guint8(rfc3396_sip_server.tvb_composite, offset + 1),
tvb_get_guint8(rfc3396_sip_server.tvb_composite, offset + 2),
tvb_get_guint8(rfc3396_sip_server.tvb_composite, offset + 3),
tvb_get_guint8(rfc3396_sip_server.tvb_composite, offset),
tvb_get_guint8(rfc3396_sip_server.tvb_composite, offset + 1),
tvb_get_guint8(rfc3396_sip_server.tvb_composite, offset + 2),
tvb_get_guint8(rfc3396_sip_server.tvb_composite, offset + 3)
);
proto_tree_add_string(v_tree, hf_bootp_option_sip_server_address_stringz, tvb, 0, 0, tmpChar);
}
offset += 4;
@ -2716,13 +2716,13 @@ static int
bootp_dhcp_decode_agent_info(packet_info *pinfo, proto_item *v_ti, proto_tree *v_tree, tvbuff_t *tvb, int optoff,
int optend)
{
int suboptoff = optoff;
guint8 subopt, idx, vs_opt, vs_len;
int subopt_len, subopt_end, datalen;
guint32 enterprise;
int suboptoff = optoff;
guint8 subopt, idx, vs_opt, vs_len;
int subopt_len, subopt_end, datalen;
guint32 enterprise;
proto_item *vti, *ti;
proto_tree *o82_v_tree, *o82_sub_tree;
guint8 tag, tag_len;
guint8 tag, tag_len;
struct basic_types_hfs default_hfs = {
&hf_bootp_option82_value,
@ -2907,9 +2907,9 @@ static int
dissect_vendor_pxeclient_suboption(packet_info *pinfo, proto_item *v_ti, proto_tree *v_tree,
tvbuff_t *tvb, int optoff, int optend)
{
int suboptoff = optoff;
guint8 subopt;
guint8 subopt_len;
int suboptoff = optoff;
guint8 subopt;
guint8 subopt_len;
proto_tree *o43pxeclient_v_tree;
proto_item *vti, *ti;
@ -3168,9 +3168,9 @@ static int
dissect_vendor_cablelabs_suboption(packet_info *pinfo, proto_item *v_ti, proto_tree *v_tree,
tvbuff_t *tvb, int optoff, int optend)
{
int suboptoff = optoff;
guint8 subopt;
guint8 subopt_len;
int suboptoff = optoff;
guint8 subopt;
guint8 subopt_len;
proto_tree *o43cl_v_tree;
proto_item *vti;
@ -3334,8 +3334,8 @@ static int
dissect_vendor_generic_suboption(packet_info *pinfo _U_, proto_item *v_ti _U_, proto_tree *v_tree,
tvbuff_t *tvb, int optoff, int optend _U_)
{
int suboptoff = optoff;
guint8 subopt_len;
int suboptoff = optoff;
guint8 subopt_len;
proto_item *item;
proto_tree *sub_tree;
@ -3373,9 +3373,9 @@ static int
dissect_vendor_alcatel_suboption(packet_info *pinfo, proto_item *v_ti, proto_tree *v_tree,
tvbuff_t *tvb, int optoff, int optend)
{
int suboptoff = optoff;
guint8 subopt;
guint8 subopt_len;
int suboptoff = optoff;
guint8 subopt;
guint8 subopt_len;
proto_item *vti;
proto_tree *o43alcatel_v_tree;
@ -3476,8 +3476,8 @@ static int
dissect_netware_ip_suboption(packet_info *pinfo, proto_item *v_ti, proto_tree *v_tree,
tvbuff_t *tvb, int optoff, int optend)
{
int suboptoff = optoff;
guint8 subopt, subopt_len;
int suboptoff = optoff;
guint8 subopt, subopt_len;
proto_tree *o63_v_tree;
proto_item *vti, *ti;
@ -3566,10 +3566,10 @@ static int
dissect_vendor_tr111_suboption(packet_info *pinfo, proto_item *v_ti, proto_tree *v_tree,
tvbuff_t *tvb, int optoff, int optend)
{
int suboptoff = optoff;
int suboptoff = optoff;
proto_tree *o125_v_tree;
proto_item *vti, *ti;
guint8 subopt, subopt_len;
guint8 subopt, subopt_len;
struct basic_types_hfs default_hfs = {
NULL,
@ -3664,8 +3664,8 @@ static int
dissect_vendor_cl_suboption(packet_info *pinfo, proto_item *v_ti, proto_tree *v_tree,
tvbuff_t *tvb, int optoff, int optend)
{
int suboptoff = optoff;
guint8 subopt, subopt_len;
int suboptoff = optoff;
guint8 subopt, subopt_len;
proto_tree *o125_v_tree;
proto_item *vti;
@ -3935,13 +3935,13 @@ static const value_string pkt_mdc_euro_mib_vals[] = {
static void
dissect_packetcable_mta_cap(proto_tree *v_tree, tvbuff_t *tvb, int voff, int len)
{
guint16 raw_val;
unsigned long flow_val = 0;
int off = PKT_MDC_TLV_OFF + voff;
int subopt_off, max_len;
guint tlv_len, i, mib_val;
guint8 asc_val[3] = " ", flow_val_str[5];
char bit_fld[64];
guint16 raw_val;
unsigned long flow_val = 0;
int off = PKT_MDC_TLV_OFF + voff;
int subopt_off, max_len;
guint tlv_len, i, mib_val;
guint8 asc_val[3] = " ", flow_val_str[5];
char bit_fld[64];
proto_item *ti, *mib_ti;
proto_tree *subtree, *subtree2;
@ -4243,8 +4243,8 @@ static const value_string docsis_cm_cap_type_vals[] = {
{ DOCSIS_CM_CAP_IPV6_SUP, "IPv6 Support" },
{ DOCSIS_CM_CAP_ExUsTrPow, "Extended Upstream Transmit Power Capability (1/4 dB)" },
{ DOCSIS_CM_CAP_Opt802MPLSSup, "Optional 802.1ad, 802.1ah, MPLS Classification Support" },
{ DOCSIS_CM_CAP_DounEnc, "D-ONU Capabilities Encoding" },
{ DOCSIS_CM_CAP_EnrgMang, "Energy Management Capabilities" },
{ DOCSIS_CM_CAP_DounEnc, "D-ONU Capabilities Encoding" },
{ DOCSIS_CM_CAP_EnrgMang, "Energy Management Capabilities" },
{ 0, NULL }
};
@ -4363,9 +4363,9 @@ static const value_string docsis_cm_cap_map_l2vpn_esafe_index_support_vals[] = {
};
static const value_string docsis_cm_cap_ussymrate_vals[] = {
{ 1 << 0, "160 ksps symbol rate supported" },
{ 1 << 1, "320 ksps symbol rate supported" },
{ 1 << 2, "640 ksps symbol rate supported" },
{ 1 << 0, "160 ksps symbol rate supported" },
{ 1 << 1, "320 ksps symbol rate supported" },
{ 1 << 2, "640 ksps symbol rate supported" },
{ 1 << 3, "1280 ksps symbol rate supported" },
{ 1 << 4, "2560 ksps symbol rate supported" },
{ 1 << 5, "5120 ksps symbol rate supported" },
@ -4405,7 +4405,7 @@ static void get_opt125_tlv(tvbuff_t *tvb, guint off, guint8 *tlvtype, guint8 *tl
static void get_opt60_tlv(tvbuff_t *tvb, guint off, guint8 *tlvtype, guint8 *tlvlen, guint8 **value)
{
guint i;
guint i;
guint8 *val_asc;
val_asc = (guint8 *)wmem_alloc0(wmem_packet_scope(), 4);
@ -4428,17 +4428,17 @@ static void get_opt60_tlv(tvbuff_t *tvb, guint off, guint8 *tlvtype, guint8 *tlv
static void
dissect_docsis_cm_cap(proto_tree *v_tree, tvbuff_t *tvb, int voff, int len, gboolean opt125)
{
guint8 *asc_val;
guint i;
guint8 *asc_val;
guint i;
proto_item *ti;
proto_tree *subtree;
char bit_fld[64];
guint8 tlv_type;
guint8 tlv_len;
guint8 val_byte = 0;
guint16 val_uint16 = 0;
guint8 *val_other = NULL;
guint off = voff;
char bit_fld[64];
guint8 tlv_type;
guint8 tlv_len;
guint8 val_byte = 0;
guint16 val_uint16 = 0;
guint8 *val_other = NULL;
guint off = voff;
asc_val = (guint8*)wmem_alloc0(wmem_packet_scope(), 4);
@ -4791,8 +4791,8 @@ static int
dissect_packetcable_i05_ccc(packet_info *pinfo, proto_item *v_ti, proto_tree *v_tree,
tvbuff_t *tvb, int optoff, int optend)
{
int suboptoff = optoff;
guint8 subopt, subopt_len, fetch_tgt, timer_val, ticket_ctl;
int suboptoff = optoff;
guint8 subopt, subopt_len, fetch_tgt, timer_val, ticket_ctl;
proto_tree *pkt_s_tree;
proto_item *vti;
@ -4936,16 +4936,16 @@ static int
dissect_packetcable_ietf_ccc(packet_info *pinfo, proto_item *v_ti, proto_tree *v_tree,
tvbuff_t *tvb, int optoff, int optend, int revision)
{
int suboptoff = optoff;
guint8 subopt, subopt_len;
guint32 ipv4addr;
guint8 prov_type, fetch_tgt, timer_val;
guint16 sec_tcm;
int suboptoff = optoff;
guint8 subopt, subopt_len;
guint32 ipv4addr;
guint8 prov_type, fetch_tgt, timer_val;
guint16 sec_tcm;
proto_tree *pkt_s_tree;
proto_item *vti;
int max_timer_val = 255, i;
int max_timer_val = 255, i;
const guchar *dns_name;
char bit_fld[24];
char bit_fld[24];
subopt = tvb_get_guint8(tvb, suboptoff);
suboptoff++;
@ -5146,15 +5146,15 @@ dissect_bootp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
int voff, eoff, tmpvoff; /* vendor offset, end offset */
guint32 ip_addr;
gboolean at_end;
const char *dhcp_type = NULL;
const guint8 *vendor_class_id = NULL;
const char *dhcp_type = NULL;
const guint8 *vendor_class_id = NULL;
guint16 flags, secs;
int offset_delta;
guint8 overload = 0; /* DHCP option overload */
guint8 overload = 0; /* DHCP option overload */
rfc3396_dns_domain_search_list.total_number_of_block = 0;
rfc3396_dns_domain_search_list.tvb_composite = NULL;
rfc3396_sip_server.total_number_of_block = 0;
rfc3396_sip_server.tvb_composite = NULL;
rfc3396_dns_domain_search_list.tvb_composite = NULL;
rfc3396_sip_server.total_number_of_block = 0;
rfc3396_sip_server.tvb_composite = NULL;
col_set_str(pinfo->cinfo, COL_PROTOCOL, "BOOTP");
/*
@ -5398,15 +5398,15 @@ void
proto_register_bootp(void)
{
static const value_string bootp_custom_type_vals[] = {
{ ipv4, "IP Address"},
{ ipv4_list, "IP Address List" },
{ string, "string" },
{ bytes, "bytes" },
{ val_boolean, "boolean" },
{ val_u_byte, "byte" },
{ val_u_short, "unsigned short" },
{ ipv4, "IP Address"},
{ ipv4_list, "IP Address List" },
{ string, "string" },
{ bytes, "bytes" },
{ val_boolean, "boolean" },
{ val_u_byte, "byte" },
{ val_u_short, "unsigned short" },
{ val_u_short_list, "unsigned short list" },
{ val_u_long, "unsigned long" },
{ val_u_long, "unsigned long" },
{ time_in_s_secs, "integer time in seconds" },
{ time_in_u_secs, "unsigned integer time in seconds" },
{ 0x00, NULL }
@ -7045,24 +7045,24 @@ proto_register_bootp(void)
prefs_register_obsolete_preference(bootp_module, "displayasstring");
bootp_uat = uat_new("Custom BootP/DHCP Options (Excl. suboptions)",
sizeof(uat_bootp_record_t), /* record size */
"custom_bootp", /* filename */
TRUE, /* from_profile */
&uat_bootp_records, /* data_ptr */
&num_bootp_records_uat, /* numitems_ptr */
UAT_AFFECTS_DISSECTION, /* affects dissection of packets, but not set of named fields */
NULL, /* help */
uat_bootp_record_copy_cb, /* copy callback */
uat_bootp_record_update_cb, /* update callback */
uat_bootp_record_free_cb, /* free callback */
sizeof(uat_bootp_record_t), /* record size */
"custom_bootp", /* filename */
TRUE, /* from_profile */
&uat_bootp_records, /* data_ptr */
&num_bootp_records_uat, /* numitems_ptr */
UAT_AFFECTS_DISSECTION, /* affects dissection of packets, but not set of named fields */
NULL, /* help */
uat_bootp_record_copy_cb, /* copy callback */
uat_bootp_record_update_cb, /* update callback */
uat_bootp_record_free_cb, /* free callback */
NULL, /* post update callback */
bootp_uat_flds); /* UAT field definitions */
prefs_register_uat_preference(bootp_module,
"custom_bootp_table",
"Custom BootP/DHCP Options (Excl. suboptions)",
"Custom BootP/DHCP Options (Excl. suboptions)",
bootp_uat);
"custom_bootp_table",
"Custom BootP/DHCP Options (Excl. suboptions)",
"Custom BootP/DHCP Options (Excl. suboptions)",
bootp_uat);
}
void
@ -7073,7 +7073,7 @@ proto_reg_handoff_bootp(void)
}
/*
* Editor modelines - http://www.wireshark.org/tools/modelines.html
* Editor modelines - http://www.wireshark.org/tools/modelines.html
*
* Local variables:
* c-basic-offset: 8

File diff suppressed because it is too large Load Diff

View File

@ -1081,54 +1081,54 @@ dissect_browser_browserr_server_enum_ex_reply(tvbuff_t *tvb, int offset,
IDL }
*/
static dcerpc_sub_dissector dcerpc_browser_dissectors[] = {
{ BROWSER_BROWSERR_SERVER_ENUM, "BrowserrServerEnum",
{ BROWSER_BROWSERR_SERVER_ENUM, "BrowserrServerEnum",
dissect_browser_browserr_server_enum_rqst,
dissect_browser_browserr_server_enum_reply },
{ BROWSER_BROWSERR_DEBUG_CALL, "BrowserrDebugCall",
{ BROWSER_BROWSERR_DEBUG_CALL, "BrowserrDebugCall",
dissect_browser_browserr_debug_call_rqst,
dissect_browser_browserr_debug_call_reply },
{ BROWSER_BROWSERR_QUERY_OTHER_DOMAINS,
{ BROWSER_BROWSERR_QUERY_OTHER_DOMAINS,
"BrowserrQueryOtherDomains",
dissect_browser_browserr_query_other_domains_rqst,
dissect_browser_browserr_query_other_domains_reply },
{ BROWSER_BROWSERR_RESET_NETLOGON_STATE,
{ BROWSER_BROWSERR_RESET_NETLOGON_STATE,
"BrowserrResetNetlogonState",
dissect_browser_browserr_reset_netlogon_state_rqst,
dissect_browser_browserr_reset_netlogon_state_reply },
{ BROWSER_BROWSERR_DEBUG_TRACE,
{ BROWSER_BROWSERR_DEBUG_TRACE,
"BrowserrDebugTrace",
dissect_browser_browserr_debug_trace_rqst,
dissect_browser_browserr_debug_trace_reply },
{ BROWSER_BROWSERR_QUERY_STATISTICS,
{ BROWSER_BROWSERR_QUERY_STATISTICS,
"BrowserrQueryStatistics",
dissect_browser_browserr_query_statistics_rqst,
dissect_browser_browserr_query_statistics_reply },
{ BROWSER_BROWSERR_RESET_STATISTICS,
{ BROWSER_BROWSERR_RESET_STATISTICS,
"BrowserrResetStatistics",
dissect_browser_browserr_reset_statistics_rqst,
dissect_browser_browserr_reset_statistics_reply },
{ BROWSER_NETR_BROWSER_STATISTICS_CLEAR,
{ BROWSER_NETR_BROWSER_STATISTICS_CLEAR,
"NetrBrowserStatisticsClear",
dissect_browser_netr_browser_statistics_clear_rqst,
dissect_browser_netr_browser_statistics_clear_reply },
{ BROWSER_NETR_BROWSER_STATISTICS_GET,
{ BROWSER_NETR_BROWSER_STATISTICS_GET,
"NetrBrowserStatisticsGet",
dissect_browser_netr_browser_statistics_get_rqst,
dissect_browser_netr_browser_statistics_get_reply },
{ BROWSER_BROWSERR_SET_NETLOGON_STATE,
{ BROWSER_BROWSERR_SET_NETLOGON_STATE,
"BrowserrSetNetlogonState",
dissect_browser_browserr_set_netlogon_state_rqst,
dissect_browser_browserr_set_netlogon_state_reply },
{ BROWSER_BROWSERR_QUERY_EMULATED_DOMAINS,
{ BROWSER_BROWSERR_QUERY_EMULATED_DOMAINS,
"BrowserrQueryEmulatedDomains",
dissect_browser_browserr_query_emulated_domains_rqst,
dissect_browser_browserr_query_emulated_domains_reply },
{ BROWSER_BROWSERR_SERVER_ENUM_EX,
{ BROWSER_BROWSERR_SERVER_ENUM_EX,
"BrowserrServerEnumEx",
dissect_browser_browserr_server_enum_ex_rqst,
dissect_browser_browserr_server_enum_ex_reply },
{0, NULL, NULL, NULL }
{0, NULL, NULL, NULL }
};
void
@ -1161,26 +1161,26 @@ static hf_register_info hf[] = {
NULL, 0x0, "Unknown string. If you know what this is, contact wireshark developers.", HFILL }}
};
static gint *ett[] = {
&ett_dcerpc_browser
};
static gint *ett[] = {
&ett_dcerpc_browser
};
proto_dcerpc_browser = proto_register_protocol(
"RPC Browser", "RPC_BROWSER", "rpc_browser");
proto_dcerpc_browser = proto_register_protocol(
"RPC Browser", "RPC_BROWSER", "rpc_browser");
proto_register_field_array(proto_dcerpc_browser, hf,
proto_register_field_array(proto_dcerpc_browser, hf,
array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
proto_register_subtree_array(ett, array_length(ett));
}
void
proto_reg_handoff_dcerpc_browser(void)
{
/* Register protocol as dcerpc */
/* Register protocol as dcerpc */
dcerpc_init_uuid(proto_dcerpc_browser, ett_dcerpc_browser,
&uuid_dcerpc_browser, ver_dcerpc_browser,
dcerpc_browser_dissectors, hf_browser_opnum);
dcerpc_init_uuid(proto_dcerpc_browser, ett_dcerpc_browser,
&uuid_dcerpc_browser, ver_dcerpc_browser,
dcerpc_browser_dissectors, hf_browser_opnum);
}
/*

View File

@ -165,26 +165,26 @@ void
proto_register_conv (void)
{
static hf_register_info hf[] = {
{ &hf_conv_opnum,
{ "Operation", "conv.opnum", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }},
{ &hf_conv_rc,
{"Status", "conv.status", FT_UINT32, BASE_DEC|BASE_EXT_STRING, &dce_error_vals_ext, 0x0, NULL, HFILL }},
{ &hf_conv_opnum,
{ "Operation", "conv.opnum", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }},
{ &hf_conv_rc,
{"Status", "conv.status", FT_UINT32, BASE_DEC|BASE_EXT_STRING, &dce_error_vals_ext, 0x0, NULL, HFILL }},
{ &hf_conv_who_are_you_rqst_actuid,
{"Activity UID", "conv.who_are_you_rqst_actuid", FT_GUID, BASE_NONE, NULL, 0x0, "UUID", HFILL }},
{ &hf_conv_who_are_you_rqst_boot_time,
{"Boot time", "conv.who_are_you_rqst_boot_time", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0x0, NULL, HFILL }},
{ &hf_conv_who_are_you2_rqst_actuid,
{"Activity UID", "conv.who_are_you2_rqst_actuid", FT_GUID, BASE_NONE, NULL, 0x0, "UUID", HFILL }},
{ &hf_conv_who_are_you2_rqst_boot_time,
{"Boot time", "conv.who_are_you2_rqst_boot_time", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0x0, NULL, HFILL }},
{ &hf_conv_who_are_you_rqst_actuid,
{"Activity UID", "conv.who_are_you_rqst_actuid", FT_GUID, BASE_NONE, NULL, 0x0, "UUID", HFILL }},
{ &hf_conv_who_are_you_rqst_boot_time,
{"Boot time", "conv.who_are_you_rqst_boot_time", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0x0, NULL, HFILL }},
{ &hf_conv_who_are_you2_rqst_actuid,
{"Activity UID", "conv.who_are_you2_rqst_actuid", FT_GUID, BASE_NONE, NULL, 0x0, "UUID", HFILL }},
{ &hf_conv_who_are_you2_rqst_boot_time,
{"Boot time", "conv.who_are_you2_rqst_boot_time", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0x0, NULL, HFILL }},
{ &hf_conv_who_are_you_resp_seq,
{"Sequence Number", "conv.who_are_you_resp_seq", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
{ &hf_conv_who_are_you2_resp_seq,
{"Sequence Number", "conv.who_are_you2_resp_seq", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
{ &hf_conv_who_are_you2_resp_casuuid,
{"Client's address space UUID", "conv.who_are_you2_resp_casuuid", FT_GUID, BASE_NONE, NULL, 0x0, "UUID", HFILL }}
{ &hf_conv_who_are_you_resp_seq,
{"Sequence Number", "conv.who_are_you_resp_seq", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
{ &hf_conv_who_are_you2_resp_seq,
{"Sequence Number", "conv.who_are_you2_resp_seq", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
{ &hf_conv_who_are_you2_resp_casuuid,
{"Client's address space UUID", "conv.who_are_you2_resp_casuuid", FT_GUID, BASE_NONE, NULL, 0x0, "UUID", HFILL }}
};
static gint *ett[] = {

View File

@ -465,64 +465,64 @@ dissect_diameter_base_framed_ipv6_prefix(tvbuff_t *tvb, packet_info *pinfo _U_,
static int
dissect_diameter_user_name(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
{
diam_sub_dis_t *diam_sub_dis = (diam_sub_dis_t*)data;
guint32 application_id = 0, str_len;
diam_sub_dis_t *diam_sub_dis = (diam_sub_dis_t*)data;
guint32 application_id = 0, str_len;
if (diam_sub_dis) {
application_id = diam_sub_dis->application_id;
}
if (diam_sub_dis) {
application_id = diam_sub_dis->application_id;
}
switch (application_id) {
case DIAM_APPID_3GPP_S6A_S6D:
case DIAM_APPID_3GPP_SLH:
case DIAM_APPID_3GPP_S7A:
str_len = tvb_reported_length(tvb);
dissect_e212_utf8_imsi(tvb, pinfo, tree, 0, str_len);
return str_len;
}
switch (application_id) {
case DIAM_APPID_3GPP_S6A_S6D:
case DIAM_APPID_3GPP_SLH:
case DIAM_APPID_3GPP_S7A:
str_len = tvb_reported_length(tvb);
dissect_e212_utf8_imsi(tvb, pinfo, tree, 0, str_len);
return str_len;
}
return 0;
return 0;
}
/* AVP Code: 443 Subscription-Id */
static int
dissect_diameter_subscription_id(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_)
{
/* Just reset our global subscription-id-type variable */
subscription_id_type = SUBSCRIPTION_ID_TYPE_UNKNOWN;
/* Just reset our global subscription-id-type variable */
subscription_id_type = SUBSCRIPTION_ID_TYPE_UNKNOWN;
return 0;
return 0;
}
/* AVP Code: 450 Subscription-Id-Type */
static int
dissect_diameter_subscription_id_type(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_)
{
/* Store the Type for use when we dissect Subscription-Id-Data */
subscription_id_type = tvb_get_ntohl(tvb, 0);
/* Store the Type for use when we dissect Subscription-Id-Data */
subscription_id_type = tvb_get_ntohl(tvb, 0);
return 0;
return 0;
}
/* AVP Code: 444 Subscription-Id-Data */
static int
dissect_diameter_subscription_id_data(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
{
guint32 str_len;
guint32 str_len;
switch (subscription_id_type) {
switch (subscription_id_type) {
case SUBSCRIPTION_ID_TYPE_IMSI:
str_len = tvb_reported_length(tvb);
dissect_e212_utf8_imsi(tvb, pinfo, tree, 0, str_len);
return str_len;
str_len = tvb_reported_length(tvb);
dissect_e212_utf8_imsi(tvb, pinfo, tree, 0, str_len);
return str_len;
case SUBSCRIPTION_ID_TYPE_E164:
str_len = tvb_reported_length(tvb);
dissect_e164_msisdn(tvb, tree, 0, str_len, E164_ENC_UTF8);
return str_len;
break;
}
str_len = tvb_reported_length(tvb);
dissect_e164_msisdn(tvb, tree, 0, str_len, E164_ENC_UTF8);
return str_len;
break;
}
return 0;
return 0;
}
/* Call subdissectors for AVPs.
@ -750,7 +750,7 @@ address_rfc_avp(diam_ctx_t *c, diam_avp_t *a, tvbuff_t *tvb, diam_sub_dis_t *dia
{
char *label = (char *)wmem_alloc(wmem_packet_scope(), ITEM_LABEL_LENGTH+1);
address_avp_t *t = (address_avp_t *)a->type_data;
gint len = tvb_reported_length(tvb);
gint len = tvb_reported_length(tvb);
proto_item *pi = proto_tree_add_item(c->tree, a->hf_value, tvb, 0, len, ENC_BIG_ENDIAN);
proto_tree *pt = proto_item_add_subtree(pi,t->ett);
guint32 addr_type = tvb_get_ntohs(tvb,0);

View File

@ -109,8 +109,8 @@ static gboolean generate_bits_field = TRUE;
static const value_string p2p_dirs[] = {
{ P2P_DIR_UNKNOWN, "Unknown" },
{ P2P_DIR_SENT, "Sent" },
{ P2P_DIR_RECV, "Received" },
{ P2P_DIR_SENT, "Sent" },
{ P2P_DIR_RECV, "Received" },
{ 0, NULL }
};
@ -251,7 +251,7 @@ dissect_frame(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
break;
}
if(pinfo->pkt_comment){
if (pinfo->pkt_comment) {
item = proto_tree_add_item(tree, proto_pkt_comment, tvb, 0, 0, ENC_NA);
comments_tree = proto_item_add_subtree(item, ett_comments);
comment_item = proto_tree_add_string_format(comments_tree, hf_comments_text, tvb, 0, 0,
@ -265,10 +265,10 @@ dissect_frame(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
/* if FRAME is not referenced from any filters we don't need to worry about
generating any tree items. */
if(!proto_field_is_referenced(tree, proto_frame)) {
if (!proto_field_is_referenced(tree, proto_frame)) {
tree=NULL;
if(pinfo->fd->flags.has_ts) {
if(pinfo->fd->abs_ts.nsecs < 0 || pinfo->fd->abs_ts.nsecs >= 1000000000)
if (pinfo->fd->flags.has_ts) {
if (pinfo->fd->abs_ts.nsecs < 0 || pinfo->fd->abs_ts.nsecs >= 1000000000)
expert_add_info(pinfo, NULL, &ei_arrive_time_out_of_range);
}
} else {
@ -345,7 +345,7 @@ dissect_frame(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
if (pinfo->fd->flags.has_ts) {
proto_tree_add_time(fh_tree, hf_frame_arrival_time, tvb,
0, 0, &(pinfo->fd->abs_ts));
if(pinfo->fd->abs_ts.nsecs < 0 || pinfo->fd->abs_ts.nsecs >= 1000000000) {
if (pinfo->fd->abs_ts.nsecs < 0 || pinfo->fd->abs_ts.nsecs >= 1000000000) {
expert_add_info_format(pinfo, ti, &ei_arrive_time_out_of_range,
"Arrival Time: Fractional second %09ld is invalid,"
" the valid range is 0-1000000000",
@ -355,7 +355,7 @@ dissect_frame(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
0, 0, &(pinfo->fd->shift_offset));
PROTO_ITEM_SET_GENERATED(item);
if(generate_epoch_time) {
if (generate_epoch_time) {
proto_tree_add_time(fh_tree, hf_frame_arrival_time_epoch, tvb,
0, 0, &(pinfo->fd->abs_ts));
}
@ -384,7 +384,7 @@ dissect_frame(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
0, 0, &(pinfo->rel_ts));
PROTO_ITEM_SET_GENERATED(item);
if(pinfo->fd->flags.ref_time){
if (pinfo->fd->flags.ref_time) {
ti = proto_tree_add_item(fh_tree, hf_frame_time_reference, tvb, 0, 0, ENC_NA);
PROTO_ITEM_SET_GENERATED(ti);
}
@ -424,7 +424,7 @@ dissect_frame(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
ti = proto_tree_add_boolean(fh_tree, hf_frame_ignored, tvb, 0, 0,pinfo->fd->flags.ignored);
PROTO_ITEM_SET_GENERATED(ti);
if(proto_field_is_referenced(tree, hf_frame_protocols)) {
if (proto_field_is_referenced(tree, hf_frame_protocols)) {
/* we are going to be using proto_item_append_string() on
* hf_frame_protocols, and we must therefore disable the
* TRY_TO_FAKE_THIS_ITEM() optimisation for the tree by
@ -457,7 +457,7 @@ dissect_frame(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
pinfo->fd->file_off, pinfo->fd->file_off);
}
if(pinfo->fd->color_filter != NULL) {
if (pinfo->fd->color_filter != NULL) {
const color_filter_t *color_filter = (const color_filter_t *)pinfo->fd->color_filter;
item = proto_tree_add_string(fh_tree, hf_frame_color_filter_name, tvb,
0, 0, color_filter->filter_name);
@ -481,11 +481,11 @@ dissect_frame(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
/* Win32: Visual-C Structured Exception Handling (SEH) to trap hardware exceptions
like memory access violations.
(a running debugger will be called before the except part below) */
/* Note: A Windows "exceptional exception" may leave the kazlib's (Portable Exception Handling)
stack in an inconsistent state thus causing a crash at some point in the
handling of the exception.
See: https://www.wireshark.org/lists/wireshark-dev/200704/msg00243.html
*/
/* Note: A Windows "exceptional exception" may leave the kazlib's (Portable Exception Handling)
stack in an inconsistent state thus causing a crash at some point in the
handling of the exception.
See: https://www.wireshark.org/lists/wireshark-dev/200704/msg00243.html
*/
__try {
#endif
switch (pinfo->phdr->rec_type) {
@ -519,7 +519,7 @@ dissect_frame(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
}
#ifdef _MSC_VER
} __except(EXCEPTION_EXECUTE_HANDLER /* handle all exceptions */) {
switch(GetExceptionCode()) {
switch (GetExceptionCode()) {
case(STATUS_ACCESS_VIOLATION):
show_exception(tvb, pinfo, parent_tree, DissectorError,
"STATUS_ACCESS_VIOLATION: dissector accessed an invalid memory address");
@ -547,7 +547,7 @@ dissect_frame(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
}
ENDTRY;
if(proto_field_is_referenced(tree, hf_frame_protocols)) {
if (proto_field_is_referenced(tree, hf_frame_protocols)) {
wmem_strbuf_t *val = wmem_strbuf_sized_new(wmem_packet_scope(), 128, 0);
wmem_list_frame_t *frame;
/* skip the first entry, it's always the "frame" protocol */
@ -573,17 +573,17 @@ dissect_frame(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
/* Win32: Visual-C Structured Exception Handling (SEH)
to trap hardware exceptions like memory access violations */
/* (a running debugger will be called before the except part below) */
/* Note: A Windows "exceptional exception" may leave the kazlib's (Portable Exception Handling)
stack in an inconsistent state thus causing a crash at some point in the
handling of the exception.
See: https://www.wireshark.org/lists/wireshark-dev/200704/msg00243.html
*/
/* Note: A Windows "exceptional exception" may leave the kazlib's (Portable Exception Handling)
stack in an inconsistent state thus causing a crash at some point in the
handling of the exception.
See: https://www.wireshark.org/lists/wireshark-dev/200704/msg00243.html
*/
__try {
#endif
call_all_postdissectors(tvb, pinfo, parent_tree);
#ifdef _MSC_VER
} __except(EXCEPTION_EXECUTE_HANDLER /* handle all exceptions */) {
switch(GetExceptionCode()) {
switch (GetExceptionCode()) {
case(STATUS_ACCESS_VIOLATION):
show_exception(tvb, pinfo, parent_tree, DissectorError,
"STATUS_ACCESS_VIOLATION: dissector accessed an invalid memory address");

View File

@ -58,7 +58,7 @@ static int hf_seg1a_syncinfo_sa_freq_offset = -1;
static int hf_seg1a_rachctrl_max_retrans = -1;
static int hf_seg1a_rachctrl_acc[16] = { -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1 };
-1, -1, -1, -1, -1, -1, -1, -1 };
static int hf_seg1a_rachctrl_cell_bar_access = -1;
static int hf_seg1a_miscinfo_sb_reselection_hysteresis = -1;

View File

@ -340,12 +340,12 @@ static const value_string gsmtap_channels[] = {
{ GSMTAP_CHANNEL_TCH_F, "FACCH/F" },
{ GSMTAP_CHANNEL_TCH_H, "FACCH/H" },
{ GSMTAP_CHANNEL_PACCH, "PACCH" },
{ GSMTAP_CHANNEL_CBCH52, "CBCH" },
{ GSMTAP_CHANNEL_PDCH, "PDCH" },
{ GSMTAP_CHANNEL_PTCCH, "PTTCH" },
{ GSMTAP_CHANNEL_CBCH51, "CBCH" },
{ GSMTAP_CHANNEL_CBCH52, "CBCH" },
{ GSMTAP_CHANNEL_PDCH, "PDCH" },
{ GSMTAP_CHANNEL_PTCCH, "PTTCH" },
{ GSMTAP_CHANNEL_CBCH51, "CBCH" },
{ GSMTAP_CHANNEL_ACCH|
{ GSMTAP_CHANNEL_ACCH|
GSMTAP_CHANNEL_SDCCH, "LSACCH" },
{ GSMTAP_CHANNEL_ACCH|
GSMTAP_CHANNEL_SDCCH4, "SACCH/4" },
@ -519,7 +519,7 @@ dissect_gsmtap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
case GSMTAP_CHANNEL_PCH:
case GSMTAP_CHANNEL_AGCH:
case GSMTAP_CHANNEL_CBCH51:
case GSMTAP_CHANNEL_CBCH52:
case GSMTAP_CHANNEL_CBCH52:
col_set_str(pinfo->cinfo, COL_RES_NET_DST, "Broadcast");
break;
default:

View File

@ -620,186 +620,186 @@ static expert_field ei_iec104_apdu_min_len = EI_INIT;
/* Misc. functions for dissection of signal values */
/* ====================================================================
void get_CP56Time(td_CP56Time *cp56t, tvbuff_t *tvb, guint8 offset)
void get_CP56Time(td_CP56Time *cp56t, tvbuff_t *tvb, guint8 offset)
Dissects the CP56Time2a time (Seven octet binary time)
that starts 'offset' bytes in 'tvb'.
Dissects the CP56Time2a time (Seven octet binary time)
that starts 'offset' bytes in 'tvb'.
==================================================================== */
static void get_CP56Time(tvbuff_t *tvb, guint8 *offset, proto_tree *iec104_header_tree)
{
guint16 ms;
guint8 value;
guint8 su;
struct tm tm;
nstime_t datetime;
proto_item* ti;
proto_tree* cp56time_tree;
guint16 ms;
guint8 value;
guint8 su;
struct tm tm;
nstime_t datetime;
proto_item* ti;
proto_tree* cp56time_tree;
ms = tvb_get_letohs(tvb, *offset);
tm.tm_sec = ms / 1000;
datetime.nsecs = (ms % 1000) * 1000000;
(*offset) += 2;
ms = tvb_get_letohs(tvb, *offset);
tm.tm_sec = ms / 1000;
datetime.nsecs = (ms % 1000) * 1000000;
(*offset) += 2;
value = tvb_get_guint8(tvb, *offset);
tm.tm_min = value & 0x3F;
(*offset)++;
value = tvb_get_guint8(tvb, *offset);
tm.tm_min = value & 0x3F;
(*offset)++;
value = tvb_get_guint8(tvb, *offset);
tm.tm_hour = value & 0x1F;
su = value & 0x80;
(*offset)++;
value = tvb_get_guint8(tvb, *offset);
tm.tm_hour = value & 0x1F;
su = value & 0x80;
(*offset)++;
value = tvb_get_guint8(tvb, *offset);
tm.tm_mday = value & 0x1F;
(*offset)++;
value = tvb_get_guint8(tvb, *offset);
tm.tm_mday = value & 0x1F;
(*offset)++;
value = tvb_get_guint8(tvb, *offset);
tm.tm_mon = (value & 0x0F) - 1;
(*offset)++;
value = tvb_get_guint8(tvb, *offset);
tm.tm_mon = (value & 0x0F) - 1;
(*offset)++;
value = tvb_get_guint8(tvb, *offset);
tm.tm_year = value & 0x7F;
if (tm.tm_year < 70)
tm.tm_year += 100;
value = tvb_get_guint8(tvb, *offset);
tm.tm_year = value & 0x7F;
if (tm.tm_year < 70)
tm.tm_year += 100;
(*offset)++;
(*offset)++;
if (su)
tm.tm_isdst = 1;
else
tm.tm_isdst = -1; /* there's no info on whether DST was in force; assume it's
* the same as currently */
if (su)
tm.tm_isdst = 1;
else
tm.tm_isdst = -1; /* there's no info on whether DST was in force; assume it's
* the same as currently */
datetime.secs = mktime(&tm);
datetime.secs = mktime(&tm);
(*offset) -= 7;
(*offset) -= 7;
ti = proto_tree_add_time(iec104_header_tree, hf_cp56time, tvb, *offset, 7, &datetime);
cp56time_tree = proto_item_add_subtree(ti, ett_cp56time);
ti = proto_tree_add_time(iec104_header_tree, hf_cp56time, tvb, *offset, 7, &datetime);
cp56time_tree = proto_item_add_subtree(ti, ett_cp56time);
proto_tree_add_item(cp56time_tree, hf_cp56time_ms, tvb, *offset, 2, ENC_LITTLE_ENDIAN);
(*offset) += 2;
proto_tree_add_item(cp56time_tree, hf_cp56time_ms, tvb, *offset, 2, ENC_LITTLE_ENDIAN);
(*offset) += 2;
proto_tree_add_item(cp56time_tree, hf_cp56time_min, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(cp56time_tree, hf_cp56time_iv, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
(*offset) ++;
proto_tree_add_item(cp56time_tree, hf_cp56time_min, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(cp56time_tree, hf_cp56time_iv, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
(*offset) ++;
proto_tree_add_item(cp56time_tree, hf_cp56time_hour, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(cp56time_tree, hf_cp56time_su, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
(*offset) ++;
proto_tree_add_item(cp56time_tree, hf_cp56time_hour, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(cp56time_tree, hf_cp56time_su, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
(*offset) ++;
proto_tree_add_item(cp56time_tree, hf_cp56time_day, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(cp56time_tree, hf_cp56time_dow, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
(*offset) ++;
proto_tree_add_item(cp56time_tree, hf_cp56time_day, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(cp56time_tree, hf_cp56time_dow, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
(*offset) ++;
proto_tree_add_item(cp56time_tree, hf_cp56time_month, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
(*offset) ++;
proto_tree_add_item(cp56time_tree, hf_cp56time_month, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
(*offset) ++;
proto_tree_add_item(cp56time_tree, hf_cp56time_year, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
(*offset) ++;
proto_tree_add_item(cp56time_tree, hf_cp56time_year, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
(*offset) ++;
}
/* ====================================================================
Information object address (Identifier)
ASDU -> Inform Object #1 -> Information object address
Information object address (Identifier)
ASDU -> Inform Object #1 -> Information object address
==================================================================== */
static proto_item* get_InfoObjectAddress(guint32 *asdu_info_obj_addr, tvbuff_t *tvb, guint8 *offset, proto_tree *iec104_header_tree)
{
proto_item* ti;
proto_item* ti;
/* -------- Information object address */
*asdu_info_obj_addr = tvb_get_letoh24(tvb, *offset);
ti = proto_tree_add_item(iec104_header_tree, hf_ioa, tvb, *offset, 3, ENC_LITTLE_ENDIAN);
(*offset) += 3;
/* -------- Information object address */
*asdu_info_obj_addr = tvb_get_letoh24(tvb, *offset);
ti = proto_tree_add_item(iec104_header_tree, hf_ioa, tvb, *offset, 3, ENC_LITTLE_ENDIAN);
(*offset) += 3;
return ti;
return ti;
}
/* ====================================================================
TypeId length
TypeId length
==================================================================== */
static guint8 get_TypeIdLength(guint8 TypeId)
{
guint8 ret = 0;
const td_asdu_length *item;
guint8 ret = 0;
const td_asdu_length *item;
item = asdu_length;
while (item->value)
{
if (item->value == TypeId)
{
ret = item->length;
break;
}
item++;
}
item = asdu_length;
while (item->value)
{
if (item->value == TypeId)
{
ret = item->length;
break;
}
item++;
}
return ret;
return ret;
}
/* ====================================================================
SIQ: Single-point information (IEV 371-02-07) w quality descriptor
SIQ: Single-point information (IEV 371-02-07) w quality descriptor
==================================================================== */
static void get_SIQ(tvbuff_t *tvb, guint8 *offset, proto_tree *iec104_header_tree)
{
proto_item* ti;
proto_tree* siq_tree;
proto_item* ti;
proto_tree* siq_tree;
ti = proto_tree_add_item(iec104_header_tree, hf_siq, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
siq_tree = proto_item_add_subtree(ti, ett_siq);
ti = proto_tree_add_item(iec104_header_tree, hf_siq, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
siq_tree = proto_item_add_subtree(ti, ett_siq);
proto_tree_add_item(siq_tree, hf_siq_spi, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(siq_tree, hf_siq_bl, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(siq_tree, hf_siq_sb, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(siq_tree, hf_siq_nt, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(siq_tree, hf_siq_iv, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(siq_tree, hf_siq_spi, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(siq_tree, hf_siq_bl, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(siq_tree, hf_siq_sb, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(siq_tree, hf_siq_nt, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(siq_tree, hf_siq_iv, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
(*offset)++;
(*offset)++;
}
/* ====================================================================
DIQ: Double-point information (IEV 371-02-08) w quality descriptor
DIQ: Double-point information (IEV 371-02-08) w quality descriptor
==================================================================== */
static void get_DIQ(tvbuff_t *tvb, guint8 *offset, proto_tree *iec104_header_tree)
{
proto_item* ti;
proto_tree* diq_tree;
proto_item* ti;
proto_tree* diq_tree;
ti = proto_tree_add_item(iec104_header_tree, hf_diq, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
diq_tree = proto_item_add_subtree(ti, ett_diq);
ti = proto_tree_add_item(iec104_header_tree, hf_diq, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
diq_tree = proto_item_add_subtree(ti, ett_diq);
proto_tree_add_item(diq_tree, hf_diq_dpi, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(diq_tree, hf_diq_bl, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(diq_tree, hf_diq_sb, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(diq_tree, hf_diq_nt, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(diq_tree, hf_diq_iv, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(diq_tree, hf_diq_dpi, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(diq_tree, hf_diq_bl, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(diq_tree, hf_diq_sb, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(diq_tree, hf_diq_nt, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(diq_tree, hf_diq_iv, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
(*offset)++;
(*offset)++;
}
/* ====================================================================
QDS: Quality descriptor (separate octet)
QDS: Quality descriptor (separate octet)
==================================================================== */
static void get_QDS(tvbuff_t *tvb, guint8 *offset, proto_tree *iec104_header_tree)
{
proto_item* ti;
proto_tree* qds_tree;
proto_item* ti;
proto_tree* qds_tree;
ti = proto_tree_add_item(iec104_header_tree, hf_qds, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
qds_tree = proto_item_add_subtree(ti, ett_qds);
ti = proto_tree_add_item(iec104_header_tree, hf_qds, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
qds_tree = proto_item_add_subtree(ti, ett_qds);
proto_tree_add_item(qds_tree, hf_qds_ov, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(qds_tree, hf_qds_bl, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(qds_tree, hf_qds_sb, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(qds_tree, hf_qds_nt, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(qds_tree, hf_qds_iv, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(qds_tree, hf_qds_ov, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(qds_tree, hf_qds_bl, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(qds_tree, hf_qds_sb, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(qds_tree, hf_qds_nt, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(qds_tree, hf_qds_iv, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
(*offset)++;
(*offset)++;
}
/* ====================================================================
QDP: Quality descriptor for events of protection equipment
(separate octet)
QDP: Quality descriptor for events of protection equipment
(separate octet)
==================================================================== */
#if 0
static void get_QDP(tvbuff_t *tvb _U_, guint8 *offset _U_, proto_tree *iec104_header_tree _U_)
@ -810,106 +810,106 @@ static void get_QDP(tvbuff_t *tvb _U_, guint8 *offset _U_, proto_tree *iec104_he
#endif
/* ====================================================================
VTI: Value with transient state indication
VTI: Value with transient state indication
==================================================================== */
static void get_VTI(tvbuff_t *tvb, guint8 *offset, proto_tree *iec104_header_tree)
{
proto_item* ti;
proto_tree* vti_tree;
proto_item* ti;
proto_tree* vti_tree;
ti = proto_tree_add_item(iec104_header_tree, hf_vti, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
vti_tree = proto_item_add_subtree(ti, ett_vti);
ti = proto_tree_add_item(iec104_header_tree, hf_vti, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
vti_tree = proto_item_add_subtree(ti, ett_vti);
proto_tree_add_item(vti_tree, hf_vti_v, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(vti_tree, hf_vti_t, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(vti_tree, hf_vti_v, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(vti_tree, hf_vti_t, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
(*offset)++;
(*offset)++;
}
/* ====================================================================
NVA: Normalized value
NVA: Normalized value
==================================================================== */
static void get_NVA(tvbuff_t *tvb, guint8 *offset, proto_tree *iec104_header_tree)
{
gint16 value;
float fvalue;
gint16 value;
float fvalue;
value = (gint16)tvb_get_letohs(tvb, *offset);
fvalue = (float)value / 32768;
value = (gint16)tvb_get_letohs(tvb, *offset);
fvalue = (float)value / 32768;
/* Normalized value F16[1..16]<-1..+1-2^-15> */
proto_tree_add_float_format_value(iec104_header_tree, hf_asdu_normval, tvb, *offset, 2, fvalue, "%." G_STRINGIFY(FLT_DIG) "g (%d)", fvalue, value);
/* Normalized value F16[1..16]<-1..+1-2^-15> */
proto_tree_add_float_format_value(iec104_header_tree, hf_asdu_normval, tvb, *offset, 2, fvalue, "%." G_STRINGIFY(FLT_DIG) "g (%d)", fvalue, value);
(*offset) += 2;
(*offset) += 2;
}
static void get_NVAspt(tvbuff_t *tvb, guint8 *offset, proto_tree *iec104_header_tree)
{
gint16 value;
float fvalue;
gint16 value;
float fvalue;
value = (gint16)tvb_get_letohs(tvb, *offset);
fvalue = (float)value / 32768;
value = (gint16)tvb_get_letohs(tvb, *offset);
fvalue = (float)value / 32768;
/* Normalized value F16[1..16]<-1..+1-2^-15> */
proto_tree_add_float_format_value(iec104_header_tree, hf_asdu_normval, tvb, *offset, 2, fvalue, "%." G_STRINGIFY(FLT_DIG) "g (%d)", fvalue, value);
/* Normalized value F16[1..16]<-1..+1-2^-15> */
proto_tree_add_float_format_value(iec104_header_tree, hf_asdu_normval, tvb, *offset, 2, fvalue, "%." G_STRINGIFY(FLT_DIG) "g (%d)", fvalue, value);
(*offset) += 2;
(*offset) += 2;
}
/* ====================================================================
SVA: Scaled value
SVA: Scaled value
==================================================================== */
static void get_SVA(tvbuff_t *tvb, guint8 *offset, proto_tree *iec104_header_tree)
{
/* Scaled value I16[1..16]<-2^15..+2^15-1> */
proto_tree_add_item(iec104_header_tree, hf_asdu_scalval, tvb, *offset, 2, ENC_LITTLE_ENDIAN);
/* Scaled value I16[1..16]<-2^15..+2^15-1> */
proto_tree_add_item(iec104_header_tree, hf_asdu_scalval, tvb, *offset, 2, ENC_LITTLE_ENDIAN);
(*offset) += 2;
(*offset) += 2;
}
static void get_SVAspt(tvbuff_t *tvb, guint8 *offset, proto_tree *iec104_header_tree)
{
/* Scaled value I16[1..16]<-2^15..+2^15-1> */
proto_tree_add_item(iec104_header_tree, hf_asdu_scalval, tvb, *offset, 2, ENC_LITTLE_ENDIAN);
/* Scaled value I16[1..16]<-2^15..+2^15-1> */
proto_tree_add_item(iec104_header_tree, hf_asdu_scalval, tvb, *offset, 2, ENC_LITTLE_ENDIAN);
(*offset) += 2;
(*offset) += 2;
}
/* ====================================================================
"FLT": Short floating point number
"FLT": Short floating point number
==================================================================== */
static void get_FLT(tvbuff_t *tvb, guint8 *offset, proto_tree *iec104_header_tree)
{
/* -------- IEEE 754 float value */
proto_tree_add_item(iec104_header_tree, hf_asdu_float, tvb, *offset, 4, ENC_LITTLE_ENDIAN);
/* -------- IEEE 754 float value */
proto_tree_add_item(iec104_header_tree, hf_asdu_float, tvb, *offset, 4, ENC_LITTLE_ENDIAN);
(*offset) += 4;
(*offset) += 4;
}
static void get_FLTspt(tvbuff_t *tvb, guint8 *offset, proto_tree *iec104_header_tree)
{
/* -------- IEEE 754 float value */
proto_tree_add_item(iec104_header_tree, hf_asdu_float, tvb, *offset, 4, ENC_LITTLE_ENDIAN);
/* -------- IEEE 754 float value */
proto_tree_add_item(iec104_header_tree, hf_asdu_float, tvb, *offset, 4, ENC_LITTLE_ENDIAN);
(*offset) += 4;
(*offset) += 4;
}
/* ====================================================================
"BSI": Binary state information, 32 bit
"BSI": Binary state information, 32 bit
==================================================================== */
static void get_BSI(tvbuff_t *tvb, guint8 *offset, proto_tree *iec104_header_tree)
{
proto_tree_add_bits_item(iec104_header_tree, hf_asdu_bitstring, tvb, *offset*8, 32, ENC_BIG_ENDIAN);
proto_tree_add_bits_item(iec104_header_tree, hf_asdu_bitstring, tvb, *offset*8, 32, ENC_BIG_ENDIAN);
(*offset) += 4;
(*offset) += 4;
}
static void get_BSIspt(tvbuff_t *tvb, guint8 *offset, proto_tree *iec104_header_tree)
{
proto_tree_add_bits_item(iec104_header_tree, hf_asdu_bitstring, tvb, *offset*8, 32, ENC_BIG_ENDIAN);
proto_tree_add_bits_item(iec104_header_tree, hf_asdu_bitstring, tvb, *offset*8, 32, ENC_BIG_ENDIAN);
(*offset) += 4;
(*offset) += 4;
}
/* ====================================================================
@ -917,14 +917,14 @@ static void get_BSIspt(tvbuff_t *tvb, guint8 *offset, proto_tree *iec104_header_
==================================================================== */
static void get_BCR(tvbuff_t *tvb, guint8 *offset, proto_tree *iec104_header_tree)
{
proto_tree_add_item(iec104_header_tree, hf_bcr_count, tvb, *offset, 4, ENC_LITTLE_ENDIAN);
*offset += 4;
proto_tree_add_item(iec104_header_tree, hf_bcr_count, tvb, *offset, 4, ENC_LITTLE_ENDIAN);
*offset += 4;
proto_tree_add_item(iec104_header_tree, hf_bcr_sq, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(iec104_header_tree, hf_bcr_cy, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(iec104_header_tree, hf_bcr_ca, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(iec104_header_tree, hf_bcr_iv, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
*offset += 1;
proto_tree_add_item(iec104_header_tree, hf_bcr_sq, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(iec104_header_tree, hf_bcr_cy, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(iec104_header_tree, hf_bcr_ca, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(iec104_header_tree, hf_bcr_iv, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
*offset += 1;
}
/* ====================================================================
@ -933,7 +933,7 @@ static void get_BCR(tvbuff_t *tvb, guint8 *offset, proto_tree *iec104_header_tre
#if 0
static void get_SEP(tvbuff_t *tvb _U_, guint8 *offset _U_, proto_tree *iec104_header_tree _U_)
{
/* todo */
/* todo */
}
#endif
@ -943,16 +943,16 @@ static void get_SEP(tvbuff_t *tvb _U_, guint8 *offset _U_, proto_tree *iec104_he
==================================================================== */
static void get_QOS(tvbuff_t *tvb, guint8 *offset, proto_tree *iec104_header_tree)
{
proto_item* ti;
proto_tree* qos_tree;
proto_item* ti;
proto_tree* qos_tree;
ti = proto_tree_add_item(iec104_header_tree, hf_qos, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
qos_tree = proto_item_add_subtree(ti, ett_qos);
ti = proto_tree_add_item(iec104_header_tree, hf_qos, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
qos_tree = proto_item_add_subtree(ti, ett_qos);
proto_tree_add_item(qos_tree, hf_qos_ql, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(qos_tree, hf_qos_se, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(qos_tree, hf_qos_ql, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(qos_tree, hf_qos_se, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
(*offset)++;
(*offset)++;
}
/* ====================================================================
@ -960,17 +960,17 @@ static void get_QOS(tvbuff_t *tvb, guint8 *offset, proto_tree *iec104_header_tre
==================================================================== */
static void get_SCO(tvbuff_t *tvb, guint8 *offset, proto_tree *iec104_header_tree)
{
proto_item* ti;
proto_tree* sco_tree;
proto_item* ti;
proto_tree* sco_tree;
ti = proto_tree_add_item(iec104_header_tree, hf_sco, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
sco_tree = proto_item_add_subtree(ti, ett_sco);
ti = proto_tree_add_item(iec104_header_tree, hf_sco, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
sco_tree = proto_item_add_subtree(ti, ett_sco);
proto_tree_add_item(sco_tree, hf_sco_on, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(sco_tree, hf_sco_qu, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(sco_tree, hf_sco_se, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(sco_tree, hf_sco_on, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(sco_tree, hf_sco_qu, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(sco_tree, hf_sco_se, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
(*offset)++;
(*offset)++;
}
/* ====================================================================
@ -978,17 +978,17 @@ static void get_SCO(tvbuff_t *tvb, guint8 *offset, proto_tree *iec104_header_tre
==================================================================== */
static void get_DCO(tvbuff_t *tvb, guint8 *offset, proto_tree *iec104_header_tree)
{
proto_item* ti;
proto_tree* dco_tree;
proto_item* ti;
proto_tree* dco_tree;
ti = proto_tree_add_item(iec104_header_tree, hf_dco, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
dco_tree = proto_item_add_subtree(ti, ett_dco);
ti = proto_tree_add_item(iec104_header_tree, hf_dco, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
dco_tree = proto_item_add_subtree(ti, ett_dco);
proto_tree_add_item(dco_tree, hf_dco_on, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(dco_tree, hf_dco_qu, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(dco_tree, hf_dco_se, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(dco_tree, hf_dco_on, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(dco_tree, hf_dco_qu, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(dco_tree, hf_dco_se, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
(*offset)++;
(*offset)++;
}
/* ====================================================================
@ -996,17 +996,17 @@ static void get_DCO(tvbuff_t *tvb, guint8 *offset, proto_tree *iec104_header_tre
==================================================================== */
static void get_RCO(tvbuff_t *tvb, guint8 *offset, proto_tree *iec104_header_tree)
{
proto_item* ti;
proto_tree* rco_tree;
proto_item* ti;
proto_tree* rco_tree;
ti = proto_tree_add_item(iec104_header_tree, hf_rco, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
rco_tree = proto_item_add_subtree(ti, ett_rco);
ti = proto_tree_add_item(iec104_header_tree, hf_rco, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
rco_tree = proto_item_add_subtree(ti, ett_rco);
proto_tree_add_item(rco_tree, hf_rco_up, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(rco_tree, hf_rco_qu, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(rco_tree, hf_rco_se, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(rco_tree, hf_rco_up, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(rco_tree, hf_rco_qu, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(rco_tree, hf_rco_se, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
(*offset)++;
(*offset)++;
}
/* ====================================================================
@ -1014,16 +1014,16 @@ static void get_RCO(tvbuff_t *tvb, guint8 *offset, proto_tree *iec104_header_tre
==================================================================== */
static void get_COI(tvbuff_t *tvb, guint8 *offset, proto_tree *iec104_header_tree)
{
proto_item* ti;
proto_tree* coi_tree;
proto_item* ti;
proto_tree* coi_tree;
ti = proto_tree_add_item(iec104_header_tree, hf_coi, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
coi_tree = proto_item_add_subtree(ti, ett_rco);
ti = proto_tree_add_item(iec104_header_tree, hf_coi, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
coi_tree = proto_item_add_subtree(ti, ett_rco);
proto_tree_add_item(coi_tree, hf_coi_r, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(coi_tree, hf_coi_i, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(coi_tree, hf_coi_r, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(coi_tree, hf_coi_i, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
(*offset)++;
(*offset)++;
}
/* ====================================================================
@ -1031,9 +1031,9 @@ static void get_COI(tvbuff_t *tvb, guint8 *offset, proto_tree *iec104_header_tre
==================================================================== */
static void get_QOI(tvbuff_t *tvb, guint8 *offset, proto_tree *iec104_header_tree)
{
proto_tree_add_item(iec104_header_tree, hf_qoi, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
proto_tree_add_item(iec104_header_tree, hf_qoi, tvb, *offset, 1, ENC_LITTLE_ENDIAN);
(*offset)++;
(*offset)++;
}
/* .... end Misc. functions for dissection of signal values */
@ -1361,7 +1361,7 @@ static void dissect_iec104asdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tr
break;
default:
break;
break;
} /* end 'switch (asduh.TypeId)' */
} /* end 'for(i = 0; i < dui.asdu_vsq_no_of_obj; i++)' */
break;

View File

@ -2176,7 +2176,7 @@ void proto_register_radiotap(void)
{"MAC timestamp", "radiotap.mactime",
FT_UINT64, BASE_DEC, NULL, 0x0,
"Value in microseconds of the MAC's Time Synchronization Function timer"
" when the first bit of the MPDU arrived at the MAC.",
" when the first bit of the MPDU arrived at the MAC.",
HFILL}},
{&hf_radiotap_quality,
@ -2231,7 +2231,7 @@ void proto_register_radiotap(void)
{&hf_radiotap_channel_flags_passive,
{"Passive", "radiotap.channel.type.passive",
FT_BOOLEAN, 16, NULL, 0x0200,
"Channel Type Passive", HFILL}},
"Channel Type Passive", HFILL}},
{&hf_radiotap_channel_flags_dynamic,
{"Dynamic CCK-OFDM", "radiotap.channel.type.dynamic",
@ -2246,27 +2246,27 @@ void proto_register_radiotap(void)
{&hf_radiotap_channel_flags_gsm,
{"GSM (900MHz)", "radiotap.channel.type.gsm",
FT_BOOLEAN, 16, NULL, 0x1000,
"Channel Type GSM", HFILL}},
"Channel Type GSM", HFILL}},
{&hf_radiotap_channel_flags_sturbo,
{"Static Turbo", "radiotap.channel.type.sturbo",
FT_BOOLEAN, 16, NULL, 0x2000,
"Channel Type Status Turbo", HFILL}},
"Channel Type Status Turbo", HFILL}},
{&hf_radiotap_channel_flags_half,
{"Half Rate Channel (10MHz Channel Width)", "radiotap.channel.type.half",
FT_BOOLEAN, 16, NULL, 0x4000,
"Channel Type Half Rate", HFILL}},
"Channel Type Half Rate", HFILL}},
{&hf_radiotap_channel_flags_quarter,
{"Quarter Rate Channel (5MHz Channel Width)", "radiotap.channel.type.quarter",
FT_BOOLEAN, 16, NULL, 0x8000,
"Channel Type Quarter Rate", HFILL}},
"Channel Type Quarter Rate", HFILL}},
{&hf_radiotap_rxflags,
{"RX flags", "radiotap.rxflags",
FT_UINT16, BASE_HEX, NULL, 0x0,
NULL, HFILL}},
NULL, HFILL}},
{&hf_radiotap_rxflags_badplcp,
{"Bad PLCP", "radiotap.rxflags.badplcp",
@ -2276,22 +2276,22 @@ void proto_register_radiotap(void)
{&hf_radiotap_xchannel,
{"Channel number", "radiotap.xchannel",
FT_UINT32, BASE_DEC, NULL, 0x0,
NULL, HFILL}},
NULL, HFILL}},
{&hf_radiotap_xchannel_frequency,
{"Channel frequency", "radiotap.xchannel.freq",
FT_UINT32, BASE_DEC, NULL, 0x0,
NULL, HFILL}},
NULL, HFILL}},
{&hf_radiotap_xchannel_flags,
{"Channel type", "radiotap.xchannel.flags",
FT_UINT32, BASE_HEX | BASE_EXT_STRING, &phy_type_ext, 0x0,
NULL, HFILL}},
NULL, HFILL}},
{&hf_radiotap_xchannel_flags_turbo,
{"Turbo", "radiotap.xchannel.type.turbo",
FT_BOOLEAN, 24, NULL, 0x0010,
"Channel Type Turbo", HFILL}},
"Channel Type Turbo", HFILL}},
{&hf_radiotap_xchannel_flags_cck,
{"Complementary Code Keying (CCK)", "radiotap.xchannel.type.cck",
@ -2306,17 +2306,17 @@ void proto_register_radiotap(void)
{&hf_radiotap_xchannel_flags_2ghz,
{"2 GHz spectrum", "radiotap.xchannel.type.2ghz",
FT_BOOLEAN, 24, NULL, 0x0080,
"Channel Type 2 GHz spectrum", HFILL}},
"Channel Type 2 GHz spectrum", HFILL}},
{&hf_radiotap_xchannel_flags_5ghz,
{"5 GHz spectrum", "radiotap.xchannel.type.5ghz",
FT_BOOLEAN, 24, NULL, 0x0100,
"Channel Type 5 GHz spectrum", HFILL}},
"Channel Type 5 GHz spectrum", HFILL}},
{&hf_radiotap_xchannel_flags_passive,
{"Passive", "radiotap.channel.xtype.passive",
FT_BOOLEAN, 24, NULL, 0x0200,
"Channel Type Passive", HFILL}},
"Channel Type Passive", HFILL}},
{&hf_radiotap_xchannel_flags_dynamic,
{"Dynamic CCK-OFDM", "radiotap.xchannel.type.dynamic",
@ -2333,42 +2333,42 @@ void proto_register_radiotap(void)
{&hf_radiotap_xchannel_flags_gsm,
{"GSM (900MHz)", "radiotap.xchannel.type.gsm",
FT_BOOLEAN, 24, NULL, 0x1000,
"Channel Type GSM", HFILL}},
"Channel Type GSM", HFILL}},
{&hf_radiotap_xchannel_flags_sturbo,
{"Static Turbo", "radiotap.xchannel.type.sturbo",
FT_BOOLEAN, 24, NULL, 0x2000,
"Channel Type Status Turbo", HFILL}},
"Channel Type Status Turbo", HFILL}},
{&hf_radiotap_xchannel_flags_half,
{"Half Rate Channel (10MHz Channel Width)", "radiotap.xchannel.type.half",
FT_BOOLEAN, 24, NULL, 0x4000,
"Channel Type Half Rate", HFILL}},
"Channel Type Half Rate", HFILL}},
{&hf_radiotap_xchannel_flags_quarter,
{"Quarter Rate Channel (5MHz Channel Width)", "radiotap.xchannel.type.quarter",
FT_BOOLEAN, 24, NULL, 0x8000,
"Channel Type Quarter Rate", HFILL}},
"Channel Type Quarter Rate", HFILL}},
{&hf_radiotap_xchannel_flags_ht20,
{"HT Channel (20MHz Channel Width)", "radiotap.xchannel.type.ht20",
FT_BOOLEAN, 24, NULL, 0x10000,
"Channel Type HT/20", HFILL}},
"Channel Type HT/20", HFILL}},
{&hf_radiotap_xchannel_flags_ht40u,
{"HT Channel (40MHz Channel Width with Extension channel above)", "radiotap.xchannel.type.ht40u",
FT_BOOLEAN, 24, NULL, 0x20000,
"Channel Type HT/40+", HFILL}},
"Channel Type HT/40+", HFILL}},
{&hf_radiotap_xchannel_flags_ht40d,
{"HT Channel (40MHz Channel Width with Extension channel below)", "radiotap.xchannel.type.ht40d",
FT_BOOLEAN, 24, NULL, 0x40000,
"Channel Type HT/40-", HFILL}},
"Channel Type HT/40-", HFILL}},
#if 0
{&hf_radiotap_xchannel_maxpower,
{"Max transmit power", "radiotap.xchannel.maxpower",
FT_UINT32, BASE_DEC, NULL, 0x0,
NULL, HFILL}},
NULL, HFILL}},
#endif
{&hf_radiotap_fhss_hopset,
{"FHSS Hop Set", "radiotap.fhss.hopset",
@ -2394,7 +2394,7 @@ void proto_register_radiotap(void)
{"SSI Signal", "radiotap.dbm_antsignal",
FT_INT32, BASE_DEC, NULL, 0x0,
"RF signal power at the antenna from a fixed,"
" arbitrary value in decibels from one milliwatt", HFILL}},
" arbitrary value in decibels from one milliwatt", HFILL}},
{&hf_radiotap_db_antsignal,
{"SSI Signal", "radiotap.db_antsignal",
@ -2405,25 +2405,25 @@ void proto_register_radiotap(void)
{"SSI Noise", "radiotap.dbm_antnoise",
FT_INT32, BASE_DEC, NULL, 0x0,
"RF noise power at the antenna from a fixed, arbitrary value"
" in decibels per one milliwatt", HFILL}},
" in decibels per one milliwatt", HFILL}},
{&hf_radiotap_db_antnoise,
{"SSI Noise", "radiotap.db_antnoise",
FT_UINT32, BASE_DEC, NULL, 0x0,
"RF noise power at the antenna from a fixed, arbitrary value"
" in decibels", HFILL}},
" in decibels", HFILL}},
{&hf_radiotap_tx_attenuation,
{"Transmit attenuation", "radiotap.txattenuation",
FT_UINT16, BASE_DEC, NULL, 0x0,
"Transmit power expressed as unitless distance from max power"
" set at factory (0 is max power)", HFILL}},
" set at factory (0 is max power)", HFILL}},
{&hf_radiotap_db_tx_attenuation,
{"Transmit attenuation (dB)", "radiotap.db_txattenuation",
FT_UINT16, BASE_DEC, NULL, 0x0,
"Transmit power expressed as decibels from max power"
" set at factory (0 is max power)", HFILL}},
" set at factory (0 is max power)", HFILL}},
{&hf_radiotap_txpower,
{"Transmit power", "radiotap.txpower",
@ -2433,7 +2433,7 @@ void proto_register_radiotap(void)
{&hf_radiotap_mcs,
{"MCS information", "radiotap.mcs",
FT_NONE, BASE_NONE, NULL, 0x0,
NULL, HFILL}},
NULL, HFILL}},
{&hf_radiotap_mcs_known,
{"Known MCS information", "radiotap.mcs.known",
@ -2498,17 +2498,17 @@ void proto_register_radiotap(void)
{&hf_radiotap_mcs_index,
{"MCS index", "radiotap.mcs.index",
FT_UINT8, BASE_DEC, NULL, 0x0,
NULL, HFILL}},
NULL, HFILL}},
{&hf_radiotap_ampdu,
{"A-MPDU status", "radiotap.ampdu",
FT_NONE, BASE_NONE, NULL, 0x0,
NULL, HFILL}},
NULL, HFILL}},
{&hf_radiotap_ampdu_ref,
{"A-MPDU reference number", "radiotap.ampdu.reference",
FT_UINT32, BASE_DEC, NULL, 0x0,
NULL, HFILL}},
NULL, HFILL}},
{&hf_radiotap_ampdu_flags,
{"A-MPDU flags", "radiotap.ampdu.flags",
@ -2518,37 +2518,37 @@ void proto_register_radiotap(void)
{&hf_radiotap_ampdu_flags_report_zerolen,
{"Driver reports 0-length subframes in this A-MPDU", "radiotap.ampdu.flags.report_zerolen",
FT_BOOLEAN, 16, NULL, IEEE80211_RADIOTAP_AMPDU_REPORT_ZEROLEN,
NULL, HFILL}},
NULL, HFILL}},
{&hf_radiotap_ampdu_flags_is_zerolen,
{"This is a 0-length subframe", "radiotap.ampdu.flags.is_zerolen",
FT_BOOLEAN, 16, NULL, IEEE80211_RADIOTAP_AMPDU_IS_ZEROLEN,
NULL, HFILL}},
NULL, HFILL}},
{&hf_radiotap_ampdu_flags_last_known,
{"Last subframe of this A-MPDU is known", "radiotap.ampdu.flags.lastknown",
FT_BOOLEAN, 16, NULL, IEEE80211_RADIOTAP_AMPDU_LAST_KNOWN,
NULL, HFILL}},
NULL, HFILL}},
{&hf_radiotap_ampdu_flags_is_last,
{"This is the last subframe of this A-MPDU", "radiotap.ampdu.flags.last",
FT_BOOLEAN, 16, NULL, IEEE80211_RADIOTAP_AMPDU_IS_LAST,
NULL, HFILL}},
NULL, HFILL}},
{&hf_radiotap_ampdu_flags_delim_crc_error,
{"Delimiter CRC error on this subframe", "radiotap.ampdu.flags.delim_crc_error",
FT_BOOLEAN, 16, NULL, IEEE80211_RADIOTAP_AMPDU_DELIM_CRC_ERR,
NULL, HFILL}},
NULL, HFILL}},
{&hf_radiotap_ampdu_delim_crc,
{"A-MPDU subframe delimiter CRC", "radiotap.ampdu.delim_crc",
FT_UINT8, BASE_HEX, NULL, 0x0,
NULL, HFILL}},
NULL, HFILL}},
{&hf_radiotap_vht,
{"VHT information", "radiotap.vht",
FT_NONE, BASE_NONE, NULL, 0x0,
NULL, HFILL}},
NULL, HFILL}},
{&hf_radiotap_vht_known,
{"Known VHT information", "radiotap.vht.known",
@ -2558,7 +2558,7 @@ void proto_register_radiotap(void)
{&hf_radiotap_vht_user,
{"User", "radiotap.vht.user",
FT_NONE, BASE_NONE, NULL, 0x0,
NULL, HFILL}},
NULL, HFILL}},
{&hf_radiotap_vht_have_stbc,
{"STBC", "radiotap.vht.have_stbc",

View File

@ -457,7 +457,7 @@ dissect_v3_group_record(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tr
int old_offset = offset;
guint8 adl;
guint16 num;
const gchar* maddr_str;
const gchar *maddr_str;
guint8 record_type;
tree = proto_tree_add_subtree_format(parent_tree, tvb, offset, -1,

View File

@ -975,75 +975,75 @@ static const value_string cc62[] = {
};
static ipmi_cmd_t cmd_app[] = {
/* IPM Device Global Commands */
{ 0x01, NULL, rs01, NULL, NULL, "Get Device ID", 0 },
{ 0x02, NULL, NULL, NULL, NULL, "Cold Reset", 0 },
{ 0x03, NULL, NULL, NULL, NULL, "Warm Reset", 0 },
{ 0x04, NULL, rs04, NULL, NULL, "Get Self Test Results", 0 },
{ 0x05, rq05, NULL, NULL, NULL, "Manufacturing Test On", 0 },
{ 0x06, rq06, NULL, NULL, NULL, "Set ACPI Power State", 0 },
{ 0x07, NULL, rs07, NULL, NULL, "Get ACPI Power State", 0 },
{ 0x08, NULL, rs08, NULL, NULL, "Get Device GUID", 0 },
{ 0x09, IPMI_TBD, NULL, NULL, "Get NetFn Support", 0 },
{ 0x0a, IPMI_TBD, NULL, NULL, "Get Command Support", 0 },
{ 0x0b, IPMI_TBD, NULL, NULL, "Get Command Sub-function Support", 0 },
{ 0x0c, IPMI_TBD, NULL, NULL, "Get Configurable Commands", 0 },
{ 0x0d, IPMI_TBD, NULL, NULL, "Get Configurable Command Sub-functions", 0 },
/* IPM Device Global Commands */
{ 0x01, NULL, rs01, NULL, NULL, "Get Device ID", 0 },
{ 0x02, NULL, NULL, NULL, NULL, "Cold Reset", 0 },
{ 0x03, NULL, NULL, NULL, NULL, "Warm Reset", 0 },
{ 0x04, NULL, rs04, NULL, NULL, "Get Self Test Results", 0 },
{ 0x05, rq05, NULL, NULL, NULL, "Manufacturing Test On", 0 },
{ 0x06, rq06, NULL, NULL, NULL, "Set ACPI Power State", 0 },
{ 0x07, NULL, rs07, NULL, NULL, "Get ACPI Power State", 0 },
{ 0x08, NULL, rs08, NULL, NULL, "Get Device GUID", 0 },
{ 0x09, IPMI_TBD, NULL, NULL, "Get NetFn Support", 0 },
{ 0x0a, IPMI_TBD, NULL, NULL, "Get Command Support", 0 },
{ 0x0b, IPMI_TBD, NULL, NULL, "Get Command Sub-function Support", 0 },
{ 0x0c, IPMI_TBD, NULL, NULL, "Get Configurable Commands", 0 },
{ 0x0d, IPMI_TBD, NULL, NULL, "Get Configurable Command Sub-functions", 0 },
/* BMC Watchdog Timer Commands */
{ 0x22, NULL, NULL, cc22, NULL, "Reset Watchdog Timer", 0 },
{ 0x24, rq24, NULL, NULL, NULL, "Set Watchdog Timer", 0 },
{ 0x25, NULL, rs25, NULL, NULL, "Get Watchdog Timer", 0 },
/* BMC Watchdog Timer Commands */
{ 0x22, NULL, NULL, cc22, NULL, "Reset Watchdog Timer", 0 },
{ 0x24, rq24, NULL, NULL, NULL, "Set Watchdog Timer", 0 },
{ 0x25, NULL, rs25, NULL, NULL, "Get Watchdog Timer", 0 },
/* BMC Device and Messaging Commands */
{ 0x2e, rq2e, NULL, NULL, NULL, "Set BMC Global Enables", 0 },
{ 0x2f, NULL, rs2f, NULL, NULL, "Get BMC Global Enables", 0 },
{ 0x30, rq30, NULL, NULL, NULL, "Clear Message Flags", 0 },
{ 0x31, NULL, rs31, NULL, NULL, "Get Message Flags", 0 },
{ 0x32, rq32, rs32, NULL, NULL, "Enable Message Channel Receive", 0 },
{ 0x33, NULL, rs33, cc33, NULL, "Get Message", CMD_CALLRQ },
{ 0x34, rq34, rs34, cc34, NULL, "Send Message", CMD_CALLRQ },
{ 0x35, IPMI_TBD, cc35, NULL, "Read Event Message Buffer", 0 },
{ 0x36, IPMI_TBD, NULL, NULL, "Get BT Interface Capabilities", 0 },
{ 0x37, IPMI_TBD, NULL, NULL, "Get System GUID", 0 },
{ 0x38, rq38, rs38, NULL, NULL, "Get Channel Authentication Capabilities", 0 },
{ 0x39, rq39, rs39, cc39, NULL, "Get Session Challenge", 0 },
{ 0x3a, rq3a, rs3a, cc3a, NULL, "Activate Session", 0 },
{ 0x3b, rq3b, rs3b, cc3b, NULL, "Set Session Privilege Level", 0 },
{ 0x3c, rq3c, NULL, cc3c, NULL, "Close Session", 0 },
{ 0x3d, IPMI_TBD, NULL, NULL, "Get Session Info", 0 },
{ 0x3f, IPMI_TBD, NULL, NULL, "Get AuthCode", 0 },
{ 0x40, IPMI_TBD, cc40, NULL, "Set Channel Access", 0 },
{ 0x41, IPMI_TBD, cc41, NULL, "Get Channel Access", 0 },
{ 0x42, IPMI_TBD, NULL, NULL, "Get Channel Info", 0 },
{ 0x43, IPMI_TBD, NULL, NULL, "Set User Access", 0 },
{ 0x44, IPMI_TBD, NULL, NULL, "Get User Access", 0 },
{ 0x45, IPMI_TBD, NULL, NULL, "Set User Name", 0 },
{ 0x46, IPMI_TBD, NULL, NULL, "Get User Name", 0 },
{ 0x47, IPMI_TBD, cc47, NULL, "Set User Password", 0 },
{ 0x48, IPMI_TBD, cc48, NULL, "Activate Payload", 0 },
{ 0x49, IPMI_TBD, cc49, NULL, "Deactivate Payload", 0 },
{ 0x4a, IPMI_TBD, NULL, NULL, "Get Payload Activation Status", 0 },
{ 0x4b, IPMI_TBD, NULL, NULL, "Get Payload Instance Info", 0 },
{ 0x4c, IPMI_TBD, NULL, NULL, "Set User Payload Access", 0 },
{ 0x4d, IPMI_TBD, NULL, NULL, "Get User Payload Access", 0 },
{ 0x4e, IPMI_TBD, NULL, NULL, "Get Channel Payload Support", 0 },
{ 0x4f, IPMI_TBD, cc4f, NULL, "Get Channel Payload Version", 0 },
{ 0x50, IPMI_TBD, cc50, NULL, "Get Channel OEM Payload Info", 0 },
{ 0x52, IPMI_TBD, cc52, NULL, "Master Write-Read", 0 },
{ 0x54, IPMI_TBD, NULL, NULL, "Get Channel Cipher Suites", 0 },
{ 0x55, IPMI_TBD, cc55, NULL, "Suspend/Resume Payload Encryption", 0 },
{ 0x56, IPMI_TBD, cc56, NULL, "Set Channel Security Keys", 0 },
{ 0x57, IPMI_TBD, NULL, NULL, "Get System Interface Capabilities", 0 },
{ 0x58, IPMI_TBD, cc58, NULL, "Set System Info Parameters", 0 },
{ 0x59, IPMI_TBD, cc59, NULL, "Get System Info Parameters", 0 },
/* BMC Device and Messaging Commands */
{ 0x2e, rq2e, NULL, NULL, NULL, "Set BMC Global Enables", 0 },
{ 0x2f, NULL, rs2f, NULL, NULL, "Get BMC Global Enables", 0 },
{ 0x30, rq30, NULL, NULL, NULL, "Clear Message Flags", 0 },
{ 0x31, NULL, rs31, NULL, NULL, "Get Message Flags", 0 },
{ 0x32, rq32, rs32, NULL, NULL, "Enable Message Channel Receive", 0 },
{ 0x33, NULL, rs33, cc33, NULL, "Get Message", CMD_CALLRQ },
{ 0x34, rq34, rs34, cc34, NULL, "Send Message", CMD_CALLRQ },
{ 0x35, IPMI_TBD, cc35, NULL, "Read Event Message Buffer", 0 },
{ 0x36, IPMI_TBD, NULL, NULL, "Get BT Interface Capabilities", 0 },
{ 0x37, IPMI_TBD, NULL, NULL, "Get System GUID", 0 },
{ 0x38, rq38, rs38, NULL, NULL, "Get Channel Authentication Capabilities", 0 },
{ 0x39, rq39, rs39, cc39, NULL, "Get Session Challenge", 0 },
{ 0x3a, rq3a, rs3a, cc3a, NULL, "Activate Session", 0 },
{ 0x3b, rq3b, rs3b, cc3b, NULL, "Set Session Privilege Level", 0 },
{ 0x3c, rq3c, NULL, cc3c, NULL, "Close Session", 0 },
{ 0x3d, IPMI_TBD, NULL, NULL, "Get Session Info", 0 },
{ 0x3f, IPMI_TBD, NULL, NULL, "Get AuthCode", 0 },
{ 0x40, IPMI_TBD, cc40, NULL, "Set Channel Access", 0 },
{ 0x41, IPMI_TBD, cc41, NULL, "Get Channel Access", 0 },
{ 0x42, IPMI_TBD, NULL, NULL, "Get Channel Info", 0 },
{ 0x43, IPMI_TBD, NULL, NULL, "Set User Access", 0 },
{ 0x44, IPMI_TBD, NULL, NULL, "Get User Access", 0 },
{ 0x45, IPMI_TBD, NULL, NULL, "Set User Name", 0 },
{ 0x46, IPMI_TBD, NULL, NULL, "Get User Name", 0 },
{ 0x47, IPMI_TBD, cc47, NULL, "Set User Password", 0 },
{ 0x48, IPMI_TBD, cc48, NULL, "Activate Payload", 0 },
{ 0x49, IPMI_TBD, cc49, NULL, "Deactivate Payload", 0 },
{ 0x4a, IPMI_TBD, NULL, NULL, "Get Payload Activation Status", 0 },
{ 0x4b, IPMI_TBD, NULL, NULL, "Get Payload Instance Info", 0 },
{ 0x4c, IPMI_TBD, NULL, NULL, "Set User Payload Access", 0 },
{ 0x4d, IPMI_TBD, NULL, NULL, "Get User Payload Access", 0 },
{ 0x4e, IPMI_TBD, NULL, NULL, "Get Channel Payload Support", 0 },
{ 0x4f, IPMI_TBD, cc4f, NULL, "Get Channel Payload Version", 0 },
{ 0x50, IPMI_TBD, cc50, NULL, "Get Channel OEM Payload Info", 0 },
{ 0x52, IPMI_TBD, cc52, NULL, "Master Write-Read", 0 },
{ 0x54, IPMI_TBD, NULL, NULL, "Get Channel Cipher Suites", 0 },
{ 0x55, IPMI_TBD, cc55, NULL, "Suspend/Resume Payload Encryption", 0 },
{ 0x56, IPMI_TBD, cc56, NULL, "Set Channel Security Keys", 0 },
{ 0x57, IPMI_TBD, NULL, NULL, "Get System Interface Capabilities", 0 },
{ 0x58, IPMI_TBD, cc58, NULL, "Set System Info Parameters", 0 },
{ 0x59, IPMI_TBD, cc59, NULL, "Get System Info Parameters", 0 },
/* Device "Global" commands, continued */
{ 0x60, IPMI_TBD, cc60, NULL, "Set Command Enables", 0 },
{ 0x61, IPMI_TBD, NULL, NULL, "Get Command Enables", 0 },
{ 0x62, IPMI_TBD, cc62, NULL, "Set Command Sub-function Enables", 0 },
{ 0x63, IPMI_TBD, NULL, NULL, "Get Command Sub-function Enables", 0 },
{ 0x64, IPMI_TBD, NULL, NULL, "Get OEM NetFn IANA Support", 0 },
/* Device "Global" commands, continued */
{ 0x60, IPMI_TBD, cc60, NULL, "Set Command Enables", 0 },
{ 0x61, IPMI_TBD, NULL, NULL, "Get Command Enables", 0 },
{ 0x62, IPMI_TBD, cc62, NULL, "Set Command Sub-function Enables", 0 },
{ 0x63, IPMI_TBD, NULL, NULL, "Get Command Sub-function Enables", 0 },
{ 0x64, IPMI_TBD, NULL, NULL, "Get OEM NetFn IANA Support", 0 },
};
void

View File

@ -688,20 +688,20 @@ rs0f(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree)
}
static ipmi_cmd_t cmd_chassis[] = {
/* Chassis commands */
{ 0x00, NULL, rs00, NULL, NULL, "Get Chassis Capabilities", 0 },
{ 0x01, NULL, rs01, NULL, NULL, "Get Chassis Status", 0 },
{ 0x02, rq02, NULL, NULL, NULL, "Chassis Control", 0 },
{ 0x03, NULL, NULL, NULL, NULL, "Chassis Reset", 0 },
{ 0x04, rq04, NULL, NULL, NULL, "Chassis Identify", 0 },
{ 0x05, rq05, NULL, NULL, NULL, "Set Chassis Capabilities", 0 },
{ 0x06, rq06, rs06, NULL, NULL, "Set Power Restore Policy", 0 },
{ 0x07, NULL, rs07, NULL, NULL, "Get System Restart Cause", 0 },
{ 0x08, rq08, NULL, cc08, NULL, "Set System Boot Options", 0 },
{ 0x09, rq09, rs09, cc09, NULL, "Get System Boot Options", 0 },
{ 0x0a, IPMI_TBD, NULL, NULL, "Set Front Panel Buttons Enables", 0 },
{ 0x0b, IPMI_TBD, NULL, NULL, "Set Power Cycle Interval", 0 },
{ 0x0f, NULL, rs0f, NULL, NULL, "Get POH Counter", 0 },
/* Chassis commands */
{ 0x00, NULL, rs00, NULL, NULL, "Get Chassis Capabilities", 0 },
{ 0x01, NULL, rs01, NULL, NULL, "Get Chassis Status", 0 },
{ 0x02, rq02, NULL, NULL, NULL, "Chassis Control", 0 },
{ 0x03, NULL, NULL, NULL, NULL, "Chassis Reset", 0 },
{ 0x04, rq04, NULL, NULL, NULL, "Chassis Identify", 0 },
{ 0x05, rq05, NULL, NULL, NULL, "Set Chassis Capabilities", 0 },
{ 0x06, rq06, rs06, NULL, NULL, "Set Power Restore Policy", 0 },
{ 0x07, NULL, rs07, NULL, NULL, "Get System Restart Cause", 0 },
{ 0x08, rq08, NULL, cc08, NULL, "Set System Boot Options", 0 },
{ 0x09, rq09, rs09, cc09, NULL, "Get System Boot Options", 0 },
{ 0x0a, IPMI_TBD, NULL, NULL, "Set Front Panel Buttons Enables", 0 },
{ 0x0b, IPMI_TBD, NULL, NULL, "Set Power Cycle Interval", 0 },
{ 0x0f, NULL, rs0f, NULL, NULL, "Get POH Counter", 0 },
};
void

View File

@ -233,7 +233,7 @@ llc_sap_value( gchar *result, guint32 sap )
*/
void
llc_add_oui(guint32 oui, const char *table_name, const char *table_ui_name,
hf_register_info *hf_item)
hf_register_info *hf_item)
{
oui_info_t *new_info;
@ -540,8 +540,8 @@ dissect_llc(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
*/
void
dissect_snap(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree,
proto_tree *snap_tree, int control, int hf_oui, int hf_type, int hf_pid,
int bridge_pad)
proto_tree *snap_tree, int control, int hf_oui, int hf_type, int hf_pid,
int bridge_pad)
{
guint32 oui;
guint16 etype;

View File

@ -869,7 +869,7 @@ mdi_power_base(gchar *buf, guint32 value) {
static void
media_power_base(gchar *buf, guint32 value) {
g_snprintf(buf, ITEM_LABEL_LENGTH, "%u mW", value * 100);
g_snprintf(buf, ITEM_LABEL_LENGTH, "%u mW", value * 100);
}
/* Calculate Latitude and Longitude string */
@ -974,7 +974,7 @@ dissect_lldp_chassis_id(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gui
/* Set chassis tree */
chassis_tree = proto_tree_add_subtree_format(tree, tvb, offset, (dataLen + 2), ett_chassis_id, &tf, "Chassis Subtype = %s",
val_to_str_const(tlvsubType, chassis_id_subtypes, "Reserved" ));
val_to_str_const(tlvsubType, chassis_id_subtypes, "Reserved" ));
proto_tree_add_item(chassis_tree, hf_lldp_tlv_type, tvb, offset, 2, ENC_BIG_ENDIAN);
lf = proto_tree_add_item(chassis_tree, hf_lldp_tlv_len, tvb, offset, 2, ENC_BIG_ENDIAN);
@ -1275,7 +1275,7 @@ dissect_lldp_time_to_live(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, g
/* Set port tree */
time_to_live_tree = proto_tree_add_subtree_format(tree, tvb, offset, (dataLen + 2),
ett_time_to_live, NULL, "Time To Live = %u sec", tempShort);
ett_time_to_live, NULL, "Time To Live = %u sec", tempShort);
proto_tree_add_item(time_to_live_tree, hf_lldp_tlv_type, tvb, offset, 2, ENC_BIG_ENDIAN);
proto_tree_add_item(time_to_live_tree, hf_lldp_tlv_len, tvb, offset, 2, ENC_BIG_ENDIAN);

View File

@ -269,15 +269,15 @@ static gint tvb_parse_param(tvbuff_t *tvb, gint offset, gint maxlength, int** hf
* are written in the same style.
*/
static void dissect_mgcp_message(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
proto_tree *mgcp_tree, proto_tree *ti);
proto_tree *mgcp_tree, proto_tree *ti);
static void dissect_mgcp_firstline(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
static void dissect_mgcp_params(tvbuff_t *tvb, proto_tree *tree);
static void dissect_mgcp_connectionparams(proto_tree *parent_tree, tvbuff_t *tvb,
gint offset, gint param_type_len,
gint param_val_len);
gint offset, gint param_type_len,
gint param_val_len);
static void dissect_mgcp_localconnectionoptions(proto_tree *parent_tree, tvbuff_t *tvb,
gint offset, gint param_type_len,
gint param_val_len);
gint offset, gint param_type_len,
gint param_val_len);
static void mgcp_raw_text_add(tvbuff_t *tvb, proto_tree *tree);
@ -294,7 +294,7 @@ static dissector_handle_t sdp_handle;
static dissector_handle_t mgcp_handle;
extern void
dissect_asciitpkt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
dissector_handle_t subdissector_handle);
dissector_handle_t subdissector_handle);
extern guint16 is_asciitpkt(tvbuff_t *tvb);
/*
@ -464,7 +464,7 @@ static mgcp_info_t *mi;
/* Dissect an individual MGCP message */
static void dissect_mgcp_message(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
proto_tree *mgcp_tree, proto_tree *ti)
proto_tree *mgcp_tree, proto_tree *ti)
{
/* Declare variables */
gint sectionlen;

View File

@ -274,7 +274,7 @@ dissect_mojito_contact(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int
static int
dissect_mojito_header(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
int offset, mojito_header_data_t* header_data)
int offset, mojito_header_data_t* header_data)
{
proto_tree *header_tree, *version_tree, *contact_tree, *flag_tree;
proto_item *header_item, *contact_item, *flag_item;

View File

@ -328,8 +328,8 @@ typedef struct _ndmp_task_data_t {
typedef struct _ndmp_conv_data_t {
guint8 version;
wmem_map_t *tasks; /* indexed by Sequence# */
wmem_tree_t *itl; /* indexed by packet# */
wmem_map_t *fragsA; /* indexed by Sequence# */
wmem_tree_t *itl; /* indexed by packet# */
wmem_map_t *fragsA; /* indexed by Sequence# */
wmem_map_t *fragsB;
ndmp_task_data_t *task;
conversation_t *conversation;
@ -651,7 +651,7 @@ check_ndmp_hdr(tvbuff_t *tvb )
static int
dissect_connect_open_request(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
proto_tree *tree, guint32 seq _U_)
proto_tree *tree, guint32 seq _U_)
{
guint32 version;
@ -666,7 +666,7 @@ dissect_connect_open_request(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
static int
dissect_error(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree, guint32 seq _U_)
proto_tree *tree, guint32 seq _U_)
{
guint32 err;
@ -687,7 +687,7 @@ dissect_error(tvbuff_t *tvb, int offset, packet_info *pinfo,
static int
dissect_ndmp_get_host_info_reply(tvbuff_t *tvb, int offset,
packet_info *pinfo, proto_tree *tree, guint32 seq)
packet_info *pinfo, proto_tree *tree, guint32 seq)
{
/* error */
offset=dissect_error(tvb, offset, pinfo, tree, seq);
@ -725,7 +725,7 @@ static const value_string addr_type_vals[] = {
static int
dissect_ndmp_addr_type(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
proto_tree *tree, void* data _U_)
proto_tree *tree, void* data _U_)
{
proto_tree_add_item(tree, hf_ndmp_addr_type, tvb, offset, 4, ENC_BIG_ENDIAN);
offset += 4;
@ -735,7 +735,7 @@ dissect_ndmp_addr_type(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
static int
dissect_ndmp_addr_msg(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree, guint32 seq _U_)
proto_tree *tree, guint32 seq _U_)
{
/*address type*/
return dissect_ndmp_addr_type(tvb, offset, pinfo, tree, NULL);
@ -743,7 +743,7 @@ dissect_ndmp_addr_msg(tvbuff_t *tvb, int offset, packet_info *pinfo,
static int
dissect_ndmp_config_get_connection_type_reply(tvbuff_t *tvb, int offset,
packet_info *pinfo, proto_tree *tree, guint32 seq)
packet_info *pinfo, proto_tree *tree, guint32 seq)
{
/* error */
offset=dissect_error(tvb, offset, pinfo, tree, seq);
@ -766,7 +766,7 @@ static const value_string auth_type_vals[] = {
};
static int
dissect_auth_type(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
proto_tree *tree, void* data _U_)
proto_tree *tree, void* data _U_)
{
proto_tree_add_item(tree, hf_ndmp_auth_type, tvb, offset, 4, ENC_BIG_ENDIAN);
offset += 4;
@ -776,7 +776,7 @@ dissect_auth_type(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
static int
dissect_get_auth_type_request(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree, guint32 seq _U_)
proto_tree *tree, guint32 seq _U_)
{
/* auth type */
return dissect_auth_type(tvb, offset, pinfo, tree, NULL);
@ -784,7 +784,7 @@ dissect_get_auth_type_request(tvbuff_t *tvb, int offset, packet_info *pinfo,
static int
dissect_auth_attr_msg(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
proto_tree *tree, guint32 seq _U_)
proto_tree *tree, guint32 seq _U_)
{
guint type;
@ -810,7 +810,7 @@ dissect_auth_attr_msg(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
static int
dissect_ndmp_config_get_auth_attr_reply(tvbuff_t *tvb, int offset,
packet_info *pinfo, proto_tree *tree, guint32 seq)
packet_info *pinfo, proto_tree *tree, guint32 seq)
{
/* error */
offset = dissect_error(tvb, offset, pinfo, tree, seq);
@ -823,7 +823,7 @@ dissect_ndmp_config_get_auth_attr_reply(tvbuff_t *tvb, int offset,
static int
dissect_default_env(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
proto_tree *tree, void* data _U_)
proto_tree *tree, void* data _U_)
{
/* name */
offset = dissect_rpc_string(tvb, tree,
@ -875,7 +875,7 @@ static const true_false_string tfs_butype_attr_recover_utf8 = {
};
static int
dissect_butype_attrs(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
proto_tree *parent_tree)
proto_tree *parent_tree)
{
static const int * attribute_flags[] = {
&hf_ndmp_butype_attr_recover_utf8,
@ -915,7 +915,7 @@ dissect_butype_info(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *t
static int
dissect_get_butype_info_reply(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree, guint32 seq)
proto_tree *tree, guint32 seq)
{
/* error */
offset=dissect_error(tvb, offset, pinfo, tree, seq);
@ -949,7 +949,7 @@ static const true_false_string tfs_fs_invalid_used_inodes = {
};
static int
dissect_fs_invalid(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
proto_tree *parent_tree)
proto_tree *parent_tree)
{
static const int * invalid_flags[] = {
&hf_ndmp_fs_invalid_used_inodes,
@ -968,7 +968,7 @@ dissect_fs_invalid(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
static int
dissect_fs_env(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
proto_tree *tree, void* data _U_)
proto_tree *tree, void* data _U_)
{
/* name */
offset = dissect_rpc_string(tvb, tree,
@ -1032,7 +1032,7 @@ dissect_fs_info(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree,
static int
dissect_get_fs_info_reply(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree, guint32 seq)
proto_tree *tree, guint32 seq)
{
/* error */
offset=dissect_error(tvb, offset, pinfo, tree, seq);
@ -1054,7 +1054,7 @@ static const true_false_string tfs_tape_attr_unload = {
};
static int
dissect_tape_attr(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
proto_tree *parent_tree)
proto_tree *parent_tree)
{
static const int * attribute_flags[] = {
&hf_ndmp_tape_attr_unload,
@ -1070,7 +1070,7 @@ dissect_tape_attr(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
static int
dissect_tape_capability(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
proto_tree *tree, void* data _U_)
proto_tree *tree, void* data _U_)
{
/* name */
offset = dissect_rpc_string(tvb, tree,
@ -1116,7 +1116,7 @@ dissect_tape_info(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tre
static int
dissect_get_tape_info_reply(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree, guint32 seq)
proto_tree *tree, guint32 seq)
{
/* error */
offset=dissect_error(tvb, offset, pinfo, tree, seq);
@ -1144,7 +1144,7 @@ dissect_scsi_info(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tre
static int
dissect_get_scsi_info_reply(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree, guint32 seq)
proto_tree *tree, guint32 seq)
{
/* error */
offset=dissect_error(tvb, offset, pinfo, tree, seq);
@ -1158,7 +1158,7 @@ dissect_get_scsi_info_reply(tvbuff_t *tvb, int offset, packet_info *pinfo,
static int
dissect_get_server_info_reply(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree, guint32 seq)
proto_tree *tree, guint32 seq)
{
/* error */
offset=dissect_error(tvb, offset, pinfo, tree, seq);
@ -1264,7 +1264,7 @@ dissect_set_ext_list_reply(tvbuff_t *tvb, int offset, packet_info *pinfo,
static int
dissect_scsi_open_request(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree, guint32 seq _U_)
proto_tree *tree, guint32 seq _U_)
{
/* device */
offset = dissect_rpc_string(tvb, tree,
@ -1281,7 +1281,7 @@ dissect_scsi_open_request(tvbuff_t *tvb, int offset, packet_info *pinfo,
static int
dissect_scsi_get_state_reply(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree, guint32 seq)
proto_tree *tree, guint32 seq)
{
/* error */
offset=dissect_error(tvb, offset, pinfo, tree, seq);
@ -1303,7 +1303,7 @@ dissect_scsi_get_state_reply(tvbuff_t *tvb, int offset, packet_info *pinfo,
static int
dissect_scsi_set_state_request(tvbuff_t *tvb, int offset,
packet_info *pinfo _U_, proto_tree *tree, guint32 seq _U_)
packet_info *pinfo _U_, proto_tree *tree, guint32 seq _U_)
{
/* device */
offset = dissect_rpc_string(tvb, tree,
@ -1326,7 +1326,7 @@ dissect_scsi_set_state_request(tvbuff_t *tvb, int offset,
static int
dissect_execute_cdb_flags(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
proto_tree *parent_tree)
proto_tree *parent_tree)
{
static const int * cdb_flags[] = {
&hf_ndmp_execute_cdb_flags_data_in,
@ -1342,7 +1342,7 @@ dissect_execute_cdb_flags(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
static int
dissect_execute_cdb_cdb(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *parent_tree, gint devtype)
proto_tree *parent_tree, gint devtype)
{
proto_tree* tree;
guint32 cdb_len;
@ -1396,7 +1396,7 @@ dissect_execute_cdb_cdb(tvbuff_t *tvb, int offset, packet_info *pinfo,
static int
dissect_execute_cdb_payload(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree,
const char *name, int hf_len, gboolean isreq)
const char *name, int hf_len, gboolean isreq)
{
proto_tree* tree;
guint32 payload_len;
@ -1458,7 +1458,7 @@ dissect_execute_cdb_payload(tvbuff_t *tvb, int offset, packet_info *pinfo, proto
*/
static int
dissect_execute_cdb_request(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree, guint32 seq _U_, gint devtype)
proto_tree *tree, guint32 seq _U_, gint devtype)
{
/* flags */
offset = dissect_execute_cdb_flags(tvb, offset, pinfo, tree);
@ -1483,7 +1483,7 @@ dissect_execute_cdb_request(tvbuff_t *tvb, int offset, packet_info *pinfo,
static int
dissect_execute_cdb_request_mc(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree, guint32 seq)
proto_tree *tree, guint32 seq)
{
return dissect_execute_cdb_request(tvb, offset, pinfo, tree, seq,
SCSI_DEV_SMC);
@ -1491,7 +1491,7 @@ dissect_execute_cdb_request_mc(tvbuff_t *tvb, int offset, packet_info *pinfo,
static int
dissect_execute_cdb_request_tape(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree, guint32 seq)
proto_tree *tree, guint32 seq)
{
return dissect_execute_cdb_request(tvb, offset, pinfo, tree, seq,
SCSI_DEV_SSC);
@ -1526,7 +1526,7 @@ dissect_execute_cdb_sns(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tre
static int
dissect_execute_cdb_reply(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree, guint32 seq)
proto_tree *tree, guint32 seq)
{
guint32 status;
@ -1566,7 +1566,7 @@ static const value_string tape_open_mode_vals[] = {
static int
dissect_tape_open_request(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree, guint32 seq _U_)
proto_tree *tree, guint32 seq _U_)
{
/* device */
offset = dissect_rpc_string(tvb, tree,
@ -1615,7 +1615,7 @@ static const true_false_string tfs_ndmp_tape_invalid_partition = {
};
static int
dissect_tape_invalid(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
proto_tree *parent_tree)
proto_tree *parent_tree)
{
static const int * invalid_tapes[] = {
&hf_ndmp_tape_invalid_partition,
@ -1652,7 +1652,7 @@ static const true_false_string tfs_ndmp_tape_flags_unload = {
};
static int
dissect_tape_flags(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
proto_tree *parent_tree)
proto_tree *parent_tree)
{
static const int * tape_flags[] = {
&hf_ndmp_tape_flags_unload,
@ -1670,7 +1670,7 @@ dissect_tape_flags(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
static int
dissect_tape_get_state_reply(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree, guint32 seq)
proto_tree *tree, guint32 seq)
{
/* invalid bits */
offset=dissect_tape_invalid(tvb, offset, pinfo, tree);
@ -1736,7 +1736,7 @@ static const value_string tape_mtio_vals[] = {
static int
dissect_tape_mtio_request(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
proto_tree *tree, guint32 seq _U_)
proto_tree *tree, guint32 seq _U_)
{
/* op */
proto_tree_add_item(tree, hf_ndmp_tape_mtio_op, tvb, offset, 4, ENC_BIG_ENDIAN);
@ -1751,7 +1751,7 @@ dissect_tape_mtio_request(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
static int
dissect_tape_mtio_reply(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree, guint32 seq)
proto_tree *tree, guint32 seq)
{
/* error */
offset=dissect_error(tvb, offset, pinfo, tree, seq);
@ -1842,7 +1842,7 @@ dissect_ndmp_v4_tcp_addr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tr
static int
dissect_ndmp_addr(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
proto_tree *parent_tree)
proto_tree *parent_tree)
{
proto_tree* tree;
guint32 type;
@ -1893,7 +1893,7 @@ dissect_ndmp_addr(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
static int
dissect_data_connect_msg(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree, guint32 seq _U_)
proto_tree *tree, guint32 seq _U_)
{
/* ndmp addr */
offset=dissect_ndmp_addr(tvb, offset, pinfo, tree);
@ -1903,7 +1903,7 @@ dissect_data_connect_msg(tvbuff_t *tvb, int offset, packet_info *pinfo,
static int
dissect_mover_get_state_reply(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree, guint32 seq)
proto_tree *tree, guint32 seq)
{
/* error */
offset=dissect_error(tvb, offset, pinfo, tree, seq);
@ -1978,7 +1978,7 @@ static const value_string mover_mode_vals[] = {
static int
dissect_mover_listen_request(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
proto_tree *tree, guint32 seq _U_)
proto_tree *tree, guint32 seq _U_)
{
/* mode */
proto_tree_add_item(tree, hf_ndmp_mover_mode, tvb, offset, 4, ENC_BIG_ENDIAN);
@ -1993,7 +1993,7 @@ dissect_mover_listen_request(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
static int
dissect_mover_listen_reply(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree, guint32 seq)
proto_tree *tree, guint32 seq)
{
/* error */
offset=dissect_error(tvb, offset, pinfo, tree, seq);
@ -2006,7 +2006,7 @@ dissect_mover_listen_reply(tvbuff_t *tvb, int offset, packet_info *pinfo,
static int
dissect_mover_set_window_request(tvbuff_t *tvb, int offset,
packet_info *pinfo _U_, proto_tree *tree, guint32 seq _U_)
packet_info *pinfo _U_, proto_tree *tree, guint32 seq _U_)
{
/* window offset */
proto_tree_add_item(tree, hf_ndmp_window_offset, tvb, offset, 8, ENC_BIG_ENDIAN);
@ -2021,7 +2021,7 @@ dissect_mover_set_window_request(tvbuff_t *tvb, int offset,
static int
dissect_mover_set_record_size_request(tvbuff_t *tvb, int offset,
packet_info *pinfo _U_, proto_tree *tree, guint32 seq _U_)
packet_info *pinfo _U_, proto_tree *tree, guint32 seq _U_)
{
/* record size */
proto_tree_add_item(tree, hf_ndmp_record_size, tvb, offset, 4, ENC_BIG_ENDIAN);
@ -2032,7 +2032,7 @@ dissect_mover_set_record_size_request(tvbuff_t *tvb, int offset,
static int
dissect_mover_connect_request(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree, guint32 seq _U_)
proto_tree *tree, guint32 seq _U_)
{
/* mode */
proto_tree_add_item(tree, hf_ndmp_mover_mode, tvb, offset, 4, ENC_BIG_ENDIAN);
@ -2046,7 +2046,7 @@ dissect_mover_connect_request(tvbuff_t *tvb, int offset, packet_info *pinfo,
static int
dissect_log_file_request(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree, guint32 seq)
proto_tree *tree, guint32 seq)
{
/* file */
offset = dissect_rpc_string(tvb, tree,
@ -2072,7 +2072,7 @@ static const value_string log_type_vals[] = {
static int
dissect_log_message_request(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
proto_tree *tree, guint32 seq _U_)
proto_tree *tree, guint32 seq _U_)
{
/* type */
proto_tree_add_item(tree, hf_ndmp_log_type, tvb, offset, 4, ENC_BIG_ENDIAN);
@ -2091,7 +2091,7 @@ dissect_log_message_request(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
static int
dissect_notify_data_halted_request(tvbuff_t *tvb, int offset,
packet_info *pinfo _U_, proto_tree *tree, guint32 seq _U_)
packet_info *pinfo _U_, proto_tree *tree, guint32 seq _U_)
{
/* halt */
proto_tree_add_item(tree, hf_ndmp_halt, tvb, offset, 4, ENC_BIG_ENDIAN);
@ -2111,7 +2111,7 @@ dissect_notify_data_halted_request(tvbuff_t *tvb, int offset,
static int
dissect_notify_mover_halted_request(tvbuff_t *tvb, int offset,
packet_info *pinfo _U_, proto_tree *tree, guint32 seq _U_)
packet_info *pinfo _U_, proto_tree *tree, guint32 seq _U_)
{
/* halt */
proto_tree_add_item(tree, hf_ndmp_halt, tvb, offset, 4, ENC_BIG_ENDIAN);
@ -2141,7 +2141,7 @@ static const value_string connected_vals[] = {
static int
dissect_notify_connected_request(tvbuff_t *tvb, int offset,
packet_info *pinfo _U_, proto_tree *tree, guint32 seq _U_)
packet_info *pinfo _U_, proto_tree *tree, guint32 seq _U_)
{
/* connected */
proto_tree_add_item(tree, hf_ndmp_connected, tvb, offset, 4, ENC_BIG_ENDIAN);
@ -2161,7 +2161,7 @@ dissect_notify_connected_request(tvbuff_t *tvb, int offset,
static int
dissect_notify_mover_paused_request(tvbuff_t *tvb, int offset,
packet_info *pinfo _U_, proto_tree *tree, guint32 seq _U_)
packet_info *pinfo _U_, proto_tree *tree, guint32 seq _U_)
{
/* mover pause */
proto_tree_add_item(tree, hf_ndmp_mover_pause, tvb, offset, 4, ENC_BIG_ENDIAN);
@ -2176,7 +2176,7 @@ dissect_notify_mover_paused_request(tvbuff_t *tvb, int offset,
static int
dissect_auth_data(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
proto_tree *tree)
proto_tree *tree)
{
guint type;
@ -2216,14 +2216,14 @@ dissect_auth_data(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
static int
dissect_connect_client_auth_request(tvbuff_t *tvb, int offset,
packet_info *pinfo, proto_tree *tree, guint32 seq _U_)
packet_info *pinfo, proto_tree *tree, guint32 seq _U_)
{
return dissect_auth_data(tvb, offset, pinfo, tree);
}
static int
dissect_connect_server_auth_reply(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree, guint32 seq)
proto_tree *tree, guint32 seq)
{
/* error */
offset=dissect_error(tvb, offset, pinfo, tree, seq);
@ -2236,7 +2236,7 @@ dissect_connect_server_auth_reply(tvbuff_t *tvb, int offset, packet_info *pinfo,
static int
dissect_tape_write_request(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
proto_tree *tree, guint32 seq _U_)
proto_tree *tree, guint32 seq _U_)
{
/* data */
offset = dissect_rpc_data(tvb, tree, hf_ndmp_data, offset);
@ -2246,7 +2246,7 @@ dissect_tape_write_request(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
static int
dissect_tape_write_reply(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree, guint32 seq)
proto_tree *tree, guint32 seq)
{
/* error */
offset=dissect_error(tvb, offset, pinfo, tree, seq);
@ -2260,7 +2260,7 @@ dissect_tape_write_reply(tvbuff_t *tvb, int offset, packet_info *pinfo,
static int
dissect_tape_read_request(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
proto_tree *tree, guint32 seq _U_)
proto_tree *tree, guint32 seq _U_)
{
/* count */
proto_tree_add_item(tree, hf_ndmp_count, tvb, offset, 4, ENC_BIG_ENDIAN);
@ -2271,7 +2271,7 @@ dissect_tape_read_request(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
static int
dissect_tape_read_reply(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree, guint32 seq)
proto_tree *tree, guint32 seq)
{
/* error */
offset=dissect_error(tvb, offset, pinfo, tree, seq);
@ -2355,7 +2355,7 @@ static const true_false_string tfs_ndmp_file_invalid_group = {
};
static int
dissect_file_invalids(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
proto_tree *parent_tree)
proto_tree *parent_tree)
{
static const int * invalid_files[] = {
&hf_ndmp_file_invalid_group,
@ -2491,7 +2491,7 @@ dissect_ndmp_file(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *par
static int
dissect_fh_add_file_request(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree, guint32 seq _U_)
proto_tree *tree, guint32 seq _U_)
{
/* files */
offset = dissect_rpc_array(tvb, pinfo, tree, offset,
@ -2520,7 +2520,7 @@ dissect_dir(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, voi
static int
dissect_fh_add_dir_request(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree, guint32 seq _U_)
proto_tree *tree, guint32 seq _U_)
{
/* dirs */
offset = dissect_rpc_array(tvb, pinfo, tree, offset,
@ -2550,7 +2550,7 @@ dissect_node(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, vo
static int
dissect_fh_add_node_request(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree, guint32 seq _U_)
proto_tree *tree, guint32 seq _U_)
{
/* node */
offset = dissect_rpc_array(tvb, pinfo, tree, offset,
@ -2561,7 +2561,7 @@ dissect_fh_add_node_request(tvbuff_t *tvb, int offset, packet_info *pinfo,
static int
dissect_data_start_backup_request(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree, guint32 seq _U_)
proto_tree *tree, guint32 seq _U_)
{
/*butype name*/
offset = dissect_rpc_string(tvb, tree,
@ -2576,7 +2576,7 @@ dissect_data_start_backup_request(tvbuff_t *tvb, int offset, packet_info *pinfo,
static int
dissect_nlist(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
proto_tree *tree, void* data _U_)
proto_tree *tree, void* data _U_)
{
/*original path*/
offset = dissect_rpc_string(tvb, tree,
@ -2613,7 +2613,7 @@ dissect_nlist(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
static int
dissect_data_start_recover_request(tvbuff_t *tvb, int offset,
packet_info *pinfo, proto_tree *tree, guint32 seq _U_)
packet_info *pinfo, proto_tree *tree, guint32 seq _U_)
{
if(get_ndmp_protocol_version()==NDMP_PROTOCOL_V2){
/* ndmp addr */
@ -2637,7 +2637,7 @@ dissect_data_start_recover_request(tvbuff_t *tvb, int offset,
static int
dissect_data_get_env_reply(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree, guint32 seq)
proto_tree *tree, guint32 seq)
{
/* error */
offset=dissect_error(tvb, offset, pinfo, tree, seq);
@ -2660,7 +2660,7 @@ static const true_false_string tfs_ndmp_state_invalid_etr = {
};
static int
dissect_state_invalids(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
proto_tree *parent_tree)
proto_tree *parent_tree)
{
static const int * invalid_states[] = {
&hf_ndmp_state_invalid_etr,
@ -2714,7 +2714,7 @@ static const value_string data_halted_vals[] = {
static int
dissect_data_get_state_reply(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree, guint32 seq)
proto_tree *tree, guint32 seq)
{
nstime_t ns;

View File

@ -482,9 +482,9 @@ decode_time_attribute(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto
expert_add_info(pinfo, item, &ei_opsi_short_attribute);
return;
}
ns.secs = tvb_get_ntohl(tvb, offset+4);
ns.nsecs = 0;
proto_tree_add_time(tree, *hfValue, tvb, offset+4, 4, &ns);
ns.secs = tvb_get_ntohl(tvb, offset+4);
ns.nsecs = 0;
proto_tree_add_time(tree, *hfValue, tvb, offset+4, 4, &ns);
}
/****************************************************************************/
@ -495,12 +495,12 @@ decode_time_attribute(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto
static guint
get_opsi_pdu_len(packet_info *pinfo _U_, tvbuff_t *tvb, int offset)
{
/*
* Get the length of the OPSI packet.
* We are guaranteed there're enough chars in tvb in order to
* extract the length value. No exception thrown !!
*/
return tvb_get_ntohs(tvb, offset + 4);
/*
* Get the length of the OPSI packet.
* We are guaranteed there're enough chars in tvb in order to
* extract the length value. No exception thrown !!
*/
return tvb_get_ntohs(tvb, offset + 4);
}
static int
@ -876,10 +876,10 @@ proto_register_opsi(void)
/* We activate the desegmentation / reassembly feature */
opsi_module = prefs_register_protocol(proto_opsi, NULL);
prefs_register_bool_preference(opsi_module, "desegment_opsi_messages",
"Reassemble OPSI messages spanning multiple TCP segments",
"Whether the OPSI dissector should desegment all messages spanning multiple TCP segments",
&opsi_desegment);
prefs_register_bool_preference(opsi_module, "desegment_opsi_messages",
"Reassemble OPSI messages spanning multiple TCP segments",
"Whether the OPSI dissector should desegment all messages spanning multiple TCP segments",
&opsi_desegment);
}

View File

@ -155,35 +155,35 @@ static void per_check_items(guint32 cnt, int min_len, int max_len, asn1_ctx_t *a
static tvbuff_t *new_octet_aligned_subset(tvbuff_t *tvb, guint32 offset, asn1_ctx_t *actx, guint32 length)
{
tvbuff_t *sub_tvb = NULL;
guint32 boffset = offset >> 3;
unsigned int i, shift0, shift1;
guint8 octet0, octet1, *buf;
guint32 actual_length;
tvbuff_t *sub_tvb = NULL;
guint32 boffset = offset >> 3;
unsigned int i, shift0, shift1;
guint8 octet0, octet1, *buf;
guint32 actual_length;
/* XXX - why are we doing this? Shouldn't we throw an exception if we've
* been asked to decode more octets than exist?
*/
actual_length = tvb_length_remaining(tvb,boffset);
if (length <= actual_length)
actual_length = length;
/* XXX - why are we doing this? Shouldn't we throw an exception if we've
* been asked to decode more octets than exist?
*/
actual_length = tvb_length_remaining(tvb,boffset);
if (length <= actual_length)
actual_length = length;
if (offset & 0x07) { /* unaligned */
shift1 = offset & 0x07;
shift0 = 8 - shift1;
buf = (guint8 *)wmem_alloc(actx->pinfo->pool, actual_length);
octet0 = tvb_get_guint8(tvb, boffset);
for (i=0; i<actual_length; i++) {
octet1 = octet0;
octet0 = tvb_get_guint8(tvb, boffset + i + 1);
buf[i] = (octet1 << shift1) | (octet0 >> shift0);
}
sub_tvb = tvb_new_child_real_data(tvb, buf, actual_length, length);
add_new_data_source(actx->pinfo, sub_tvb, "Unaligned OCTET STRING");
} else { /* aligned */
sub_tvb = tvb_new_subset(tvb, boffset, actual_length, length);
}
return sub_tvb;
if (offset & 0x07) { /* unaligned */
shift1 = offset & 0x07;
shift0 = 8 - shift1;
buf = (guint8 *)wmem_alloc(actx->pinfo->pool, actual_length);
octet0 = tvb_get_guint8(tvb, boffset);
for (i=0; i<actual_length; i++) {
octet1 = octet0;
octet0 = tvb_get_guint8(tvb, boffset + i + 1);
buf[i] = (octet1 << shift1) | (octet0 >> shift0);
}
sub_tvb = tvb_new_child_real_data(tvb, buf, actual_length, length);
add_new_data_source(actx->pinfo, sub_tvb, "Unaligned OCTET STRING");
} else { /* aligned */
sub_tvb = tvb_new_subset(tvb, boffset, actual_length, length);
}
return sub_tvb;
}
/* 10 Encoding procedures -------------------------------------------------- */
@ -203,7 +203,7 @@ dissect_per_open_type_internal(tvbuff_t *tvb, guint32 offset, asn1_ctx_t *actx,
if (actx->aligned) BYTE_ALIGN_OFFSET(offset);
end_offset = offset + type_length * 8;
if ((variant==CB_DISSECTOR)||(variant==CB_NEW_DISSECTOR)) {
if ((variant==CB_DISSECTOR)||(variant==CB_NEW_DISSECTOR)) {
val_tvb = new_octet_aligned_subset(tvb, offset, actx, type_length);
if (hfi) {
if (IS_FT_UINT(hfi->type)||IS_FT_INT(hfi->type)) {
@ -501,12 +501,12 @@ dissect_per_GeneralString(tvbuff_t *tvb, guint32 offset, asn1_ctx_t *actx, proto
/* 17 Encoding the null type */
guint32
dissect_per_null(tvbuff_t *tvb, guint32 offset, asn1_ctx_t *actx _U_, proto_tree *tree, int hf_index) {
proto_item *ti_tmp;
proto_item *ti_tmp;
ti_tmp = proto_tree_add_item(tree, hf_index, tvb, offset>>3, 1, ENC_BIG_ENDIAN);
proto_item_append_text(ti_tmp, ": NULL");
ti_tmp = proto_tree_add_item(tree, hf_index, tvb, offset>>3, 1, ENC_BIG_ENDIAN);
proto_item_append_text(ti_tmp, ": NULL");
return offset;
return offset;
}
/* 19 this function dissects a sequence of */
@ -711,37 +711,37 @@ DEBUG_ENTRY("dissect_per_restricted_character_string");
static const char*
sort_alphabet(char *sorted_alphabet, const char *alphabet, int alphabet_length)
{
int i, j;
char c, c_max, c_min;
char tmp_buf[256];
int i, j;
char c, c_max, c_min;
char tmp_buf[256];
if (!alphabet_length) return sorted_alphabet;
memset(tmp_buf, 0, 256);
c_min = c_max = alphabet[0];
for (i=0; i<alphabet_length; i++) {
c = alphabet[i];
tmp_buf[(int)c] = 1;
if (c > c_max) c_max = c;
else if (c < c_min) c_min = c;
}
for (i=c_min,j=0; i<=c_max; i++) {
if (tmp_buf[i]) sorted_alphabet[j++] = i;
}
return sorted_alphabet;
if (!alphabet_length) return sorted_alphabet;
memset(tmp_buf, 0, 256);
c_min = c_max = alphabet[0];
for (i=0; i<alphabet_length; i++) {
c = alphabet[i];
tmp_buf[(int)c] = 1;
if (c > c_max) c_max = c;
else if (c < c_min) c_min = c;
}
for (i=c_min,j=0; i<=c_max; i++) {
if (tmp_buf[i]) sorted_alphabet[j++] = i;
}
return sorted_alphabet;
}
guint32
dissect_per_restricted_character_string(tvbuff_t *tvb, guint32 offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index, int min_len, int max_len, gboolean has_extension, const char *alphabet, int alphabet_length, tvbuff_t **value_tvb)
{
const char *alphabet_ptr;
char sorted_alphabet[128];
const char *alphabet_ptr;
char sorted_alphabet[128];
if (alphabet_length > 127) {
alphabet_ptr = alphabet;
} else {
alphabet_ptr = sort_alphabet(sorted_alphabet, alphabet, alphabet_length);
}
return dissect_per_restricted_character_string_sorted(tvb, offset, actx, tree, hf_index, min_len, max_len, has_extension, alphabet_ptr, alphabet_length, value_tvb);
if (alphabet_length > 127) {
alphabet_ptr = alphabet;
} else {
alphabet_ptr = sort_alphabet(sorted_alphabet, alphabet, alphabet_length);
}
return dissect_per_restricted_character_string_sorted(tvb, offset, actx, tree, hf_index, min_len, max_len, has_extension, alphabet_ptr, alphabet_length, value_tvb);
}
/* dissect a constrained IA5String that consists of the full ASCII set,
@ -938,78 +938,78 @@ DEBUG_ENTRY("dissect_per_set_of");
/* 23 Encoding the object identifier type */
static guint32
dissect_per_any_oid(tvbuff_t *tvb, guint32 offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index, tvbuff_t **value_tvb,
gboolean is_absolute)
gboolean is_absolute)
{
guint length;
const char *str;
tvbuff_t *val_tvb = NULL;
header_field_info *hfi;
guint length;
const char *str;
tvbuff_t *val_tvb = NULL;
header_field_info *hfi;
DEBUG_ENTRY("dissect_per_any_oid");
DEBUG_ENTRY("dissect_per_any_oid");
offset = dissect_per_length_determinant(tvb, offset, actx, tree, hf_per_object_identifier_length, &length);
if (actx->aligned) BYTE_ALIGN_OFFSET(offset);
val_tvb = new_octet_aligned_subset(tvb, offset, actx, length);
offset = dissect_per_length_determinant(tvb, offset, actx, tree, hf_per_object_identifier_length, &length);
if (actx->aligned) BYTE_ALIGN_OFFSET(offset);
val_tvb = new_octet_aligned_subset(tvb, offset, actx, length);
hfi = proto_registrar_get_nth(hf_index);
if ((is_absolute && hfi->type == FT_OID) || (is_absolute && hfi->type == FT_REL_OID)) {
actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0, length, ENC_BIG_ENDIAN);
} else if (IS_FT_STRING(hfi->type)) {
str = oid_encoded2string(tvb_get_ptr(val_tvb, 0, length), length);
actx->created_item = proto_tree_add_string(tree, hf_index, val_tvb, 0, length, str);
} else {
DISSECTOR_ASSERT_NOT_REACHED();
}
hfi = proto_registrar_get_nth(hf_index);
if ((is_absolute && hfi->type == FT_OID) || (is_absolute && hfi->type == FT_REL_OID)) {
actx->created_item = proto_tree_add_item(tree, hf_index, val_tvb, 0, length, ENC_BIG_ENDIAN);
} else if (IS_FT_STRING(hfi->type)) {
str = oid_encoded2string(tvb_get_ptr(val_tvb, 0, length), length);
actx->created_item = proto_tree_add_string(tree, hf_index, val_tvb, 0, length, str);
} else {
DISSECTOR_ASSERT_NOT_REACHED();
}
if (value_tvb) *value_tvb = val_tvb;
if (value_tvb) *value_tvb = val_tvb;
offset += 8 * length;
offset += 8 * length;
return offset;
return offset;
}
guint32
dissect_per_object_identifier(tvbuff_t *tvb, guint32 offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index, tvbuff_t **value_tvb)
{
return dissect_per_any_oid(tvb, offset, actx, tree, hf_index, value_tvb, TRUE);
return dissect_per_any_oid(tvb, offset, actx, tree, hf_index, value_tvb, TRUE);
}
guint32
dissect_per_relative_oid(tvbuff_t *tvb, guint32 offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index, tvbuff_t **value_tvb)
{
return dissect_per_any_oid(tvb, offset, actx, tree, hf_index, value_tvb, FALSE);
return dissect_per_any_oid(tvb, offset, actx, tree, hf_index, value_tvb, FALSE);
}
static guint32
dissect_per_any_oid_str(tvbuff_t *tvb, guint32 offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index, const char **value_stringx,
gboolean is_absolute)
gboolean is_absolute)
{
tvbuff_t *value_tvb = NULL;
guint length;
tvbuff_t *value_tvb = NULL;
guint length;
offset = dissect_per_any_oid(tvb, offset, actx, tree, hf_index, (value_stringx) ? &value_tvb : NULL, is_absolute);
offset = dissect_per_any_oid(tvb, offset, actx, tree, hf_index, (value_stringx) ? &value_tvb : NULL, is_absolute);
if (value_stringx) {
if (value_tvb && (length = tvb_length(value_tvb))) {
*value_stringx = oid_encoded2string(tvb_get_ptr(value_tvb, 0, length), length);
} else {
*value_stringx = "";
}
}
if (value_stringx) {
if (value_tvb && (length = tvb_length(value_tvb))) {
*value_stringx = oid_encoded2string(tvb_get_ptr(value_tvb, 0, length), length);
} else {
*value_stringx = "";
}
}
return offset;
return offset;
}
guint32
dissect_per_object_identifier_str(tvbuff_t *tvb, guint32 offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index, const char **value_stringx)
{
return dissect_per_any_oid_str(tvb, offset, actx, tree, hf_index, value_stringx, TRUE);
return dissect_per_any_oid_str(tvb, offset, actx, tree, hf_index, value_stringx, TRUE);
}
guint32
dissect_per_relative_oid_str(tvbuff_t *tvb, guint32 offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index, const char **value_stringx)
{
return dissect_per_any_oid_str(tvb, offset, actx, tree, hf_index, value_stringx, FALSE);
return dissect_per_any_oid_str(tvb, offset, actx, tree, hf_index, value_stringx, FALSE);
}
@ -1045,8 +1045,8 @@ DEBUG_ENTRY("dissect_per_boolean");
hfi = proto_registrar_get_nth(hf_index);
actx->created_item = proto_tree_add_boolean_format(tree, hf_index, tvb, offset>>3, 1, value,
"%s %s: %s", bits, hfi->name,
value?"True":"False");
"%s %s: %s", bits, hfi->name,
value?"True":"False");
} else {
actx->created_item = NULL;
}
@ -1095,9 +1095,9 @@ PER_NOT_DECODED_YET("too long integer(per_integer)");
hfi = proto_registrar_get_nth(hf_index);
if (! hfi)
THROW(ReportedBoundsError);
if (IS_FT_INT(hfi->type)) {
if (IS_FT_INT(hfi->type)) {
it=proto_tree_add_int(tree, hf_index, tvb, (offset>>3)-(length+1), length+1, val);
} else if (IS_FT_UINT(hfi->type)) {
} else if (IS_FT_UINT(hfi->type)) {
it=proto_tree_add_uint(tree, hf_index, tvb, (offset>>3)-(length+1), length+1, val);
} else {
proto_tree_add_text(tree, tvb, (offset>>3)-(length+1), length+1, "Field is not an integer: %s", hfi->abbrev);
@ -1148,9 +1148,9 @@ PER_NOT_DECODED_YET("too long integer (64b)");
hfi = proto_registrar_get_nth(hf_index);
if (! hfi)
THROW(ReportedBoundsError);
if (IS_FT_INT(hfi->type)) {
if (IS_FT_INT(hfi->type)) {
it=proto_tree_add_int64(tree, hf_index, tvb, (offset>>3)-(length+1), length+1, val);
} else if (IS_FT_UINT(hfi->type)) {
} else if (IS_FT_UINT(hfi->type)) {
it=proto_tree_add_uint64(tree, hf_index, tvb, (offset>>3)-(length+1), length+1, val);
} else {
proto_tree_add_text(tree, tvb, (offset>>3)-(length+1), length+1, "Field is not an integer: %s", hfi->abbrev);
@ -1586,7 +1586,7 @@ dissect_per_enumerated(tvbuff_t *tvb, guint32 offset, asn1_ctx_t *actx, proto_tr
}
enum_index += root_num;
}
val = (value_map && (enum_index<(root_num+ext_num))) ? value_map[enum_index] : enum_index;
val = (value_map && (enum_index<(root_num+ext_num))) ? value_map[enum_index] : enum_index;
hfi = proto_registrar_get_nth(hf_index);
if (IS_FT_UINT(hfi->type)) {
it = proto_tree_add_uint(tree, hf_index, tvb, start_offset>>3, BLEN(start_offset, offset), val);
@ -1942,7 +1942,7 @@ DEBUG_ENTRY("dissect_per_sequence");
offset+=length*8;
difference = offset - new_offset;
/* A difference of 7 or less might be byte aligning */
/* Difference could be 8 if open type has no bits and the length is 1 */
/* Difference could be 8 if open type has no bits and the length is 1 */
if ((length > 1) && (difference > 7)) {
proto_tree_add_expert_format(tree, actx->pinfo, &ei_per_encoding_error, tvb, new_offset>>3, (offset-new_offset)>>3,
"Possible encoding error full length not decoded. Open type length %u ,decoded %u",length, length - (difference>>3));
@ -2358,40 +2358,40 @@ guint32 dissect_per_octet_string_containing_pdu_new(tvbuff_t *tvb, guint32 offse
guint32 dissect_per_size_constrained_type(tvbuff_t *tvb, guint32 offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index, per_type_fn type_cb, const gchar *name, int min_len, int max_len, gboolean has_extension)
{
asn1_stack_frame_push(actx, name);
asn1_param_push_integer(actx, min_len);
asn1_param_push_integer(actx, max_len);
asn1_param_push_boolean(actx, has_extension);
asn1_stack_frame_push(actx, name);
asn1_param_push_integer(actx, min_len);
asn1_param_push_integer(actx, max_len);
asn1_param_push_boolean(actx, has_extension);
offset = type_cb(tvb, offset, actx, tree, hf_index);
offset = type_cb(tvb, offset, actx, tree, hf_index);
asn1_stack_frame_pop(actx, name);
asn1_stack_frame_pop(actx, name);
return offset;
return offset;
}
gboolean get_size_constraint_from_stack(asn1_ctx_t *actx, const gchar *name, int *pmin_len, int *pmax_len, gboolean *phas_extension)
{
asn1_par_t *par;
asn1_par_t *par;
if (pmin_len) *pmin_len = NO_BOUND;
if (pmax_len) *pmax_len = NO_BOUND;
if (phas_extension) *phas_extension = FALSE;
if (pmin_len) *pmin_len = NO_BOUND;
if (pmax_len) *pmax_len = NO_BOUND;
if (phas_extension) *phas_extension = FALSE;
if (!actx->stack) return FALSE;
if (strcmp(actx->stack->name, name)) return FALSE;
if (!actx->stack) return FALSE;
if (strcmp(actx->stack->name, name)) return FALSE;
par = actx->stack->par;
if (!par || (par->ptype != ASN1_PAR_INTEGER)) return FALSE;
if (pmin_len) *pmin_len = par->value.v_integer;
par = par->next;
if (!par || (par->ptype != ASN1_PAR_INTEGER)) return FALSE;
if (pmax_len) *pmax_len = par->value.v_integer;
par = par->next;
if (!par || (par->ptype != ASN1_PAR_BOOLEAN)) return FALSE;
if (phas_extension) *phas_extension = par->value.v_boolean;
par = actx->stack->par;
if (!par || (par->ptype != ASN1_PAR_INTEGER)) return FALSE;
if (pmin_len) *pmin_len = par->value.v_integer;
par = par->next;
if (!par || (par->ptype != ASN1_PAR_INTEGER)) return FALSE;
if (pmax_len) *pmax_len = par->value.v_integer;
par = par->next;
if (!par || (par->ptype != ASN1_PAR_BOOLEAN)) return FALSE;
if (phas_extension) *phas_extension = par->value.v_boolean;
return TRUE;
return TRUE;
}
@ -2414,228 +2414,226 @@ gboolean get_size_constraint_from_stack(asn1_ctx_t *actx, const gchar *name, int
static int
dissect_per_T_direct_reference(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index) {
offset = dissect_per_object_identifier_str(tvb, offset, actx, tree, hf_index, &actx->external.direct_reference);
offset = dissect_per_object_identifier_str(tvb, offset, actx, tree, hf_index, &actx->external.direct_reference);
actx->external.direct_ref_present = TRUE;
return offset;
actx->external.direct_ref_present = TRUE;
return offset;
}
static int
dissect_per_T_indirect_reference(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_integer(tvb, offset, actx, tree, hf_index, &actx->external.indirect_reference);
offset = dissect_per_integer(tvb, offset, actx, tree, hf_index, &actx->external.indirect_reference);
actx->external.indirect_ref_present = TRUE;
return offset;
actx->external.indirect_ref_present = TRUE;
return offset;
}
static int
dissect_per_T_data_value_descriptor(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index) {
offset = dissect_per_object_descriptor(tvb, offset, actx, tree, hf_index, &actx->external.data_value_descriptor);
offset = dissect_per_object_descriptor(tvb, offset, actx, tree, hf_index, &actx->external.data_value_descriptor);
actx->external.data_value_descr_present = TRUE;
return offset;
actx->external.data_value_descr_present = TRUE;
return offset;
}
static int
dissect_per_T_single_ASN1_type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_open_type(tvb, offset, actx, tree, actx->external.hf_index, actx->external.u.per.type_cb);
offset = dissect_per_open_type(tvb, offset, actx, tree, actx->external.hf_index, actx->external.u.per.type_cb);
return offset;
return offset;
}
static int
dissect_per_T_octet_aligned(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index) {
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, &actx->external.octet_aligned);
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, &actx->external.octet_aligned);
if (actx->external.octet_aligned) {
if (actx->external.u.per.type_cb) {
actx->external.u.per.type_cb(actx->external.octet_aligned, 0, actx, tree, actx->external.hf_index);
} else {
actx->created_item = proto_tree_add_text(tree, actx->external.octet_aligned, 0, -1, "Unknown EXTERNAL Type");
}
}
return offset;
if (actx->external.octet_aligned) {
if (actx->external.u.per.type_cb) {
actx->external.u.per.type_cb(actx->external.octet_aligned, 0, actx, tree, actx->external.hf_index);
} else {
actx->created_item = proto_tree_add_text(tree, actx->external.octet_aligned, 0, -1, "Unknown EXTERNAL Type");
}
}
return offset;
}
static int
dissect_per_T_arbitrary(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, &actx->external.arbitrary, NULL);
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, &actx->external.arbitrary, NULL);
if (actx->external.arbitrary) {
if (actx->external.u.per.type_cb) {
actx->external.u.per.type_cb(actx->external.arbitrary, 0, actx, tree, actx->external.hf_index);
} else {
actx->created_item = proto_tree_add_text(tree, actx->external.arbitrary, 0, -1, "Unknown EXTERNAL Type");
}
}
return offset;
if (actx->external.arbitrary) {
if (actx->external.u.per.type_cb) {
actx->external.u.per.type_cb(actx->external.arbitrary, 0, actx, tree, actx->external.hf_index);
} else {
actx->created_item = proto_tree_add_text(tree, actx->external.arbitrary, 0, -1, "Unknown EXTERNAL Type");
}
}
return offset;
}
static const value_string per_External_encoding_vals[] = {
{ 0, "single-ASN1-type" },
{ 1, "octet-aligned" },
{ 2, "arbitrary" },
{ 0, NULL }
{ 0, "single-ASN1-type" },
{ 1, "octet-aligned" },
{ 2, "arbitrary" },
{ 0, NULL }
};
static const per_choice_t External_encoding_choice[] = {
{ 0, &hf_per_single_ASN1_type, ASN1_NO_EXTENSIONS , dissect_per_T_single_ASN1_type },
{ 1, &hf_per_octet_aligned , ASN1_NO_EXTENSIONS , dissect_per_T_octet_aligned },
{ 2, &hf_per_arbitrary , ASN1_NO_EXTENSIONS , dissect_per_T_arbitrary },
{ 0, NULL, 0, NULL }
{ 0, &hf_per_single_ASN1_type, ASN1_NO_EXTENSIONS , dissect_per_T_single_ASN1_type },
{ 1, &hf_per_octet_aligned , ASN1_NO_EXTENSIONS , dissect_per_T_octet_aligned },
{ 2, &hf_per_arbitrary , ASN1_NO_EXTENSIONS , dissect_per_T_arbitrary },
{ 0, NULL, 0, NULL }
};
static int
dissect_per_External_encoding(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_per_External_encoding, External_encoding_choice,
&actx->external.encoding);
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_per_External_encoding, External_encoding_choice,
&actx->external.encoding);
return offset;
return offset;
}
static const per_sequence_t External_sequence[] = {
{ &hf_per_direct_reference, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_per_T_direct_reference },
{ &hf_per_indirect_reference, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_per_T_indirect_reference },
{ &hf_per_data_value_descriptor, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_per_T_data_value_descriptor },
{ &hf_per_encoding , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_per_External_encoding },
{ NULL, 0, 0, NULL }
{ &hf_per_direct_reference, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_per_T_direct_reference },
{ &hf_per_indirect_reference, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_per_T_indirect_reference },
{ &hf_per_data_value_descriptor, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_per_T_data_value_descriptor },
{ &hf_per_encoding , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_per_External_encoding },
{ NULL, 0, 0, NULL }
};
static int
dissect_per_External(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_per_External, External_sequence);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_per_External, External_sequence);
return offset;
return offset;
}
guint32
dissect_per_external_type(tvbuff_t *tvb _U_, guint32 offset, asn1_ctx_t *actx, proto_tree *tree _U_, int hf_index _U_, per_type_fn type_cb)
{
asn1_ctx_clean_external(actx);
actx->external.u.per.type_cb = type_cb;
offset = dissect_per_External(tvb, offset, actx, tree, hf_index);
asn1_ctx_clean_external(actx);
actx->external.u.per.type_cb = type_cb;
offset = dissect_per_External(tvb, offset, actx, tree, hf_index);
asn1_ctx_clean_external(actx);
return offset;
asn1_ctx_clean_external(actx);
return offset;
}
void
proto_register_per(void)
{
static hf_register_info hf[] =
{
{ &hf_per_num_sequence_extensions,
{ "Number of Sequence Extensions", "per.num_sequence_extensions", FT_UINT32, BASE_DEC,
NULL, 0, "Number of extensions encoded in this sequence", HFILL }},
{ &hf_per_choice_index,
{ "Choice Index", "per.choice_index", FT_UINT32, BASE_DEC,
NULL, 0, "Which index of the Choice within extension root is encoded", HFILL }},
{ &hf_per_choice_extension_index,
{ "Choice Extension Index", "per.choice_extension_index", FT_UINT32, BASE_DEC,
NULL, 0, "Which index of the Choice within extension addition is encoded", HFILL }},
{ &hf_per_enum_index,
{ "Enumerated Index", "per.enum_index", FT_UINT32, BASE_DEC,
NULL, 0, "Which index of the Enumerated within extension root is encoded", HFILL }},
{ &hf_per_enum_extension_index,
{ "Enumerated Extension Index", "per.enum_extension_index", FT_UINT32, BASE_DEC,
NULL, 0, "Which index of the Enumerated within extension addition is encoded", HFILL }},
{ &hf_per_GeneralString_length,
{ "GeneralString Length", "per.generalstring_length", FT_UINT32, BASE_DEC,
NULL, 0, "Length of the GeneralString", HFILL }},
{ &hf_per_extension_bit,
{ "Extension Bit", "per.extension_bit", FT_BOOLEAN, 8,
TFS(&tfs_extension_bit), 0x01, "The extension bit of an aggregate", HFILL }},
{ &hf_per_extension_present_bit,
{ "Extension Present Bit", "per.extension_present_bit", FT_BOOLEAN, 8,
TFS(&tfs_extension_present_bit), 0x01, "Whether this optional extension is present or not", HFILL }},
{ &hf_per_small_number_bit,
{ "Small Number Bit", "per.small_number_bit", FT_BOOLEAN, 8,
TFS(&tfs_small_number_bit), 0x01, "The small number bit for a section 10.6 integer", HFILL }},
{ &hf_per_optional_field_bit,
{ "Optional Field Bit", "per.optional_field_bit", FT_BOOLEAN, 8,
TFS(&tfs_optional_field_bit), 0x01, "This bit specifies the presence/absence of an optional field", HFILL }},
{ &hf_per_sequence_of_length,
{ "Sequence-Of Length", "per.sequence_of_length", FT_UINT32, BASE_DEC,
NULL, 0, "Number of items in the Sequence Of", HFILL }},
{ &hf_per_object_identifier_length,
{ "Object Identifier Length", "per.object_length", FT_UINT32, BASE_DEC,
NULL, 0, "Length of the object identifier", HFILL }},
{ &hf_per_open_type_length,
{ "Open Type Length", "per.open_type_length", FT_UINT32, BASE_DEC,
NULL, 0, "Length of an open type encoding", HFILL }},
{ &hf_per_real_length,
{ "Real Length", "per.real_length", FT_UINT32, BASE_DEC,
NULL, 0, "Length of an real encoding", HFILL }},
{ &hf_per_octet_string_length,
{ "Octet String Length", "per.octet_string_length", FT_UINT32, BASE_DEC,
NULL, 0, "Number of bytes in the Octet String", HFILL }},
{ &hf_per_bit_string_length,
{ "Bit String Length", "per.bit_string_length", FT_UINT32, BASE_DEC,
NULL, 0, "Number of bits in the Bit String", HFILL }},
{ &hf_per_normally_small_nonnegative_whole_number_length,
{ "Normally Small Non-negative Whole Number Length", "per.normally_small_nonnegative_whole_number_length", FT_UINT32, BASE_DEC,
NULL, 0, "Number of bytes in the Normally Small Non-negative Whole Number", HFILL }},
{ &hf_per_const_int_len,
{ "Constrained Integer Length", "per.const_int_len", FT_UINT32, BASE_DEC,
NULL, 0, "Number of bytes in the Constrained Integer", HFILL }},
{ &hf_per_direct_reference,
{ "direct-reference", "per.direct_reference",
FT_OID, BASE_NONE, NULL, 0,
"per.T_direct_reference", HFILL }},
{ &hf_per_indirect_reference,
{ "indirect-reference", "per.indirect_reference",
FT_INT32, BASE_DEC, NULL, 0,
"per.T_indirect_reference", HFILL }},
{ &hf_per_data_value_descriptor,
{ "data-value-descriptor", "per.data_value_descriptor",
FT_STRING, BASE_NONE, NULL, 0,
"per.T_data_value_descriptor", HFILL }},
{ &hf_per_encoding,
{ "encoding", "per.encoding",
FT_UINT32, BASE_DEC, VALS(per_External_encoding_vals), 0,
"per.External_encoding", HFILL }},
{ &hf_per_single_ASN1_type,
{ "single-ASN1-type", "per.single_ASN1_type",
FT_NONE, BASE_NONE, NULL, 0,
"per.T_single_ASN1_type", HFILL }},
{ &hf_per_octet_aligned,
{ "octet-aligned", "per.octet_aligned",
FT_BYTES, BASE_NONE, NULL, 0,
"per.T_octet_aligned", HFILL }},
{ &hf_per_arbitrary,
{ "arbitrary", "per.arbitrary",
FT_BYTES, BASE_NONE, NULL, 0,
"per.T_arbitrary", HFILL }},
{ &hf_per_integer_length,
{ "integer length", "per.integer_length",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
static hf_register_info hf[] = {
{ &hf_per_num_sequence_extensions,
{ "Number of Sequence Extensions", "per.num_sequence_extensions", FT_UINT32, BASE_DEC,
NULL, 0, "Number of extensions encoded in this sequence", HFILL }},
{ &hf_per_choice_index,
{ "Choice Index", "per.choice_index", FT_UINT32, BASE_DEC,
NULL, 0, "Which index of the Choice within extension root is encoded", HFILL }},
{ &hf_per_choice_extension_index,
{ "Choice Extension Index", "per.choice_extension_index", FT_UINT32, BASE_DEC,
NULL, 0, "Which index of the Choice within extension addition is encoded", HFILL }},
{ &hf_per_enum_index,
{ "Enumerated Index", "per.enum_index", FT_UINT32, BASE_DEC,
NULL, 0, "Which index of the Enumerated within extension root is encoded", HFILL }},
{ &hf_per_enum_extension_index,
{ "Enumerated Extension Index", "per.enum_extension_index", FT_UINT32, BASE_DEC,
NULL, 0, "Which index of the Enumerated within extension addition is encoded", HFILL }},
{ &hf_per_GeneralString_length,
{ "GeneralString Length", "per.generalstring_length", FT_UINT32, BASE_DEC,
NULL, 0, "Length of the GeneralString", HFILL }},
{ &hf_per_extension_bit,
{ "Extension Bit", "per.extension_bit", FT_BOOLEAN, 8,
TFS(&tfs_extension_bit), 0x01, "The extension bit of an aggregate", HFILL }},
{ &hf_per_extension_present_bit,
{ "Extension Present Bit", "per.extension_present_bit", FT_BOOLEAN, 8,
TFS(&tfs_extension_present_bit), 0x01, "Whether this optional extension is present or not", HFILL }},
{ &hf_per_small_number_bit,
{ "Small Number Bit", "per.small_number_bit", FT_BOOLEAN, 8,
TFS(&tfs_small_number_bit), 0x01, "The small number bit for a section 10.6 integer", HFILL }},
{ &hf_per_optional_field_bit,
{ "Optional Field Bit", "per.optional_field_bit", FT_BOOLEAN, 8,
TFS(&tfs_optional_field_bit), 0x01, "This bit specifies the presence/absence of an optional field", HFILL }},
{ &hf_per_sequence_of_length,
{ "Sequence-Of Length", "per.sequence_of_length", FT_UINT32, BASE_DEC,
NULL, 0, "Number of items in the Sequence Of", HFILL }},
{ &hf_per_object_identifier_length,
{ "Object Identifier Length", "per.object_length", FT_UINT32, BASE_DEC,
NULL, 0, "Length of the object identifier", HFILL }},
{ &hf_per_open_type_length,
{ "Open Type Length", "per.open_type_length", FT_UINT32, BASE_DEC,
NULL, 0, "Length of an open type encoding", HFILL }},
{ &hf_per_real_length,
{ "Real Length", "per.real_length", FT_UINT32, BASE_DEC,
NULL, 0, "Length of an real encoding", HFILL }},
{ &hf_per_octet_string_length,
{ "Octet String Length", "per.octet_string_length", FT_UINT32, BASE_DEC,
NULL, 0, "Number of bytes in the Octet String", HFILL }},
{ &hf_per_bit_string_length,
{ "Bit String Length", "per.bit_string_length", FT_UINT32, BASE_DEC,
NULL, 0, "Number of bits in the Bit String", HFILL }},
{ &hf_per_normally_small_nonnegative_whole_number_length,
{ "Normally Small Non-negative Whole Number Length", "per.normally_small_nonnegative_whole_number_length", FT_UINT32, BASE_DEC,
NULL, 0, "Number of bytes in the Normally Small Non-negative Whole Number", HFILL }},
{ &hf_per_const_int_len,
{ "Constrained Integer Length", "per.const_int_len", FT_UINT32, BASE_DEC,
NULL, 0, "Number of bytes in the Constrained Integer", HFILL }},
{ &hf_per_direct_reference,
{ "direct-reference", "per.direct_reference",
FT_OID, BASE_NONE, NULL, 0,
"per.T_direct_reference", HFILL }},
{ &hf_per_indirect_reference,
{ "indirect-reference", "per.indirect_reference",
FT_INT32, BASE_DEC, NULL, 0,
"per.T_indirect_reference", HFILL }},
{ &hf_per_data_value_descriptor,
{ "data-value-descriptor", "per.data_value_descriptor",
FT_STRING, BASE_NONE, NULL, 0,
"per.T_data_value_descriptor", HFILL }},
{ &hf_per_encoding,
{ "encoding", "per.encoding",
FT_UINT32, BASE_DEC, VALS(per_External_encoding_vals), 0,
"per.External_encoding", HFILL }},
{ &hf_per_single_ASN1_type,
{ "single-ASN1-type", "per.single_ASN1_type",
FT_NONE, BASE_NONE, NULL, 0,
"per.T_single_ASN1_type", HFILL }},
{ &hf_per_octet_aligned,
{ "octet-aligned", "per.octet_aligned",
FT_BYTES, BASE_NONE, NULL, 0,
"per.T_octet_aligned", HFILL }},
{ &hf_per_arbitrary,
{ "arbitrary", "per.arbitrary",
FT_BYTES, BASE_NONE, NULL, 0,
"per.T_arbitrary", HFILL }},
{ &hf_per_integer_length,
{ "integer length", "per.integer_length",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
#if 0
{ &hf_per_debug_pos,
{ "Current bit offset", "per.debug_pos",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_per_debug_pos,
{ "Current bit offset", "per.debug_pos",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
#endif
};
static gint *ett[] =
{
static gint *ett[] = {
&ett_per_open_type,
&ett_per_containing,
&ett_per_sequence_of_item,
@ -2643,12 +2641,18 @@ proto_register_per(void)
&ett_per_External_encoding,
};
static ei_register_info ei[] = {
{ &ei_per_size_constraint_value, { "per.size_constraint.value", PI_PROTOCOL, PI_WARN, "Size constraint: value too big", EXPFILL }},
{ &ei_per_size_constraint_too_few, { "per.size_constraint.too_few", PI_PROTOCOL, PI_WARN, "Size constraint: too few items", EXPFILL }},
{ &ei_per_size_constraint_too_many, { "per.size_constraint.too_many", PI_PROTOCOL, PI_WARN, "Size constraint: too many items", EXPFILL }},
{ &ei_per_choice_extension_unknown, { "per.choice_extension_unknown", PI_UNDECODED, PI_NOTE, "unknown choice extension", EXPFILL }},
{ &ei_per_sequence_extension_unknown, { "per.sequence_extension_unknown", PI_UNDECODED, PI_NOTE, "unknown sequence extension", EXPFILL }},
{ &ei_per_encoding_error, { "per.encoding_error", PI_MALFORMED, PI_WARN, "Encoding error", EXPFILL }},
{ &ei_per_size_constraint_value,
{ "per.size_constraint.value", PI_PROTOCOL, PI_WARN, "Size constraint: value too big", EXPFILL }},
{ &ei_per_size_constraint_too_few,
{ "per.size_constraint.too_few", PI_PROTOCOL, PI_WARN, "Size constraint: too few items", EXPFILL }},
{ &ei_per_size_constraint_too_many,
{ "per.size_constraint.too_many", PI_PROTOCOL, PI_WARN, "Size constraint: too many items", EXPFILL }},
{ &ei_per_choice_extension_unknown,
{ "per.choice_extension_unknown", PI_UNDECODED, PI_NOTE, "unknown choice extension", EXPFILL }},
{ &ei_per_sequence_extension_unknown,
{ "per.sequence_extension_unknown", PI_UNDECODED, PI_NOTE, "unknown sequence extension", EXPFILL }},
{ &ei_per_encoding_error,
{ "per.encoding_error", PI_MALFORMED, PI_WARN, "Encoding error", EXPFILL }},
};
module_t *per_module;
@ -2664,9 +2668,9 @@ proto_register_per(void)
per_module = prefs_register_protocol(proto_per, NULL);
prefs_register_bool_preference(per_module, "display_internal_per_fields",
"Display the internal PER fields in the tree",
"Whether the dissector should put the internal PER data in the tree or if it should hide it",
&display_internal_per_fields);
"Display the internal PER fields in the tree",
"Whether the dissector should put the internal PER data in the tree or if it should hide it",
&display_internal_per_fields);
}

View File

@ -503,41 +503,41 @@ static const gchar* dissect_cosine_vpvc(proto_tree* tree, tvbuff_t* tvb, packet_
}
static const value_string daylight_saving_time_vals[] = {
{0, "No adjustment"},
{1, "+1 hour adjustment for Daylight Saving Time"},
{2, "+2 hours adjustment for Daylight Saving Time"},
{3, "Reserved"},
{0, NULL}
{0, "No adjustment"},
{1, "+1 hour adjustment for Daylight Saving Time"},
{2, "+2 hours adjustment for Daylight Saving Time"},
{3, "Reserved"},
{0, NULL}
};
static const gchar*
dissect_radius_3gpp_ms_tmime_zone(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo _U_) {
int offset = 0;
guint8 oct, daylight_saving_time;
char sign;
int offset = 0;
guint8 oct, daylight_saving_time;
char sign;
/* 3GPP TS 23.040 version 6.6.0 Release 6
* 9.2.3.11 TP-Service-Centre-Time-Stamp (TP-SCTS)
* :
* The Time Zone indicates the difference, expressed in quarters of an hour,
* between the local time and GMT. In the first of the two semi-octets,
* the first bit (bit 3 of the seventh octet of the TP-Service-Centre-Time-Stamp field)
* represents the algebraic sign of this difference (0: positive, 1: negative).
*/
/* 3GPP TS 23.040 version 6.6.0 Release 6
* 9.2.3.11 TP-Service-Centre-Time-Stamp (TP-SCTS)
* :
* The Time Zone indicates the difference, expressed in quarters of an hour,
* between the local time and GMT. In the first of the two semi-octets,
* the first bit (bit 3 of the seventh octet of the TP-Service-Centre-Time-Stamp field)
* represents the algebraic sign of this difference (0: positive, 1: negative).
*/
oct = tvb_get_guint8(tvb, offset);
sign = (oct & 0x08) ? '-' : '+';
oct = (oct >> 4) + (oct & 0x07) * 10;
oct = tvb_get_guint8(tvb, offset);
sign = (oct & 0x08) ? '-' : '+';
oct = (oct >> 4) + (oct & 0x07) * 10;
proto_tree_add_text(tree, tvb, offset, 1, "Timezone: GMT %c%d hours %d minutes", sign, oct / 4, oct % 4 * 15);
offset++;
proto_tree_add_text(tree, tvb, offset, 1, "Timezone: GMT %c%d hours %d minutes", sign, oct / 4, oct % 4 * 15);
offset++;
daylight_saving_time = tvb_get_guint8(tvb, offset) & 0x3;
proto_tree_add_text(tree, tvb, offset, 1, "%s", val_to_str_const(daylight_saving_time, daylight_saving_time_vals, "Unknown"));
daylight_saving_time = tvb_get_guint8(tvb, offset) & 0x3;
proto_tree_add_text(tree, tvb, offset, 1, "%s", val_to_str_const(daylight_saving_time, daylight_saving_time_vals, "Unknown"));
return wmem_strdup_printf(wmem_packet_scope(), "Timezone: GMT %c%d hours %d minutes %s ",
sign, oct / 4, oct % 4 * 15, val_to_str_const(daylight_saving_time, daylight_saving_time_vals, "Unknown"));
sign, oct / 4, oct % 4 * 15, val_to_str_const(daylight_saving_time, daylight_saving_time_vals, "Unknown"));
}

View File

@ -90,86 +90,86 @@ static int rpc_tap = -1;
static dissector_handle_t spnego_krb5_wrap_handle = NULL;
static const value_string rpc_msg_type[] = {
{ RPC_CALL, "Call" },
{ RPC_REPLY, "Reply" },
{ RPC_CALL, "Call" },
{ RPC_REPLY, "Reply" },
{ 0, NULL }
};
static const value_string rpc_reply_state[] = {
{ MSG_ACCEPTED, "accepted" },
{ MSG_DENIED, "denied" },
{ MSG_ACCEPTED, "accepted" },
{ MSG_DENIED, "denied" },
{ 0, NULL }
};
const value_string rpc_auth_flavor[] = {
{ AUTH_NULL, "AUTH_NULL" },
{ AUTH_UNIX, "AUTH_UNIX" },
{ AUTH_SHORT, "AUTH_SHORT" },
{ AUTH_DES, "AUTH_DES" },
{ AUTH_RSA, "AUTH_RSA/Gluster" },
{ RPCSEC_GSS, "RPCSEC_GSS" },
{ AUTH_GSSAPI, "AUTH_GSSAPI" },
{ RPCSEC_GSS_KRB5, "RPCSEC_GSS_KRB5" },
{ RPCSEC_GSS_KRB5I, "RPCSEC_GSS_KRB5I" },
{ RPCSEC_GSS_KRB5P, "RPCSEC_GSS_KRB5P" },
{ RPCSEC_GSS_LIPKEY, "RPCSEC_GSS_LIPKEY" },
{ RPCSEC_GSS_LIPKEY_I, "RPCSEC_GSS_LIPKEY_I" },
{ RPCSEC_GSS_LIPKEY_P, "RPCSEC_GSS_LIPKEY_P" },
{ RPCSEC_GSS_SPKM3, "RPCSEC_GSS_SPKM3" },
{ RPCSEC_GSS_SPKM3I, "RPCSEC_GSS_SPKM3I" },
{ RPCSEC_GSS_SPKM3P, "RPCSEC_GSS_SPKM3P" },
{ AUTH_GLUSTERFS, "AUTH_GLUSTERFS" },
{ AUTH_NULL, "AUTH_NULL" },
{ AUTH_UNIX, "AUTH_UNIX" },
{ AUTH_SHORT, "AUTH_SHORT" },
{ AUTH_DES, "AUTH_DES" },
{ AUTH_RSA, "AUTH_RSA/Gluster" },
{ RPCSEC_GSS, "RPCSEC_GSS" },
{ AUTH_GSSAPI, "AUTH_GSSAPI" },
{ RPCSEC_GSS_KRB5, "RPCSEC_GSS_KRB5" },
{ RPCSEC_GSS_KRB5I, "RPCSEC_GSS_KRB5I" },
{ RPCSEC_GSS_KRB5P, "RPCSEC_GSS_KRB5P" },
{ RPCSEC_GSS_LIPKEY, "RPCSEC_GSS_LIPKEY" },
{ RPCSEC_GSS_LIPKEY_I, "RPCSEC_GSS_LIPKEY_I" },
{ RPCSEC_GSS_LIPKEY_P, "RPCSEC_GSS_LIPKEY_P" },
{ RPCSEC_GSS_SPKM3, "RPCSEC_GSS_SPKM3" },
{ RPCSEC_GSS_SPKM3I, "RPCSEC_GSS_SPKM3I" },
{ RPCSEC_GSS_SPKM3P, "RPCSEC_GSS_SPKM3P" },
{ AUTH_GLUSTERFS, "AUTH_GLUSTERFS" },
{ 0, NULL }
};
static const value_string rpc_authgss_proc[] = {
{ RPCSEC_GSS_DATA, "RPCSEC_GSS_DATA" },
{ RPCSEC_GSS_INIT, "RPCSEC_GSS_INIT" },
{ RPCSEC_GSS_CONTINUE_INIT, "RPCSEC_GSS_CONTINUE_INIT" },
{ RPCSEC_GSS_DESTROY, "RPCSEC_GSS_DESTROY" },
{ RPCSEC_GSS_DATA, "RPCSEC_GSS_DATA" },
{ RPCSEC_GSS_INIT, "RPCSEC_GSS_INIT" },
{ RPCSEC_GSS_CONTINUE_INIT, "RPCSEC_GSS_CONTINUE_INIT" },
{ RPCSEC_GSS_DESTROY, "RPCSEC_GSS_DESTROY" },
{ 0, NULL }
};
static const value_string rpc_authgssapi_proc[] = {
{ AUTH_GSSAPI_EXIT, "AUTH_GSSAPI_EXIT" },
{ AUTH_GSSAPI_INIT, "AUTH_GSSAPI_INIT" },
{ AUTH_GSSAPI_EXIT, "AUTH_GSSAPI_EXIT" },
{ AUTH_GSSAPI_INIT, "AUTH_GSSAPI_INIT" },
{ AUTH_GSSAPI_CONTINUE_INIT, "AUTH_GSSAPI_CONTINUE_INIT" },
{ AUTH_GSSAPI_MSG, "AUTH_GSSAPI_MSG" },
{ AUTH_GSSAPI_DESTROY, "AUTH_GSSAPI_DESTROY" },
{ AUTH_GSSAPI_MSG, "AUTH_GSSAPI_MSG" },
{ AUTH_GSSAPI_DESTROY, "AUTH_GSSAPI_DESTROY" },
{ 0, NULL }
};
const value_string rpc_authgss_svc[] = {
{ RPCSEC_GSS_SVC_NONE, "rpcsec_gss_svc_none" },
{ RPCSEC_GSS_SVC_INTEGRITY, "rpcsec_gss_svc_integrity" },
{ RPCSEC_GSS_SVC_PRIVACY, "rpcsec_gss_svc_privacy" },
{ RPCSEC_GSS_SVC_NONE, "rpcsec_gss_svc_none" },
{ RPCSEC_GSS_SVC_INTEGRITY, "rpcsec_gss_svc_integrity" },
{ RPCSEC_GSS_SVC_PRIVACY, "rpcsec_gss_svc_privacy" },
{ 0, NULL }
};
static const value_string rpc_accept_state[] = {
{ SUCCESS, "RPC executed successfully" },
{ PROG_UNAVAIL, "remote hasn't exported program" },
{ PROG_MISMATCH, "remote can't support version #" },
{ PROC_UNAVAIL, "program can't support procedure" },
{ GARBAGE_ARGS, "procedure can't decode params" },
{ SYSTEM_ERROR, "system errors like memory allocation failure" },
{ SUCCESS, "RPC executed successfully" },
{ PROG_UNAVAIL, "remote hasn't exported program" },
{ PROG_MISMATCH, "remote can't support version #" },
{ PROC_UNAVAIL, "program can't support procedure" },
{ GARBAGE_ARGS, "procedure can't decode params" },
{ SYSTEM_ERROR, "system errors like memory allocation failure" },
{ 0, NULL }
};
static const value_string rpc_reject_state[] = {
{ RPC_MISMATCH, "RPC_MISMATCH" },
{ AUTH_ERROR, "AUTH_ERROR" },
{ RPC_MISMATCH, "RPC_MISMATCH" },
{ AUTH_ERROR, "AUTH_ERROR" },
{ 0, NULL }
};
static const value_string rpc_auth_state[] = {
{ AUTH_BADCRED, "bad credential (seal broken)" },
{ AUTH_REJECTEDCRED, "client must begin new session" },
{ AUTH_BADVERF, "bad verifier (seal broken)" },
{ AUTH_REJECTEDVERF, "verifier expired or replayed" },
{ AUTH_TOOWEAK, "rejected for security reasons" },
{ RPCSEC_GSSCREDPROB, "GSS credential problem" },
{ RPCSEC_GSSCTXPROB, "GSS context problem" },
{ AUTH_BADCRED, "bad credential (seal broken)" },
{ AUTH_REJECTEDCRED, "client must begin new session" },
{ AUTH_BADVERF, "bad verifier (seal broken)" },
{ AUTH_REJECTEDVERF, "verifier expired or replayed" },
{ AUTH_TOOWEAK, "rejected for security reasons" },
{ RPCSEC_GSSCREDPROB, "GSS credential problem" },
{ RPCSEC_GSSCTXPROB, "GSS context problem" },
{ 0, NULL }
};
@ -304,7 +304,7 @@ typedef gboolean (*rec_dissector_t)(tvbuff_t *, packet_info *, proto_tree *,
static void dissect_rpc(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
static void show_rpc_fraginfo(tvbuff_t *tvb, tvbuff_t *frag_tvb, proto_tree *tree,
guint32 rpc_rm, fragment_head *ipfd_head, packet_info *pinfo);
guint32 rpc_rm, fragment_head *ipfd_head, packet_info *pinfo);
/***********************************/
/* Hash array with procedure names */
@ -336,7 +336,7 @@ rpc_proc_hash(gconstpointer k)
/* insert some entries */
void
rpc_init_proc_table(guint prog, guint vers, const vsff *proc_table,
int procedure_hf)
int procedure_hf)
{
rpc_prog_info_key rpc_prog_key;
rpc_prog_info_value *rpc_prog;
@ -498,7 +498,7 @@ rpc_prog_name(guint32 prog)
* RPC and contains the state we need to maintain for the conversation.
*/
typedef struct _rpc_conv_info_t {
wmem_tree_t *xids;
wmem_tree_t *xids;
} rpc_conv_info_t;
@ -513,10 +513,10 @@ unsigned int
rpc_roundup(unsigned int a)
{
unsigned int mod = a % 4;
unsigned int ret;
unsigned int ret;
ret = a + ((mod)? 4-mod : 0);
/* Check for overflow */
if (ret < a)
/* Check for overflow */
if (ret < a)
THROW(ReportedBoundsError);
return ret;
}
@ -559,12 +559,12 @@ dissect_rpc_uint64(tvbuff_t *tvb, proto_tree *tree,
*/
int
dissect_rpc_opaque_data(tvbuff_t *tvb, int offset,
proto_tree *tree,
packet_info *pinfo,
int hfindex,
gboolean fixed_length, guint32 length,
gboolean string_data, const char **string_buffer_ret,
dissect_function_t *dissect_it)
proto_tree *tree,
packet_info *pinfo,
int hfindex,
gboolean fixed_length, guint32 length,
gboolean string_data, const char **string_buffer_ret,
dissect_function_t *dissect_it)
{
int data_offset;
proto_item *string_item = NULL;
@ -639,15 +639,15 @@ dissect_rpc_opaque_data(tvbuff_t *tvb, int offset,
* and call the dissection routine
*/
if (dissect_it) {
tvbuff_t *opaque_tvb;
if (dissect_it) {
tvbuff_t *opaque_tvb;
opaque_tvb = tvb_new_subset(tvb, data_offset, string_length_copy,
string_length);
opaque_tvb = tvb_new_subset(tvb, data_offset, string_length_copy,
string_length);
return (*dissect_it)(opaque_tvb, offset, pinfo, tree, NULL);
return (*dissect_it)(opaque_tvb, offset, pinfo, tree, NULL);
}
}
if (string_data) {
string_buffer = tvb_get_string_enc(wmem_packet_scope(), tvb, data_offset, string_length_copy, ENC_ASCII);
@ -741,9 +741,9 @@ dissect_rpc_opaque_data(tvbuff_t *tvb, int offset,
int
dissect_rpc_string(tvbuff_t *tvb, proto_tree *tree,
int hfindex, int offset, const char **string_buffer_ret)
int hfindex, int offset, const char **string_buffer_ret)
{
offset = dissect_rpc_opaque_data(tvb, offset, tree, NULL,
offset = dissect_rpc_opaque_data(tvb, offset, tree, NULL,
hfindex, FALSE, 0, TRUE, string_buffer_ret, NULL);
return offset;
}
@ -751,9 +751,9 @@ dissect_rpc_string(tvbuff_t *tvb, proto_tree *tree,
int
dissect_rpc_data(tvbuff_t *tvb, proto_tree *tree,
int hfindex, int offset)
int hfindex, int offset)
{
offset = dissect_rpc_opaque_data(tvb, offset, tree, NULL,
offset = dissect_rpc_opaque_data(tvb, offset, tree, NULL,
hfindex, FALSE, 0, FALSE, NULL, NULL);
return offset;
}
@ -761,10 +761,10 @@ dissect_rpc_data(tvbuff_t *tvb, proto_tree *tree,
int
dissect_rpc_bytes(tvbuff_t *tvb, proto_tree *tree,
int hfindex, int offset, guint32 length,
gboolean string_data, const char **string_buffer_ret)
int hfindex, int offset, guint32 length,
gboolean string_data, const char **string_buffer_ret)
{
offset = dissect_rpc_opaque_data(tvb, offset, tree, NULL,
offset = dissect_rpc_opaque_data(tvb, offset, tree, NULL,
hfindex, TRUE, length, string_data, string_buffer_ret, NULL);
return offset;
}
@ -1198,7 +1198,7 @@ dissect_rpc_cred(tvbuff_t* tvb, proto_tree* tree, int offset,
*/
static int
dissect_rpc_authgss_token(tvbuff_t* tvb, proto_tree* tree, int offset,
packet_info *pinfo, int hfindex)
packet_info *pinfo, int hfindex)
{
guint32 opaque_length, rounded_length;
gint len_consumed, length, reported_length;
@ -1240,7 +1240,7 @@ dissect_rpc_authgss_token(tvbuff_t* tvb, proto_tree* tree, int offset,
*/
static int
dissect_rpc_verf(tvbuff_t* tvb, proto_tree* tree, int offset, int msg_type,
packet_info *pinfo)
packet_info *pinfo)
{
guint flavor;
guint length;
@ -1308,7 +1308,7 @@ dissect_rpc_verf(tvbuff_t* tvb, proto_tree* tree, int offset, int msg_type,
static int
dissect_rpc_authgss_initarg(tvbuff_t* tvb, proto_tree* tree, int offset,
packet_info *pinfo)
packet_info *pinfo)
{
return dissect_rpc_authgss_token(tvb, tree, offset, pinfo, hf_rpc_authgss_token);
}
@ -1343,7 +1343,7 @@ dissect_rpc_authgss_initres(tvbuff_t* tvb, proto_tree* tree, int offset,
static int
dissect_rpc_authgssapi_initarg(tvbuff_t* tvb, proto_tree* tree, int offset,
packet_info *pinfo)
packet_info *pinfo)
{
guint version;
proto_tree *mtree;
@ -1363,7 +1363,7 @@ dissect_rpc_authgssapi_initarg(tvbuff_t* tvb, proto_tree* tree, int offset,
static int
dissect_rpc_authgssapi_initres(tvbuff_t* tvb, proto_tree* tree, int offset,
packet_info *pinfo)
packet_info *pinfo)
{
guint version;
guint major, minor;
@ -1510,7 +1510,7 @@ dissect_rpc_authgss_priv_data(tvbuff_t *tvb, proto_tree *tree, int offset,
*/
int
dissect_rpc_indir_call(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
int offset, int args_id, guint32 prog, guint32 vers, guint32 proc)
int offset, int args_id, guint32 prog, guint32 vers, guint32 proc)
{
conversation_t* conversation;
static address null_address = { AT_NONE, -1, 0, NULL };
@ -1660,7 +1660,7 @@ dissect_rpc_indir_call(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
*/
int
dissect_rpc_indir_reply(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
int offset, int result_id, int prog_id, int vers_id, int proc_id)
int offset, int result_id, int prog_id, int vers_id, int proc_id)
{
conversation_t* conversation;
static address null_address = { AT_NONE, -1, 0, NULL };
@ -1847,8 +1847,8 @@ make_fake_rpc_prog_if_needed (rpc_prog_info_key *prpc_prog_key, guint prog_ver)
static gboolean
dissect_rpc_message(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
tvbuff_t *frag_tvb, fragment_head *ipfd_head, gboolean is_tcp,
guint32 rpc_rm, gboolean first_pdu)
tvbuff_t *frag_tvb, fragment_head *ipfd_head, gboolean is_tcp,
guint32 rpc_rm, gboolean first_pdu)
{
guint32 msg_type;
rpc_call_info_value *rpc_call = NULL;
@ -2700,12 +2700,12 @@ dissect_rpc_message(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
dissect_function = NULL;
}
/*
* Don't call any subdissector if we have no more date to dissect.
*/
if (tvb_length_remaining(tvb, offset) == 0) {
return TRUE;
}
/*
* Don't call any subdissector if we have no more date to dissect.
*/
if (tvb_length_remaining(tvb, offset) == 0) {
return TRUE;
}
/*
* Handle RPCSEC_GSS and AUTH_GSSAPI specially.
@ -2842,15 +2842,15 @@ dissect_rpc_message(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
break;
}
if (tvb_length_remaining(tvb, offset) > 0) {
/*
* dissect any remaining bytes (incomplete dissection) as pure
* data in the ptree
*/
if (tvb_length_remaining(tvb, offset) > 0) {
/*
* dissect any remaining bytes (incomplete dissection) as pure
* data in the ptree
*/
call_dissector(data_handle,
tvb_new_subset_remaining(tvb, offset), pinfo, ptree);
}
call_dissector(data_handle,
tvb_new_subset_remaining(tvb, offset), pinfo, ptree);
}
/* XXX this should really loop over all fhandles registred for the frame */
if(nfs_fhandle_reqrep_matching){
@ -2966,7 +2966,7 @@ show_rpc_fragment(tvbuff_t *tvb, proto_tree *tree, guint32 rpc_rm)
static void
make_frag_tree(tvbuff_t *tvb, proto_tree *tree, int proto, gint ett,
guint32 rpc_rm)
guint32 rpc_rm)
{
proto_item *frag_item;
proto_tree *frag_tree;
@ -2982,9 +2982,9 @@ make_frag_tree(tvbuff_t *tvb, proto_tree *tree, int proto, gint ett,
void
show_rpc_fraginfo(tvbuff_t *tvb, tvbuff_t *frag_tvb, proto_tree *tree,
guint32 rpc_rm, fragment_head *ipfd_head, packet_info *pinfo)
guint32 rpc_rm, fragment_head *ipfd_head, packet_info *pinfo)
{
proto_item *frag_tree_item;
proto_item *frag_tree_item;
if (tree == NULL)
return; /* don't do any work */
@ -3013,8 +3013,8 @@ show_rpc_fraginfo(tvbuff_t *tvb, tvbuff_t *frag_tvb, proto_tree *tree,
static gboolean
call_message_dissector(tvbuff_t *tvb, tvbuff_t *rec_tvb, packet_info *pinfo,
proto_tree *tree, tvbuff_t *frag_tvb, rec_dissector_t dissector,
fragment_head *ipfd_head, guint32 rpc_rm, gboolean first_pdu)
proto_tree *tree, tvbuff_t *frag_tvb, rec_dissector_t dissector,
fragment_head *ipfd_head, guint32 rpc_rm, gboolean first_pdu)
{
const char *saved_proto;
volatile gboolean rpc_succeeded;
@ -3060,8 +3060,8 @@ call_message_dissector(tvbuff_t *tvb, tvbuff_t *rec_tvb, packet_info *pinfo,
static int
dissect_rpc_fragment(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree, rec_dissector_t dissector, gboolean is_heur,
int proto, int ett, gboolean defragment, gboolean first_pdu, struct tcpinfo *tcpinfo)
proto_tree *tree, rec_dissector_t dissector, gboolean is_heur,
int proto, int ett, gboolean defragment, gboolean first_pdu, struct tcpinfo *tcpinfo)
{
guint32 seq;
guint32 rpc_rm;
@ -3205,7 +3205,7 @@ dissect_rpc_fragment(tvbuff_t *tvb, int offset, packet_info *pinfo,
}
old_rfk.conv_id = conversation->index;
old_rfk.seq = seq;
old_rfk.port = pinfo->srcport;
old_rfk.port = pinfo->srcport;
rfk = (rpc_fragment_key *)g_hash_table_lookup(rpc_reassembly_table, &old_rfk);
if (rfk == NULL) {
@ -3335,7 +3335,7 @@ dissect_rpc_fragment(tvbuff_t *tvb, int offset, packet_info *pinfo,
new_rfk = wmem_new(wmem_file_scope(), rpc_fragment_key);
new_rfk->conv_id = rfk->conv_id;
new_rfk->seq = seq + len;
new_rfk->port = pinfo->srcport;
new_rfk->port = pinfo->srcport;
new_rfk->offset = rfk->offset + len - 4;
new_rfk->start_seq = rfk->start_seq;
g_hash_table_insert(rpc_reassembly_table, new_rfk,
@ -3628,7 +3628,7 @@ typedef enum {
static rpc_tcp_return_t
dissect_rpc_tcp_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
gboolean is_heur, struct tcpinfo* tcpinfo)
gboolean is_heur, struct tcpinfo* tcpinfo)
{
int offset = 0;
gboolean saw_rpc = FALSE;

View File

@ -4290,7 +4290,7 @@ decode_sysex_common_manufacturer( tvbuff_t *tvb, packet_info *pinfo _U_, proto_t
static unsigned int
decode_sysex_start(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, unsigned int cmd_count, unsigned int offset, unsigned int cmd_len ) {
const gchar *status_str;
proto_tree *command_tree;
proto_tree *command_tree;
int consumed = 0;
int data_len;
int ext_consumed = 0;

View File

@ -77,20 +77,20 @@ static int hf_smb_direct_reassembled_length = -1;
static int hf_smb_direct_reassembled_data = -1;
static const fragment_items smb_direct_frag_items = {
&ett_smb_direct_fragment,
&ett_smb_direct_fragments,
&hf_smb_direct_fragments,
&hf_smb_direct_fragment,
&hf_smb_direct_fragment_overlap,
&hf_smb_direct_fragment_overlap_conflict,
&hf_smb_direct_fragment_multiple_tails,
&hf_smb_direct_fragment_too_long_fragment,
&hf_smb_direct_fragment_error,
&hf_smb_direct_fragment_count,
&hf_smb_direct_reassembled_in,
&hf_smb_direct_reassembled_length,
&hf_smb_direct_reassembled_data,
"SMB Direct fragments"
&ett_smb_direct_fragment,
&ett_smb_direct_fragments,
&hf_smb_direct_fragments,
&hf_smb_direct_fragment,
&hf_smb_direct_fragment_overlap,
&hf_smb_direct_fragment_overlap_conflict,
&hf_smb_direct_fragment_multiple_tails,
&hf_smb_direct_fragment_too_long_fragment,
&hf_smb_direct_fragment_error,
&hf_smb_direct_fragment_count,
&hf_smb_direct_reassembled_in,
&hf_smb_direct_reassembled_length,
&hf_smb_direct_reassembled_data,
"SMB Direct fragments"
};
enum SMB_DIRECT_HDR_TYPE {

View File

@ -16770,277 +16770,277 @@ typedef struct _smb_function {
} smb_function;
static smb_function smb_dissector[256] = {
/* 0x00 Create Dir*/ {dissect_old_dir_request , dissect_empty},
/* 0x01 Delete Dir*/ {dissect_old_dir_request , dissect_empty},
/* 0x02 Open File*/ {dissect_open_file_request , dissect_open_file_response},
/* 0x03 Create File*/ {dissect_create_file_request , dissect_create_file_response},
/* 0x04 Close File*/ {dissect_close_file_request , dissect_empty},
/* 0x05 Flush File*/ {dissect_flush_file_request , dissect_empty},
/* 0x06 Delete File*/ {dissect_delete_file_request , dissect_empty},
/* 0x07 Rename File*/ {dissect_rename_file_request , dissect_rename_file_response},
/* 0x08 Query Info*/ {dissect_query_information_request , dissect_query_information_response},
/* 0x09 Set Info*/ {dissect_set_information_request , dissect_empty},
/* 0x0a Read File*/ {dissect_read_file_request , dissect_read_file_response},
/* 0x0b Write File*/ {dissect_write_file_request , dissect_write_file_response},
/* 0x0c Lock Byte Range*/ {dissect_lock_request , dissect_empty},
/* 0x0d Unlock Byte Range*/ {dissect_lock_request , dissect_empty},
/* 0x0e Create Temp*/ {dissect_create_temporary_request , dissect_create_temporary_response},
/* 0x0f Create New*/ {dissect_create_file_request , dissect_create_new_response},
/* 0x00 Create Dir*/ {dissect_old_dir_request , dissect_empty},
/* 0x01 Delete Dir*/ {dissect_old_dir_request , dissect_empty},
/* 0x02 Open File*/ {dissect_open_file_request , dissect_open_file_response},
/* 0x03 Create File*/ {dissect_create_file_request , dissect_create_file_response},
/* 0x04 Close File*/ {dissect_close_file_request , dissect_empty},
/* 0x05 Flush File*/ {dissect_flush_file_request , dissect_empty},
/* 0x06 Delete File*/ {dissect_delete_file_request , dissect_empty},
/* 0x07 Rename File*/ {dissect_rename_file_request , dissect_rename_file_response},
/* 0x08 Query Info*/ {dissect_query_information_request , dissect_query_information_response},
/* 0x09 Set Info*/ {dissect_set_information_request , dissect_empty},
/* 0x0a Read File*/ {dissect_read_file_request , dissect_read_file_response},
/* 0x0b Write File*/ {dissect_write_file_request , dissect_write_file_response},
/* 0x0c Lock Byte Range*/ {dissect_lock_request , dissect_empty},
/* 0x0d Unlock Byte Range*/ {dissect_lock_request , dissect_empty},
/* 0x0e Create Temp*/ {dissect_create_temporary_request , dissect_create_temporary_response},
/* 0x0f Create New*/ {dissect_create_file_request , dissect_create_new_response},
/* 0x10 Check Dir*/ {dissect_old_dir_request , dissect_empty},
/* 0x11 Process Exit*/ {dissect_empty , dissect_empty},
/* 0x12 Seek File*/ {dissect_seek_file_request , dissect_seek_file_response},
/* 0x13 Lock And Read*/ {dissect_read_file_request , dissect_lock_and_read_response},
/* 0x14 Write And Unlock*/ {dissect_write_file_request , dissect_write_file_response},
/* 0x15 */ {dissect_unknown , dissect_unknown},
/* 0x16 */ {dissect_unknown , dissect_unknown},
/* 0x17 */ {dissect_unknown , dissect_unknown},
/* 0x18 */ {dissect_unknown , dissect_unknown},
/* 0x19 */ {dissect_unknown , dissect_unknown},
/* 0x1a Read Raw*/ {dissect_read_raw_request , dissect_unknown},
/* 0x1b Read MPX*/ {dissect_read_mpx_request , dissect_read_mpx_response},
/* 0x1c Read MPX Secondary*/ {dissect_unknown , dissect_unknown},
/* 0x1d Write Raw*/ {dissect_write_raw_request , dissect_write_raw_response},
/* 0x1e Write MPX*/ {dissect_write_mpx_request , dissect_write_mpx_response},
/* 0x1f Write MPX Secondary*/ {dissect_unknown , dissect_unknown},
/* 0x10 Check Dir*/ {dissect_old_dir_request , dissect_empty},
/* 0x11 Process Exit*/ {dissect_empty , dissect_empty},
/* 0x12 Seek File*/ {dissect_seek_file_request , dissect_seek_file_response},
/* 0x13 Lock And Read*/ {dissect_read_file_request , dissect_lock_and_read_response},
/* 0x14 Write And Unlock*/ {dissect_write_file_request , dissect_write_file_response},
/* 0x15 */ {dissect_unknown , dissect_unknown},
/* 0x16 */ {dissect_unknown , dissect_unknown},
/* 0x17 */ {dissect_unknown , dissect_unknown},
/* 0x18 */ {dissect_unknown , dissect_unknown},
/* 0x19 */ {dissect_unknown , dissect_unknown},
/* 0x1a Read Raw*/ {dissect_read_raw_request , dissect_unknown},
/* 0x1b Read MPX*/ {dissect_read_mpx_request , dissect_read_mpx_response},
/* 0x1c Read MPX Secondary*/ {dissect_unknown , dissect_unknown},
/* 0x1d Write Raw*/ {dissect_write_raw_request , dissect_write_raw_response},
/* 0x1e Write MPX*/ {dissect_write_mpx_request , dissect_write_mpx_response},
/* 0x1f Write MPX Secondary*/ {dissect_unknown , dissect_unknown},
/* 0x20 Write Complete*/ {dissect_unknown , dissect_write_and_close_response},
/* 0x21 */ {dissect_unknown , dissect_unknown},
/* 0x22 Set Info2*/ {dissect_set_information2_request , dissect_empty},
/* 0x23 Query Info2*/ {dissect_query_information2_request , dissect_query_information2_response},
/* 0x24 Locking And X*/ {dissect_locking_andx_request , dissect_locking_andx_response},
/* 0x25 Transaction*/ {dissect_transaction_request , dissect_transaction_response},
/* 0x26 Transaction Secondary*/ {dissect_transaction_request , dissect_unknown}, /*This SMB has no response */
/* 0x27 IOCTL*/ {dissect_unknown , dissect_unknown},
/* 0x28 IOCTL Secondary*/ {dissect_unknown , dissect_unknown},
/* 0x29 Copy File*/ {dissect_copy_request , dissect_move_copy_response},
/* 0x2a Move File*/ {dissect_move_request , dissect_move_copy_response},
/* 0x2b Echo*/ {dissect_echo_request , dissect_echo_response},
/* 0x2c Write And Close*/ {dissect_write_and_close_request , dissect_write_and_close_response},
/* 0x2d Open And X*/ {dissect_open_andx_request , dissect_open_andx_response},
/* 0x2e Read And X*/ {dissect_read_andx_request , dissect_read_andx_response},
/* 0x2f Write And X*/ {dissect_write_andx_request , dissect_write_andx_response},
/* 0x20 Write Complete*/ {dissect_unknown , dissect_write_and_close_response},
/* 0x21 */ {dissect_unknown , dissect_unknown},
/* 0x22 Set Info2*/ {dissect_set_information2_request , dissect_empty},
/* 0x23 Query Info2*/ {dissect_query_information2_request , dissect_query_information2_response},
/* 0x24 Locking And X*/ {dissect_locking_andx_request , dissect_locking_andx_response},
/* 0x25 Transaction*/ {dissect_transaction_request , dissect_transaction_response},
/* 0x26 Transaction Secondary*/ {dissect_transaction_request , dissect_unknown}, /*This SMB has no response */
/* 0x27 IOCTL*/ {dissect_unknown , dissect_unknown},
/* 0x28 IOCTL Secondary*/ {dissect_unknown , dissect_unknown},
/* 0x29 Copy File*/ {dissect_copy_request , dissect_move_copy_response},
/* 0x2a Move File*/ {dissect_move_request , dissect_move_copy_response},
/* 0x2b Echo*/ {dissect_echo_request , dissect_echo_response},
/* 0x2c Write And Close*/ {dissect_write_and_close_request , dissect_write_and_close_response},
/* 0x2d Open And X*/ {dissect_open_andx_request , dissect_open_andx_response},
/* 0x2e Read And X*/ {dissect_read_andx_request , dissect_read_andx_response},
/* 0x2f Write And X*/ {dissect_write_andx_request , dissect_write_andx_response},
/* 0x30 */ {dissect_unknown , dissect_unknown},
/* 0x31 Close And Tree Disconnect */ {dissect_close_file_request , dissect_empty},
/* 0x32 Transaction2*/ {dissect_transaction_request , dissect_transaction_response},
/* 0x33 Transaction2 Secondary*/ {dissect_transaction_request , dissect_unknown}, /*This SMB has no response */
/* 0x34 Find Close2*/ {dissect_sid , dissect_empty},
/* 0x35 Find Notify Close*/ {dissect_find_notify_close , dissect_empty},
/* 0x36 */ {dissect_unknown, dissect_unknown},
/* 0x37 */ {dissect_unknown, dissect_unknown},
/* 0x38 */ {dissect_unknown, dissect_unknown},
/* 0x39 */ {dissect_unknown, dissect_unknown},
/* 0x3a */ {dissect_unknown, dissect_unknown},
/* 0x3b */ {dissect_unknown, dissect_unknown},
/* 0x3c */ {dissect_unknown, dissect_unknown},
/* 0x3d */ {dissect_unknown, dissect_unknown},
/* 0x3e */ {dissect_unknown, dissect_unknown},
/* 0x3f */ {dissect_unknown, dissect_unknown},
/* 0x30 */ {dissect_unknown , dissect_unknown},
/* 0x31 Close And Tree Disconnect */ {dissect_close_file_request , dissect_empty},
/* 0x32 Transaction2*/ {dissect_transaction_request , dissect_transaction_response},
/* 0x33 Transaction2 Secondary*/ {dissect_transaction_request , dissect_unknown}, /*This SMB has no response */
/* 0x34 Find Close2*/ {dissect_sid , dissect_empty},
/* 0x35 Find Notify Close*/ {dissect_find_notify_close , dissect_empty},
/* 0x36 */ {dissect_unknown, dissect_unknown},
/* 0x37 */ {dissect_unknown, dissect_unknown},
/* 0x38 */ {dissect_unknown, dissect_unknown},
/* 0x39 */ {dissect_unknown, dissect_unknown},
/* 0x3a */ {dissect_unknown, dissect_unknown},
/* 0x3b */ {dissect_unknown, dissect_unknown},
/* 0x3c */ {dissect_unknown, dissect_unknown},
/* 0x3d */ {dissect_unknown, dissect_unknown},
/* 0x3e */ {dissect_unknown, dissect_unknown},
/* 0x3f */ {dissect_unknown, dissect_unknown},
/* 0x40 */ {dissect_unknown, dissect_unknown},
/* 0x41 */ {dissect_unknown, dissect_unknown},
/* 0x42 */ {dissect_unknown, dissect_unknown},
/* 0x43 */ {dissect_unknown, dissect_unknown},
/* 0x44 */ {dissect_unknown, dissect_unknown},
/* 0x45 */ {dissect_unknown, dissect_unknown},
/* 0x46 */ {dissect_unknown, dissect_unknown},
/* 0x47 */ {dissect_unknown, dissect_unknown},
/* 0x48 */ {dissect_unknown, dissect_unknown},
/* 0x49 */ {dissect_unknown, dissect_unknown},
/* 0x4a */ {dissect_unknown, dissect_unknown},
/* 0x4b */ {dissect_unknown, dissect_unknown},
/* 0x4c */ {dissect_unknown, dissect_unknown},
/* 0x4d */ {dissect_unknown, dissect_unknown},
/* 0x4e */ {dissect_unknown, dissect_unknown},
/* 0x4f */ {dissect_unknown, dissect_unknown},
/* 0x40 */ {dissect_unknown, dissect_unknown},
/* 0x41 */ {dissect_unknown, dissect_unknown},
/* 0x42 */ {dissect_unknown, dissect_unknown},
/* 0x43 */ {dissect_unknown, dissect_unknown},
/* 0x44 */ {dissect_unknown, dissect_unknown},
/* 0x45 */ {dissect_unknown, dissect_unknown},
/* 0x46 */ {dissect_unknown, dissect_unknown},
/* 0x47 */ {dissect_unknown, dissect_unknown},
/* 0x48 */ {dissect_unknown, dissect_unknown},
/* 0x49 */ {dissect_unknown, dissect_unknown},
/* 0x4a */ {dissect_unknown, dissect_unknown},
/* 0x4b */ {dissect_unknown, dissect_unknown},
/* 0x4c */ {dissect_unknown, dissect_unknown},
/* 0x4d */ {dissect_unknown, dissect_unknown},
/* 0x4e */ {dissect_unknown, dissect_unknown},
/* 0x4f */ {dissect_unknown, dissect_unknown},
/* 0x50 */ {dissect_unknown, dissect_unknown},
/* 0x51 */ {dissect_unknown, dissect_unknown},
/* 0x52 */ {dissect_unknown, dissect_unknown},
/* 0x53 */ {dissect_unknown, dissect_unknown},
/* 0x54 */ {dissect_unknown, dissect_unknown},
/* 0x55 */ {dissect_unknown, dissect_unknown},
/* 0x56 */ {dissect_unknown, dissect_unknown},
/* 0x57 */ {dissect_unknown, dissect_unknown},
/* 0x58 */ {dissect_unknown, dissect_unknown},
/* 0x59 */ {dissect_unknown, dissect_unknown},
/* 0x5a */ {dissect_unknown, dissect_unknown},
/* 0x5b */ {dissect_unknown, dissect_unknown},
/* 0x5c */ {dissect_unknown, dissect_unknown},
/* 0x5d */ {dissect_unknown, dissect_unknown},
/* 0x5e */ {dissect_unknown, dissect_unknown},
/* 0x5f */ {dissect_unknown, dissect_unknown},
/* 0x50 */ {dissect_unknown, dissect_unknown},
/* 0x51 */ {dissect_unknown, dissect_unknown},
/* 0x52 */ {dissect_unknown, dissect_unknown},
/* 0x53 */ {dissect_unknown, dissect_unknown},
/* 0x54 */ {dissect_unknown, dissect_unknown},
/* 0x55 */ {dissect_unknown, dissect_unknown},
/* 0x56 */ {dissect_unknown, dissect_unknown},
/* 0x57 */ {dissect_unknown, dissect_unknown},
/* 0x58 */ {dissect_unknown, dissect_unknown},
/* 0x59 */ {dissect_unknown, dissect_unknown},
/* 0x5a */ {dissect_unknown, dissect_unknown},
/* 0x5b */ {dissect_unknown, dissect_unknown},
/* 0x5c */ {dissect_unknown, dissect_unknown},
/* 0x5d */ {dissect_unknown, dissect_unknown},
/* 0x5e */ {dissect_unknown, dissect_unknown},
/* 0x5f */ {dissect_unknown, dissect_unknown},
/* 0x60 */ {dissect_unknown, dissect_unknown},
/* 0x61 */ {dissect_unknown, dissect_unknown},
/* 0x62 */ {dissect_unknown, dissect_unknown},
/* 0x63 */ {dissect_unknown, dissect_unknown},
/* 0x64 */ {dissect_unknown, dissect_unknown},
/* 0x65 */ {dissect_unknown, dissect_unknown},
/* 0x66 */ {dissect_unknown, dissect_unknown},
/* 0x67 */ {dissect_unknown, dissect_unknown},
/* 0x68 */ {dissect_unknown, dissect_unknown},
/* 0x69 */ {dissect_unknown, dissect_unknown},
/* 0x6a */ {dissect_unknown, dissect_unknown},
/* 0x6b */ {dissect_unknown, dissect_unknown},
/* 0x6c */ {dissect_unknown, dissect_unknown},
/* 0x6d */ {dissect_unknown, dissect_unknown},
/* 0x6e */ {dissect_unknown, dissect_unknown},
/* 0x6f */ {dissect_unknown, dissect_unknown},
/* 0x60 */ {dissect_unknown, dissect_unknown},
/* 0x61 */ {dissect_unknown, dissect_unknown},
/* 0x62 */ {dissect_unknown, dissect_unknown},
/* 0x63 */ {dissect_unknown, dissect_unknown},
/* 0x64 */ {dissect_unknown, dissect_unknown},
/* 0x65 */ {dissect_unknown, dissect_unknown},
/* 0x66 */ {dissect_unknown, dissect_unknown},
/* 0x67 */ {dissect_unknown, dissect_unknown},
/* 0x68 */ {dissect_unknown, dissect_unknown},
/* 0x69 */ {dissect_unknown, dissect_unknown},
/* 0x6a */ {dissect_unknown, dissect_unknown},
/* 0x6b */ {dissect_unknown, dissect_unknown},
/* 0x6c */ {dissect_unknown, dissect_unknown},
/* 0x6d */ {dissect_unknown, dissect_unknown},
/* 0x6e */ {dissect_unknown, dissect_unknown},
/* 0x6f */ {dissect_unknown, dissect_unknown},
/* 0x70 Tree Connect*/ {dissect_tree_connect_request , dissect_tree_connect_response},
/* 0x71 Tree Disconnect*/ {dissect_empty , dissect_empty},
/* 0x72 Negotiate Protocol*/ {dissect_negprot_request , dissect_negprot_response},
/* 0x73 Session Setup And X*/ {dissect_session_setup_andx_request , dissect_session_setup_andx_response},
/* 0x74 Logoff And X*/ {dissect_empty_andx , dissect_empty_andx},
/* 0x75 Tree Connect And X*/ {dissect_tree_connect_andx_request , dissect_tree_connect_andx_response},
/* 0x76 */ {dissect_unknown, dissect_unknown},
/* 0x77 */ {dissect_unknown, dissect_unknown},
/* 0x78 */ {dissect_unknown, dissect_unknown},
/* 0x79 */ {dissect_unknown, dissect_unknown},
/* 0x7a */ {dissect_unknown, dissect_unknown},
/* 0x7b */ {dissect_unknown, dissect_unknown},
/* 0x7c */ {dissect_unknown, dissect_unknown},
/* 0x7d */ {dissect_unknown, dissect_unknown},
/* 0x7e */ {dissect_unknown, dissect_unknown},
/* 0x7f */ {dissect_unknown, dissect_unknown},
/* 0x70 Tree Connect*/ {dissect_tree_connect_request , dissect_tree_connect_response},
/* 0x71 Tree Disconnect*/ {dissect_empty , dissect_empty},
/* 0x72 Negotiate Protocol*/ {dissect_negprot_request , dissect_negprot_response},
/* 0x73 Session Setup And X*/ {dissect_session_setup_andx_request , dissect_session_setup_andx_response},
/* 0x74 Logoff And X*/ {dissect_empty_andx , dissect_empty_andx},
/* 0x75 Tree Connect And X*/ {dissect_tree_connect_andx_request , dissect_tree_connect_andx_response},
/* 0x76 */ {dissect_unknown, dissect_unknown},
/* 0x77 */ {dissect_unknown, dissect_unknown},
/* 0x78 */ {dissect_unknown, dissect_unknown},
/* 0x79 */ {dissect_unknown, dissect_unknown},
/* 0x7a */ {dissect_unknown, dissect_unknown},
/* 0x7b */ {dissect_unknown, dissect_unknown},
/* 0x7c */ {dissect_unknown, dissect_unknown},
/* 0x7d */ {dissect_unknown, dissect_unknown},
/* 0x7e */ {dissect_unknown, dissect_unknown},
/* 0x7f */ {dissect_unknown, dissect_unknown},
/* 0x80 Query Info Disk*/ {dissect_empty , dissect_query_information_disk_response},
/* 0x81 Search Dir*/ {dissect_search_dir_request , dissect_search_dir_response},
/* 0x82 Find*/ {dissect_find_request , dissect_find_response},
/* 0x83 Find Unique*/ {dissect_find_request , dissect_find_response},
/* 0x84 Find Close*/ {dissect_find_close_request , dissect_find_close_response},
/* 0x85 */ {dissect_unknown, dissect_unknown},
/* 0x86 */ {dissect_unknown, dissect_unknown},
/* 0x87 */ {dissect_unknown, dissect_unknown},
/* 0x88 */ {dissect_unknown, dissect_unknown},
/* 0x89 */ {dissect_unknown, dissect_unknown},
/* 0x8a */ {dissect_unknown, dissect_unknown},
/* 0x8b */ {dissect_unknown, dissect_unknown},
/* 0x8c */ {dissect_unknown, dissect_unknown},
/* 0x8d */ {dissect_unknown, dissect_unknown},
/* 0x8e */ {dissect_unknown, dissect_unknown},
/* 0x8f */ {dissect_unknown, dissect_unknown},
/* 0x80 Query Info Disk*/ {dissect_empty , dissect_query_information_disk_response},
/* 0x81 Search Dir*/ {dissect_search_dir_request , dissect_search_dir_response},
/* 0x82 Find*/ {dissect_find_request , dissect_find_response},
/* 0x83 Find Unique*/ {dissect_find_request , dissect_find_response},
/* 0x84 Find Close*/ {dissect_find_close_request , dissect_find_close_response},
/* 0x85 */ {dissect_unknown, dissect_unknown},
/* 0x86 */ {dissect_unknown, dissect_unknown},
/* 0x87 */ {dissect_unknown, dissect_unknown},
/* 0x88 */ {dissect_unknown, dissect_unknown},
/* 0x89 */ {dissect_unknown, dissect_unknown},
/* 0x8a */ {dissect_unknown, dissect_unknown},
/* 0x8b */ {dissect_unknown, dissect_unknown},
/* 0x8c */ {dissect_unknown, dissect_unknown},
/* 0x8d */ {dissect_unknown, dissect_unknown},
/* 0x8e */ {dissect_unknown, dissect_unknown},
/* 0x8f */ {dissect_unknown, dissect_unknown},
/* 0x90 */ {dissect_unknown, dissect_unknown},
/* 0x91 */ {dissect_unknown, dissect_unknown},
/* 0x92 */ {dissect_unknown, dissect_unknown},
/* 0x93 */ {dissect_unknown, dissect_unknown},
/* 0x94 */ {dissect_unknown, dissect_unknown},
/* 0x95 */ {dissect_unknown, dissect_unknown},
/* 0x96 */ {dissect_unknown, dissect_unknown},
/* 0x97 */ {dissect_unknown, dissect_unknown},
/* 0x98 */ {dissect_unknown, dissect_unknown},
/* 0x99 */ {dissect_unknown, dissect_unknown},
/* 0x9a */ {dissect_unknown, dissect_unknown},
/* 0x9b */ {dissect_unknown, dissect_unknown},
/* 0x9c */ {dissect_unknown, dissect_unknown},
/* 0x9d */ {dissect_unknown, dissect_unknown},
/* 0x9e */ {dissect_unknown, dissect_unknown},
/* 0x9f */ {dissect_unknown, dissect_unknown},
/* 0x90 */ {dissect_unknown, dissect_unknown},
/* 0x91 */ {dissect_unknown, dissect_unknown},
/* 0x92 */ {dissect_unknown, dissect_unknown},
/* 0x93 */ {dissect_unknown, dissect_unknown},
/* 0x94 */ {dissect_unknown, dissect_unknown},
/* 0x95 */ {dissect_unknown, dissect_unknown},
/* 0x96 */ {dissect_unknown, dissect_unknown},
/* 0x97 */ {dissect_unknown, dissect_unknown},
/* 0x98 */ {dissect_unknown, dissect_unknown},
/* 0x99 */ {dissect_unknown, dissect_unknown},
/* 0x9a */ {dissect_unknown, dissect_unknown},
/* 0x9b */ {dissect_unknown, dissect_unknown},
/* 0x9c */ {dissect_unknown, dissect_unknown},
/* 0x9d */ {dissect_unknown, dissect_unknown},
/* 0x9e */ {dissect_unknown, dissect_unknown},
/* 0x9f */ {dissect_unknown, dissect_unknown},
/* 0xa0 NT Transaction*/ {dissect_nt_transaction_request , dissect_nt_transaction_response},
/* 0xa1 NT Trans secondary*/ {dissect_nt_transaction_request , dissect_nt_transaction_response},
/* 0xa2 NT CreateAndX*/ {dissect_nt_create_andx_request , dissect_nt_create_andx_response},
/* 0xa3 */ {dissect_unknown , dissect_unknown},
/* 0xa4 NT Cancel*/ {dissect_nt_cancel_request , dissect_unknown}, /*no response to this one*/
/* 0xa5 NT Rename*/ {dissect_nt_rename_file_request , dissect_empty},
/* 0xa6 */ {dissect_unknown, dissect_unknown},
/* 0xa7 */ {dissect_unknown, dissect_unknown},
/* 0xa8 */ {dissect_unknown, dissect_unknown},
/* 0xa9 */ {dissect_unknown, dissect_unknown},
/* 0xaa */ {dissect_unknown, dissect_unknown},
/* 0xab */ {dissect_unknown, dissect_unknown},
/* 0xac */ {dissect_unknown, dissect_unknown},
/* 0xad */ {dissect_unknown, dissect_unknown},
/* 0xae */ {dissect_unknown, dissect_unknown},
/* 0xaf */ {dissect_unknown, dissect_unknown},
/* 0xa0 NT Transaction*/ {dissect_nt_transaction_request , dissect_nt_transaction_response},
/* 0xa1 NT Trans secondary*/ {dissect_nt_transaction_request , dissect_nt_transaction_response},
/* 0xa2 NT CreateAndX*/ {dissect_nt_create_andx_request , dissect_nt_create_andx_response},
/* 0xa3 */ {dissect_unknown, dissect_unknown},
/* 0xa4 NT Cancel*/ {dissect_nt_cancel_request , dissect_unknown}, /*no response to this one*/
/* 0xa5 NT Rename*/ {dissect_nt_rename_file_request , dissect_empty},
/* 0xa6 */ {dissect_unknown, dissect_unknown},
/* 0xa7 */ {dissect_unknown, dissect_unknown},
/* 0xa8 */ {dissect_unknown, dissect_unknown},
/* 0xa9 */ {dissect_unknown, dissect_unknown},
/* 0xaa */ {dissect_unknown, dissect_unknown},
/* 0xab */ {dissect_unknown, dissect_unknown},
/* 0xac */ {dissect_unknown, dissect_unknown},
/* 0xad */ {dissect_unknown, dissect_unknown},
/* 0xae */ {dissect_unknown, dissect_unknown},
/* 0xaf */ {dissect_unknown, dissect_unknown},
/* 0xb0 */ {dissect_unknown, dissect_unknown},
/* 0xb1 */ {dissect_unknown, dissect_unknown},
/* 0xb2 */ {dissect_unknown, dissect_unknown},
/* 0xb3 */ {dissect_unknown, dissect_unknown},
/* 0xb4 */ {dissect_unknown, dissect_unknown},
/* 0xb5 */ {dissect_unknown, dissect_unknown},
/* 0xb6 */ {dissect_unknown, dissect_unknown},
/* 0xb7 */ {dissect_unknown, dissect_unknown},
/* 0xb8 */ {dissect_unknown, dissect_unknown},
/* 0xb9 */ {dissect_unknown, dissect_unknown},
/* 0xba */ {dissect_unknown, dissect_unknown},
/* 0xbb */ {dissect_unknown, dissect_unknown},
/* 0xbc */ {dissect_unknown, dissect_unknown},
/* 0xbd */ {dissect_unknown, dissect_unknown},
/* 0xbe */ {dissect_unknown, dissect_unknown},
/* 0xbf */ {dissect_unknown, dissect_unknown},
/* 0xb0 */ {dissect_unknown, dissect_unknown},
/* 0xb1 */ {dissect_unknown, dissect_unknown},
/* 0xb2 */ {dissect_unknown, dissect_unknown},
/* 0xb3 */ {dissect_unknown, dissect_unknown},
/* 0xb4 */ {dissect_unknown, dissect_unknown},
/* 0xb5 */ {dissect_unknown, dissect_unknown},
/* 0xb6 */ {dissect_unknown, dissect_unknown},
/* 0xb7 */ {dissect_unknown, dissect_unknown},
/* 0xb8 */ {dissect_unknown, dissect_unknown},
/* 0xb9 */ {dissect_unknown, dissect_unknown},
/* 0xba */ {dissect_unknown, dissect_unknown},
/* 0xbb */ {dissect_unknown, dissect_unknown},
/* 0xbc */ {dissect_unknown, dissect_unknown},
/* 0xbd */ {dissect_unknown, dissect_unknown},
/* 0xbe */ {dissect_unknown, dissect_unknown},
/* 0xbf */ {dissect_unknown, dissect_unknown},
/* 0xc0 Open Print File*/ {dissect_open_print_file_request , dissect_open_print_file_response},
/* 0xc1 Write Print File*/ {dissect_write_print_file_request , dissect_empty},
/* 0xc2 Close Print File*/ {dissect_close_print_file_request , dissect_empty},
/* 0xc3 Get Print Queue*/ {dissect_get_print_queue_request , dissect_get_print_queue_response},
/* 0xc4 */ {dissect_unknown, dissect_unknown},
/* 0xc5 */ {dissect_unknown, dissect_unknown},
/* 0xc6 */ {dissect_unknown, dissect_unknown},
/* 0xc7 */ {dissect_unknown, dissect_unknown},
/* 0xc8 */ {dissect_unknown, dissect_unknown},
/* 0xc9 */ {dissect_unknown, dissect_unknown},
/* 0xca */ {dissect_unknown, dissect_unknown},
/* 0xcb */ {dissect_unknown, dissect_unknown},
/* 0xcc */ {dissect_unknown, dissect_unknown},
/* 0xcd */ {dissect_unknown, dissect_unknown},
/* 0xce */ {dissect_unknown, dissect_unknown},
/* 0xcf */ {dissect_unknown, dissect_unknown},
/* 0xc0 Open Print File*/ {dissect_open_print_file_request , dissect_open_print_file_response},
/* 0xc1 Write Print File*/ {dissect_write_print_file_request , dissect_empty},
/* 0xc2 Close Print File*/ {dissect_close_print_file_request , dissect_empty},
/* 0xc3 Get Print Queue*/ {dissect_get_print_queue_request , dissect_get_print_queue_response},
/* 0xc4 */ {dissect_unknown, dissect_unknown},
/* 0xc5 */ {dissect_unknown, dissect_unknown},
/* 0xc6 */ {dissect_unknown, dissect_unknown},
/* 0xc7 */ {dissect_unknown, dissect_unknown},
/* 0xc8 */ {dissect_unknown, dissect_unknown},
/* 0xc9 */ {dissect_unknown, dissect_unknown},
/* 0xca */ {dissect_unknown, dissect_unknown},
/* 0xcb */ {dissect_unknown, dissect_unknown},
/* 0xcc */ {dissect_unknown, dissect_unknown},
/* 0xcd */ {dissect_unknown, dissect_unknown},
/* 0xce */ {dissect_unknown, dissect_unknown},
/* 0xcf */ {dissect_unknown, dissect_unknown},
/* 0xd0 Send Single Block Message*/ {dissect_send_single_block_message_request , dissect_empty},
/* 0xd1 Send Broadcast Message*/ {dissect_send_single_block_message_request , dissect_empty},
/* 0xd2 Forward User Name*/ {dissect_forwarded_name , dissect_empty},
/* 0xd3 Cancel Forward*/ {dissect_forwarded_name , dissect_empty},
/* 0xd4 Get Machine Name*/ {dissect_empty , dissect_get_machine_name_response},
/* 0xd5 Send Start of Multi-block Message*/ {dissect_send_multi_block_message_start_request , dissect_message_group_id},
/* 0xd6 Send End of Multi-block Message*/ {dissect_message_group_id , dissect_empty},
/* 0xd7 Send Text of Multi-block Message*/ {dissect_send_multi_block_message_text_request , dissect_empty},
/* 0xd8 SMBreadbulk*/ {dissect_unknown , dissect_unknown},
/* 0xd9 SMBwritebulk*/ {dissect_unknown , dissect_unknown},
/* 0xda SMBwritebulkdata*/ {dissect_unknown , dissect_unknown},
/* 0xdb */ {dissect_unknown, dissect_unknown},
/* 0xdc */ {dissect_unknown, dissect_unknown},
/* 0xdd */ {dissect_unknown, dissect_unknown},
/* 0xde */ {dissect_unknown, dissect_unknown},
/* 0xdf */ {dissect_unknown, dissect_unknown},
/* 0xd0 Send Single Block Message*/ {dissect_send_single_block_message_request , dissect_empty},
/* 0xd1 Send Broadcast Message*/ {dissect_send_single_block_message_request , dissect_empty},
/* 0xd2 Forward User Name*/ {dissect_forwarded_name , dissect_empty},
/* 0xd3 Cancel Forward*/ {dissect_forwarded_name , dissect_empty},
/* 0xd4 Get Machine Name*/ {dissect_empty , dissect_get_machine_name_response},
/* 0xd5 Send Start of Multi-block Message*/ {dissect_send_multi_block_message_start_request , dissect_message_group_id},
/* 0xd6 Send End of Multi-block Message*/ {dissect_message_group_id , dissect_empty},
/* 0xd7 Send Text of Multi-block Message*/ {dissect_send_multi_block_message_text_request , dissect_empty},
/* 0xd8 SMBreadbulk*/ {dissect_unknown , dissect_unknown},
/* 0xd9 SMBwritebulk*/ {dissect_unknown , dissect_unknown},
/* 0xda SMBwritebulkdata*/ {dissect_unknown , dissect_unknown},
/* 0xdb */ {dissect_unknown, dissect_unknown},
/* 0xdc */ {dissect_unknown, dissect_unknown},
/* 0xdd */ {dissect_unknown, dissect_unknown},
/* 0xde */ {dissect_unknown, dissect_unknown},
/* 0xdf */ {dissect_unknown, dissect_unknown},
/* 0xe0 */ {dissect_unknown, dissect_unknown},
/* 0xe1 */ {dissect_unknown, dissect_unknown},
/* 0xe2 */ {dissect_unknown, dissect_unknown},
/* 0xe3 */ {dissect_unknown, dissect_unknown},
/* 0xe4 */ {dissect_unknown, dissect_unknown},
/* 0xe5 */ {dissect_unknown, dissect_unknown},
/* 0xe6 */ {dissect_unknown, dissect_unknown},
/* 0xe7 */ {dissect_unknown, dissect_unknown},
/* 0xe8 */ {dissect_unknown, dissect_unknown},
/* 0xe9 */ {dissect_unknown, dissect_unknown},
/* 0xea */ {dissect_unknown, dissect_unknown},
/* 0xeb */ {dissect_unknown, dissect_unknown},
/* 0xec */ {dissect_unknown, dissect_unknown},
/* 0xed */ {dissect_unknown, dissect_unknown},
/* 0xee */ {dissect_unknown, dissect_unknown},
/* 0xef */ {dissect_unknown, dissect_unknown},
/* 0xe0 */ {dissect_unknown, dissect_unknown},
/* 0xe1 */ {dissect_unknown, dissect_unknown},
/* 0xe2 */ {dissect_unknown, dissect_unknown},
/* 0xe3 */ {dissect_unknown, dissect_unknown},
/* 0xe4 */ {dissect_unknown, dissect_unknown},
/* 0xe5 */ {dissect_unknown, dissect_unknown},
/* 0xe6 */ {dissect_unknown, dissect_unknown},
/* 0xe7 */ {dissect_unknown, dissect_unknown},
/* 0xe8 */ {dissect_unknown, dissect_unknown},
/* 0xe9 */ {dissect_unknown, dissect_unknown},
/* 0xea */ {dissect_unknown, dissect_unknown},
/* 0xeb */ {dissect_unknown, dissect_unknown},
/* 0xec */ {dissect_unknown, dissect_unknown},
/* 0xed */ {dissect_unknown, dissect_unknown},
/* 0xee */ {dissect_unknown, dissect_unknown},
/* 0xef */ {dissect_unknown, dissect_unknown},
/* 0xf0 */ {dissect_unknown, dissect_unknown},
/* 0xf1 */ {dissect_unknown, dissect_unknown},
/* 0xf2 */ {dissect_unknown, dissect_unknown},
/* 0xf3 */ {dissect_unknown, dissect_unknown},
/* 0xf4 */ {dissect_unknown, dissect_unknown},
/* 0xf5 */ {dissect_unknown, dissect_unknown},
/* 0xf6 */ {dissect_unknown, dissect_unknown},
/* 0xf7 */ {dissect_unknown, dissect_unknown},
/* 0xf8 */ {dissect_unknown, dissect_unknown},
/* 0xf9 */ {dissect_unknown, dissect_unknown},
/* 0xfa */ {dissect_unknown, dissect_unknown},
/* 0xfb */ {dissect_unknown, dissect_unknown},
/* 0xfc */ {dissect_unknown, dissect_unknown},
/* 0xfd */ {dissect_unknown, dissect_unknown},
/* 0xfe */ {dissect_unknown, dissect_unknown},
/* 0xff */ {dissect_unknown, dissect_unknown},
/* 0xf0 */ {dissect_unknown, dissect_unknown},
/* 0xf1 */ {dissect_unknown, dissect_unknown},
/* 0xf2 */ {dissect_unknown, dissect_unknown},
/* 0xf3 */ {dissect_unknown, dissect_unknown},
/* 0xf4 */ {dissect_unknown, dissect_unknown},
/* 0xf5 */ {dissect_unknown, dissect_unknown},
/* 0xf6 */ {dissect_unknown, dissect_unknown},
/* 0xf7 */ {dissect_unknown, dissect_unknown},
/* 0xf8 */ {dissect_unknown, dissect_unknown},
/* 0xf9 */ {dissect_unknown, dissect_unknown},
/* 0xfa */ {dissect_unknown, dissect_unknown},
/* 0xfb */ {dissect_unknown, dissect_unknown},
/* 0xfc */ {dissect_unknown, dissect_unknown},
/* 0xfd */ {dissect_unknown, dissect_unknown},
/* 0xfe */ {dissect_unknown, dissect_unknown},
/* 0xff */ {dissect_unknown, dissect_unknown},
};
static int
@ -17263,39 +17263,39 @@ static const value_string errcls_types[] = {
/* Error codes for the ERRSRV class */
#define SRV_errors_VALUE_STRING_LIST(XXX) \
XXX( SMBE_SRV_error, 1, "Non specific error code") \
XXX( SMBE_SRV_badpw, 2, "Bad password") \
XXX( SMBE_SRV_badtype, 3, "Reserved") \
XXX( SMBE_SRV_access, 4, "No permissions to perform the requested operation") \
XXX( SMBE_SRV_invnid, 5, "TID invalid") \
XXX( SMBE_SRV_invnetname, 6, "Invalid network name. Service not found") \
XXX( SMBE_SRV_invdevice, 7, "Invalid device") \
XXX( SMBE_SRV_unknownsmb, 22, "Unknown SMB, from NT 3.5 response") \
XXX( SMBE_SRV_qfull, 49, "Print queue full") \
XXX( SMBE_SRV_qtoobig, 50, "Queued item too big") \
XXX( SMBE_SRV_qeof, 51, "EOF in print queue dump") \
XXX( SMBE_SRV_invpfid, 52, "Invalid print file in smb_fid") \
XXX( SMBE_SRV_smbcmd, 64, "Unrecognised command") \
XXX( SMBE_SRV_srverror, 65, "SMB server internal error") \
XXX( SMBE_SRV_filespecs, 67, "Fid and pathname invalid combination") \
XXX( SMBE_SRV_badlink, 68, "Bad link in request ???") \
XXX( SMBE_SRV_badpermits, 69, "Access specified for a file is not valid") \
XXX( SMBE_SRV_badpid, 70, "Bad process id in request") \
XXX( SMBE_SRV_setattrmode, 71, "Attribute mode invalid") \
XXX( SMBE_SRV_paused, 81, "Message server paused") \
XXX( SMBE_SRV_msgoff, 82, "Not receiving messages") \
XXX( SMBE_SRV_noroom, 83, "No room for message") \
XXX( SMBE_SRV_rmuns, 87, "Too many remote usernames") \
XXX( SMBE_SRV_timeout, 88, "Operation timed out") \
XXX( SMBE_SRV_noresource, 89, "No resources currently available for request.") \
XXX( SMBE_SRV_toomanyuids, 90, "Too many userids") \
XXX( SMBE_SRV_baduid, 91, "Bad userid") \
XXX( SMBE_SRV_useMPX, 250, "Temporarily unable to use raw mode, use MPX mode") \
XXX( SMBE_SRV_useSTD, 251, "Temporarily unable to use raw mode, use standard mode") \
XXX( SMBE_SRV_contMPX, 252, "Resume MPX mode") \
XXX( SMBE_SRV_badPW, 253, "Bad Password???") \
XXX( SMBE_SRV_nosupport, 0xFFFF, "Operation not supported")
#define SRV_errors_VALUE_STRING_LIST(XXX) \
XXX( SMBE_SRV_error, 1, "Non specific error code") \
XXX( SMBE_SRV_badpw, 2, "Bad password") \
XXX( SMBE_SRV_badtype, 3, "Reserved") \
XXX( SMBE_SRV_access, 4, "No permissions to perform the requested operation") \
XXX( SMBE_SRV_invnid, 5, "TID invalid") \
XXX( SMBE_SRV_invnetname, 6, "Invalid network name. Service not found") \
XXX( SMBE_SRV_invdevice, 7, "Invalid device") \
XXX( SMBE_SRV_unknownsmb, 22, "Unknown SMB, from NT 3.5 response") \
XXX( SMBE_SRV_qfull, 49, "Print queue full") \
XXX( SMBE_SRV_qtoobig, 50, "Queued item too big") \
XXX( SMBE_SRV_qeof, 51, "EOF in print queue dump") \
XXX( SMBE_SRV_invpfid, 52, "Invalid print file in smb_fid") \
XXX( SMBE_SRV_smbcmd, 64, "Unrecognised command") \
XXX( SMBE_SRV_srverror, 65, "SMB server internal error") \
XXX( SMBE_SRV_filespecs, 67, "Fid and pathname invalid combination") \
XXX( SMBE_SRV_badlink, 68, "Bad link in request ???") \
XXX( SMBE_SRV_badpermits, 69, "Access specified for a file is not valid") \
XXX( SMBE_SRV_badpid, 70, "Bad process id in request") \
XXX( SMBE_SRV_setattrmode, 71, "Attribute mode invalid") \
XXX( SMBE_SRV_paused, 81, "Message server paused") \
XXX( SMBE_SRV_msgoff, 82, "Not receiving messages") \
XXX( SMBE_SRV_noroom, 83, "No room for message") \
XXX( SMBE_SRV_rmuns, 87, "Too many remote usernames") \
XXX( SMBE_SRV_timeout, 88, "Operation timed out") \
XXX( SMBE_SRV_noresource, 89, "No resources currently available for request.") \
XXX( SMBE_SRV_toomanyuids, 90, "Too many userids") \
XXX( SMBE_SRV_baduid, 91, "Bad userid") \
XXX( SMBE_SRV_useMPX, 250, "Temporarily unable to use raw mode, use MPX mode") \
XXX( SMBE_SRV_useSTD, 251, "Temporarily unable to use raw mode, use standard mode") \
XXX( SMBE_SRV_contMPX, 252, "Resume MPX mode") \
XXX( SMBE_SRV_badPW, 253, "Bad Password???") \
XXX( SMBE_SRV_nosupport, 0xFFFF, "Operation not supported")
#if 0 /* Values not needed */
VALUE_STRING_ENUM(SRV_errors);
@ -17306,28 +17306,28 @@ static value_string_ext SRV_errors_ext = VALUE_STRING_EXT_INIT(SRV_errors);
/* Error codes for the ERRHRD class */
#define HRD_errors_VALUE_STRING_LIST(XXX) \
XXX( SMBE_HRD_nowrite, 19, "Read only media") \
XXX( SMBE_HRD_badunit, 20, "Unknown device") \
XXX( SMBE_HRD_notready, 21, "Drive not ready") \
XXX( SMBE_HRD_badcmd, 22, "Unknown command") \
XXX( SMBE_HRD_data, 23, "Data (CRC) error") \
XXX( SMBE_HRD_badreq, 24, "Bad request structure length") \
XXX( SMBE_HRD_seek, 25, "Seek error") \
XXX( SMBE_HRD_badmedia, 26, "Unknown media type") \
XXX( SMBE_HRD_badsector, 27, "Sector not found") \
XXX( SMBE_HRD_nopaper, 28, "Printer out of paper") \
XXX( SMBE_HRD_write, 29, "Write fault") \
XXX( SMBE_HRD_read, 30, "Read fault") \
XXX( SMBE_HRD_general, 31, "General failure") \
/* -- (really part of ERRDOS class ??) -- */ \
XXX( SMBE_HRD_badshare, 32, "An open conflicts with an existing open") \
XXX( SMBE_HRD_lock, 33, "Lock conflict/invalid mode, or unlock of another process's lock") \
/* -- --*/ \
XXX( SMBE_HRD_wrongdisk, 34, "The wrong disk was found in a drive") \
XXX( SMBE_HRD_FCBunavail, 35, "No FCBs are available to process request") \
XXX( SMBE_HRD_sharebufexc, 36, "A sharing buffer has been exceeded") \
XXX( SMBE_HRD_diskfull, 39, "Disk full???")
#define HRD_errors_VALUE_STRING_LIST(XXX) \
XXX( SMBE_HRD_nowrite, 19, "Read only media") \
XXX( SMBE_HRD_badunit, 20, "Unknown device") \
XXX( SMBE_HRD_notready, 21, "Drive not ready") \
XXX( SMBE_HRD_badcmd, 22, "Unknown command") \
XXX( SMBE_HRD_data, 23, "Data (CRC) error") \
XXX( SMBE_HRD_badreq, 24, "Bad request structure length") \
XXX( SMBE_HRD_seek, 25, "Seek error") \
XXX( SMBE_HRD_badmedia, 26, "Unknown media type") \
XXX( SMBE_HRD_badsector, 27, "Sector not found") \
XXX( SMBE_HRD_nopaper, 28, "Printer out of paper") \
XXX( SMBE_HRD_write, 29, "Write fault") \
XXX( SMBE_HRD_read, 30, "Read fault") \
XXX( SMBE_HRD_general, 31, "General failure") \
/* -- (really part of ERRDOS class ??) -- */ \
XXX( SMBE_HRD_badshare, 32, "An open conflicts with an existing open") \
XXX( SMBE_HRD_lock, 33, "Lock conflict/invalid mode, or unlock of another process's lock") \
/* -- --*/ \
XXX( SMBE_HRD_wrongdisk, 34, "The wrong disk was found in a drive") \
XXX( SMBE_HRD_FCBunavail, 35, "No FCBs are available to process request") \
XXX( SMBE_HRD_sharebufexc, 36, "A sharing buffer has been exceeded") \
XXX( SMBE_HRD_diskfull, 39, "Disk full???")
#if 0 /* Values not needed */
VALUE_STRING_ENUM(HRD_errors);

View File

@ -1389,7 +1389,7 @@ dissect_smb2_fid(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset
di.conformant_run = 0;
/* we need di->call_data->flags.NDR64 == 0 */
di.call_data = &call_data;
di.dcerpc_procedure_name = "";
di.dcerpc_procedure_name = "";
switch (mode) {
case FID_MODE_OPEN:

View File

@ -183,20 +183,20 @@ static const value_string sml_abort[]={
};
static const value_string sml_body[]={
{OPEN_REQ, "PublicOpen.Req"},
{OPEN_RES, "PublicOpen.Res"},
{CLOSE_REQ, "PublicClose.Req"},
{CLOSE_RES, "PublicClose.Res"},
{PROFILEPACK_REQ, "GetProfilePack.Req"},
{PROFILEPACK_RES, "GetProfilePack.Res"},
{PROFILELIST_REQ, "GetProfileList.Req"},
{PROFILELIST_RES, "GetProfileList.Res"},
{OPEN_REQ, "PublicOpen.Req"},
{OPEN_RES, "PublicOpen.Res"},
{CLOSE_REQ, "PublicClose.Req"},
{CLOSE_RES, "PublicClose.Res"},
{PROFILEPACK_REQ, "GetProfilePack.Req"},
{PROFILEPACK_RES, "GetProfilePack.Res"},
{PROFILELIST_REQ, "GetProfileList.Req"},
{PROFILELIST_RES, "GetProfileList.Res"},
{GETPROCPARAMETER_REQ, "GetProcParameter.Req"},
{GETPROCPARAMETER_RES, "GetProcParameter.Res"},
{SETPROCPARAMETER_REQ, "SetProcParameter.Req"},
{GETLIST_REQ, "GetList.Req"},
{GETLIST_RES, "GetList.Res"},
{ATTENTION, "Attention.Res"},
{GETLIST_REQ, "GetList.Req"},
{GETLIST_RES, "GetList.Res"},
{ATTENTION, "Attention.Res"},
{0, NULL}
};
@ -207,10 +207,10 @@ static const value_string sml_timetypes[]={
};
static const value_string procvalues[]={
{PROC_VALUE, "Value"},
{PROC_VALUE, "Value"},
{PROC_PERIOD, "PeriodEntry"},
{PROC_TUPEL, "TupelEntry"},
{PROC_TIME, "Time"},
{PROC_TUPEL, "TupelEntry"},
{PROC_TIME, "Time"},
{0, NULL}
};
@ -782,8 +782,8 @@ static void field_valTime(tvbuff_t *tvb, proto_tree *insert_tree, guint *offset,
}
static void TupelEntryTree(tvbuff_t *tvb, proto_tree *procParValue_tree, guint *offset){
proto_item *SML_time;
proto_item *TupelEntry;
proto_item *SML_time;
proto_item *TupelEntry;
proto_tree *TupelEntry_list = NULL;
proto_tree *SML_time_tree = NULL;
@ -1537,7 +1537,7 @@ static gboolean decode_GetProfilePackRes(tvbuff_t *tvb, packet_info *pinfo, prot
get_length(tvb, offset, &data, &length);
repeat2 = data + length;
valuelist_list = proto_tree_add_subtree_format(period_List_Entry_list, tvb, *offset, -1, ett_sml_valuelist, &valuelist,
"period_List with %d %s", length+data, plurality(length+data, "element", "elements"));
"period_List with %d %s", length+data, plurality(length+data, "element", "elements"));
if ((tvb_get_guint8(tvb,*offset) & 0xF0) != LONG_LIST && (tvb_get_guint8(tvb,*offset) & 0xF0) != SHORT_LIST){
expert_add_info_format(pinfo, valuelist, &ei_sml_invalid_count, "invalid count of elements in valueList");
@ -2219,7 +2219,7 @@ static void dissect_sml_file(tvbuff_t *tvb, packet_info *pinfo, gint *offset, pr
/*List*/
get_length(tvb, offset, &data, &length);
mainlist_list = proto_tree_add_subtree_format(sml_tree, tvb, *offset, -1, ett_sml_mainlist, &mainlist, "List with %d %s",
length+data, plurality(length+data, "element", "elements"));
length+data, plurality(length+data, "element", "elements"));
if (tvb_get_guint8(tvb, *offset) != LIST_6_ELEMENTS) {
expert_add_info_format(pinfo, mainlist, &ei_sml_invalid_count, "invalid count of elements");

View File

@ -268,18 +268,18 @@ proto_register_uhd(void)
&ett_uhd
};
module_t *uhd_module;
module_t *uhd_module;
proto_uhd = proto_register_protocol("UHD", "UHD", "uhd");
proto_register_field_array(proto_uhd, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
uhd_module = prefs_register_protocol(proto_uhd, proto_reg_handoff_uhd);
prefs_register_uint_preference(uhd_module,
"dissector_port",
"Dissector UDP port",
"The UDP port used by this dissector",
10, &dissector_port_pref);
uhd_module = prefs_register_protocol(proto_uhd, proto_reg_handoff_uhd);
prefs_register_uint_preference(uhd_module,
"dissector_port",
"Dissector UDP port",
"The UDP port used by this dissector",
10, &dissector_port_pref);
}
void

View File

@ -857,8 +857,8 @@ static const int *vnc_fence_flags[] = {
&hf_vnc_fence_sync_next,
&hf_vnc_fence_block_after,
&hf_vnc_fence_block_before,
NULL
};
NULL
};
/* Context Information */
static int hf_vnc_context_information_app_id = -1;
@ -970,7 +970,7 @@ dissect_vnc(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
vnc_set_depth(pinfo, vnc_depth);
if (ret) {
return; /* We're in a "startup" state; Cannot yet do "normal" processing */
return; /* We're in a "startup" state; Cannot yet do "normal" processing */
}
if(DEST_PORT_VNC || per_conversation_info->server_port == pinfo->destport) {
@ -1749,7 +1749,7 @@ again:
vnc_server_message_type_tree);
break;
default :
default :
col_append_sep_str(pinfo->cinfo, COL_INFO, "; ",
"Unknown server message type");
*offset = tvb_reported_length(tvb); /* Swallow the rest of the segment */
@ -1996,11 +1996,11 @@ vnc_server_framebuffer_update(tvbuff_t *tvb, packet_info *pinfo, gint *offset,
num_rects = tvb_get_ntohs(tvb, *offset);
ti = proto_tree_add_item(tree, hf_vnc_rectangle_num, tvb, *offset, 2, ENC_BIG_ENDIAN);
/* In some cases, TIGHT encoding ignores the "number of rectangles" field; */
/* In some cases, TIGHT encoding ignores the "number of rectangles" field; */
/* VNC_ENCODING_TYPE_LAST_RECT is used to indicate the end of the rectangle list. */
/* (It appears that TIGHT encoding uses 0xFFFF for the num_rects field when the */
/* field is not being used). For now: we'll assume that a value 0f 0xFFFF means */
/* that the field is not being used. */
/* (It appears that TIGHT encoding uses 0xFFFF for the num_rects field when the */
/* field is not being used). For now: we'll assume that a value 0f 0xFFFF means */
/* that the field is not being used. */
if (num_rects == 0xFFFF) {
proto_item_append_text(ti, " [TIGHT encoding assumed (field is not used)]");
}

View File

@ -1122,7 +1122,7 @@ static const value_string vals_wbxml_public_ids[] = {
/* 0x110F -- 0x11FF: unassigned */
{ 0x1200, "-//3GPP2.COM//DTD IOTA 1.0//EN" },
{ 0x1201, "-//SYNCML//DTD SyncML 1.2//EN" },
{ 0x1202, "-//SYNCML//DTD MetaInf 1.2//EN" },
{ 0x1202, "-//SYNCML//DTD MetaInf 1.2//EN" },
{ 0x1203, "-//SYNCML//DTD DevInf 1.2//EN" },
{ 0x1204, "-//NOKIA//DTD LANDMARKS 1.0//EN" },

File diff suppressed because it is too large Load Diff

View File

@ -501,45 +501,46 @@ dissect_maplist_reply(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree
/* someone please get me a version 1 trace */
static const vsff ypserv1_proc[] = {
{ 0, "NULL", NULL, NULL },
{ YPPROC_DOMAIN, "DOMAIN",
{ 0, "NULL",
NULL, NULL },
{ YPPROC_DOMAIN_NONACK, "DOMAIN_NONACK",
{ YPPROC_DOMAIN, "DOMAIN",
NULL, NULL },
{ YPPROC_MATCH, "MATCH",
{ YPPROC_DOMAIN_NONACK, "DOMAIN_NONACK",
NULL, NULL },
{ YPPROC_FIRST, "FIRST",
{ YPPROC_MATCH, "MATCH",
NULL, NULL },
{ YPPROC_NEXT, "NEXT",
{ YPPROC_FIRST, "FIRST",
NULL, NULL },
{ YPPROC_XFR, "XFR",
{ YPPROC_NEXT, "NEXT",
NULL, NULL },
{ YPPROC_CLEAR, "CLEAR",
{ YPPROC_XFR, "XFR",
NULL, NULL },
{ YPPROC_ALL, "ALL",
{ YPPROC_CLEAR, "CLEAR",
NULL, NULL },
{ YPPROC_MASTER, "MASTER",
{ YPPROC_ALL, "ALL",
NULL, NULL },
{ YPPROC_ORDER, "ORDER",
{ YPPROC_MASTER, "MASTER",
NULL, NULL },
{ YPPROC_MAPLIST, "MAPLIST",
{ YPPROC_ORDER, "ORDER",
NULL, NULL },
{ 0, NULL, NULL, NULL }
{ YPPROC_MAPLIST, "MAPLIST",
NULL, NULL },
{ 0, NULL, NULL, NULL }
};
static const value_string ypserv1_proc_vals[] = {
{ YPPROC_DOMAIN, "DOMAIN" },
{ YPPROC_DOMAIN_NONACK, "DOMAIN_NONACK" },
{ YPPROC_MATCH, "MATCH" },
{ YPPROC_FIRST, "FIRST" },
{ YPPROC_NEXT, "NEXT" },
{ YPPROC_XFR, "XFR" },
{ YPPROC_CLEAR, "CLEAR" },
{ YPPROC_ALL, "ALL" },
{ YPPROC_MASTER, "MASTER" },
{ YPPROC_ORDER, "ORDER" },
{ YPPROC_MAPLIST, "MAPLIST" },
{ 0, NULL }
{ YPPROC_DOMAIN, "DOMAIN" },
{ YPPROC_DOMAIN_NONACK, "DOMAIN_NONACK" },
{ YPPROC_MATCH, "MATCH" },
{ YPPROC_FIRST, "FIRST" },
{ YPPROC_NEXT, "NEXT" },
{ YPPROC_XFR, "XFR" },
{ YPPROC_CLEAR, "CLEAR" },
{ YPPROC_ALL, "ALL" },
{ YPPROC_MASTER, "MASTER" },
{ YPPROC_ORDER, "ORDER" },
{ YPPROC_MAPLIST, "MAPLIST" },
{ 0, NULL }
};
/* end of YPServ version 1 */
@ -548,30 +549,31 @@ static const value_string ypserv1_proc_vals[] = {
/* NULL as function pointer means: type of arguments is "void". */
static const vsff ypserv2_proc[] = {
{ 0, "NULL", NULL, NULL },
{ YPPROC_DOMAIN, "DOMAIN",
{ 0, "NULL",
NULL, NULL },
{ YPPROC_DOMAIN, "DOMAIN",
dissect_domain_call, dissect_domain_reply },
{ YPPROC_DOMAIN_NONACK, "DOMAIN_NONACK",
{ YPPROC_DOMAIN_NONACK, "DOMAIN_NONACK",
dissect_domain_nonack_call, dissect_domain_nonack_reply },
{ YPPROC_MATCH, "MATCH",
{ YPPROC_MATCH, "MATCH",
dissect_match_call, dissect_match_reply },
{ YPPROC_FIRST, "FIRST",
{ YPPROC_FIRST, "FIRST",
dissect_first_call, dissect_first_reply },
{ YPPROC_NEXT, "NEXT",
{ YPPROC_NEXT, "NEXT",
dissect_next_call, dissect_next_reply },
{ YPPROC_XFR, "XFR",
{ YPPROC_XFR, "XFR",
dissect_xfr_call, dissect_xfr_reply },
{ YPPROC_CLEAR, "CLEAR",
{ YPPROC_CLEAR, "CLEAR",
dissect_clear_call, dissect_clear_reply },
{ YPPROC_ALL, "ALL",
{ YPPROC_ALL, "ALL",
dissect_all_call, dissect_all_reply },
{ YPPROC_MASTER, "MASTER",
{ YPPROC_MASTER, "MASTER",
dissect_master_call, dissect_master_reply },
{ YPPROC_ORDER, "ORDER",
{ YPPROC_ORDER, "ORDER",
dissect_order_call, dissect_order_reply },
{ YPPROC_MAPLIST, "MAPLIST",
{ YPPROC_MAPLIST, "MAPLIST",
dissect_maplist_call, dissect_maplist_reply },
{ 0, NULL, NULL, NULL }
{ 0, NULL, NULL, NULL }
};
static const value_string ypserv2_proc_vals[] = {