parser: make rust probing parsers optional

pull/4561/head
Philippe Antoine 6 years ago
parent 427ec4e739
commit 6663246563

@ -518,8 +518,8 @@ pub unsafe extern "C" fn rs_template_register_parser() {
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,

@ -426,8 +426,8 @@ pub unsafe extern "C" fn rs_dhcp_register_parser() {
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,

@ -704,8 +704,8 @@ pub unsafe extern "C" fn rs_register_ikev2_parser() {
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,

@ -647,8 +647,8 @@ pub unsafe extern "C" fn rs_register_krb5_parser() {
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,
@ -690,8 +690,8 @@ pub unsafe extern "C" fn rs_register_krb5_parser() {
}
// 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();

@ -403,8 +403,8 @@ pub unsafe extern "C" fn rs_register_ntp_parser() {
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,

@ -38,9 +38,9 @@ pub struct RustParser {
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,

@ -505,8 +505,8 @@ pub unsafe extern "C" fn rs_rdp_register_parser() {
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,

@ -396,8 +396,8 @@ pub unsafe extern "C" fn rs_sip_register_parser() {
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,

@ -586,8 +586,8 @@ pub unsafe extern "C" fn rs_register_snmp_parser() {
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,

@ -54,6 +54,10 @@ AppProto AppLayerRegisterProtocolDetection(const struct AppLayerParser *p, int e
AppLayerProtoDetectRegisterProtocol(alproto, p->name);
if (p->ProbeTS == NULL || p->ProbeTC == NULL) {
return alproto;
}
if (RunmodeIsUnittests()) {
SCLogDebug("Unittest mode, registering default configuration.");

Loading…
Cancel
Save