diff options
Diffstat (limited to 'epan/dissectors/packet-dvbci.c')
-rw-r--r-- | epan/dissectors/packet-dvbci.c | 750 |
1 files changed, 378 insertions, 372 deletions
diff --git a/epan/dissectors/packet-dvbci.c b/epan/dissectors/packet-dvbci.c index 78f8460fe6..3629db55aa 100644 --- a/epan/dissectors/packet-dvbci.c +++ b/epan/dissectors/packet-dvbci.c @@ -44,7 +44,8 @@ void proto_reg_handoff_dvbci(void); #define AES_BLOCK_LEN 16 #define AES_KEY_LEN 16 -#define EXPORTED_SAC_MSG_PROTO "CI+ SAC message" +#define EXPORTED_SAC_MSG_PROTO "ciplus_sac_msg" +#define EXPORTED_SAC_MSG_DESCRIPTION "CI+ SAC message" #define IS_DATA_TRANSFER(e) (e==DVBCI_EVT_DATA_CAM_TO_HOST || e==DVBCI_EVT_DATA_HOST_TO_CAM) @@ -834,7 +835,7 @@ WS_DLL_PUBLIC_DEF const value_string dvbci_event[] = { { 0, NULL } }; -static int proto_dvbci = -1; +static int proto_dvbci; static dissector_handle_t dvbci_handle; @@ -855,293 +856,293 @@ static dissector_table_t udp_dissector_table; static gint exported_pdu_tap = -1; -static gint ett_dvbci = -1; -static gint ett_dvbci_hdr = -1; -static gint ett_dvbci_cis = -1; -static gint ett_dvbci_cis_tpl = -1; -static gint ett_dvbci_cis_subtpl = -1; -static gint ett_dvbci_link = -1; -static gint ett_dvbci_link_frag = -1; -static gint ett_dvbci_link_frags = -1; -static gint ett_dvbci_transport = -1; -static gint ett_dvbci_transport_frag = -1; -static gint ett_dvbci_transport_frags = -1; -static gint ett_dvbci_session = -1; -static gint ett_dvbci_res = -1; -static gint ett_dvbci_application = -1; -static gint ett_dvbci_es = -1; -static gint ett_dvbci_ca_desc = -1; -static gint ett_dvbci_text = -1; -static gint ett_dvbci_cc_item = -1; -static gint ett_dvbci_sac_msg_body = -1; -static gint ett_dvbci_ami_req_types = -1; -static gint ett_dvbci_lsc_conn_desc = -1; -static gint ett_dvbci_opp_cap_loop = -1; -static gint ett_dvbci_dlv_sys_hint = -1; - - -static int hf_dvbci_hdr_ver = -1; -static int hf_dvbci_event = -1; -static int hf_dvbci_len = -1; -static int hf_dvbci_hw_event = -1; -static int hf_dvbci_cor_addr = -1; -static int hf_dvbci_cor_val = -1; -static int hf_dvbci_cis_tpl_code = -1; -static int hf_dvbci_cis_tpl_len = -1; -static int hf_dvbci_cis_tpl_data = -1; -static int hf_dvbci_cis_tpll_v1_major = -1; -static int hf_dvbci_cis_tpll_v1_minor = -1; -static int hf_dvbci_cis_tpll_v1_info_manuf = -1; -static int hf_dvbci_cis_tpll_v1_info_name = -1; -static int hf_dvbci_cis_tpll_v1_info_additional = -1; -static int hf_dvbci_cis_tpll_v1_end = -1; -static int hf_dvbci_cis_tpcc_rfsz = -1; -static int hf_dvbci_cis_tpcc_rmsz = -1; -static int hf_dvbci_cis_tpcc_rasz = -1; -static int hf_dvbci_cis_tpcc_last = -1; -static int hf_dvbci_cis_tpcc_radr = -1; -static int hf_dvbci_cis_tpcc_rmsk = -1; -static int hf_dvbci_cis_st_code = -1; -static int hf_dvbci_cis_st_len = -1; -static int hf_dvbci_cis_stci_ifn_size = -1; -static int hf_dvbci_cis_stci_ifn = -1; -static int hf_dvbci_cis_stci_str = -1; -static int hf_dvbci_cis_tpce_indx_intface = -1; -static int hf_dvbci_cis_tpce_indx_default = -1; -static int hf_dvbci_cis_tpce_indx_cnf_entry = -1; -static int hf_dvbci_cis_tpce_if_type = -1; -static int hf_dvbci_cis_tpce_fs_mem_space = -1; -static int hf_dvbci_cis_tpce_fs_irq = -1; -static int hf_dvbci_cis_tpce_fs_io = -1; -static int hf_dvbci_cis_dev_vcc_used = -1; -static int hf_dvbci_cis_dev_mwait = -1; -static int hf_dvbci_cis_dev_oth_cond_info = -1; -static int hf_dvbci_cis_tplmid_manf = -1; -static int hf_dvbci_cis_tplmid_card = -1; -static int hf_dvbci_buf_size = -1; -static int hf_dvbci_tcid = -1; -static int hf_dvbci_ml = -1; -static int hf_dvbci_l_frags = -1; -static int hf_dvbci_l_frag = -1; -static int hf_dvbci_l_frag_overlap = -1; -static int hf_dvbci_l_frag_overlap_conflicts = -1; -static int hf_dvbci_l_frag_multiple_tails = -1; -static int hf_dvbci_l_frag_too_long_frag = -1; -static int hf_dvbci_l_frag_err = -1; -static int hf_dvbci_l_frag_cnt = -1; -static int hf_dvbci_l_reass_in = -1; -static int hf_dvbci_l_reass_len = -1; -static int hf_dvbci_c_tpdu_tag = -1; -static int hf_dvbci_r_tpdu_tag = -1; -static int hf_dvbci_t_c_id = -1; -static int hf_dvbci_sb_tag = -1; -static int hf_dvbci_sb_value = -1; -static int hf_dvbci_t_frags = -1; -static int hf_dvbci_t_frag = -1; -static int hf_dvbci_t_frag_overlap = -1; -static int hf_dvbci_t_frag_overlap_conflicts = -1; -static int hf_dvbci_t_frag_multiple_tails = -1; -static int hf_dvbci_t_frag_too_long_frag = -1; -static int hf_dvbci_t_frag_err = -1; -static int hf_dvbci_t_frag_cnt = -1; -static int hf_dvbci_t_reass_in = -1; -static int hf_dvbci_t_reass_len = -1; -static int hf_dvbci_spdu_tag = -1; -static int hf_dvbci_sess_status = -1; -static int hf_dvbci_sess_nb = -1; -static int hf_dvbci_close_sess_status = -1; -static int hf_dvbci_res_id = -1; -static int hf_dvbci_res_id_type = -1; -static int hf_dvbci_res_class = -1; -static int hf_dvbci_res_type = -1; -static int hf_dvbci_res_ver = -1; -static int hf_dvbci_apdu_tag = -1; -static int hf_dvbci_app_type = -1; -static int hf_dvbci_app_manf = -1; -static int hf_dvbci_manf_code = -1; -static int hf_dvbci_menu_str_len = -1; -static int hf_dvbci_ap_char_tbl = -1; -static int hf_dvbci_menu_str = -1; -static int hf_dvbci_data_rate = -1; -static int hf_dvbci_ca_sys_id = -1; -static int hf_dvbci_ca_pmt_list_mgmt = -1; -static int hf_dvbci_prog_num = -1; -static int hf_dvbci_ca_ver = -1; -static int hf_dvbci_curr_next = -1; -static int hf_dvbci_prog_info_len = -1; -static int hf_dvbci_stream_type = -1; -static int hf_dvbci_es_pid = -1; -static int hf_dvbci_es_info_len = -1; -static int hf_dvbci_ca_pmt_cmd_id = -1; -static int hf_dvbci_descr_len = -1; -static int hf_dvbci_ca_pid = -1; -static int hf_dvbci_ca_priv_data = -1; -static int hf_dvbci_ca_enable_flag = -1; -static int hf_dvbci_ca_enable = -1; -static int hf_dvbci_auth_proto_id = -1; -static int hf_dvbci_auth_req_bytes = -1; -static int hf_dvbci_auth_resp_bytes = -1; -static int hf_dvbci_network_id = -1; -static int hf_dvbci_original_network_id = -1; -static int hf_dvbci_transport_stream_id = -1; -static int hf_dvbci_service_id = -1; -static int hf_dvbci_replacement_ref = -1; -static int hf_dvbci_replaced_pid = -1; -static int hf_dvbci_replacement_pid = -1; -static int hf_dvbci_pmt_flag = -1; -static int hf_dvbci_hc_desc_loop_len = -1; -static int hf_dvbci_hc_status = -1; -static int hf_dvbci_hc_release_reply = -1; -static int hf_dvbci_resp_intv = -1; -static int hf_dvbci_utc_time = -1; -static int hf_dvbci_local_offset = -1; -static int hf_dvbci_close_mmi_cmd_id = -1; -static int hf_dvbci_close_mmi_delay = -1; -static int hf_dvbci_disp_ctl_cmd = -1; -static int hf_dvbci_mmi_mode = -1; -static int hf_dvbci_disp_rep_id = -1; -static int hf_dvbci_mmi_char_tbl = -1; -static int hf_dvbci_blind_ans = -1; -static int hf_dvbci_ans_txt_len = -1; -static int hf_dvbci_enq = -1; -static int hf_dvbci_ans_id = -1; -static int hf_dvbci_ans = -1; -static int hf_dvbci_choice_nb = -1; -static int hf_dvbci_choice_ref = -1; -static int hf_dvbci_item_nb = -1; -static int hf_dvbci_title = -1; -static int hf_dvbci_subtitle = -1; -static int hf_dvbci_bottom = -1; -static int hf_dvbci_item = -1; -static int hf_dvbci_host_country = -1; -static int hf_dvbci_host_language = -1; -static int hf_dvbci_cup_type = -1; -static int hf_dvbci_cup_download_time = -1; -static int hf_dvbci_cup_answer = -1; -static int hf_dvbci_cup_progress = -1; -static int hf_dvbci_cup_reset = -1; -static int hf_dvbci_cc_sys_id_bitmask = -1; -static int hf_dvbci_cc_snd_dat_nbr = -1; -static int hf_dvbci_cc_req_dat_nbr = -1; -static int hf_dvbci_cc_dat_id = -1; -static int hf_dvbci_cc_dat_len = -1; -static int hf_dvbci_brand_cert = -1; -static int hf_dvbci_dev_cert = -1; -static int hf_dvbci_uri_ver = -1; -static int hf_dvbci_uri_aps = -1; -static int hf_dvbci_uri_emi = -1; -static int hf_dvbci_uri_ict = -1; -static int hf_dvbci_uri_rct = -1; -static int hf_dvbci_uri_dot = -1; -static int hf_dvbci_uri_rl = -1; -static int hf_dvbci_cc_key_register = -1; -static int hf_dvbci_cc_status_field = -1; -static int hf_dvbci_cc_op_mode = -1; -static int hf_dvbci_cc_data = -1; -static int hf_dvbci_sac_msg_ctr = -1; -static int hf_dvbci_sac_proto_ver = -1; -static int hf_dvbci_sac_auth_cip = -1; -static int hf_dvbci_sac_payload_enc = -1; -static int hf_dvbci_sac_enc_cip = -1; -static int hf_dvbci_sac_payload_len = -1; -static int hf_dvbci_sac_enc_body = -1; -static int hf_dvbci_sac_padding = -1; -static int hf_dvbci_sac_signature = -1; -static int hf_dvbci_rating = -1; -static int hf_dvbci_capability_field = -1; -static int hf_dvbci_pin_chg_time = -1; -static int hf_dvbci_pincode_status = -1; -static int hf_dvbci_cc_prog_num = -1; -static int hf_dvbci_pin_evt_time = -1; -static int hf_dvbci_pin_evt_cent = -1; -static int hf_dvbci_cc_priv_data = -1; -static int hf_dvbci_pincode = -1; -static int hf_dvbci_app_dom_id_len = -1; -static int hf_dvbci_init_obj_len = -1; -static int hf_dvbci_app_dom_id = -1; -static int hf_dvbci_init_obj = -1; -static int hf_dvbci_ack_code = -1; -static int hf_dvbci_req_type = -1; -static int hf_dvbci_file_hash = -1; -static int hf_dvbci_file_name_len = -1; -static int hf_dvbci_file_name = -1; -static int hf_dvbci_file_data_len = -1; -static int hf_dvbci_ami_priv_data = -1; -static int hf_dvbci_req_ok = -1; -static int hf_dvbci_file_ok = -1; -static int hf_dvbci_abort_req_code = -1; -static int hf_dvbci_abort_ack_code = -1; -static int hf_dvbci_phase_id = -1; -static int hf_dvbci_comms_rep_id = -1; -static int hf_dvbci_lsc_buf_size = -1; -static int hf_dvbci_lsc_ret_val = -1; -static int hf_dvbci_comms_cmd_id = -1; -static int hf_dvbci_conn_desc_type = -1; -static int hf_dvbci_lsc_media_tag = -1; -static int hf_dvbci_lsc_media_len = -1; -static int hf_dvbci_lsc_media_data = -1; -static int hf_dvbci_lsc_ip_ver = -1; -static int hf_dvbci_lsc_ipv4_addr = -1; -static int hf_dvbci_lsc_ipv6_addr = -1; -static int hf_dvbci_lsc_dst_port = -1; -static int hf_dvbci_lsc_proto = -1; -static int hf_dvbci_lsc_hostname = -1; -static int hf_dvbci_lsc_retry_count = -1; -static int hf_dvbci_lsc_timeout = -1; -static int hf_dvbci_lsc_conn_state = -1; -static int hf_dvbci_lsc_phys_addr = -1; -static int hf_dvbci_lsc_netmask = -1; -static int hf_dvbci_lsc_gateway = -1; -static int hf_dvbci_lsc_dhcp_srv = -1; -static int hf_dvbci_lsc_num_dns_srv = -1; -static int hf_dvbci_lsc_dns_srv = -1; -static int hf_dvbci_afs_dom_id = -1; -static int hf_dvbci_afs_ack_code = -1; -static int hf_dvbci_info_ver_op_status = -1; -static int hf_dvbci_nit_ver = -1; -static int hf_dvbci_pro_typ = -1; -static int hf_dvbci_init_flag = -1; -static int hf_dvbci_ent_chg_flag = -1; -static int hf_dvbci_ent_val_flag = -1; -static int hf_dvbci_ref_req_flag = -1; -static int hf_dvbci_err_flag = -1; -static int hf_dvbci_dlv_sys_hint = -1; -static int hf_dvbci_dlv_sys_hint_t = -1; -static int hf_dvbci_dlv_sys_hint_s = -1; -static int hf_dvbci_dlv_sys_hint_c = -1; -static int hf_dvbci_refr_req_date = -1; -static int hf_dvbci_refr_req_time = -1; -static int hf_dvbci_nit_loop_len = -1; -static int hf_dvbci_info_valid = -1; -static int hf_dvbci_info_ver_op_info = -1; -static int hf_dvbci_cicam_onid = -1; -static int hf_dvbci_cicam_id = -1; -static int hf_dvbci_opp_char_tbl = -1; -static int hf_dvbci_sdt_rst_trusted = -1; -static int hf_dvbci_eit_rst_trusted = -1; -static int hf_dvbci_eit_pf_usage = -1; -static int hf_dvbci_eit_sch_usage = -1; -static int hf_dvbci_ext_evt_usage = -1; -static int hf_dvbci_sdt_oth_trusted = -1; -static int hf_dvbci_eit_evt_trigger = -1; -static int hf_dvbci_opp_lang_code = -1; -static int hf_dvbci_prof_name = -1; -static int hf_dvbci_unattended = -1; -static int hf_dvbci_opp_svc_type_loop_len = -1; -static int hf_dvbci_opp_svc_type = -1; -static int hf_dvbci_dlv_cap_loop_len = -1; -static int hf_dvbci_dlv_cap_byte = -1; -static int hf_dvbci_app_cap_loop_len = -1; -static int hf_dvbci_app_cap_bytes = -1; -static int hf_dvbci_desc_num = -1; -static int hf_dvbci_sig_strength = -1; -static int hf_dvbci_sig_qual = -1; -static int hf_dvbci_opp_tune_status = -1; -static int hf_dvbci_opp_desc_loop_len = -1; -static int hf_dvbci_sas_app_id = -1; -static int hf_dvbci_sas_sess_state = -1; -static int hf_dvbci_sas_msg_nb = -1; -static int hf_dvbci_sas_msg_len = -1; +static gint ett_dvbci; +static gint ett_dvbci_hdr; +static gint ett_dvbci_cis; +static gint ett_dvbci_cis_tpl; +static gint ett_dvbci_cis_subtpl; +static gint ett_dvbci_link; +static gint ett_dvbci_link_frag; +static gint ett_dvbci_link_frags; +static gint ett_dvbci_transport; +static gint ett_dvbci_transport_frag; +static gint ett_dvbci_transport_frags; +static gint ett_dvbci_session; +static gint ett_dvbci_res; +static gint ett_dvbci_application; +static gint ett_dvbci_es; +static gint ett_dvbci_ca_desc; +static gint ett_dvbci_text; +static gint ett_dvbci_cc_item; +static gint ett_dvbci_sac_msg_body; +static gint ett_dvbci_ami_req_types; +static gint ett_dvbci_lsc_conn_desc; +static gint ett_dvbci_opp_cap_loop; +static gint ett_dvbci_dlv_sys_hint; + + +static int hf_dvbci_hdr_ver; +static int hf_dvbci_event; +static int hf_dvbci_len; +static int hf_dvbci_hw_event; +static int hf_dvbci_cor_addr; +static int hf_dvbci_cor_val; +static int hf_dvbci_cis_tpl_code; +static int hf_dvbci_cis_tpl_len; +static int hf_dvbci_cis_tpl_data; +static int hf_dvbci_cis_tpll_v1_major; +static int hf_dvbci_cis_tpll_v1_minor; +static int hf_dvbci_cis_tpll_v1_info_manuf; +static int hf_dvbci_cis_tpll_v1_info_name; +static int hf_dvbci_cis_tpll_v1_info_additional; +static int hf_dvbci_cis_tpll_v1_end; +static int hf_dvbci_cis_tpcc_rfsz; +static int hf_dvbci_cis_tpcc_rmsz; +static int hf_dvbci_cis_tpcc_rasz; +static int hf_dvbci_cis_tpcc_last; +static int hf_dvbci_cis_tpcc_radr; +static int hf_dvbci_cis_tpcc_rmsk; +static int hf_dvbci_cis_st_code; +static int hf_dvbci_cis_st_len; +static int hf_dvbci_cis_stci_ifn_size; +static int hf_dvbci_cis_stci_ifn; +static int hf_dvbci_cis_stci_str; +static int hf_dvbci_cis_tpce_indx_intface; +static int hf_dvbci_cis_tpce_indx_default; +static int hf_dvbci_cis_tpce_indx_cnf_entry; +static int hf_dvbci_cis_tpce_if_type; +static int hf_dvbci_cis_tpce_fs_mem_space; +static int hf_dvbci_cis_tpce_fs_irq; +static int hf_dvbci_cis_tpce_fs_io; +static int hf_dvbci_cis_dev_vcc_used; +static int hf_dvbci_cis_dev_mwait; +static int hf_dvbci_cis_dev_oth_cond_info; +static int hf_dvbci_cis_tplmid_manf; +static int hf_dvbci_cis_tplmid_card; +static int hf_dvbci_buf_size; +static int hf_dvbci_tcid; +static int hf_dvbci_ml; +static int hf_dvbci_l_frags; +static int hf_dvbci_l_frag; +static int hf_dvbci_l_frag_overlap; +static int hf_dvbci_l_frag_overlap_conflicts; +static int hf_dvbci_l_frag_multiple_tails; +static int hf_dvbci_l_frag_too_long_frag; +static int hf_dvbci_l_frag_err; +static int hf_dvbci_l_frag_cnt; +static int hf_dvbci_l_reass_in; +static int hf_dvbci_l_reass_len; +static int hf_dvbci_c_tpdu_tag; +static int hf_dvbci_r_tpdu_tag; +static int hf_dvbci_t_c_id; +static int hf_dvbci_sb_tag; +static int hf_dvbci_sb_value; +static int hf_dvbci_t_frags; +static int hf_dvbci_t_frag; +static int hf_dvbci_t_frag_overlap; +static int hf_dvbci_t_frag_overlap_conflicts; +static int hf_dvbci_t_frag_multiple_tails; +static int hf_dvbci_t_frag_too_long_frag; +static int hf_dvbci_t_frag_err; +static int hf_dvbci_t_frag_cnt; +static int hf_dvbci_t_reass_in; +static int hf_dvbci_t_reass_len; +static int hf_dvbci_spdu_tag; +static int hf_dvbci_sess_status; +static int hf_dvbci_sess_nb; +static int hf_dvbci_close_sess_status; +static int hf_dvbci_res_id; +static int hf_dvbci_res_id_type; +static int hf_dvbci_res_class; +static int hf_dvbci_res_type; +static int hf_dvbci_res_ver; +static int hf_dvbci_apdu_tag; +static int hf_dvbci_app_type; +static int hf_dvbci_app_manf; +static int hf_dvbci_manf_code; +static int hf_dvbci_menu_str_len; +static int hf_dvbci_ap_char_tbl; +static int hf_dvbci_menu_str; +static int hf_dvbci_data_rate; +static int hf_dvbci_ca_sys_id; +static int hf_dvbci_ca_pmt_list_mgmt; +static int hf_dvbci_prog_num; +static int hf_dvbci_ca_ver; +static int hf_dvbci_curr_next; +static int hf_dvbci_prog_info_len; +static int hf_dvbci_stream_type; +static int hf_dvbci_es_pid; +static int hf_dvbci_es_info_len; +static int hf_dvbci_ca_pmt_cmd_id; +static int hf_dvbci_descr_len; +static int hf_dvbci_ca_pid; +static int hf_dvbci_ca_priv_data; +static int hf_dvbci_ca_enable_flag; +static int hf_dvbci_ca_enable; +static int hf_dvbci_auth_proto_id; +static int hf_dvbci_auth_req_bytes; +static int hf_dvbci_auth_resp_bytes; +static int hf_dvbci_network_id; +static int hf_dvbci_original_network_id; +static int hf_dvbci_transport_stream_id; +static int hf_dvbci_service_id; +static int hf_dvbci_replacement_ref; +static int hf_dvbci_replaced_pid; +static int hf_dvbci_replacement_pid; +static int hf_dvbci_pmt_flag; +static int hf_dvbci_hc_desc_loop_len; +static int hf_dvbci_hc_status; +static int hf_dvbci_hc_release_reply; +static int hf_dvbci_resp_intv; +static int hf_dvbci_utc_time; +static int hf_dvbci_local_offset; +static int hf_dvbci_close_mmi_cmd_id; +static int hf_dvbci_close_mmi_delay; +static int hf_dvbci_disp_ctl_cmd; +static int hf_dvbci_mmi_mode; +static int hf_dvbci_disp_rep_id; +static int hf_dvbci_mmi_char_tbl; +static int hf_dvbci_blind_ans; +static int hf_dvbci_ans_txt_len; +static int hf_dvbci_enq; +static int hf_dvbci_ans_id; +static int hf_dvbci_ans; +static int hf_dvbci_choice_nb; +static int hf_dvbci_choice_ref; +static int hf_dvbci_item_nb; +static int hf_dvbci_title; +static int hf_dvbci_subtitle; +static int hf_dvbci_bottom; +static int hf_dvbci_item; +static int hf_dvbci_host_country; +static int hf_dvbci_host_language; +static int hf_dvbci_cup_type; +static int hf_dvbci_cup_download_time; +static int hf_dvbci_cup_answer; +static int hf_dvbci_cup_progress; +static int hf_dvbci_cup_reset; +static int hf_dvbci_cc_sys_id_bitmask; +static int hf_dvbci_cc_snd_dat_nbr; +static int hf_dvbci_cc_req_dat_nbr; +static int hf_dvbci_cc_dat_id; +static int hf_dvbci_cc_dat_len; +static int hf_dvbci_brand_cert; +static int hf_dvbci_dev_cert; +static int hf_dvbci_uri_ver; +static int hf_dvbci_uri_aps; +static int hf_dvbci_uri_emi; +static int hf_dvbci_uri_ict; +static int hf_dvbci_uri_rct; +static int hf_dvbci_uri_dot; +static int hf_dvbci_uri_rl; +static int hf_dvbci_cc_key_register; +static int hf_dvbci_cc_status_field; +static int hf_dvbci_cc_op_mode; +static int hf_dvbci_cc_data; +static int hf_dvbci_sac_msg_ctr; +static int hf_dvbci_sac_proto_ver; +static int hf_dvbci_sac_auth_cip; +static int hf_dvbci_sac_payload_enc; +static int hf_dvbci_sac_enc_cip; +static int hf_dvbci_sac_payload_len; +static int hf_dvbci_sac_enc_body; +static int hf_dvbci_sac_padding; +static int hf_dvbci_sac_signature; +static int hf_dvbci_rating; +static int hf_dvbci_capability_field; +static int hf_dvbci_pin_chg_time; +static int hf_dvbci_pincode_status; +static int hf_dvbci_cc_prog_num; +static int hf_dvbci_pin_evt_time; +static int hf_dvbci_pin_evt_cent; +static int hf_dvbci_cc_priv_data; +static int hf_dvbci_pincode; +static int hf_dvbci_app_dom_id_len; +static int hf_dvbci_init_obj_len; +static int hf_dvbci_app_dom_id; +static int hf_dvbci_init_obj; +static int hf_dvbci_ack_code; +static int hf_dvbci_req_type; +static int hf_dvbci_file_hash; +static int hf_dvbci_file_name_len; +static int hf_dvbci_file_name; +static int hf_dvbci_file_data_len; +static int hf_dvbci_ami_priv_data; +static int hf_dvbci_req_ok; +static int hf_dvbci_file_ok; +static int hf_dvbci_abort_req_code; +static int hf_dvbci_abort_ack_code; +static int hf_dvbci_phase_id; +static int hf_dvbci_comms_rep_id; +static int hf_dvbci_lsc_buf_size; +static int hf_dvbci_lsc_ret_val; +static int hf_dvbci_comms_cmd_id; +static int hf_dvbci_conn_desc_type; +static int hf_dvbci_lsc_media_tag; +static int hf_dvbci_lsc_media_len; +static int hf_dvbci_lsc_media_data; +static int hf_dvbci_lsc_ip_ver; +static int hf_dvbci_lsc_ipv4_addr; +static int hf_dvbci_lsc_ipv6_addr; +static int hf_dvbci_lsc_dst_port; +static int hf_dvbci_lsc_proto; +static int hf_dvbci_lsc_hostname; +static int hf_dvbci_lsc_retry_count; +static int hf_dvbci_lsc_timeout; +static int hf_dvbci_lsc_conn_state; +static int hf_dvbci_lsc_phys_addr; +static int hf_dvbci_lsc_netmask; +static int hf_dvbci_lsc_gateway; +static int hf_dvbci_lsc_dhcp_srv; +static int hf_dvbci_lsc_num_dns_srv; +static int hf_dvbci_lsc_dns_srv; +static int hf_dvbci_afs_dom_id; +static int hf_dvbci_afs_ack_code; +static int hf_dvbci_info_ver_op_status; +static int hf_dvbci_nit_ver; +static int hf_dvbci_pro_typ; +static int hf_dvbci_init_flag; +static int hf_dvbci_ent_chg_flag; +static int hf_dvbci_ent_val_flag; +static int hf_dvbci_ref_req_flag; +static int hf_dvbci_err_flag; +static int hf_dvbci_dlv_sys_hint; +static int hf_dvbci_dlv_sys_hint_t; +static int hf_dvbci_dlv_sys_hint_s; +static int hf_dvbci_dlv_sys_hint_c; +static int hf_dvbci_refr_req_date; +static int hf_dvbci_refr_req_time; +static int hf_dvbci_nit_loop_len; +static int hf_dvbci_info_valid; +static int hf_dvbci_info_ver_op_info; +static int hf_dvbci_cicam_onid; +static int hf_dvbci_cicam_id; +static int hf_dvbci_opp_char_tbl; +static int hf_dvbci_sdt_rst_trusted; +static int hf_dvbci_eit_rst_trusted; +static int hf_dvbci_eit_pf_usage; +static int hf_dvbci_eit_sch_usage; +static int hf_dvbci_ext_evt_usage; +static int hf_dvbci_sdt_oth_trusted; +static int hf_dvbci_eit_evt_trigger; +static int hf_dvbci_opp_lang_code; +static int hf_dvbci_prof_name; +static int hf_dvbci_unattended; +static int hf_dvbci_opp_svc_type_loop_len; +static int hf_dvbci_opp_svc_type; +static int hf_dvbci_dlv_cap_loop_len; +static int hf_dvbci_dlv_cap_byte; +static int hf_dvbci_app_cap_loop_len; +static int hf_dvbci_app_cap_bytes; +static int hf_dvbci_desc_num; +static int hf_dvbci_sig_strength; +static int hf_dvbci_sig_qual; +static int hf_dvbci_opp_tune_status; +static int hf_dvbci_opp_desc_loop_len; +static int hf_dvbci_sas_app_id; +static int hf_dvbci_sas_sess_state; +static int hf_dvbci_sas_msg_nb; +static int hf_dvbci_sas_msg_len; static int * const dvb_ci_res_id_fields[] = { &hf_dvbci_res_id_type, @@ -1159,38 +1160,38 @@ static int * const dvbci_opp_dlv_sys_hint_fields[] = { }; -static expert_field ei_dvbci_cor_addr = EI_INIT; -static expert_field ei_dvbci_buf_size = EI_INIT; -static expert_field ei_dvbci_ml = EI_INIT; -static expert_field ei_dvbci_c_tpdu_tag = EI_INIT; -static expert_field ei_dvbci_r_tpdu_status_mandatory = EI_INIT; -static expert_field ei_dvbci_r_tpdu_tag = EI_INIT; -static expert_field ei_dvbci_sb_value = EI_INIT; -static expert_field ei_dvbci_t_c_id = EI_INIT; -static expert_field ei_dvbci_tpdu_status_tag = EI_INIT; -static expert_field ei_dvbci_spdu_tag = EI_INIT; -static expert_field ei_dvbci_spdu_cam_to_host = EI_INIT; -static expert_field ei_dvbci_spdu_host_to_cam = EI_INIT; -static expert_field ei_dvbci_apdu_tag = EI_INIT; -static expert_field ei_dvbci_apu_cam_to_host = EI_INIT; -static expert_field ei_dvbci_apu_host_to_cam = EI_INIT; -static expert_field ei_dvbci_apdu_not_supported = EI_INIT; -static expert_field ei_dvbci_res_ver = EI_INIT; -static expert_field ei_dvbci_res_class = EI_INIT; -static expert_field ei_dvbci_bad_length = EI_INIT; -static expert_field ei_dvbci_invalid_char_tbl = EI_INIT; -static expert_field ei_dvbci_no_ca_desc_es = EI_INIT; -static expert_field ei_dvbci_no_ca_desc_prog = EI_INIT; -static expert_field ei_dvbci_ca_pmt_cmd_id = EI_INIT; -static expert_field ei_dvbci_time_offs_unknown = EI_INIT; -static expert_field ei_dvbci_not_text_more_or_text_last = EI_INIT; -static expert_field ei_dvbci_network_id = EI_INIT; -static expert_field ei_dvbci_cc_pin_nvr_chg = EI_INIT; -static expert_field ei_dvbci_pin_evt_cent = EI_INIT; -static expert_field ei_dvbci_sac_payload_enc = EI_INIT; -static expert_field ei_dvbci_sig_qual = EI_INIT; -static expert_field ei_dvbci_cicam_nit_table_id = EI_INIT; -static expert_field ei_dvbci_cup_progress = EI_INIT; +static expert_field ei_dvbci_cor_addr; +static expert_field ei_dvbci_buf_size; +static expert_field ei_dvbci_ml; +static expert_field ei_dvbci_c_tpdu_tag; +static expert_field ei_dvbci_r_tpdu_status_mandatory; +static expert_field ei_dvbci_r_tpdu_tag; +static expert_field ei_dvbci_sb_value; +static expert_field ei_dvbci_t_c_id; +static expert_field ei_dvbci_tpdu_status_tag; +static expert_field ei_dvbci_spdu_tag; +static expert_field ei_dvbci_spdu_cam_to_host; +static expert_field ei_dvbci_spdu_host_to_cam; +static expert_field ei_dvbci_apdu_tag; +static expert_field ei_dvbci_apu_cam_to_host; +static expert_field ei_dvbci_apu_host_to_cam; +static expert_field ei_dvbci_apdu_not_supported; +static expert_field ei_dvbci_res_ver; +static expert_field ei_dvbci_res_class; +static expert_field ei_dvbci_bad_length; +static expert_field ei_dvbci_invalid_char_tbl; +static expert_field ei_dvbci_no_ca_desc_es; +static expert_field ei_dvbci_no_ca_desc_prog; +static expert_field ei_dvbci_ca_pmt_cmd_id; +static expert_field ei_dvbci_time_offs_unknown; +static expert_field ei_dvbci_not_text_more_or_text_last; +static expert_field ei_dvbci_network_id; +static expert_field ei_dvbci_cc_pin_nvr_chg; +static expert_field ei_dvbci_pin_evt_cent; +static expert_field ei_dvbci_sac_payload_enc; +static expert_field ei_dvbci_sig_qual; +static expert_field ei_dvbci_cicam_nit_table_id; +static expert_field ei_dvbci_cup_progress; static dissector_table_t sas_msg_dissector_table; @@ -2015,7 +2016,7 @@ dissect_conn_desc(tvbuff_t *tvb, gint offset, conversation_t *conv, /* everything from here to the descriptor's end is a hostname */ hostname_len = (offset_body+len_field)-offset; proto_tree_add_item(conn_desc_tree, hf_dvbci_lsc_hostname, - tvb, offset, hostname_len, ENC_ASCII|ENC_NA); + tvb, offset, hostname_len, ENC_ASCII); offset += hostname_len; } else { proto_tree_add_item(conn_desc_tree, hf_dvbci_lsc_media_data, @@ -3470,7 +3471,7 @@ dissect_sac_msg(guint32 tag, tvbuff_t *tvb, gint offset, tvb_composite_append(clear_sac_msg_tvb, clear_sac_body_tvb); tvb_composite_finalize(clear_sac_msg_tvb); - exp_pdu_data = export_pdu_create_tags(pinfo, EXPORTED_SAC_MSG_PROTO, EXP_PDU_TAG_PROTO_NAME, dvbci_exp_pdu_items); + exp_pdu_data = export_pdu_create_tags(pinfo, EXPORTED_SAC_MSG_PROTO, EXP_PDU_TAG_DISSECTOR_NAME, dvbci_exp_pdu_items); exp_pdu_data->tvb_captured_length = tvb_captured_length(clear_sac_msg_tvb); exp_pdu_data->tvb_reported_length = tvb_reported_length(clear_sac_msg_tvb); @@ -3491,7 +3492,7 @@ dissect_dvbci_exported_sac_msg( if (!IS_DATA_TRANSFER(evt)) return 0; - col_append_sep_str(pinfo->cinfo, COL_PROTOCOL, NULL, EXPORTED_SAC_MSG_PROTO); + col_append_sep_str(pinfo->cinfo, COL_PROTOCOL, NULL, EXPORTED_SAC_MSG_DESCRIPTION); col_clear(pinfo->cinfo, COL_INFO); /* we only export cc_sac_data_req and _cnf, therefore, the tag can be @@ -3614,7 +3615,7 @@ dissect_dvbci_payload_cc(guint32 tag, gint len_field _U_, case T_CC_PIN_MMI_REQ: proto_tree_add_item(tree, hf_dvbci_pincode, tvb, offset, tvb_reported_length_remaining(tvb, offset), - ENC_ASCII|ENC_NA); + ENC_ASCII); break; default: break; @@ -3761,7 +3762,7 @@ dissect_dvbci_payload_ami(guint32 tag, gint len_field _U_, } offset += app_dom_id_len; proto_tree_add_item(tree, hf_dvbci_init_obj, - tvb, offset, init_obj_len, ENC_ASCII|ENC_NA); + tvb, offset, init_obj_len, ENC_ASCII); break; case T_REQUEST_START_ACK: ack_code = tvb_get_guint8(tvb, offset); @@ -4080,7 +4081,7 @@ dissect_dvbci_payload_opp(guint32 tag, gint len_field _U_, tvb, offset, 1, ENC_BIG_ENDIAN); offset++; proto_tree_add_item(tree, hf_dvbci_opp_lang_code, - tvb, offset, 3, ENC_ASCII|ENC_NA); + tvb, offset, 3, ENC_ASCII); offset += 3; /* hf_dvbci_prof_name is an FT_UINT_STRING, one leading len byte */ proto_tree_add_item(tree, hf_dvbci_prof_name, @@ -4200,8 +4201,8 @@ dissect_dvbci_payload_sas(guint32 tag, gint len_field _U_, switch(tag) { case T_SAS_CONNECT_RQST: case T_SAS_CONNECT_CNF: - g_snprintf(app_id_str, sizeof(app_id_str), - "0x%016" G_GINT64_MODIFIER "x", tvb_get_ntoh64(tvb, offset)); + snprintf(app_id_str, sizeof(app_id_str), + "0x%016" PRIx64, tvb_get_ntoh64(tvb, offset)); col_append_sep_str(pinfo->cinfo, COL_INFO, ": ", app_id_str); proto_tree_add_item(tree, hf_dvbci_sas_app_id, tvb, offset, 8, ENC_BIG_ENDIAN); @@ -4426,7 +4427,7 @@ dissect_dvbci_spdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, break; } col_append_sep_str(pinfo->cinfo, COL_INFO, NULL, "Session opened"); - conv = conversation_new_by_id(pinfo->num, ENDPOINT_DVBCI, CT_ID(ssnb, tcid), 0); + conv = conversation_new_by_id(pinfo->num, CONVERSATION_DVBCI, CT_ID(ssnb, tcid)); /* we always add the resource id immediately after the circuit was created */ conversation_add_proto_data(conv, proto_dvbci, GUINT_TO_POINTER(res_id)); @@ -4447,7 +4448,7 @@ dissect_dvbci_spdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, ssnb = tvb_get_ntohs(tvb, offset+1); proto_tree_add_item(sess_tree, hf_dvbci_sess_nb, tvb, offset+1, 2, ENC_BIG_ENDIAN); - conv = find_conversation_by_id(pinfo->num, ENDPOINT_DVBCI, CT_ID(ssnb, tcid), 0); + conv = find_conversation_by_id(pinfo->num, CONVERSATION_DVBCI, CT_ID(ssnb, tcid)); if (conv) conv->last_frame = pinfo->num; break; @@ -4464,7 +4465,7 @@ dissect_dvbci_spdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, } if (ssnb && !conv) - conv = find_conversation_by_id(pinfo->num, ENDPOINT_DVBCI, CT_ID(ssnb, tcid), 0); + conv = find_conversation_by_id(pinfo->num, CONVERSATION_DVBCI, CT_ID(ssnb, tcid)); /* if the packet contains no resource id, we add the cached id from the circuit so that each packet has a resource id that can be @@ -4831,14 +4832,14 @@ dissect_dvbci_cis_payload_tpll_v1(tvbuff_t *data_tvb, if (offset_str_end<offset) /* offset_str_end==offset is ok */ return offset; proto_tree_add_item(tree, hf_dvbci_cis_tpll_v1_info_manuf, - data_tvb, offset, offset_str_end-offset, ENC_ASCII|ENC_NA); + data_tvb, offset, offset_str_end-offset, ENC_ASCII); offset = offset_str_end+1; /* +1 for 0 termination */ offset_str_end = tvb_find_guint8(data_tvb, offset, -1, 0x0); if (offset_str_end<offset) return offset; proto_tree_add_item(tree, hf_dvbci_cis_tpll_v1_info_name, - data_tvb, offset, offset_str_end-offset, ENC_ASCII|ENC_NA); + data_tvb, offset, offset_str_end-offset, ENC_ASCII); offset = offset_str_end+1; /* the pc-card spec mentions two additional info strings, @@ -4849,7 +4850,7 @@ dissect_dvbci_cis_payload_tpll_v1(tvbuff_t *data_tvb, if (offset_str_end<offset) break; proto_tree_add_item(tree, hf_dvbci_cis_tpll_v1_info_additional, - data_tvb, offset, offset_str_end-offset, ENC_ASCII|ENC_NA); + data_tvb, offset, offset_str_end-offset, ENC_ASCII); offset = offset_str_end+1; } @@ -4921,7 +4922,7 @@ dissect_dvbci_cis_payload_config(tvbuff_t *data_tvb, /* the stci_str field could consist of multiple strings, this case is not supported for now */ proto_tree_add_item(st_tree, hf_dvbci_cis_stci_str, - data_tvb, offset, st_len-stci_ifn_size, ENC_ASCII|ENC_NA); + data_tvb, offset, st_len-stci_ifn_size, ENC_ASCII); offset += st_len-stci_ifn_size; } else { @@ -5274,15 +5275,15 @@ proto_register_dvbci(void) }, { &hf_dvbci_cis_tpll_v1_info_manuf, { "Manufacturer", "dvb-ci.cis.tpll_v1_info.manufacturer", - FT_STRING, STR_ASCII, NULL, 0, NULL, HFILL } + FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL } }, { &hf_dvbci_cis_tpll_v1_info_name, { "Name", "dvb-ci.cis.tpll_v1_info.name", - FT_STRING, STR_ASCII, NULL, 0, NULL, HFILL } + FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL } }, { &hf_dvbci_cis_tpll_v1_info_additional, { "Additional info", "dvb-ci.cis.tpll_v1_info.additional", - FT_STRING, STR_ASCII, NULL, 0, NULL, HFILL } + FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL } }, { &hf_dvbci_cis_tpll_v1_end, { "End of chain", "dvb-ci.cis.tpll_v1_end", @@ -5330,7 +5331,7 @@ proto_register_dvbci(void) }, { &hf_dvbci_cis_stci_str, { "Interface description strings", "dvb-ci.cis.stci_str", - FT_STRING, STR_ASCII, NULL, 0, NULL, HFILL } + FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL } }, { &hf_dvbci_cis_tpce_indx_intface, { "Intface", "dvb-ci.cis.tpce_indx.intface", @@ -5560,7 +5561,7 @@ proto_register_dvbci(void) }, { &hf_dvbci_menu_str, { "Menu string", "dvb-ci.ap.menu_string", - FT_STRING, STR_UNICODE, NULL, 0, NULL, HFILL } + FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL } }, { &hf_dvbci_data_rate, { "Transport stream data rate supported by the host", @@ -5734,7 +5735,7 @@ proto_register_dvbci(void) }, { &hf_dvbci_enq, { "Enquiry string", "dvb-ci.mmi.enq", - FT_STRING, STR_UNICODE, NULL, 0, NULL, HFILL } + FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL } }, { &hf_dvbci_ans_id, { "Answer ID", "dvb-ci.mmi.ans_id", @@ -5742,7 +5743,7 @@ proto_register_dvbci(void) }, { &hf_dvbci_ans, { "Answer", "dvb-ci.mmi.ans", - FT_STRING, STR_UNICODE, NULL, 0, NULL, HFILL } + FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL } }, { &hf_dvbci_choice_nb, { "Number of menu items", "dvb-ci.mmi.choice_nb", @@ -5758,27 +5759,27 @@ proto_register_dvbci(void) }, { &hf_dvbci_title, { "Title", "dvb-ci.mmi.title", - FT_STRING, STR_UNICODE, NULL, 0, NULL, HFILL } + FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL } }, { &hf_dvbci_subtitle, { "Sub-title", "dvb-ci.mmi.subtitle", - FT_STRING, STR_UNICODE, NULL, 0, NULL, HFILL } + FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL } }, { &hf_dvbci_bottom, { "Bottom line", "dvb-ci.mmi.bottom", - FT_STRING, STR_UNICODE, NULL, 0, NULL, HFILL } + FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL } }, { &hf_dvbci_item, { "Item", "dvb-ci.mmi.item", - FT_STRING, STR_UNICODE, NULL, 0, NULL, HFILL } + FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL } }, { &hf_dvbci_host_country, { "Host country", "dvb-ci.hlc.country", - FT_STRING, STR_UNICODE, NULL, 0, NULL, HFILL } + FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL } }, { &hf_dvbci_host_language, { "Host language", "dvb-ci.hlc.language", - FT_STRING, STR_UNICODE, NULL, 0, NULL, HFILL } + FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL } }, { &hf_dvbci_cup_type, { "CAM upgrade type", "dvb-ci.cup.type", @@ -5944,7 +5945,7 @@ proto_register_dvbci(void) }, { &hf_dvbci_pincode, { "PIN code", "dvb-ci.cc.pincode", - FT_STRING, STR_ASCII, NULL, 0, NULL, HFILL } + FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL } }, { &hf_dvbci_app_dom_id_len, { "Application Domain Identifier length", "dvb-ci.ami.app_dom_id_len", @@ -5956,11 +5957,11 @@ proto_register_dvbci(void) }, { &hf_dvbci_app_dom_id, { "Application Domain Identifier", "dvb-ci.ami.app_dom_id", - FT_STRING, STR_ASCII, NULL, 0, NULL, HFILL } + FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL } }, { &hf_dvbci_init_obj, { "Initial Object", "dvb-ci.ami.init_obj", - FT_STRING, STR_ASCII, NULL, 0, NULL, HFILL } + FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL } }, { &hf_dvbci_ack_code, { "Acknowledgement", "dvb-ci.ami.ack_code", @@ -5980,7 +5981,7 @@ proto_register_dvbci(void) }, { &hf_dvbci_file_name, { "File name", "dvb-ci.ami.file_name", - FT_STRING, STR_ASCII, NULL, 0, NULL, HFILL } + FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL } }, { &hf_dvbci_file_data_len, { "File data length", "dvb-ci.ami.file_data_len", @@ -6056,7 +6057,7 @@ proto_register_dvbci(void) }, { &hf_dvbci_lsc_dst_port, { "Destination port", "dvb-ci.lsc.dst_port", - FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL } + FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL } }, { &hf_dvbci_lsc_proto, { "Protocol", "dvb-ci.lsc.protocol", @@ -6064,7 +6065,7 @@ proto_register_dvbci(void) }, { &hf_dvbci_lsc_hostname, { "Hostname", "dvb-ci.lsc.hostname", - FT_STRING, STR_ASCII, NULL, 0, NULL, HFILL } + FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL } }, { &hf_dvbci_lsc_retry_count, { "Retry count", "dvb-ci.lsc.retry_count", @@ -6104,7 +6105,7 @@ proto_register_dvbci(void) }, { &hf_dvbci_afs_dom_id, { "Domain identifier", "dvb-ci.afs.domain_identifier", - FT_UINT_STRING, STR_UNICODE, NULL, 0, NULL, HFILL } + FT_UINT_STRING, BASE_NONE, NULL, 0, NULL, HFILL } }, { &hf_dvbci_afs_ack_code, { "Ack code", "dvb-ci.afs.ack_code", @@ -6150,15 +6151,15 @@ proto_register_dvbci(void) }, { &hf_dvbci_dlv_sys_hint_t, { "terrestrial network (DVB-T/T2)", "dvb-ci.opp.dlv_sys_hint.t", - FT_BOOLEAN, 4, TFS(&tfs_set_notset), 0x04, NULL, HFILL } + FT_BOOLEAN, 4, TFS(&tfs_set_notset), 0x4, NULL, HFILL } }, { &hf_dvbci_dlv_sys_hint_s, { "satellite network (DVB-S/S2)", "dvb-ci.opp.dlv_sys_hint.s", - FT_BOOLEAN, 4, TFS(&tfs_set_notset), 0x02, NULL, HFILL } + FT_BOOLEAN, 4, TFS(&tfs_set_notset), 0x2, NULL, HFILL } }, { &hf_dvbci_dlv_sys_hint_c, { "cable network (DVB-C/C2)", "dvb-ci.opp.dlv_sys_hint.c", - FT_BOOLEAN, 4, TFS(&tfs_set_notset), 0x01, NULL, HFILL } + FT_BOOLEAN, 4, TFS(&tfs_set_notset), 0x1, NULL, HFILL } }, { &hf_dvbci_refr_req_date, { "Refresh request date", "dvb-ci.opp.refresh_req_date", @@ -6222,7 +6223,7 @@ proto_register_dvbci(void) }, { &hf_dvbci_opp_lang_code, { "Language code", "dvb-ci.opp.lang_code", - FT_STRING, STR_ASCII, NULL, 0, NULL, HFILL } + FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL } }, { &hf_dvbci_prof_name, { "Profile name", "dvb-ci.opp.profile_name", @@ -6430,8 +6431,7 @@ proto_register_dvbci(void) expert_dvbci = expert_register_protocol(proto_dvbci); expert_register_field_array(expert_dvbci, ei, array_length(ei)); - dvbci_module = prefs_register_protocol( - proto_dvbci, proto_reg_handoff_dvbci); + dvbci_module = prefs_register_protocol(proto_dvbci, proto_reg_handoff_dvbci); prefs_register_string_preference(dvbci_module, "sek", "SAC Encryption Key", "SAC Encryption Key (16 hex bytes)", &dvbci_sek); @@ -6448,7 +6448,7 @@ proto_register_dvbci(void) &dvbci_dissect_lsc_msg); sas_msg_dissector_table = register_dissector_table("dvb-ci.sas.app_id_str", - "SAS application id", proto_dvbci, FT_STRING, STR_ASCII); + "SAS application id", proto_dvbci, FT_STRING, STRING_CASE_SENSITIVE); register_init_routine(dvbci_init); reassembly_table_register(&tpdu_reassembly_table, @@ -6458,7 +6458,8 @@ proto_register_dvbci(void) /* the dissector for decrypted CI+ SAC messages which we can export */ - register_dissector(EXPORTED_SAC_MSG_PROTO, + register_dissector_with_description(EXPORTED_SAC_MSG_PROTO, + EXPORTED_SAC_MSG_DESCRIPTION, dissect_dvbci_exported_sac_msg, proto_dvbci); exported_pdu_tap = register_export_pdu_tap("DVB-CI"); @@ -6472,14 +6473,19 @@ proto_register_dvbci(void) void proto_reg_handoff_dvbci(void) { - dissector_add_uint("wtap_encap", WTAP_ENCAP_DVBCI, dvbci_handle); - - data_handle = find_dissector("data"); - mpeg_pmt_handle = find_dissector_add_dependency("mpeg_pmt", proto_dvbci); - dvb_nit_handle = find_dissector_add_dependency("dvb_nit", proto_dvbci); - mime_handle = find_dissector_add_dependency("mime_dlt", proto_dvbci); - tcp_dissector_table = find_dissector_table("tcp.port"); - udp_dissector_table = find_dissector_table("udp.port"); + static gboolean initialized = FALSE; + + if (!initialized) { + dissector_add_uint("wtap_encap", WTAP_ENCAP_DVBCI, dvbci_handle); + + data_handle = find_dissector("data"); + mpeg_pmt_handle = find_dissector_add_dependency("mpeg_pmt", proto_dvbci); + dvb_nit_handle = find_dissector_add_dependency("dvb_nit", proto_dvbci); + mime_handle = find_dissector_add_dependency("mime_dlt", proto_dvbci); + tcp_dissector_table = find_dissector_table("tcp.port"); + udp_dissector_table = find_dissector_table("udp.port"); + initialized = TRUE; + } g_free(dvbci_sek_bin); g_free(dvbci_siv_bin); |