rust/applayertemplate: replace rs_ naming with SC

pull/13170/head
Jason Ish 3 months ago committed by Victor Julien
parent 2c98ee73ce
commit 7321d7c7db

@ -32,7 +32,7 @@ fn log_template(tx: &TemplateTransaction, js: &mut JsonBuilder) -> Result<(), Js
} }
#[no_mangle] #[no_mangle]
pub unsafe extern "C" fn rs_template_logger_log( pub unsafe extern "C" fn SCTemplateLoggerLog(
tx: *const std::os::raw::c_void, js: *mut std::os::raw::c_void, tx: *const std::os::raw::c_void, js: *mut std::os::raw::c_void,
) -> bool { ) -> bool {
let tx = cast_pointer!(tx, TemplateTransaction); let tx = cast_pointer!(tx, TemplateTransaction);

@ -254,7 +254,7 @@ fn probe(input: &[u8]) -> nom::IResult<&[u8], ()> {
// C exports. // C exports.
/// C entry point for a probing parser. /// C entry point for a probing parser.
unsafe extern "C" fn rs_template_probing_parser( unsafe extern "C" fn template_probing_parser(
_flow: *const Flow, _direction: u8, input: *const u8, input_len: u32, _rdir: *mut u8, _flow: *const Flow, _direction: u8, input: *const u8, input_len: u32, _rdir: *mut u8,
) -> AppProto { ) -> AppProto {
// Need at least 2 bytes. // Need at least 2 bytes.
@ -267,7 +267,7 @@ unsafe extern "C" fn rs_template_probing_parser(
return ALPROTO_UNKNOWN; return ALPROTO_UNKNOWN;
} }
extern "C" fn rs_template_state_new( extern "C" fn template_state_new(
_orig_state: *mut c_void, _orig_proto: AppProto, _orig_state: *mut c_void, _orig_proto: AppProto,
) -> *mut c_void { ) -> *mut c_void {
let state = TemplateState::new(); let state = TemplateState::new();
@ -275,16 +275,16 @@ extern "C" fn rs_template_state_new(
return Box::into_raw(boxed) as *mut c_void; return Box::into_raw(boxed) as *mut c_void;
} }
unsafe extern "C" fn rs_template_state_free(state: *mut c_void) { unsafe extern "C" fn template_state_free(state: *mut c_void) {
std::mem::drop(Box::from_raw(state as *mut TemplateState)); std::mem::drop(Box::from_raw(state as *mut TemplateState));
} }
unsafe extern "C" fn rs_template_state_tx_free(state: *mut c_void, tx_id: u64) { unsafe extern "C" fn template_state_tx_free(state: *mut c_void, tx_id: u64) {
let state = cast_pointer!(state, TemplateState); let state = cast_pointer!(state, TemplateState);
state.free_tx(tx_id); state.free_tx(tx_id);
} }
unsafe extern "C" fn rs_template_parse_request( unsafe extern "C" fn template_parse_request(
_flow: *const Flow, state: *mut c_void, pstate: *mut c_void, stream_slice: StreamSlice, _flow: *const Flow, state: *mut c_void, pstate: *mut c_void, stream_slice: StreamSlice,
_data: *const c_void, _data: *const c_void,
) -> AppLayerResult { ) -> AppLayerResult {
@ -308,7 +308,7 @@ unsafe extern "C" fn rs_template_parse_request(
} }
} }
unsafe extern "C" fn rs_template_parse_response( unsafe extern "C" fn template_parse_response(
_flow: *const Flow, state: *mut c_void, pstate: *mut c_void, stream_slice: StreamSlice, _flow: *const Flow, state: *mut c_void, pstate: *mut c_void, stream_slice: StreamSlice,
_data: *const c_void, _data: *const c_void,
) -> AppLayerResult { ) -> AppLayerResult {
@ -326,7 +326,7 @@ unsafe extern "C" fn rs_template_parse_response(
} }
} }
unsafe extern "C" fn rs_template_state_get_tx(state: *mut c_void, tx_id: u64) -> *mut c_void { unsafe extern "C" fn template_state_get_tx(state: *mut c_void, tx_id: u64) -> *mut c_void {
let state = cast_pointer!(state, TemplateState); let state = cast_pointer!(state, TemplateState);
match state.get_tx(tx_id) { match state.get_tx(tx_id) {
Some(tx) => { Some(tx) => {
@ -338,12 +338,12 @@ unsafe extern "C" fn rs_template_state_get_tx(state: *mut c_void, tx_id: u64) ->
} }
} }
unsafe extern "C" fn rs_template_state_get_tx_count(state: *mut c_void) -> u64 { unsafe extern "C" fn template_state_get_tx_count(state: *mut c_void) -> u64 {
let state = cast_pointer!(state, TemplateState); let state = cast_pointer!(state, TemplateState);
return state.tx_id; return state.tx_id;
} }
unsafe extern "C" fn rs_template_tx_get_alstate_progress(tx: *mut c_void, _direction: u8) -> c_int { unsafe extern "C" fn template_tx_get_alstate_progress(tx: *mut c_void, _direction: u8) -> c_int {
let tx = cast_pointer!(tx, TemplateTransaction); let tx = cast_pointer!(tx, TemplateTransaction);
// Transaction is done if we have a response. // Transaction is done if we have a response.
@ -360,7 +360,7 @@ export_state_data_get!(template_get_state_data, TemplateState);
const PARSER_NAME: &[u8] = b"template\0"; const PARSER_NAME: &[u8] = b"template\0";
#[no_mangle] #[no_mangle]
pub unsafe extern "C" fn rs_template_register_parser() { pub unsafe extern "C" fn SCRegisterTemplateParser() {
/* TEMPLATE_START_REMOVE */ /* TEMPLATE_START_REMOVE */
if crate::conf::conf_get_node("app-layer.protocols.template").is_none() { if crate::conf::conf_get_node("app-layer.protocols.template").is_none() {
return; return;
@ -372,20 +372,20 @@ pub unsafe extern "C" fn rs_template_register_parser() {
name: PARSER_NAME.as_ptr() as *const c_char, name: PARSER_NAME.as_ptr() as *const c_char,
default_port: default_port.as_ptr(), default_port: default_port.as_ptr(),
ipproto: IPPROTO_TCP, ipproto: IPPROTO_TCP,
probe_ts: Some(rs_template_probing_parser), probe_ts: Some(template_probing_parser),
probe_tc: Some(rs_template_probing_parser), probe_tc: Some(template_probing_parser),
min_depth: 0, min_depth: 0,
max_depth: 16, max_depth: 16,
state_new: rs_template_state_new, state_new: template_state_new,
state_free: rs_template_state_free, state_free: template_state_free,
tx_free: rs_template_state_tx_free, tx_free: template_state_tx_free,
parse_ts: rs_template_parse_request, parse_ts: template_parse_request,
parse_tc: rs_template_parse_response, parse_tc: template_parse_response,
get_tx_count: rs_template_state_get_tx_count, get_tx_count: template_state_get_tx_count,
get_tx: rs_template_state_get_tx, get_tx: template_state_get_tx,
tx_comp_st_ts: 1, tx_comp_st_ts: 1,
tx_comp_st_tc: 1, tx_comp_st_tc: 1,
tx_get_progress: rs_template_tx_get_alstate_progress, tx_get_progress: template_tx_get_alstate_progress,
get_eventinfo: Some(TemplateEvent::get_event_info), get_eventinfo: Some(TemplateEvent::get_event_info),
get_eventinfo_byid: Some(TemplateEvent::get_event_info_by_id), get_eventinfo_byid: Some(TemplateEvent::get_event_info_by_id),
localstorage_new: None, localstorage_new: None,

@ -148,7 +148,7 @@ def patch_app_layer_parser_c(proto):
output = io.StringIO() output = io.StringIO()
inlines = open(filename).readlines() inlines = open(filename).readlines()
for line in inlines: for line in inlines:
if line.find("rs_template_register_parser") > -1: if line.find("SCRegisterTemplateParser") > -1:
output.write(line.replace("template", proto.lower())) output.write(line.replace("template", proto.lower()))
output.write(line) output.write(line)
open(filename, "w").write(output.getvalue()) open(filename, "w").write(output.getvalue())
@ -207,7 +207,7 @@ def logger_patch_output_c(proto):
output.write(inlines[i+2].replace("TEMPLATE", proto.upper()).replace( output.write(inlines[i+2].replace("TEMPLATE", proto.upper()).replace(
"template", proto.lower()).replace("Template", proto)) "template", proto.lower()).replace("Template", proto))
output.write(inlines[i+3]) output.write(inlines[i+3])
if line.find("rs_template_logger_log") > -1: if line.find("SCTemplateLoggerLog") > -1:
output.write(inlines[i].replace("TEMPLATE", proto.upper()).replace( output.write(inlines[i].replace("TEMPLATE", proto.upper()).replace(
"template", proto.lower())) "template", proto.lower()))
# RegisterSimpleJsonApplayerLogger( on its own line for clang-format # RegisterSimpleJsonApplayerLogger( on its own line for clang-format

@ -1798,7 +1798,7 @@ void AppLayerParserRegisterProtocolParsers(void)
rs_websocket_register_parser(); rs_websocket_register_parser();
SCRegisterLdapTcpParser(); SCRegisterLdapTcpParser();
SCRegisterLdapUdpParser(); SCRegisterLdapUdpParser();
rs_template_register_parser(); SCRegisterTemplateParser();
SCRfbRegisterParser(); SCRfbRegisterParser();
SCMqttRegisterParser(); SCMqttRegisterParser();
SCRegisterPgsqlParser(); SCRegisterPgsqlParser();

@ -928,7 +928,7 @@ void OutputRegisterRootLoggers(void)
ALPROTO_LDAP, (EveJsonSimpleTxLogFunc)rs_ldap_logger_log, NULL); ALPROTO_LDAP, (EveJsonSimpleTxLogFunc)rs_ldap_logger_log, NULL);
RegisterSimpleJsonApplayerLogger(ALPROTO_DOH2, (EveJsonSimpleTxLogFunc)AlertJsonDoh2, NULL); RegisterSimpleJsonApplayerLogger(ALPROTO_DOH2, (EveJsonSimpleTxLogFunc)AlertJsonDoh2, NULL);
RegisterSimpleJsonApplayerLogger( RegisterSimpleJsonApplayerLogger(
ALPROTO_TEMPLATE, (EveJsonSimpleTxLogFunc)rs_template_logger_log, NULL); ALPROTO_TEMPLATE, (EveJsonSimpleTxLogFunc)SCTemplateLoggerLog, NULL);
RegisterSimpleJsonApplayerLogger(ALPROTO_RDP, (EveJsonSimpleTxLogFunc)SCRdpToJson, NULL); RegisterSimpleJsonApplayerLogger(ALPROTO_RDP, (EveJsonSimpleTxLogFunc)SCRdpToJson, NULL);
// special case : http2 is logged in http object // special case : http2 is logged in http object
RegisterSimpleJsonApplayerLogger(ALPROTO_HTTP2, (EveJsonSimpleTxLogFunc)SCHttp2LogJson, "http"); RegisterSimpleJsonApplayerLogger(ALPROTO_HTTP2, (EveJsonSimpleTxLogFunc)SCHttp2LogJson, "http");

Loading…
Cancel
Save