forked from osmocom/wireshark
Forbid leading, duplicated and trailing dots in field names
In order to simplify the display filter scanner, try to restrict the use of dots ('.') in field names. Forbid leading dots, does not affect current dissectors. Fix '..' typo in fpp dissector and forbid it. Forbid trailing dots after fixing dissectors: some of them just have an excess dot, others are missing a name after the dot. Change-Id: I6e58a04ef0306ee8c16fbf6a3cabb076d7fc69c9 Reviewed-on: https://code.wireshark.org/review/26967 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
This commit is contained in:
parent
f9ed58759f
commit
ccff21854d
|
@ -2070,7 +2070,7 @@ void proto_register_ldap(void) {
|
|||
TFS(&tfs_ads_rodc), 0x00000800, "Is this an read only dc?", HFILL }},
|
||||
|
||||
{ &hf_mscldap_netlogon_flags_wdc,
|
||||
{ "WDC", "mscldap.netlogon.flags.writabledc.", FT_BOOLEAN, 32,
|
||||
{ "WDC", "mscldap.netlogon.flags.writabledc", FT_BOOLEAN, 32,
|
||||
TFS(&tfs_ads_wdc), 0x00001000, "Is this an writable dc (Windows 2008)?", HFILL }},
|
||||
|
||||
{ &hf_mscldap_netlogon_flags_dns,
|
||||
|
|
|
@ -8589,7 +8589,7 @@ proto_register_bootp(void)
|
|||
"Option 120: SIP Server Address", HFILL }},
|
||||
|
||||
{ &hf_bootp_option_classless_static_route,
|
||||
{ "Subnet/MaskWidth-Router", "bootp.option.classless_static_route.",
|
||||
{ "Subnet/MaskWidth-Router", "bootp.option.classless_static_route",
|
||||
FT_BYTES, BASE_NONE, NULL, 0x0,
|
||||
"Option 121: Subnet/MaskWidth-Router", HFILL }},
|
||||
|
||||
|
|
|
@ -12941,27 +12941,27 @@ proto_register_btatt(void)
|
|||
NULL, HFILL}
|
||||
},
|
||||
{&hf_btatt_glucose_measurement_context_flags_medication_id_and_medication,
|
||||
{"Medication ID And Medication", "btatt.glucose_measurement_context.flags.",
|
||||
{"Medication ID And Medication", "btatt.glucose_measurement_context.flags.medication_id_and_medication",
|
||||
FT_BOOLEAN, 8, NULL, 0x10,
|
||||
NULL, HFILL}
|
||||
},
|
||||
{&hf_btatt_glucose_measurement_context_flags_exercise_duration_and_exercise_intensity,
|
||||
{"Exercise Duration And Exercise Intensity", "btatt.glucose_measurement_context.flags.",
|
||||
{"Exercise Duration And Exercise Intensity", "btatt.glucose_measurement_context.flags.exercise_duration_and_exercise_intensity",
|
||||
FT_BOOLEAN, 8, NULL, 0x08,
|
||||
NULL, HFILL}
|
||||
},
|
||||
{&hf_btatt_glucose_measurement_context_flags_tester_health,
|
||||
{"Tester Health", "btatt.glucose_measurement_context.flags.",
|
||||
{"Tester Health", "btatt.glucose_measurement_context.flags.tester_health",
|
||||
FT_BOOLEAN, 8, NULL, 0x04,
|
||||
NULL, HFILL}
|
||||
},
|
||||
{&hf_btatt_glucose_measurement_context_flags_meal,
|
||||
{"Meal", "btatt.glucose_measurement_context.flags.",
|
||||
{"Meal", "btatt.glucose_measurement_context.flags.meal",
|
||||
FT_BOOLEAN, 8, NULL, 0x02,
|
||||
NULL, HFILL}
|
||||
},
|
||||
{&hf_btatt_glucose_measurement_context_flags_carbohydrate_id_and_carbohydrate,
|
||||
{"Carbohydrate ID And Carbohydrate", "btatt.glucose_measurement_context.flags.",
|
||||
{"Carbohydrate ID And Carbohydrate", "btatt.glucose_measurement_context.flags.carbohydrate_id_and_carbohydrate",
|
||||
FT_BOOLEAN, 8, NULL, 0x01,
|
||||
NULL, HFILL}
|
||||
},
|
||||
|
@ -14658,7 +14658,7 @@ proto_register_btatt(void)
|
|||
NULL, HFILL}
|
||||
},
|
||||
{&hf_btatt_cgm_e2e_crc,
|
||||
{"E2E-CRC", "btatt.cgm.e2e_crc.",
|
||||
{"E2E-CRC", "btatt.cgm.e2e_crc",
|
||||
FT_UINT16, BASE_HEX, NULL, 0x0,
|
||||
NULL, HFILL}
|
||||
},
|
||||
|
|
|
@ -1255,7 +1255,7 @@ proto_register_bthci_vendor_broadcom(void)
|
|||
NULL, HFILL }
|
||||
},
|
||||
{ &hf_broadcom_sco_pcm_interface_clock_mode,
|
||||
{ "SCO PCM Interface Clock Mode", "bthci_vendor.broadcom.sco.interface.",
|
||||
{ "SCO PCM Interface Clock Mode", "bthci_vendor.broadcom.sco.interface.clock_mode",
|
||||
FT_UINT8, BASE_HEX, VALS(broadcom_mode_slave_master_vals), 0x0,
|
||||
NULL, HFILL }
|
||||
},
|
||||
|
|
|
@ -641,7 +641,7 @@ proto_register_fpp(void)
|
|||
"Bad mCRC checksum", EXPFILL }
|
||||
},
|
||||
{ &ei_fpp_crc32,
|
||||
{ "fpp..crc32_bad", PI_CHECKSUM, PI_ERROR,
|
||||
{ "fpp.crc32_bad", PI_CHECKSUM, PI_ERROR,
|
||||
"Bad CRC checksum", EXPFILL }
|
||||
},
|
||||
};
|
||||
|
@ -678,9 +678,9 @@ proto_reg_handoff_fpp(void)
|
|||
* Local variables:
|
||||
* c-basic-offset: 4
|
||||
* tab-width: 8
|
||||
* indent-tabs-mode: nil
|
||||
* indent-tabs-mode: t
|
||||
* End:
|
||||
*
|
||||
* vi: set shiftwidth=4 tabstop=8 expandtab:
|
||||
* :indentSize=4:tabSize=8:noTabs=true:
|
||||
* vi: set shiftwidth=4 tabstop=8 noexpandtab:
|
||||
* :indentSize=4:tabSize=8:noTabs=false:
|
||||
*/
|
||||
|
|
|
@ -7933,12 +7933,12 @@ void proto_register_gtpv2(void)
|
|||
"SGSN", HFILL}
|
||||
},
|
||||
{ &hf_gtpv2_tra_info_sgsn_mbms,
|
||||
{"MBMS Context", "gtpv2.tra_into_sgsn_mbms",
|
||||
{"MBMS Context", "gtpv2.tra_info_sgsn_mbms",
|
||||
FT_UINT8, BASE_DEC, NULL, 0x08,
|
||||
"SGSN", HFILL}
|
||||
},
|
||||
{ &hf_gtpv2_tra_info_sgsn_reserved,
|
||||
{"Reserved", "gtpv2.",
|
||||
{"Reserved", "gtpv2.tra_info_sgsn_reserved",
|
||||
FT_UINT8, BASE_DEC, NULL, 0x0,
|
||||
"SGSN", HFILL}
|
||||
},
|
||||
|
|
|
@ -1494,12 +1494,12 @@ void proto_register_idrp(void)
|
|||
HFILL}},
|
||||
{&hf_idrp_update_nlri_addr_length,
|
||||
{"NLRI Address Length",
|
||||
"idrp.update.nlri.addr-length.", FT_UINT16, BASE_DEC,
|
||||
"idrp.update.nlri.addr-length", FT_UINT16, BASE_DEC,
|
||||
NULL, 0, NULL ,
|
||||
HFILL}},
|
||||
{&hf_idrp_update_nlri_addr_info_nb_bits,
|
||||
{"NLRI Address Info Bits",
|
||||
"idrp.update.nlri.addr-info-bits.", FT_UINT8, BASE_DEC,
|
||||
"idrp.update.nlri.addr-info-bits", FT_UINT8, BASE_DEC,
|
||||
NULL, 0, NULL ,
|
||||
HFILL}},
|
||||
{&hf_idrp_update_nlri_addr_info,
|
||||
|
|
|
@ -4988,7 +4988,7 @@ void proto_register_ldap(void) {
|
|||
TFS(&tfs_ads_rodc), 0x00000800, "Is this an read only dc?", HFILL }},
|
||||
|
||||
{ &hf_mscldap_netlogon_flags_wdc,
|
||||
{ "WDC", "mscldap.netlogon.flags.writabledc.", FT_BOOLEAN, 32,
|
||||
{ "WDC", "mscldap.netlogon.flags.writabledc", FT_BOOLEAN, 32,
|
||||
TFS(&tfs_ads_wdc), 0x00001000, "Is this an writable dc (Windows 2008)?", HFILL }},
|
||||
|
||||
{ &hf_mscldap_netlogon_flags_dns,
|
||||
|
|
|
@ -9111,7 +9111,7 @@ void proto_register_nfapi(void)
|
|||
"The number of cell specific transmit antenna ports within the DRS occasions", HFILL }
|
||||
},
|
||||
{ &hf_nfapi_transmission_power_for_drs,
|
||||
{ "Transmission power for DRS", "nfapi.transmission.power.for.drs.",
|
||||
{ "Transmission power for DRS", "nfapi.transmission.power.for.drs",
|
||||
FT_UINT16, BASE_CUSTOM, CF_FUNC(power_offset_conversion_fn), 0x0,
|
||||
"Offset of cell specific Reference signals power within DRS occasions to the reference signal power", HFILL }
|
||||
},
|
||||
|
@ -10205,7 +10205,7 @@ void proto_register_nfapi(void)
|
|||
"Valid for DCI format 6-2", HFILL }
|
||||
},
|
||||
{ &hf_nfapi_number_of_tx_antenna_ports,
|
||||
{ "Number of TX Antenna ports", "nfapi.num.of.tx.antenna.ports.",
|
||||
{ "Number of TX Antenna ports", "nfapi.num.of.tx.antenna.ports",
|
||||
FT_UINT8, BASE_DEC, NULL, 0x0,
|
||||
"Number of TX physical antenna ports", HFILL }
|
||||
},
|
||||
|
@ -11135,7 +11135,7 @@ void proto_register_nfapi(void)
|
|||
"Indicates HARQ results", HFILL }
|
||||
},
|
||||
{ &hf_nfapi_harq_tb_1,
|
||||
{ "HARQ TB1", "nfapi.harq.tb.",
|
||||
{ "HARQ TB1", "nfapi.harq.tb.1",
|
||||
FT_UINT8, BASE_DEC, VALS(harq_value_vals), 0x0,
|
||||
"HARQ feedback of 1st TB.", HFILL }
|
||||
},
|
||||
|
|
|
@ -3580,7 +3580,7 @@ proto_register_obex(void)
|
|||
NULL, HFILL}
|
||||
},
|
||||
{ &hf_ctn_application_parameter_data_parameter_mask_alarm_status,
|
||||
{ "Alarm Status", "obex.parameter.ctn.parameter_mask.",
|
||||
{ "Alarm Status", "obex.parameter.ctn.parameter_mask.alarm_status",
|
||||
FT_UINT32, BASE_HEX, NULL, 0x00000080,
|
||||
NULL, HFILL}
|
||||
},
|
||||
|
|
|
@ -4761,7 +4761,7 @@ proto_register_reload(void)
|
|||
}
|
||||
},
|
||||
{ &hf_reload_signature_value,
|
||||
{ "signature_value", "reload.signature.value.", FT_NONE,
|
||||
{ "signature_value", "reload.signature.value", FT_NONE,
|
||||
BASE_NONE, NULL, 0x0, NULL, HFILL
|
||||
}
|
||||
},
|
||||
|
@ -5171,7 +5171,7 @@ proto_register_reload(void)
|
|||
},
|
||||
|
||||
{ &hf_reload_configupdatereq,
|
||||
{ "ConfigUpdateReq", "reload.configupdatereq.", FT_NONE,
|
||||
{ "ConfigUpdateReq", "reload.configupdatereq", FT_NONE,
|
||||
BASE_NONE, NULL, 0x0, NULL, HFILL
|
||||
}
|
||||
},
|
||||
|
|
|
@ -1332,7 +1332,7 @@ proto_register_ses(void)
|
|||
&hf_session_exception_report,
|
||||
{
|
||||
"Session exception report",
|
||||
"ses.exception_report.",
|
||||
"ses.exception_report",
|
||||
FT_BOOLEAN, 16,
|
||||
NULL,
|
||||
SES_EXCEPTION_REPORT,
|
||||
|
|
|
@ -1473,7 +1473,7 @@ proto_register_srvloc(void)
|
|||
},
|
||||
|
||||
{ &hf_srvloc_flags_v1_overflow,
|
||||
{ "Overflow", "srvloc.flags_v1.overflow.", FT_BOOLEAN, 8,
|
||||
{ "Overflow", "srvloc.flags_v1.overflow", FT_BOOLEAN, 8,
|
||||
TFS(&tfs_srvloc_flags_overflow), FLAG_O, "Can whole packet fit into a datagram?", HFILL }},
|
||||
|
||||
{ &hf_srvloc_flags_v1_monolingual,
|
||||
|
|
|
@ -6751,11 +6751,11 @@ void proto_register_fp(void)
|
|||
};
|
||||
|
||||
static ei_register_info ei[] = {
|
||||
{ &ei_fp_bad_header_checksum, { "fp.header.bad_checksum.", PI_CHECKSUM, PI_WARN, "Bad header checksum.", EXPFILL }},
|
||||
{ &ei_fp_bad_header_checksum, { "fp.header.bad_checksum", PI_CHECKSUM, PI_WARN, "Bad header checksum.", EXPFILL }},
|
||||
{ &ei_fp_crci_no_subdissector, { "fp.crci.no_subdissector", PI_UNDECODED, PI_NOTE, "Not sent to subdissectors as CRCI is set", EXPFILL }},
|
||||
{ &ei_fp_crci_error_bit_set_for_tb, { "fp.crci.error_bit_set_for_tb", PI_CHECKSUM, PI_WARN, "CRCI error bit set for TB", EXPFILL }},
|
||||
{ &ei_fp_spare_extension, { "fp.spare-extension.expert", PI_UNDECODED, PI_WARN, "Spare Extension present (%u bytes)", EXPFILL }},
|
||||
{ &ei_fp_bad_payload_checksum, { "fp.payload-crc.bad.", PI_CHECKSUM, PI_WARN, "Bad payload checksum.", EXPFILL }},
|
||||
{ &ei_fp_bad_payload_checksum, { "fp.payload-crc.bad", PI_CHECKSUM, PI_WARN, "Bad payload checksum.", EXPFILL }},
|
||||
{ &ei_fp_stop_hsdpa_transmission, { "fp.stop_hsdpa_transmission", PI_RESPONSE_CODE, PI_NOTE, "Stop HSDPA transmission", EXPFILL }},
|
||||
{ &ei_fp_timing_adjustmentment_reported, { "fp.timing_adjustmentment_reported", PI_SEQUENCE, PI_WARN, "Timing adjustmentment reported (%f ms)", EXPFILL }},
|
||||
{ &ei_fp_expecting_tdd, { "fp.expecting_tdd", PI_MALFORMED, PI_NOTE, "Error: expecting TDD-384 or TDD-768", EXPFILL }},
|
||||
|
|
|
@ -6506,11 +6506,11 @@ proto_register_zbee_zcl_analog_output_basic(void)
|
|||
0x00, NULL, HFILL } },
|
||||
|
||||
{ &hf_zbee_zcl_analog_output_basic_priority_array,
|
||||
{ "Priority Array", "zbee_zcl_general.analog_output_basic.priority_array.", FT_NONE, BASE_NONE, NULL,
|
||||
{ "Priority Array", "zbee_zcl_general.analog_output_basic.priority_array", FT_NONE, BASE_NONE, NULL,
|
||||
0x00, NULL, HFILL } },
|
||||
|
||||
{ &hf_zbee_zcl_analog_output_basic_structure,
|
||||
{ "Structure", "zbee_zcl_general.analog_output_basic.structure.", FT_NONE, BASE_NONE, NULL,
|
||||
{ "Structure", "zbee_zcl_general.analog_output_basic.structure", FT_NONE, BASE_NONE, NULL,
|
||||
0x00, NULL, HFILL } }
|
||||
};
|
||||
|
||||
|
@ -6789,11 +6789,11 @@ proto_register_zbee_zcl_analog_value_basic(void)
|
|||
0x00, NULL, HFILL } },
|
||||
|
||||
{ &hf_zbee_zcl_analog_value_basic_priority_array,
|
||||
{ "Priority Array", "zbee_zcl_general.analog_value_basic.priority_array.", FT_NONE, BASE_NONE, NULL,
|
||||
{ "Priority Array", "zbee_zcl_general.analog_value_basic.priority_array", FT_NONE, BASE_NONE, NULL,
|
||||
0x00, NULL, HFILL } },
|
||||
|
||||
{ &hf_zbee_zcl_analog_value_basic_structure,
|
||||
{ "Structure", "zbee_zcl_general.analog_value_basic.structure.", FT_NONE, BASE_NONE, NULL,
|
||||
{ "Structure", "zbee_zcl_general.analog_value_basic.structure", FT_NONE, BASE_NONE, NULL,
|
||||
0x00, NULL, HFILL } }
|
||||
};
|
||||
|
||||
|
@ -7350,11 +7350,11 @@ proto_register_zbee_zcl_binary_output_basic(void)
|
|||
0x00, NULL, HFILL } },
|
||||
|
||||
{ &hf_zbee_zcl_binary_output_basic_priority_array,
|
||||
{ "Priority Array", "zbee_zcl_general.binary_output_basic.priority_array.", FT_NONE, BASE_NONE, NULL,
|
||||
{ "Priority Array", "zbee_zcl_general.binary_output_basic.priority_array", FT_NONE, BASE_NONE, NULL,
|
||||
0x00, NULL, HFILL } },
|
||||
|
||||
{ &hf_zbee_zcl_binary_output_basic_structure,
|
||||
{ "Structure", "zbee_zcl_general.binary_output_basic.structure.", FT_NONE, BASE_NONE, NULL,
|
||||
{ "Structure", "zbee_zcl_general.binary_output_basic.structure", FT_NONE, BASE_NONE, NULL,
|
||||
0x00, NULL, HFILL } }
|
||||
};
|
||||
|
||||
|
@ -7639,11 +7639,11 @@ proto_register_zbee_zcl_binary_value_basic(void)
|
|||
0x00, NULL, HFILL } },
|
||||
|
||||
{ &hf_zbee_zcl_binary_value_basic_priority_array,
|
||||
{ "Priority Array", "zbee_zcl_general.binary_value_basic.priority_array.", FT_NONE, BASE_NONE, NULL,
|
||||
{ "Priority Array", "zbee_zcl_general.binary_value_basic.priority_array", FT_NONE, BASE_NONE, NULL,
|
||||
0x00, NULL, HFILL } },
|
||||
|
||||
{ &hf_zbee_zcl_binary_value_basic_structure,
|
||||
{ "Structure", "zbee_zcl_general.binary_value_basic.structure.", FT_NONE, BASE_NONE, NULL,
|
||||
{ "Structure", "zbee_zcl_general.binary_value_basic.structure", FT_NONE, BASE_NONE, NULL,
|
||||
0x00, NULL, HFILL } }
|
||||
};
|
||||
|
||||
|
@ -8162,11 +8162,11 @@ proto_register_zbee_zcl_multistate_output_basic(void)
|
|||
0x00, NULL, HFILL } } ,
|
||||
|
||||
{ &hf_zbee_zcl_multistate_output_basic_priority_array,
|
||||
{ "Priority Array", "zbee_zcl_general.multistate_output_basic.priority_array.", FT_NONE, BASE_NONE, NULL,
|
||||
{ "Priority Array", "zbee_zcl_general.multistate_output_basic.priority_array", FT_NONE, BASE_NONE, NULL,
|
||||
0x00, NULL, HFILL } },
|
||||
|
||||
{ &hf_zbee_zcl_multistate_output_basic_structure,
|
||||
{ "Structure", "zbee_zcl_general.multistate_output_basic.structure.", FT_NONE, BASE_NONE, NULL,
|
||||
{ "Structure", "zbee_zcl_general.multistate_output_basic.structure", FT_NONE, BASE_NONE, NULL,
|
||||
0x00, NULL, HFILL } }
|
||||
};
|
||||
|
||||
|
@ -8452,11 +8452,11 @@ proto_register_zbee_zcl_multistate_value_basic(void)
|
|||
0x00, NULL, HFILL } },
|
||||
|
||||
{ &hf_zbee_zcl_multistate_value_basic_priority_array,
|
||||
{ "Priority Array", "zbee_zcl_general.multistate_value_basic.priority_array.", FT_NONE, BASE_NONE, NULL,
|
||||
{ "Priority Array", "zbee_zcl_general.multistate_value_basic.priority_array", FT_NONE, BASE_NONE, NULL,
|
||||
0x00, NULL, HFILL } },
|
||||
|
||||
{ &hf_zbee_zcl_multistate_value_basic_structure,
|
||||
{ "Structure", "zbee_zcl_general.multistate_value_basic.structure.", FT_NONE, BASE_NONE, NULL,
|
||||
{ "Structure", "zbee_zcl_general.multistate_value_basic.structure", FT_NONE, BASE_NONE, NULL,
|
||||
0x00, NULL, HFILL } }
|
||||
};
|
||||
|
||||
|
@ -15317,7 +15317,7 @@ proto_register_zbee_zcl_gp(void)
|
|||
|
||||
/* GP Sink Commissioning Mode command */
|
||||
{ &hf_zbee_zcl_gp_cmd_sink_comm_mode_options,
|
||||
{ "Options", "zbee_zcl_general.gp.sink_comm_mode.", FT_UINT8, BASE_HEX,
|
||||
{ "Options", "zbee_zcl_general.gp.sink_comm_mode.options", FT_UINT8, BASE_HEX,
|
||||
NULL, 0, NULL, HFILL }},
|
||||
|
||||
{ &hf_zbee_zcl_gp_cmd_sink_comm_mode_options_fld_action,
|
||||
|
@ -15575,7 +15575,7 @@ proto_register_zbee_zcl_gp(void)
|
|||
{ "Translation Table", "zbee_zcl_general.gp.attr.gps_func.translation_table", FT_BOOLEAN, 24,
|
||||
NULL, ZBEE_ZCL_GP_ATTR_GPS_FUNC_FLD_TRANSLATION_TABLE, NULL, HFILL }},
|
||||
{ &hf_zbee_zcl_gp_attr_gps_func_fld_gpd_ieee_address,
|
||||
{ "GPD IEEE address", "zbee_zcl_general.gp.attr.gps_func.", FT_BOOLEAN, 24,
|
||||
{ "GPD IEEE address", "zbee_zcl_general.gp.attr.gps_func.gpd_ieee_address", FT_BOOLEAN, 24,
|
||||
NULL, ZBEE_ZCL_GP_ATTR_GPS_FUNC_FLD_GPD_IEEE_ADDRESS, NULL, HFILL }},
|
||||
|
||||
/* gpsActiveFunctionality attribute */
|
||||
|
|
94
epan/proto.c
94
epan/proto.c
|
@ -409,18 +409,6 @@ proto_compare_name(gconstpointer p1_arg, gconstpointer p2_arg)
|
|||
return g_ascii_strcasecmp(p1->short_name, p2->short_name);
|
||||
}
|
||||
|
||||
static inline guchar
|
||||
check_charset(const guint8 table[256], const char *str)
|
||||
{
|
||||
const char *p = str;
|
||||
guchar c;
|
||||
|
||||
do {
|
||||
c = *(p++);
|
||||
} while (table[c]);
|
||||
return c;
|
||||
}
|
||||
|
||||
#ifdef HAVE_PLUGINS
|
||||
static GSList *dissector_plugins = NULL;
|
||||
|
||||
|
@ -6442,15 +6430,34 @@ proto_tree_set_appendix(proto_tree *tree, tvbuff_t *tvb, gint start,
|
|||
fi->appendix_length = length;
|
||||
}
|
||||
|
||||
static void
|
||||
check_valid_filter_name_or_fail(const char *filter_name)
|
||||
{
|
||||
gboolean found_invalid = proto_check_field_name(filter_name);
|
||||
|
||||
/* Additionally forbid upper case characters. */
|
||||
if (!found_invalid) {
|
||||
for (guint i = 0; filter_name[i]; i++) {
|
||||
if (g_ascii_isupper(filter_name[i])) {
|
||||
found_invalid = TRUE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (found_invalid) {
|
||||
g_error("Protocol filter name \"%s\" has one or more invalid characters."
|
||||
" Allowed are lower characters, digits, '-', '_' and non-repeating '.'."
|
||||
" This might be caused by an inappropriate plugin or a development error.", filter_name);
|
||||
}
|
||||
}
|
||||
|
||||
int
|
||||
proto_register_protocol(const char *name, const char *short_name,
|
||||
const char *filter_name)
|
||||
{
|
||||
protocol_t *protocol;
|
||||
header_field_info *hfinfo;
|
||||
guint i;
|
||||
gchar c;
|
||||
gboolean found_invalid;
|
||||
|
||||
/*
|
||||
* Make sure there's not already a protocol with any of those
|
||||
|
@ -6471,18 +6478,7 @@ proto_register_protocol(const char *name, const char *short_name,
|
|||
" This might be caused by an inappropriate plugin or a development error.", short_name);
|
||||
}
|
||||
|
||||
found_invalid = FALSE;
|
||||
for (i = 0; filter_name[i]; i++) {
|
||||
c = filter_name[i];
|
||||
if (!(g_ascii_islower(c) || g_ascii_isdigit(c) || c == '-' || c == '_' || c == '.')) {
|
||||
found_invalid = TRUE;
|
||||
}
|
||||
}
|
||||
if (found_invalid) {
|
||||
g_error("Protocol filter name \"%s\" has one or more invalid characters."
|
||||
" Allowed are lower characters, digits, '-', '_' and '.'."
|
||||
" This might be caused by an inappropriate plugin or a development error.", filter_name);
|
||||
}
|
||||
check_valid_filter_name_or_fail(filter_name);
|
||||
|
||||
if (g_hash_table_lookup(proto_filter_names, filter_name)) {
|
||||
g_error("Duplicate protocol filter_name \"%s\"!"
|
||||
|
@ -6531,9 +6527,6 @@ proto_register_protocol_in_name_only(const char *name, const char *short_name, c
|
|||
{
|
||||
protocol_t *protocol;
|
||||
header_field_info *hfinfo;
|
||||
guint i;
|
||||
gchar c;
|
||||
gboolean found_invalid = FALSE;
|
||||
|
||||
/*
|
||||
* Helper protocols don't need the strict rules as a "regular" protocol
|
||||
|
@ -6548,17 +6541,7 @@ proto_register_protocol_in_name_only(const char *name, const char *short_name, c
|
|||
" This might be caused by an inappropriate plugin or a development error.", name);
|
||||
}
|
||||
|
||||
for (i = 0; filter_name[i]; i++) {
|
||||
c = filter_name[i];
|
||||
if (!(g_ascii_islower(c) || g_ascii_isdigit(c) || c == '-' || c == '_' || c == '.')) {
|
||||
found_invalid = TRUE;
|
||||
}
|
||||
}
|
||||
if (found_invalid) {
|
||||
g_error("Protocol filter name \"%s\" has one or more invalid characters."
|
||||
" Allowed are lower characters, digits, '-', '_' and '.'."
|
||||
" This might be caused by an inappropriate plugin or a development error.", filter_name);
|
||||
}
|
||||
check_valid_filter_name_or_fail(filter_name);
|
||||
|
||||
/* Add this protocol to the list of helper protocols (just so it can be properly freed) */
|
||||
protocol = g_new(protocol_t, 1);
|
||||
|
@ -7242,7 +7225,7 @@ proto_free_deregistered_fields (void)
|
|||
deregistered_data = g_ptr_array_new();
|
||||
}
|
||||
|
||||
/* chars allowed in field abbrev */
|
||||
/* chars allowed in field abbrev: alphanumerics, '-', "_", and ".". */
|
||||
static
|
||||
const guint8 fld_abbrev_chars[256] = {
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x00-0x0F */
|
||||
|
@ -7883,12 +7866,15 @@ proto_register_field_init(header_field_info *hfinfo, const int parent)
|
|||
|
||||
/* Check that the filter name (abbreviation) is legal;
|
||||
* it must contain only alphanumerics, '-', "_", and ".". */
|
||||
c = check_charset(fld_abbrev_chars, hfinfo->abbrev);
|
||||
c = proto_check_field_name(hfinfo->abbrev);
|
||||
if (c) {
|
||||
if (g_ascii_isprint(c))
|
||||
if (c == '.') {
|
||||
fprintf(stderr, "Invalid leading, duplicated or trailing '.' found in filter name '%s'\n", hfinfo->abbrev);
|
||||
} else if (g_ascii_isprint(c)) {
|
||||
fprintf(stderr, "Invalid character '%c' in filter name '%s'\n", c, hfinfo->abbrev);
|
||||
else
|
||||
} else {
|
||||
fprintf(stderr, "Invalid byte \\%03o in filter name '%s'\n", c, hfinfo->abbrev);
|
||||
}
|
||||
DISSECTOR_ASSERT_NOT_REACHED();
|
||||
}
|
||||
|
||||
|
@ -11834,7 +11820,23 @@ proto_tree_add_checksum(proto_tree *tree, tvbuff_t *tvb, const guint offset,
|
|||
guchar
|
||||
proto_check_field_name(const gchar *field_name)
|
||||
{
|
||||
return check_charset(fld_abbrev_chars, field_name);
|
||||
const char *p = field_name;
|
||||
guchar c = '.', lastc;
|
||||
|
||||
do {
|
||||
lastc = c;
|
||||
c = *(p++);
|
||||
/* Leading '.' or substring ".." are disallowed. */
|
||||
if (c == '.' && lastc == '.') {
|
||||
break;
|
||||
}
|
||||
} while (fld_abbrev_chars[c]);
|
||||
|
||||
/* Trailing '.' is disallowed. */
|
||||
if (lastc == '.') {
|
||||
return '.';
|
||||
}
|
||||
return c;
|
||||
}
|
||||
|
||||
gboolean
|
||||
|
|
|
@ -5243,7 +5243,7 @@ proto_register_wimaxmacphy(void)
|
|||
&hf_wimaxmacphy_ul_sub_burst_sounding_power_boost,
|
||||
{
|
||||
"Power boost",
|
||||
"wimaxmacphy.",
|
||||
"wimaxmacphy.sub_burst_sounding_power_boost",
|
||||
FT_UINT8,
|
||||
BASE_DEC,
|
||||
VALS(wimaxmacphy_ul_sub_burst_sounding_power_boost_vals),
|
||||
|
|
Loading…
Reference in New Issue