add socks_decoder, stratum_decoder and session_flags

This commit is contained in:
root
2024-09-03 07:01:58 +00:00
parent a8206cffc0
commit 6f1ac6b36b
160 changed files with 11861 additions and 1 deletions

View File

@@ -0,0 +1,37 @@
set(DECODER_NAME socks)
set(TEST_RUN_DIR ${CMAKE_BINARY_DIR}/test/decoders/socks)
set(SAPP_DEVEL_DIR ${TEST_RUN_DIR}/lib)
set(TEST_MAIN socks_test_main)
include_directories(${CMAKE_SOURCE_DIR}/include)
include_directories(${CMAKE_SOURCE_DIR}/test)
include_directories(/usr/local/include/cjson)
include_directories(/opt/tsg/framework/include/stellar)
include_directories(/opt/MESA/include/MESA)
include_directories(/opt/tsg/stellar/include/)
#various ways to add -rdynamic for centos7, centos8, and different cmake version
add_definitions(-rdynamic)
link_directories(${SAPP_DEVEL_DIR})
# assemble test env
add_test(NAME SOCKS_MKDIR_METRIC COMMAND sh -c "mkdir -p ${TEST_RUN_DIR}/metrics; mkdir -p ${TEST_RUN_DIR}/plugin; mkdir -p ${TEST_RUN_DIR}/log; mkdir -p ${TEST_RUN_DIR}/pcap")
add_test(NAME SOCKS_COPY_SPEC COMMAND sh -c "mkdir -p ${TEST_RUN_DIR}/plugin/ && cp ${CMAKE_CURRENT_SOURCE_DIR}/env/spec.toml ${TEST_RUN_DIR}/plugin/spec.toml")
add_test(NAME SOCKS_COPY_CONF COMMAND sh -c "mkdir -p ${TEST_RUN_DIR}/conf/ && cp ${CMAKE_CURRENT_SOURCE_DIR}/env/stellar.toml ${TEST_RUN_DIR}/conf/stellar.toml")
add_test(NAME SOCKS_COPY_LOG_CONF COMMAND sh -c "mkdir -p ${TEST_RUN_DIR}/conf/ && cp ${CMAKE_CURRENT_SOURCE_DIR}/env/log.toml ${TEST_RUN_DIR}/conf/log.toml")
# update plugin to be tested
add_test(NAME SOCKS_CP_DECODER_SO COMMAND sh -c "cp ${CMAKE_BINARY_DIR}/decoders/socks/socks_dyn.so ${TEST_RUN_DIR}/plugin/${DECODER_NAME}.so")
add_test(NAME SOCKS_CP_DECODER_GTEST_SO COMMAND sh -c "cp ${CMAKE_BINARY_DIR}/test/decoders/socks/${DECODER_NAME}_test.so ${TEST_RUN_DIR}/plugin/${DECODER_NAME}_test.so")
set_tests_properties(SOCKS_MKDIR_METRIC SOCKS_COPY_SPEC
SOCKS_COPY_CONF SOCKS_COPY_LOG_CONF
SOCKS_CP_DECODER_SO SOCKS_CP_DECODER_GTEST_SO
PROPERTIES FIXTURES_SETUP TestFixture)
set(TEST_PCAP_DIR ${PROJECT_SOURCE_DIR}/test/decoders/socks/pcap)
# run tests
add_test(NAME SOCKS_DECODER_PLUGIN_TEST COMMAND sh -c "ln -sf ${TEST_PCAP_DIR}/socks4_nest_socks4a.pcap ${TEST_RUN_DIR}/pcap/test.pcap; ./${TEST_MAIN} ${TEST_PCAP_DIR}/result.json" WORKING_DIRECTORY ${TEST_RUN_DIR})

View File

@@ -0,0 +1,4 @@
[log]
output = "stderr" # stderr, file
file = "log/stellar.log"
level = "ERROR" # TRACE, DEBUG, INFO, WARN, ERROR, FATAL

View File

@@ -0,0 +1,9 @@
[[plugin]]
path = "./plugin/socks.so"
init = "socks_decoder_init"
exit = "socks_decoder_exit"
[[plugin]]
path = "./plugin/socks_test.so"
init = "SOCKS_DECODER_TEST_PLUG_INIT"
exit = "SOCKS_DECODER_TEST_PLUG_DESTROY"

View File

@@ -0,0 +1,64 @@
[instance]
id = 1 # range: [0, 4095] (20 bit)
[packet_io]
mode = "pcapfile" # pcapfile, pcaplist, marsio
app_symbol = "stellar"
dev_symbol = "nf_0_fw"
pcap_path = "./pcap/test.pcap"
nr_worker_thread = 1 # range: [1, 256]
cpu_mask = [5, 6, 7, 8, 9, 10, 11, 12]
idle_yield_interval_ms = 90 # range: [0, 60000] (ms)
[ip_reassembly]
enable = 1
bucket_entries = 32 # range: [1, 4294967295] (must be power of 2)
bucket_num = 1024 # range: [1, 4294967295]
ip_frag_timeout_ms = 1000 # range: [1, 60000] (ms)
ip_frag_expire_polling_interval_ms = 0 # range: [0, 60000] (ms)
ip_frag_expire_polling_limit = 1024 # range: [1, 1024]
[session_manager]
tcp_session_max = 500
udp_session_max = 500
evict_old_on_tcp_table_limit = 1 # range: [0, 1]
evict_old_on_udp_table_limit = 1 # range: [0, 1]
expire_period_ms = 0 # range: [0, 60000] (ms)
expire_batch_max = 1024 # range: [1, 1024]
[session_manager.tcp_timeout_ms]
init = 500 # range: [1, 60000] (ms)
handshake = 500 # range: [1, 60000] (ms)
data = 500 # range: [1, 15999999000] (ms)
half_closed = 500 # range: [1, 604800000] (ms)
time_wait = 500 # range: [1, 600000] (ms)
discard_default = 1000 # range: [1, 15999999000] (ms)
unverified_rst = 500 # range: [1, 600000] (ms)
[session_manager.udp_timeout_ms]
data = 500 # range: [1, 15999999000] (ms)
discard_default = 500 # range: [1, 15999999000] (ms)
[session_manager.duplicated_packet_bloom_filter]
enable = 0
capacity = 1000000 # range: [1, 4294967295]
time_window_ms = 10000 # range: [1, 60000] (ms)
error_rate = 0.00001 # range: [0.0, 1.0]
[session_manager.evicted_session_bloom_filter]
enable = 0 # range: [0, 1]
capacity = 1000000 # range: [1, 4294967295]
time_window_ms = 10000 # range: [1, 60000] (ms)
error_rate = 0.00001 # range: [0.0, 1.0]
[session_manager.tcp_reassembly]
enable = 1 # range: [0, 1]
timeout_ms = 100 # range: [1, 60000] (ms)
buffered_segments_max = 256 # range: [2, 4096] per flow
[stat]
merge_interval_ms = 500 # range: [0, 60000] (ms)
output_interval_ms = 1000 # range: [0, 60000] (ms)