name: PARSER_NAME.as_ptr() as *const std::os::raw::c_char,
default_port: default_port.as_ptr(),
ipproto: IPPROTO_TCP,
- probe_ts: rs_template_probing_parser,
- probe_tc: rs_template_probing_parser,
+ probe_ts: Some(rs_template_probing_parser),
+ probe_tc: Some(rs_template_probing_parser),
min_depth: 0,
max_depth: 16,
state_new: rs_template_state_new,
name: PARSER_NAME.as_ptr() as *const std::os::raw::c_char,
default_port : ports.as_ptr(),
ipproto : IPPROTO_UDP,
- probe_ts : rs_dhcp_probing_parser,
- probe_tc : rs_dhcp_probing_parser,
+ probe_ts : Some(rs_dhcp_probing_parser),
+ probe_tc : Some(rs_dhcp_probing_parser),
min_depth : 0,
max_depth : 16,
state_new : rs_dhcp_state_new,
name : PARSER_NAME.as_ptr() as *const std::os::raw::c_char,
default_port : default_port.as_ptr(),
ipproto : core::IPPROTO_UDP,
- probe_ts : rs_ikev2_probing_parser,
- probe_tc : rs_ikev2_probing_parser,
+ probe_ts : Some(rs_ikev2_probing_parser),
+ probe_tc : Some(rs_ikev2_probing_parser),
min_depth : 0,
max_depth : 16,
state_new : rs_ikev2_state_new,
name : PARSER_NAME.as_ptr() as *const std::os::raw::c_char,
default_port : default_port.as_ptr(),
ipproto : core::IPPROTO_UDP,
- probe_ts : rs_krb5_probing_parser,
- probe_tc : rs_krb5_probing_parser,
+ probe_ts : Some(rs_krb5_probing_parser),
+ probe_tc : Some(rs_krb5_probing_parser),
min_depth : 0,
max_depth : 16,
state_new : rs_krb5_state_new,
}
// register TCP parser
parser.ipproto = core::IPPROTO_TCP;
- parser.probe_ts = rs_krb5_probing_parser_tcp;
- parser.probe_tc = rs_krb5_probing_parser_tcp;
+ parser.probe_ts = Some(rs_krb5_probing_parser_tcp);
+ parser.probe_tc = Some(rs_krb5_probing_parser_tcp);
parser.parse_ts = rs_krb5_parse_request_tcp;
parser.parse_tc = rs_krb5_parse_response_tcp;
let ip_proto_str = CString::new("tcp").unwrap();
name : PARSER_NAME.as_ptr() as *const std::os::raw::c_char,
default_port : default_port.as_ptr(),
ipproto : core::IPPROTO_UDP,
- probe_ts : ntp_probing_parser,
- probe_tc : ntp_probing_parser,
+ probe_ts : Some(ntp_probing_parser),
+ probe_tc : Some(ntp_probing_parser),
min_depth : 0,
max_depth : 16,
state_new : rs_ntp_state_new,
pub ipproto: c_int,
/// Probing function, for packets going to server
- pub probe_ts: ProbeFn,
+ pub probe_ts: Option<ProbeFn>,
/// Probing function, for packets going to client
- pub probe_tc: ProbeFn,
+ pub probe_tc: Option<ProbeFn>,
/// Minimum frame depth for probing
pub min_depth: u16,
name: PARSER_NAME.as_ptr() as *const std::os::raw::c_char,
default_port: default_port.as_ptr(),
ipproto: IPPROTO_TCP,
- probe_ts: rs_rdp_probe_ts_tc,
- probe_tc: rs_rdp_probe_ts_tc,
+ probe_ts: Some(rs_rdp_probe_ts_tc),
+ probe_tc: Some(rs_rdp_probe_ts_tc),
min_depth: 0,
max_depth: 16,
state_new: rs_rdp_state_new,
name: PARSER_NAME.as_ptr() as *const std::os::raw::c_char,
default_port: default_port.as_ptr(),
ipproto: core::IPPROTO_UDP,
- probe_ts: rs_sip_probing_parser_ts,
- probe_tc: rs_sip_probing_parser_tc,
+ probe_ts: Some(rs_sip_probing_parser_ts),
+ probe_tc: Some(rs_sip_probing_parser_tc),
min_depth: 0,
max_depth: 16,
state_new: rs_sip_state_new,
name : PARSER_NAME.as_ptr() as *const std::os::raw::c_char,
default_port : default_port.as_ptr(),
ipproto : core::IPPROTO_UDP,
- probe_ts : rs_snmp_probing_parser,
- probe_tc : rs_snmp_probing_parser,
+ probe_ts : Some(rs_snmp_probing_parser),
+ probe_tc : Some(rs_snmp_probing_parser),
min_depth : 0,
max_depth : 16,
state_new : rs_snmp_state_new,
AppLayerProtoDetectRegisterProtocol(alproto, p->name);
+ if (p->ProbeTS == NULL || p->ProbeTC == NULL) {
+ return alproto;
+ }
+
if (RunmodeIsUnittests()) {
SCLogDebug("Unittest mode, registering default configuration.");