From 8efad466c4e62b0371659c8fd1d909038c36da27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Valverde?= Date: Tue, 15 Feb 2022 02:45:20 +0000 Subject: Tools: Fix fix-encoding-args.pl ASCII string validation Do not require a useless ENC_NA parameter for string encodings. FT_STRING and FT_STRINGZ types don't have any ndianness. Follow-up to 6ec429622c9258eefd388caf21ce92ab5b9f54b4. --- epan/dissectors/packet-s7comm.c | 50 ++++++++++++++++++++--------------------- 1 file changed, 25 insertions(+), 25 deletions(-) (limited to 'epan/dissectors/packet-s7comm.c') diff --git a/epan/dissectors/packet-s7comm.c b/epan/dissectors/packet-s7comm.c index 41e85a348b..a3fc47a858 100644 --- a/epan/dissectors/packet-s7comm.c +++ b/epan/dissectors/packet-s7comm.c @@ -3135,7 +3135,7 @@ s7comm_decode_plc_controls_param_hex29(tvbuff_t *tvb, proto_tree_add_uint(tree, hf_s7comm_data_plccontrol_part2_len, tvb, offset, 1, len); offset += 1; /* Function as string */ - proto_tree_add_item(tree, hf_s7comm_piservice_servicename, tvb, offset, len, ENC_ASCII|ENC_NA); + proto_tree_add_item(tree, hf_s7comm_piservice_servicename, tvb, offset, len, ENC_ASCII); offset += len; return offset; @@ -3261,10 +3261,10 @@ s7comm_decode_pi_service(tvbuff_t *tvb, paramoffset += 1; col_append_fstr(pinfo->cinfo, COL_INFO, " -> %s(", servicename); for (i = 0; i < count; i++) { - item = proto_tree_add_item(param_tree, hf_s7comm_data_blockcontrol_filename, tvb, paramoffset, 8, ENC_ASCII|ENC_NA); + item = proto_tree_add_item(param_tree, hf_s7comm_data_blockcontrol_filename, tvb, paramoffset, 8, ENC_ASCII); file_tree = proto_item_add_subtree(item, ett_s7comm_plcfilename); blocktype = tvb_get_ntohs(tvb, paramoffset); - itemadd = proto_tree_add_item(file_tree, hf_s7comm_data_blockcontrol_block_type, tvb, paramoffset, 2, ENC_ASCII|ENC_NA); + itemadd = proto_tree_add_item(file_tree, hf_s7comm_data_blockcontrol_block_type, tvb, paramoffset, 2, ENC_ASCII); proto_item_append_text(itemadd, " (%s)", val_to_str(blocktype, blocktype_names, "Unknown Block type: 0x%04x")); paramoffset += 2; proto_tree_add_item_ret_string(file_tree, hf_s7comm_data_blockcontrol_block_num, tvb, paramoffset, 5, ENC_ASCII|ENC_NA, pinfo->pool, &str); @@ -3285,7 +3285,7 @@ s7comm_decode_pi_service(tvbuff_t *tvb, if (i+1 < count) { col_append_str(pinfo->cinfo, COL_INFO, ", "); } - itemadd = proto_tree_add_item(file_tree, hf_s7comm_data_blockcontrol_dest_filesys, tvb, paramoffset, 1, ENC_ASCII|ENC_NA); + itemadd = proto_tree_add_item(file_tree, hf_s7comm_data_blockcontrol_dest_filesys, tvb, paramoffset, 1, ENC_ASCII); proto_item_append_text(itemadd, " (%s)", val_to_str(tvb_get_guint8(tvb, paramoffset), blocktype_attribute2_names, "Unknown filesys: %c")); paramoffset += 1; } @@ -3610,7 +3610,7 @@ s7comm_decode_plc_controls_filename(tvbuff_t *tvb, len = tvb_get_guint8(tvb, offset); proto_tree_add_uint(param_tree, hf_s7comm_data_blockcontrol_filename_len, tvb, offset, 1, len); offset += 1; - item = proto_tree_add_item(param_tree, hf_s7comm_data_blockcontrol_filename, tvb, offset, len, ENC_ASCII|ENC_NA); + item = proto_tree_add_item(param_tree, hf_s7comm_data_blockcontrol_filename, tvb, offset, len, ENC_ASCII); /* The filename when uploading from PLC has a well known structure, which can be further dissected. * An upload from a NC is a simple filename string with no deeper structure. * Check for PLC filename, by checking some fixed fields. @@ -3623,10 +3623,10 @@ s7comm_decode_plc_controls_filename(tvbuff_t *tvb, gboolean num_valid; is_plcfilename = TRUE; file_tree = proto_item_add_subtree(item, ett_s7comm_plcfilename); - itemadd = proto_tree_add_item(file_tree, hf_s7comm_data_blockcontrol_file_ident, tvb, offset, 1, ENC_ASCII|ENC_NA); + itemadd = proto_tree_add_item(file_tree, hf_s7comm_data_blockcontrol_file_ident, tvb, offset, 1, ENC_ASCII); proto_item_append_text(itemadd, " (%s)", val_to_str(tvb_get_guint8(tvb, offset), blocktype_attribute1_names, "Unknown identifier: %c")); offset += 1; - itemadd = proto_tree_add_item(file_tree, hf_s7comm_data_blockcontrol_block_type, tvb, offset, 2, ENC_ASCII|ENC_NA); + itemadd = proto_tree_add_item(file_tree, hf_s7comm_data_blockcontrol_block_type, tvb, offset, 2, ENC_ASCII); proto_item_append_text(itemadd, " (%s)", val_to_str(blocktype, blocktype_names, "Unknown Block type: 0x%04x")); offset += 2; proto_tree_add_item_ret_string(file_tree, hf_s7comm_data_blockcontrol_block_num, tvb, offset, 5, ENC_ASCII|ENC_NA, pinfo->pool, &str); @@ -3644,7 +3644,7 @@ s7comm_decode_plc_controls_filename(tvbuff_t *tvb, proto_item_append_text(file_tree, "NaN]"); col_append_str(pinfo->cinfo, COL_INFO, "NaN]"); } - itemadd = proto_tree_add_item(file_tree, hf_s7comm_data_blockcontrol_dest_filesys, tvb, offset, 1, ENC_ASCII|ENC_NA); + itemadd = proto_tree_add_item(file_tree, hf_s7comm_data_blockcontrol_dest_filesys, tvb, offset, 1, ENC_ASCII); proto_item_append_text(itemadd, " (%s)", val_to_str(tvb_get_guint8(tvb, offset), blocktype_attribute2_names, "Unknown filesys: %c")); offset += 1; } @@ -3701,11 +3701,11 @@ s7comm_decode_plc_controls_updownload(tvbuff_t *tvb, proto_tree_add_uint(param_tree, hf_s7comm_data_blockcontrol_part2_len, tvb, offset, 1, len); offset += 1; /* first byte unknown '1' */ - proto_tree_add_item(param_tree, hf_s7comm_data_blockcontrol_part2_unknown, tvb, offset, 1, ENC_ASCII|ENC_NA); + proto_tree_add_item(param_tree, hf_s7comm_data_blockcontrol_part2_unknown, tvb, offset, 1, ENC_ASCII); offset += 1; - proto_tree_add_item(param_tree, hf_s7comm_data_blockcontrol_loadmem_len, tvb, offset, 6, ENC_ASCII|ENC_NA); + proto_tree_add_item(param_tree, hf_s7comm_data_blockcontrol_loadmem_len, tvb, offset, 6, ENC_ASCII); offset += 6; - proto_tree_add_item(param_tree, hf_s7comm_data_blockcontrol_mc7code_len, tvb, offset, 6, ENC_ASCII|ENC_NA); + proto_tree_add_item(param_tree, hf_s7comm_data_blockcontrol_mc7code_len, tvb, offset, 6, ENC_ASCII); offset += 6; } } else if (rosctr == S7COMM_ROSCTR_ACK_DATA) { @@ -3736,7 +3736,7 @@ s7comm_decode_plc_controls_updownload(tvbuff_t *tvb, len = tvb_get_guint8(tvb, offset); proto_tree_add_uint(param_tree, hf_s7comm_data_blockcontrol_upl_lenstring_len, tvb, offset, 1, len); offset += 1; - proto_tree_add_item(param_tree, hf_s7comm_data_blockcontrol_upl_lenstring, tvb, offset, len, ENC_ASCII|ENC_NA); + proto_tree_add_item(param_tree, hf_s7comm_data_blockcontrol_upl_lenstring, tvb, offset, len, ENC_ASCII); offset += len; } } @@ -5332,9 +5332,9 @@ s7comm_decode_ud_ncprg_subfunc(tvbuff_t *tvb, subfunc == S7COMM_NCPRG_FUNCSTARTUPLOAD)) { start_offset = offset; /* file length may be contain only spaces when downloading a directory */ - proto_tree_add_item(data_tree, hf_s7comm_data_ncprg_filelength, tvb, offset, 8, ENC_ASCII|ENC_NA); + proto_tree_add_item(data_tree, hf_s7comm_data_ncprg_filelength, tvb, offset, 8, ENC_ASCII); offset += 8; - proto_tree_add_item(data_tree, hf_s7comm_data_ncprg_filetime, tvb, offset, 16, ENC_ASCII|ENC_NA); + proto_tree_add_item(data_tree, hf_s7comm_data_ncprg_filetime, tvb, offset, 16, ENC_ASCII); offset += 16; /* File path and file data aren't always there */ if (dlength > 24) { @@ -5342,7 +5342,7 @@ s7comm_decode_ud_ncprg_subfunc(tvbuff_t *tvb, string_end_offset = tvb_find_guint8(tvb, offset, dlength-8-16, 0x0a); if (string_end_offset > 0) { string_len = string_end_offset - offset + 1; /* include 0x0a */ - proto_tree_add_item(data_tree, hf_s7comm_data_ncprg_filepath, tvb, offset, string_len, ENC_ASCII|ENC_NA); + proto_tree_add_item(data_tree, hf_s7comm_data_ncprg_filepath, tvb, offset, string_len, ENC_ASCII); offset += string_len; filelength = dlength - (offset - start_offset); proto_tree_add_item(data_tree, hf_s7comm_data_ncprg_filedata, tvb, offset, filelength, ENC_NA); @@ -5402,7 +5402,7 @@ s7comm_decode_message_service(tvbuff_t *tvb, events_string[strlen(events_string) - 1 ] = '\0'; col_append_fstr(pinfo->cinfo, COL_INFO, " SubscribedEvents=(%s)", events_string); - proto_tree_add_item(data_tree, hf_s7comm_cpu_msgservice_username, tvb, offset, 8, ENC_ASCII|ENC_NA); + proto_tree_add_item(data_tree, hf_s7comm_cpu_msgservice_username, tvb, offset, 8, ENC_ASCII); offset += 8; if ((events & 0x80) && (dlength > 10)) { almtype = tvb_get_guint8(tvb, offset); @@ -5907,7 +5907,7 @@ s7comm_decode_ud_block_subfunc(tvbuff_t *tvb, item_tree = proto_item_add_subtree(item, ett_s7comm_data_item); blocktype16 = tvb_get_ntohs(tvb, offset); proto_item_append_text(item, " [%d]: (Block type %s)", i+1, val_to_str(blocktype16, blocktype_names, "Unknown Block type: 0x%04x")); - itemadd = proto_tree_add_item(item_tree, hf_s7comm_ud_blockinfo_block_type, tvb, offset, 2, ENC_ASCII|ENC_NA); + itemadd = proto_tree_add_item(item_tree, hf_s7comm_ud_blockinfo_block_type, tvb, offset, 2, ENC_ASCII); proto_item_append_text(itemadd, " (%s)", val_to_str(blocktype16, blocktype_names, "Unknown Block type: 0x%04x")); offset += 2; proto_tree_add_item(item_tree, hf_s7comm_ud_blockinfo_block_cnt, tvb, offset, 2, ENC_BIG_ENDIAN); @@ -5923,7 +5923,7 @@ s7comm_decode_ud_block_subfunc(tvbuff_t *tvb, if (type == S7COMM_UD_TYPE_REQ) { if (tsize != S7COMM_DATA_TRANSPORT_SIZE_NULL) { blocktype16 = tvb_get_ntohs(tvb, offset); - itemadd = proto_tree_add_item(data_tree, hf_s7comm_ud_blockinfo_block_type, tvb, offset, 2, ENC_ASCII|ENC_NA); + itemadd = proto_tree_add_item(data_tree, hf_s7comm_ud_blockinfo_block_type, tvb, offset, 2, ENC_ASCII); proto_item_append_text(itemadd, " (%s)", val_to_str(blocktype16, blocktype_names, "Unknown Block type: 0x%04x")); col_append_fstr(pinfo->cinfo, COL_INFO, " Type:[%s]", val_to_str(blocktype16, blocktype_names, "Unknown Block type: 0x%04x")); @@ -5965,7 +5965,7 @@ s7comm_decode_ud_block_subfunc(tvbuff_t *tvb, gboolean num_valid; /* 8 Bytes of Data follow, 1./ 2. type, 3-7 blocknumber as ascii number */ blocktype16 = tvb_get_ntohs(tvb, offset); - itemadd = proto_tree_add_item(data_tree, hf_s7comm_ud_blockinfo_block_type, tvb, offset, 2, ENC_ASCII|ENC_NA); + itemadd = proto_tree_add_item(data_tree, hf_s7comm_ud_blockinfo_block_type, tvb, offset, 2, ENC_ASCII); proto_item_append_text(itemadd, " (%s)", val_to_str(blocktype16, blocktype_names, "Unknown Block type: 0x%04x")); offset += 2; proto_tree_add_item_ret_string(data_tree, hf_s7comm_ud_blockinfo_block_num_ascii, tvb, offset, 5, ENC_ASCII|ENC_NA, pinfo->pool, &pBlocknumber); @@ -5983,7 +5983,7 @@ s7comm_decode_ud_block_subfunc(tvbuff_t *tvb, col_append_str(pinfo->cinfo, COL_INFO, "NaN]"); } offset += 5; - itemadd = proto_tree_add_item(data_tree, hf_s7comm_ud_blockinfo_filesys, tvb, offset, 1, ENC_ASCII|ENC_NA); + itemadd = proto_tree_add_item(data_tree, hf_s7comm_ud_blockinfo_filesys, tvb, offset, 1, ENC_ASCII); proto_item_append_text(itemadd, " (%s)", val_to_str(tvb_get_guint8(tvb, offset), blocktype_attribute2_names, "Unknown filesys: %c")); offset += 1; } @@ -5992,14 +5992,14 @@ s7comm_decode_ud_block_subfunc(tvbuff_t *tvb, } else if (type == S7COMM_UD_TYPE_RES) { /* 78 Bytes */ if (ret_val == S7COMM_ITEM_RETVAL_DATA_OK) { - itemadd = proto_tree_add_item(data_tree, hf_s7comm_ud_blockinfo_block_type, tvb, offset, 2, ENC_ASCII|ENC_NA); + itemadd = proto_tree_add_item(data_tree, hf_s7comm_ud_blockinfo_block_type, tvb, offset, 2, ENC_ASCII); proto_item_append_text(itemadd, " (%s)", val_to_str(tvb_get_ntohs(tvb, offset), blocktype_names, "Unknown Block type: 0x%04x")); offset += 2; proto_tree_add_item(data_tree, hf_s7comm_ud_blockinfo_res_infolength, tvb, offset, 2, ENC_BIG_ENDIAN); offset += 2; proto_tree_add_item(data_tree, hf_s7comm_ud_blockinfo_res_unknown2, tvb, offset, 2, ENC_BIG_ENDIAN); offset += 2; - proto_tree_add_item(data_tree, hf_s7comm_ud_blockinfo_res_const3, tvb, offset, 2, ENC_ASCII|ENC_NA); + proto_tree_add_item(data_tree, hf_s7comm_ud_blockinfo_res_const3, tvb, offset, 2, ENC_ASCII); offset += 2; proto_tree_add_item(data_tree, hf_s7comm_ud_blockinfo_res_unknown, tvb, offset, 1, ENC_NA); offset += 1; @@ -6040,11 +6040,11 @@ s7comm_decode_ud_block_subfunc(tvbuff_t *tvb, offset += 2; proto_tree_add_item(data_tree, hf_s7comm_ud_blockinfo_mc7_len, tvb, offset, 2, ENC_BIG_ENDIAN); offset += 2; - proto_tree_add_item(data_tree, hf_s7comm_ud_blockinfo_author, tvb, offset, 8, ENC_ASCII|ENC_NA); + proto_tree_add_item(data_tree, hf_s7comm_ud_blockinfo_author, tvb, offset, 8, ENC_ASCII); offset += 8; - proto_tree_add_item(data_tree, hf_s7comm_ud_blockinfo_family, tvb, offset, 8, ENC_ASCII|ENC_NA); + proto_tree_add_item(data_tree, hf_s7comm_ud_blockinfo_family, tvb, offset, 8, ENC_ASCII); offset += 8; - proto_tree_add_item(data_tree, hf_s7comm_ud_blockinfo_headername, tvb, offset, 8, ENC_ASCII|ENC_NA); + proto_tree_add_item(data_tree, hf_s7comm_ud_blockinfo_headername, tvb, offset, 8, ENC_ASCII); offset += 8; snprintf(str_version, sizeof(str_version), "%d.%d", ((tvb_get_guint8(tvb, offset) & 0xf0) >> 4), tvb_get_guint8(tvb, offset) & 0x0f); proto_tree_add_string(data_tree, hf_s7comm_ud_blockinfo_headerversion, tvb, offset, 1, str_version); -- cgit v1.2.3