Wireshark-dev: Re: [Wireshark-dev] Dissector functions and variables that could be static
From: Martin Mathieson <martin.r.mathieson@xxxxxxxxxxxxxx>
Date: Sun, 24 Jan 2021 11:59:26 +0000
Hi Moshe,

It would be possible. I would still like to hear from people if they think it is worth doing, and we would need to clear the current cases (perhaps with a list of agreed exemptions, like the PDCP key-setting functions I mentioned).  I will likely start picking off issues when I have time regardless, and I might as well clean up and submit the script.  If there were lots of grey cases / exemptions it may not be suitable for causing CI (or at least for causing the pipeline to fail).

Like the other check_*.py scripts I've added to tools, it has an option to check individual files, or from recent commits, etc.  It doesn't take very long to run - I timed 8s for a single dissector, or 37s for all dissectors.

The script works by looking at the output of 'nm' over the dissector object files, but it also does a crude check for declarations in header files, so it will need the path to the build folder to be passed in.  In .gitlab-ci.yml (build-ubuntu), the build folder is inside the source/checkout folder, so this would be simple.  This check could maybe be done after the checking build in ubuntu-clang-other-tests (as we need the object files)?

Martin

On Sat, Jan 23, 2021 at 11:57 PM Moshe Kaplan <mosheekaplan@xxxxxxxxx> wrote:
Would it also be possible to build this script into a GitLab CI job, to detect and prevent the issue from recurring?

Moshe 

On Sat, Jan 23, 2021 at 11:45 AM Martin Mathieson via Wireshark-dev <wireshark-dev@xxxxxxxxxxxxx> wrote:
Hi,

I wrote a script to check whether variables and functions in dissector modules that were not static were:
- not called by any other dissector modules (including dissectors.c)
- mentioned in the header file corresponding to that dissector

Reasons to clean up these cases could include:
- it pollutes a large namespace (most, but not all, of the symbols include the protocol name so likely won't clash)
- it will make it easier for people to spot and delete functions that are not actually being called
- it sets a better example for people to copy when adding new code
- there may even be some cases where the compiler is able to optimise better, don't know if it might speed up linking a little?

What do others think - does it sound like it could be worth it?

Where there is no extern or declaration in the header file, I think we can safely try to use static.  If it is not used even by the dissector itself (which the script doesn't currently check, but could...) it can presumably be deleted (unless we know that someone is getting ready to use it soon).

Where the variable or function is mentioned in the dissector's header file, in a lot of cases it could be removed from the header file and made static.  I do have some cases where I call functions only from private dissectors to set decryption keys, i.e.

epan/dissectors/packet-pdcp-lte.c (0000000000003670 T set_pdcp_lte_rrc_ciphering_key) is not referred to so could be static? (in header)
epan/dissectors/packet-pdcp-lte.c (0000000000003730 T set_pdcp_lte_rrc_integrity_key) is not referred to so could be static? (in header)
epan/dissectors/packet-pdcp-lte.c (00000000000037f0 T set_pdcp_lte_up_ciphering_key) is not referred to so could be static? (in header)
epan/dissectors/packet-pdcp-nr.c (00000000000033b0 T set_pdcp_nr_rrc_ciphering_key) is not referred to so could be static? (in header)
epan/dissectors/packet-pdcp-nr.c (0000000000003470 T set_pdcp_nr_rrc_integrity_key) is not referred to so could be static? (in header)
epan/dissectors/packet-pdcp-nr.c (0000000000003530 T set_pdcp_nr_up_ciphering_key) is not referred to so could be static? (in header)
epan/dissectors/packet-pdcp-nr.c (00000000000035f0 T set_pdcp_nr_up_integrity_key) is not referred to so could be static? (in header)

but I imagine there are not many more like this.  One clue that people might be making references from a Windows plugin could be the presence of WS_DLL_PUBLIC (script doesn't currently try to check).

I currently don't check dissectors that are generated (otherwise there'd be around 1000 other 'issues').  The dcerpc ones seem to declare lots of functions in header files.

Here is the output of my script against master:

epan/dissectors/packet-ncp-sss.c (0000000000001130 T dissect_sss_reply) is not referred to so could be static? (in header)
epan/dissectors/packet-ncp-sss.c (0000000000000d20 T dissect_sss_request) is not referred to so could be static? (in header)
epan/dissectors/packet-ncp.c (0000000000000040 D ett_ncp) is not referred to so could be static?
epan/dissectors/packet-ncp.c (0000000000000034 D ett_nds_segment) is not referred to so could be static?
epan/dissectors/packet-ncp.c (0000000000000038 D ett_nds_segments) is not referred to so could be static?
epan/dissectors/packet-ncp.c (0000000000000000 D ncp_nds_verb_vals) is not referred to so could be static?
epan/dissectors/packet-ncp.c (00000000000000e4 D proto_ncp) is not referred to so could be static?
epan/dissectors/packet-netmon.c (0000000000003790 T netmon_sid_field) is not referred to so could be static? (in header)
epan/dissectors/packet-netrom.c (0000000000000080 D op_code_vals_abbrev) is not referred to so could be static?
epan/dissectors/packet-netrom.c (0000000000000000 D op_code_vals_text) is not referred to so could be static?
epan/dissectors/packet-nstrace.c (0000000000000000 T add35records) is not referred to so could be static?
epan/dissectors/packet-nwp.c (0000000000000000 D nwp_type_vals) is not referred to so could be static?
epan/dissectors/packet-ocfs2.c (0000000000000000 D ext_dlm_magic) is not referred to so could be static?
epan/dissectors/packet-oer.c (00000000000001c0 T dissect_oer_boolean) is not referred to so could be static? (in header)
epan/dissectors/packet-oer.c (00000000000010b0 T dissect_oer_IA5String) is not referred to so could be static? (in header)
epan/dissectors/packet-opa-mad.c (0000000000000000 D pref_attempt_rmpp_defragment) is not referred to so could be static?
epan/dissectors/packet-oran.c (00000000000018c0 D compression_options) is not referred to so could be static?
epan/dissectors/packet-packetbb.c (0000000000000200 D addrtlv_type_vals) is not referred to so could be static?
epan/dissectors/packet-packetbb.c (0000000000000180 D linkstatus_vals) is not referred to so could be static?
epan/dissectors/packet-packetbb.c (00000000000001c0 D localif_vals) is not referred to so could be static?
epan/dissectors/packet-packetbb.c (0000000000000100 D mpr_vals) is not referred to so could be static?
epan/dissectors/packet-packetbb.c (0000000000000380 D msgheader_type_vals) is not referred to so could be static?
epan/dissectors/packet-packetbb.c (00000000000002c0 D msgtlv_type_vals) is not referred to so could be static?
epan/dissectors/packet-packetbb.c (00000000000000c0 D nbraddrtype_vals) is not referred to so could be static?
epan/dissectors/packet-packetbb.c (0000000000000140 D otherneigh_vals) is not referred to so could be static?
epan/dissectors/packet-packetbb.c (0000000000000340 D pkttlv_type_vals) is not referred to so could be static?
epan/dissectors/packet-pathport.c (0000000000000000 D pp_pid_vals_ext) is not referred to so could be static?
epan/dissectors/packet-pdcp-lte.c (0000000000003670 T set_pdcp_lte_rrc_ciphering_key) is not referred to so could be static? (in header)
epan/dissectors/packet-pdcp-lte.c (0000000000003730 T set_pdcp_lte_rrc_integrity_key) is not referred to so could be static? (in header)
epan/dissectors/packet-pdcp-lte.c (00000000000037f0 T set_pdcp_lte_up_ciphering_key) is not referred to so could be static? (in header)
epan/dissectors/packet-pdcp-nr.c (00000000000033b0 T set_pdcp_nr_rrc_ciphering_key) is not referred to so could be static? (in header)
epan/dissectors/packet-pdcp-nr.c (0000000000003470 T set_pdcp_nr_rrc_integrity_key) is not referred to so could be static? (in header)
epan/dissectors/packet-pdcp-nr.c (0000000000003530 T set_pdcp_nr_up_ciphering_key) is not referred to so could be static? (in header)
epan/dissectors/packet-pdcp-nr.c (00000000000035f0 T set_pdcp_nr_up_integrity_key) is not referred to so could be static? (in header)
epan/dissectors/packet-pdu-transport.c (0000000000000790 T register_pdu_transport_port_tcp) is not referred to so could be static?
epan/dissectors/packet-pdu-transport.c (0000000000000770 T register_pdu_transport_port_udp) is not referred to so could be static?
epan/dissectors/packet-per.c (00000000000056b0 T dissect_per_object_descriptor) is not referred to so could be static? (in header)
epan/dissectors/packet-per.c (0000000000003a30 T dissect_per_real) is not referred to so could be static? (in header)
epan/dissectors/packet-per.c (0000000000001590 T dissect_per_relative_oid) is not referred to so could be static? (in header)
epan/dissectors/packet-per.c (00000000000016b0 T dissect_per_relative_oid_str) is not referred to so could be static? (in header)
epan/dissectors/packet-per.c (0000000000005b30 T register_per_oid_dissector) is not referred to so could be static? (in header)
epan/dissectors/packet-ppp.c (0000000000003b00 D charset_vals_ext) is not referred to so could be static?
epan/dissectors/packet-protobuf.c (0000000000000080 D protobuf_wire_type) is not referred to so could be static? (in header)
epan/dissectors/packet-ptp.c (0000000000007e60 D ptp_v2_networkProtocol_vals_ext) is not referred to so could be static? (in header)
epan/dissectors/packet-ptpip.c (0000000000000630 T dissect_ptpIP_data) is not referred to so could be static?
epan/dissectors/packet-ptpip.c (0000000000000680 T dissect_ptpIP_end_data) is not referred to so could be static?
epan/dissectors/packet-ptpip.c (0000000000000520 T dissect_ptpIP_event) is not referred to so could be static?
epan/dissectors/packet-ptpip.c (00000000000007c0 T dissect_ptpIP_guid) is not referred to so could be static?
epan/dissectors/packet-ptpip.c (00000000000008b0 T dissect_ptpIP_init_command_ack) is not referred to so could be static?
epan/dissectors/packet-ptpip.c (0000000000000840 T dissect_ptpIP_init_command_request) is not referred to so could be static?
epan/dissectors/packet-ptpip.c (0000000000000080 T dissect_ptpIP_init_event_ack) is not referred to so could be static?
epan/dissectors/packet-ptpip.c (0000000000000000 T dissect_ptpIP_init_event_request) is not referred to so could be static?
epan/dissectors/packet-ptpip.c (0000000000000160 T dissect_ptpIP_operation_request) is not referred to so could be static?
epan/dissectors/packet-ptpip.c (00000000000003f0 T dissect_ptpIP_operation_response) is not referred to so could be static?
epan/dissectors/packet-ptpip.c (0000000000000750 T dissect_ptpIP_protocol_version) is not referred to so could be static?
epan/dissectors/packet-ptpip.c (0000000000000590 T dissect_ptpIP_start_data) is not referred to so could be static?
epan/dissectors/packet-ptpip.c (00000000000006d0 T dissect_ptpIP_unicode_name) is not referred to so could be static?
epan/dissectors/packet-ptpip.c (00000000000000a0 T dissect_ptp_opCode_openSession) is not referred to so could be static? (in header)
epan/dissectors/packet-ptpip.c (00000000000000f0 T dissect_ptp_transactionID) is not referred to so could be static? (in header)
epan/dissectors/packet-q931.c (00000000000030c0 D q931_cause_code_vals_ext) is not referred to so could be static? (in header)
epan/dissectors/packet-q931.c (0000000000002340 D q931_message_type_vals) is not referred to so could be static? (in header)
epan/dissectors/packet-q933.c (00000000000009c0 D q933_cause_code_vals) is not referred to so could be static?
epan/dissectors/packet-q933.c (0000000000000fa0 D q933_cause_location_vals) is not referred to so could be static?
epan/dissectors/packet-quic.c (0000000000006240 T get_quic_connections_count) is not referred to so could be static? (in header)
epan/dissectors/packet-radius.c (00000000000007e0 T free_radius_attr_info) is not referred to so could be static? (in header)
epan/dissectors/packet-radius.c (0000000000001f50 T radius_abinary) is not referred to so could be static? (in header)
epan/dissectors/packet-radius.c (00000000000015f0 T radius_combo_ip) is not referred to so could be static? (in header)
epan/dissectors/packet-radius.c (0000000000001690 T radius_date) is not referred to so could be static? (in header)
epan/dissectors/packet-radius.c (00000000000026b0 T radius_ether) is not referred to so could be static? (in header)
epan/dissectors/packet-radius.c (0000000000000380 T radius_ifid) is not referred to so could be static? (in header)
epan/dissectors/packet-radius.c (0000000000000040 T radius_integer) is not referred to so could be static? (in header)
epan/dissectors/packet-radius.c (0000000000001540 T radius_ipaddr) is not referred to so could be static? (in header)
epan/dissectors/packet-radius.c (0000000000001570 T radius_ipv6addr) is not referred to so could be static? (in header)
epan/dissectors/packet-radius.c (00000000000003f0 T radius_ipv6prefix) is not referred to so could be static? (in header)
epan/dissectors/packet-radius.c (00000000000013b0 T radius_ipxnet) is not referred to so could be static? (in header)
epan/dissectors/packet-radius.c (0000000000001450 T radius_octets) is not referred to so could be static? (in header)
epan/dissectors/packet-radius.c (00000000000001e0 T radius_signed) is not referred to so could be static? (in header)
epan/dissectors/packet-radius.c (0000000000001bf0 T radius_string) is not referred to so could be static? (in header)
epan/dissectors/packet-radius.c (0000000000002730 T radius_tlv) is not referred to so could be static? (in header)
epan/dissectors/packet-raknet.c (0000000000000160 D RAKNET_OFFLINE_MESSAGE_DATA_ID) is not referred to so could be static?
epan/dissectors/packet-rdm.c (0000000000007680 D etc_param_id_vals_ext) is not referred to so could be static?
epan/dissectors/packet-rdm.c (0000000000001720 D rdm_param_id_vals) is not referred to so could be static? (in header)
epan/dissectors/packet-reload.c (0000000000004010 T dissect_reload_messagecontents) is not referred to so could be static? (in header)
epan/dissectors/packet-rlc-nr.c (0000000000001860 D pdu_reassembly_table_functions) is not referred to so could be static?
epan/dissectors/packet-rmp.c (0000000000000000 D rmp_error_vals) is not referred to so could be static?
epan/dissectors/packet-rmp.c (00000000000000c0 D rmp_type_vals) is not referred to so could be static?
epan/dissectors/packet-rohc.c (0000000000000140 D rohc_cmp_lst_mask_size_vals) is not referred to so could be static?
epan/dissectors/packet-rpc.c (0000000000004ae0 T dissect_rpc_opaque_auth) is not referred to so could be static? (in header)
epan/dissectors/packet-rpc.c (0000000000001010 T rpc_prog_hf) is not referred to so could be static? (in header)
epan/dissectors/packet-rtp-events.c (00000000000001a0 D rtp_event_type_values_ext) is not referred to so could be static? (in header)
epan/dissectors/packet-rtp.c (00000000000006d0 T rtp_dyn_payload_remove) is not referred to so could be static? (in header)
epan/dissectors/packet-rtp.c (0000000000000660 T rtp_dyn_payload_replace) is not referred to so could be static? (in header)
epan/dissectors/packet-rtps.c (0000000000000e20 D class_id_enum_names) is not referred to so could be static?
epan/dissectors/packet-rtsp.c (0000000000000060 D rtsp_status_code_vals) is not referred to so could be static? (in header)
epan/dissectors/packet-s101.c (0000000000000210 T decode_s101_escaped_buffer) is not referred to so could be static?
epan/dissectors/packet-s101.c (0000000000000190 T display_expert_info) is not referred to so could be static?
epan/dissectors/packet-s101.c (0000000000000130 T get_fragment_pdu_id) is not referred to so could be static?
epan/dissectors/packet-s101.c (0000000000000160 T new_fragment_info) is not referred to so could be static?
epan/dissectors/packet-sccp.c (0000000000001040 D sccp_message_type_acro_values) is not referred to so could be static? (in header)
epan/dissectors/packet-scsi.c (0000000000000440 D mpi_action_vals) is not referred to so could be static?
epan/dissectors/packet-scsi.c (0000000000000400 D report_opcodes_options_vals) is not referred to so could be static?
epan/dissectors/packet-scsi.c (00000000000008e0 D scsi_senddiag_pf_val) is not referred to so could be static?
epan/dissectors/packet-scsi.c (0000000000000900 D scsi_senddiag_st_code_val) is not referred to so could be static?
epan/dissectors/packet-scsi.c (0000000000000010 T scsistat_param) is not referred to so could be static? (in header)
epan/dissectors/packet-scsi.c (00000000000009a0 D scsi_wb_mode_val) is not referred to so could be static?
epan/dissectors/packet-sctp.c (0000000000000a80 D chunk_type_values) is not referred to so could be static? (in header)
epan/dissectors/packet-sdh.c (0000000000000000 D sdh_s1_vals) is not referred to so could be static?
epan/dissectors/packet-sip.c (0000000000000000 D sip_response_code_vals) is not referred to so could be static? (in header)
Warning - /home/martin/wireshark_gl-build/epan/dissectors/CMakeFiles/dissectors.dir/packet-skinny.c.in.o does not exist
epan/dissectors/packet-smb.c (000000000000a250 T dissect_file_ext_attr) is not referred to so could be static?
epan/dissectors/packet-smb.c (0000000000020820 T dissect_qfsi_FS_OBJECTID_INFO) is not referred to so could be static? (in header)
epan/dissectors/packet-smb.c (000000000000d260 D nt_cmd_vals_ext) is not referred to so could be static? (in header)
epan/dissectors/packet-smb.c (000000000000d1a0 D smb_cmd_vals_ext) is not referred to so could be static? (in header)
epan/dissectors/packet-smb.c (0000000000000640 D smb_dir_access_mask_info) is not referred to so could be static?
epan/dissectors/packet-smb.c (0000000000000660 D smb_file_access_mask_info) is not referred to so could be static?
epan/dissectors/packet-smb.c (000000000000d220 D trans2_cmd_vals_ext) is not referred to so could be static? (in header)
epan/dissectors/packet-smb2.c (00000000000008e0 D create_context_dissectors_array) is not referred to so could be static?
epan/dissectors/packet-smb2.c (000000000000a3c0 D smb2_cmd_vals_ext) is not referred to so could be static? (in header)
epan/dissectors/packet-smb2.c (0000000000000b00 D smb2_find_dissectors) is not referred to so could be static?
epan/dissectors/packet-smpp.c (0000000000001770 T smpp_handle_dcs) is not referred to so could be static? (in header)
epan/dissectors/packet-sscop.c (0000000000000230 T dissect_sscop_and_payload) is not referred to so could be static? (in header)
epan/dissectors/packet-sscop.c (00000000000006c0 T sscop_allowed_subdissector) is not referred to so could be static? (in header)
epan/dissectors/packet-sua.c (0000000000000e00 D sua_co_class_type_acro_values) is not referred to so could be static?
epan/dissectors/packet-t30.c (0000000000002180 D t30_facsimile_control_field_vals_ext) is not referred to so could be static? (in header)
epan/dissectors/packet-t30.c (0000000000002160 D t30_facsimile_control_field_vals_short_ext) is not referred to so could be static? (in header)
epan/dissectors/packet-tcp.c (0000000000000140 T conversation_completeness_fill) is not referred to so could be static?
epan/dissectors/packet-tcp.c (0000000000005990 T get_mptcp_stream_count) is not referred to so could be static? (in header)
epan/dissectors/packet-tcp.c (0000000000005980 T get_tcp_stream_count) is not referred to so could be static? (in header)
epan/dissectors/packet-thrift.c (0000000000000d50 T dissect_thrift_t_byte) is not referred to so could be static? (in header)
epan/dissectors/packet-thrift.c (0000000000000dc0 T dissect_thrift_t_i32) is not referred to so could be static? (in header)
epan/dissectors/packet-thrift.c (0000000000000e30 T dissect_thrift_t_i64) is not referred to so could be static? (in header)
epan/dissectors/packet-thrift.c (0000000000000cd0 T dissect_thrift_t_stop) is not referred to so could be static? (in header)
epan/dissectors/packet-thrift.c (0000000000000f90 T dissect_thrift_t_struct) is not referred to so could be static? (in header)
epan/dissectors/packet-thrift.c (0000000000000ea0 T dissect_thrift_t_u64) is not referred to so could be static? (in header)
epan/dissectors/packet-thrift.c (0000000000000f10 T dissect_thrift_t_utf7) is not referred to so could be static? (in header)
epan/dissectors/packet-tipc.c (0000000000000420 D tipc_sm_msg_type_values) is not referred to so could be static?
epan/dissectors/packet-tipc.c (0000000000000a00 D tipc_user_values) is not referred to so could be static?
epan/dissectors/packet-tipc.c (0000000000000840 D tipcv2_user_short_str_vals) is not referred to so could be static?
epan/dissectors/packet-tipc.c (0000000000000920 D tipcv2_user_values) is not referred to so could be static?
epan/dissectors/packet-tls-utils.c (0000000000000100 D quic_transport_parameter_id) is not referred to so could be static? (in header)
epan/dissectors/packet-tls-utils.c (00000000000012c0 T ssl_add_session_by_cid) is not referred to so could be static? (in header)
epan/dissectors/packet-tls-utils.c (0000000000007f00 T ssl_association_info) is not referred to so could be static? (in header)
epan/dissectors/packet-tls-utils.c (0000000000007e60 T ssldecrypt_uat_fld_fileopen_chk_cb) is not referred to so could be static? (in header)
epan/dissectors/packet-tls-utils.c (0000000000007dd0 T ssldecrypt_uat_fld_ip_chk_cb) is not referred to so could be static? (in header)
epan/dissectors/packet-tls-utils.c (0000000000007ee0 T ssldecrypt_uat_fld_password_chk_cb) is not referred to so could be static? (in header)
epan/dissectors/packet-tls-utils.c (0000000000007de0 T ssldecrypt_uat_fld_port_chk_cb) is not referred to so could be static? (in header)
epan/dissectors/packet-tls-utils.c (0000000000008cd0 T ssl_end_vector) is not referred to so could be static? (in header)
epan/dissectors/packet-tls-utils.c (00000000000016c0 T ssl_find_appdata_dissector) is not referred to so could be static? (in header)
epan/dissectors/packet-tls-utils.c (0000000000000820 T ssl_get_keyex_alg) is not referred to so could be static? (in header)
epan/dissectors/packet-tls-utils.c (0000000000003050 T ssl_set_debug) is not referred to so could be static? (in header)
epan/dissectors/packet-tls-utils.c (0000000000001e60 T tls13_cipher_create) is not referred to so could be static? (in header)
epan/dissectors/packet-tls.c (0000000000005040 T ssl_set_master_secret) is not referred to so could be static? (in header)
epan/dissectors/packet-tls.c (0000000000005860 T tls13_exporter) is not referred to so could be static? (in header)
epan/dissectors/packet-tpm20.c (00000000000001e0 D tpm_handles_map) is not referred to so could be static?
epan/dissectors/packet-ua3g.c (00000000000011b0 D tfs_audio_config_handsfree_handsfree) is not referred to so could be static?
epan/dissectors/packet-ua3g.c (00000000000011c0 D tfs_audio_config_handsfree_return) is not referred to so could be static?
epan/dissectors/packet-ua3g.c (0000000000000120 D tfs_hookswitch_status) is not referred to so could be static?
epan/dissectors/packet-ua3g.c (0000000000000110 D tfs_released_pressed) is not referred to so could be static?
epan/dissectors/packet-ua3g.c (0000000000002780 D tfs_segment_msg_segment) is not referred to so could be static?
epan/dissectors/packet-ua3g.c (0000000000000130 D tfs_special_key_parameters) is not referred to so could be static?
epan/dissectors/packet-udp.c (0000000000000880 T get_udp_conversation_data) is not referred to so could be static? (in header)
epan/dissectors/packet-udp.c (0000000000000b60 T get_udp_stream_count) is not referred to so could be static? (in header)
epan/dissectors/packet-udpcp.c (0000000000000000 D udpcp_reassembly_table_functions) is not referred to so could be static?
epan/dissectors/packet-umts_rlc.c (0000000000005730 T rlc_reset_channel) is not referred to so could be static? (in header)
epan/dissectors/packet-usb-hid.c (00000000000024a0 D keycode_vals_ext) is not referred to so could be static?
epan/dissectors/packet-usb.c (00000000000040b0 T usb_set_addr) is not referred to so could be static? (in header)
epan/dissectors/packet-usb.c (0000000000004760 D win32_urb_function_vals_ext) is not referred to so could be static?
epan/dissectors/packet-vsip.c (0000000000001fa0 D EVsipCommand_vals) is not referred to so could be static?
epan/dissectors/packet-vsip.c (0000000000002520 D EVsipCommand_vals_ext) is not referred to so could be static?
epan/dissectors/packet-vsip.c (00000000000002a0 D EVsipConfigItem_vals) is not referred to so could be static?
epan/dissectors/packet-vsip.c (0000000000002500 D EVsipConfigItem_vals_ext) is not referred to so could be static?
epan/dissectors/packet-vsip.c (0000000000002140 D EVsipConnectionType_vals) is not referred to so could be static?
epan/dissectors/packet-vsip.c (00000000000022e0 D EVsipContentType_vals) is not referred to so could be static?
epan/dissectors/packet-vsip.c (0000000000002360 D EVsipEntityType_vals) is not referred to so could be static?
epan/dissectors/packet-vsip.c (0000000000000060 D EVsipErrorCode_vals) is not referred to so could be static?
epan/dissectors/packet-vsip.c (00000000000024e0 D EVsipErrorCode_vals_ext) is not referred to so could be static?
epan/dissectors/packet-vsip.c (00000000000001e0 D EVsipEventType_vals) is not referred to so could be static?
epan/dissectors/packet-vsip.c (0000000000002540 D EVsipMessageType_vals_ext) is not referred to so could be static?
epan/dissectors/packet-vsip.c (0000000000002240 D EVsipValueType_vals) is not referred to so could be static?
epan/dissectors/packet-vsip.c (0000000000002460 D EVsipVendorID_vals) is not referred to so could be static?
epan/dissectors/packet-wassp.c (00000000000009d0 T dissect_wassp_sub_tlv) is not referred to so could be static?
epan/dissectors/packet-wassp.c (00000000000012a0 T dissect_wassp_tlv) is not referred to so could be static?
epan/dissectors/packet-wassp.c (0000000000002960 D tlv11U_ANQP_blockTable) is not referred to so could be static?
epan/dissectors/packet-wassp.c (0000000000001de0 D tlvAppPolicyEntryTable) is not referred to so could be static?
epan/dissectors/packet-wassp.c (0000000000001f20 D tlvAppPolicyFixedTable) is not referred to so could be static?
epan/dissectors/packet-wassp.c (0000000000009220 D tlvBeastConfigTable) is not referred to so could be static?
epan/dissectors/packet-wassp.c (00000000000052a0 D tlvBssid2ipConfigTable) is not referred to so could be static?
epan/dissectors/packet-wassp.c (00000000000030e0 D tlvCosConfigTable) is not referred to so could be static?
epan/dissectors/packet-wassp.c (00000000000027e0 D tlvExtapp_conf_blockTable) is not referred to so could be static?
epan/dissectors/packet-wassp.c (0000000000005660 D tlvFilterConfigTable) is not referred to so could be static?
epan/dissectors/packet-wassp.c (00000000000054e0 D tlvFilterRuleExtConfigTable) is not referred to so could be static?
epan/dissectors/packet-wassp.c (000000000000bee0 D tlvGlobalConfigTable) is not referred to so could be static?
epan/dissectors/packet-wassp.c (0000000000002060 D tlvHS2_blockTable) is not referred to so could be static?
epan/dissectors/packet-wassp.c (0000000000001fa0 D tlvLocationBaseLookUpTable) is not referred to so could be static?
epan/dissectors/packet-wassp.c (000000000000e9e0 D tlvMainTable) is not referred to so could be static?
epan/dissectors/packet-wassp.c (0000000000003220 D tlvPolicyConfigTable) is not referred to so could be static?
epan/dissectors/packet-wassp.c (0000000000007d20 D tlvRadioConfigTable) is not referred to so could be static?
epan/dissectors/packet-wassp.c (0000000000005b20 D tlvRadiusConfigTable) is not referred to so could be static?
epan/dissectors/packet-wassp.c (00000000000058a0 D tlvRadiusServerConfigTable) is not referred to so could be static?
epan/dissectors/packet-wassp.c (00000000000035e0 D tlvSiteConfigTable) is not referred to so could be static?
epan/dissectors/packet-wassp.c (0000000000005360 D tlvSiteFilterRuleExtConfigTable) is not referred to so could be static?
epan/dissectors/packet-wassp.c (000000000000be20 D tlvSTopoMcastFilterBlock) is not referred to so could be static?
epan/dissectors/packet-wassp.c (000000000000bda0 D tlvSTopoMcastFilterRuleBlock) is not referred to so could be static?
epan/dissectors/packet-wassp.c (0000000000005ee0 D tlvVnsConfigTable) is not referred to so could be static?
epan/dissectors/packet-wassp.c (0000000000005d60 D tlvVnsStatusTable) is not referred to so could be static?
epan/dissectors/packet-wccp.c (0000000000000260 D security_option_vals) is not referred to so could be static?
epan/dissectors/packet-wccp.c (0000000000000220 D service_type_vals) is not referred to so could be static?
epan/dissectors/packet-wccp.c (0000000000000530 D tfs_historical_current) is not referred to so could be static?
epan/dissectors/packet-wccp.c (0000000000000540 D tfs_redirect_protocol0) is not referred to so could be static?
epan/dissectors/packet-wccp.c (0000000000000550 D tfs_src_dest_port) is not referred to so could be static?
epan/dissectors/packet-wccp.c (0000000000000520 D tfs_version_min_max) is not referred to so could be static?
epan/dissectors/packet-windows-common.c (0000000000000050 T dissect_nt_64bit_time_ex) is not referred to so could be static? (in header)
epan/dissectors/packet-windows-common.c (0000000000001220 T dissect_nt_ace_system_resource_attribute) is not referred to so could be static?
epan/dissectors/packet-windows-common.c (0000000000000ff0 T dissect_nt_ace_system_resource_attribute_value) is not referred to so could be static?
epan/dissectors/packet-windows-common.c (0000000000001920 T dissect_nt_conditional_ace) is not referred to so could be static?
epan/dissectors/packet-windows-common.c (00000000000014f0 T dissect_nt_conditional_ace_token) is not referred to so could be static?
epan/dissectors/packet-wsp.c (0000000000003ac0 D parameter_type_vals_ext) is not referred to so could be static?
epan/dissectors/packet-wsp.c (0000000000003ca0 D wsp_vals_pdu_type_ext) is not referred to so could be static? (in header)
epan/dissectors/packet-wsp.c (0000000000003c80 D wsp_vals_status_ext) is not referred to so could be static? (in header)
epan/dissectors/packet-x11.c (00000000000a2c20 D damage_errors) is not referred to so could be static?
epan/dissectors/packet-x11.c (0000000000002780 D dri2_events) is not referred to so could be static?
epan/dissectors/packet-x11.c (00000000000a2ba0 D glx_errors) is not referred to so could be static?
epan/dissectors/packet-x11.c (0000000000002040 D glx_events) is not referred to so could be static?
epan/dissectors/packet-x11.c (00000000000a2b60 D randr_errors) is not referred to so could be static?
epan/dissectors/packet-x11.c (0000000000001ca0 D randr_events) is not referred to so could be static?
epan/dissectors/packet-x11.c (00000000000a2b50 D record_errors) is not referred to so could be static?
epan/dissectors/packet-x11.c (00000000000a2b20 D render_errors) is not referred to so could be static?
epan/dissectors/packet-x11.c (00000000000a2b00 D shm_errors) is not referred to so could be static?
epan/dissectors/packet-x11.c (00000000000a2ae0 D sync_errors) is not referred to so could be static?
epan/dissectors/packet-x11.c (0000000000001640 D sync_events) is not referred to so could be static?
epan/dissectors/packet-x11.c (00000000000a2aa0 D xf86vidmode_errors) is not referred to so could be static?
epan/dissectors/packet-x11.c (00000000000a2a90 D xfixes_errors) is not referred to so could be static?
epan/dissectors/packet-x11.c (0000000000001120 D xfixes_events) is not referred to so could be static?
epan/dissectors/packet-x11.c (00000000000a2a60 D xinput_errors) is not referred to so could be static?
epan/dissectors/packet-x11.c (0000000000000c20 D xinput_events) is not referred to so could be static?
epan/dissectors/packet-x11.c (00000000000a2a40 D xkb_errors) is not referred to so could be static?
epan/dissectors/packet-x11.c (00000000000008e0 D xkb_events) is not referred to so could be static?
epan/dissectors/packet-x11.c (00000000000a2a20 D xprint_errors) is not referred to so could be static?
epan/dissectors/packet-x11.c (0000000000000720 D xprint_events) is not referred to so could be static?
epan/dissectors/packet-x11.c (00000000000a2a00 D xv_errors) is not referred to so could be static?
epan/dissectors/packet-x11.c (00000000000003c0 D xv_events) is not referred to so could be static?
epan/dissectors/packet-x25.c (0000000000002080 D x25_clear_diag_vals_ext) is not referred to so could be static?
epan/dissectors/packet-xml.c (0000000000001880 T xml_get_attrib) is not referred to so could be static? (in header)
epan/dissectors/packet-xml.c (00000000000018d0 T xml_get_cdata) is not referred to so could be static? (in header)
epan/dissectors/packet-xml.c (0000000000001830 T xml_get_tag) is not referred to so could be static? (in header)
epan/dissectors/packet-xmpp-gtalk.c (0000000000001550 T xmpp_gtalk_nosave_query) is not referred to so could be static? (in header)
epan/dissectors/packet-xmpp-other.c (0000000000001ee0 T xmpp_feature_neg) is not referred to so could be static? (in header)
epan/dissectors/packet-xmpp-other.c (0000000000001a10 T xmpp_x_data) is not referred to so could be static? (in header)
epan/dissectors/packet-xmpp-utils.c (0000000000001330 T xmpp_attr_to_string) is not referred to so could be static? (in header)
epan/dissectors/packet-xmpp-utils.c (0000000000001d50 T xmpp_copy_hash_table) is not referred to so could be static? (in header)
epan/dissectors/packet-xmpp-utils.c (0000000000000040 T xmpp_element_t_cmp) is not referred to so could be static? (in header)
epan/dissectors/packet-xmpp-utils.c (0000000000000510 T xmpp_ep_string_upcase) is not referred to so could be static? (in header)
epan/dissectors/packet-xmpp-utils.c (00000000000008c0 T xmpp_find_element_by_name) is not referred to so could be static? (in header)
epan/dissectors/packet-xmpp-utils.c (00000000000001b0 T xmpp_unknown_attrs) is not referred to so could be static? (in header)
epan/dissectors/packet-xmpp.c (0000000000000040 D ei_xmpp_challenge) is not referred to so could be static? (in header)
epan/dissectors/packet-xmpp.c (0000000000000038 D ei_xmpp_success) is not referred to so could be static? (in header)
epan/dissectors/packet-xmpp.c (00000000000001fc D ett_xmpp) is not referred to so could be static? (in header)
epan/dissectors/packet-xmpp.c (0000000000000114 D ett_xmpp_challenge) is not referred to so could be static? (in header)
epan/dissectors/packet-xmpp.c (00000000000001d8 D ett_xmpp_iq_error) is not referred to so could be static? (in header)
epan/dissectors/packet-xmpp.c (00000000000001e8 D ett_xmpp_query_feature) is not referred to so could be static? (in header)
epan/dissectors/packet-xmpp.c (0000000000000110 D ett_xmpp_response) is not referred to so could be static? (in header)
epan/dissectors/packet-xmpp.c (000000000000010c D ett_xmpp_success) is not referred to so could be static? (in header)
epan/dissectors/packet-xmpp.c (0000000000000220 D hf_xmpp_in) is not referred to so could be static? (in header)
epan/dissectors/packet-xmpp.c (0000000000000224 D hf_xmpp_out) is not referred to so could be static? (in header)
epan/dissectors/packet-xmpp.c (00000000000003f8 D hf_xmpp_query_identity_lang) is not referred to so could be static? (in header)
epan/dissectors/packet-zbee-aps.c (0000000000000800 D zbee_aps_apid_abbrs) is not referred to so could be static?
epan/dissectors/packet-zbee-aps.c (0000000000000100 D zbee_aps_t2_btres_status_names) is not referred to so could be static?
epan/dissectors/packet-zbee-aps.c (0000000000000140 D zbee_aps_t2_cid_names) is not referred to so could be static?
epan/dissectors/packet-zbee-zcl.c (00000000000029a0 T zbee_zcl_get_cluster_desc) is not referred to so could be static? (in header)
epan/dissectors/packet-zbee-zdp.c (0000000000000000 D ett_zbee_zdp_descriptor_capability_field) is not referred to so could be static?
epan/dissectors/packet-zbee-zdp.c (000000000000013c D hf_zbee_zdp_bind_src) is not referred to so could be static? (in header)
epan/dissectors/packet-zbee-zdp.c (00000000000000d8 D hf_zbee_zdp_nwk_desc_profile) is not referred to so could be static? (in header)
epan/dissectors/packet-zbee-zdp.c (0000000000000380 D zbee_zdp_ieee_join_policy_vals) is not referred to so could be static?
epan/dissectors/packet-zbee-zdp.c (00000000000002a0 D zbee_zdp_relationship_vals) is not referred to so could be static?
epan/dissectors/packet-zbee-zdp.c (0000000000000300 D zbee_zdp_table_entry_type_vals) is not referred to so could be static?
epan/dissectors/packet-zbee-zdp.c (0000000000000340 D zbee_zdp_true_false_plus_vals) is not referred to so could be static?
epan/dissectors/packet-zrtp.c (00000000000003a0 D valid_zrtp_versions) is not referred to so could be static?
epan/dissectors/packet-zrtp.c (0000000000000240 D zrtp_auth_tag_vals) is not referred to so could be static?
epan/dissectors/packet-zrtp.c (00000000000002a0 D zrtp_cipher_type_vals) is not referred to so could be static?
epan/dissectors/packet-zrtp.c (0000000000000000 D zrtp_error_vals) is not referred to so could be static?
epan/dissectors/packet-zrtp.c (0000000000000340 D zrtp_hash_type_vals) is not referred to so could be static?
epan/dissectors/packet-zrtp.c (0000000000000160 D zrtp_key_agreement_vals) is not referred to so could be static?
epan/dissectors/packet-zrtp.c (0000000000000200 D zrtp_sas_type_vals) is not referred to so could be static?
638 issues found

Best regards,
Martin

___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev@xxxxxxxxxxxxx>
Archives:    https://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://www.wireshark.org/mailman/options/wireshark-dev
             mailto:wireshark-dev-request@xxxxxxxxxxxxx?subject=unsubscribe