From 5ba9d3ce4afe9d43dfd2c1a7a011f1b1fdca184c Mon Sep 17 00:00:00 2001 From: liuxueli Date: Wed, 12 Jun 2024 09:45:22 +0000 Subject: [PATCH] Feature: Update stellar-on-sapp-2.1.1.7875675 --- include/dns_decoder.h | 2 +- src/dns_decoder.cpp | 59 ++++++++++++++---- test/CMakeLists.txt | 3 +- ...lar-on-sapp-2.1.0.0e6d541-1.el8.x86_64.rpm | Bin 35936 -> 0 bytes ...lar-on-sapp-2.1.1.7875675-1.el8.x86_64.rpm | Bin 0 -> 36124 bytes 5 files changed, 49 insertions(+), 15 deletions(-) delete mode 100644 test/env/stellar-on-sapp-2.1.0.0e6d541-1.el8.x86_64.rpm create mode 100644 test/env/stellar-on-sapp-2.1.1.7875675-1.el8.x86_64.rpm diff --git a/include/dns_decoder.h b/include/dns_decoder.h index 92d8e98..6c4113e 100644 --- a/include/dns_decoder.h +++ b/include/dns_decoder.h @@ -22,7 +22,7 @@ extern "C" #define DNS_MESSAGE_TOPIC "TOPIC_DNS" #define DNS_NAME_MAX (NAME_MAX + 1) -#define HINFO_NAME_MAX (40 + 1) /* https://www.ietf.org/rfc/rfc1010.txt */ +// #define HINFO_NAME_MAX (40 + 1) /* https://www.ietf.org/rfc/rfc1010.txt */ #define DNS_CLASS_UNKNOWN 0 #define DNS_CLASS_IN 1 diff --git a/src/dns_decoder.cpp b/src/dns_decoder.cpp index 8278c8d..4905642 100644 --- a/src/dns_decoder.cpp +++ b/src/dns_decoder.cpp @@ -1242,7 +1242,6 @@ void dns_decoder_entry(struct session *ss, uint8_t *payload, size_t payload_sz, HASH_FIND_INT(per_ss_ctx->trans_hash, &message_id, current_trans); if(current_trans!=NULL && data_msg->type==DNS_MESSAGE_QUERY) { - per_ss_ctx->trans_list_num--; dns_message_transaction_publish(ss, DNS_MESSAGE_TRANSACTION_END, plugin_env->dns.topic_id, current_trans->trans_idx); dns_decoder_session_transaction_del(per_ss_ctx, current_trans); current_trans=NULL; @@ -1305,8 +1304,44 @@ void dns_decoder_entry(struct session *ss, uint8_t *payload, size_t payload_sz, } } +int dns_decoder_transaction_end_in_closing(struct session *ss, void *per_session_ctx, void *plugin_env_str) +{ + enum session_state state=session_get_current_state(ss); + if(state!=SESSION_STATE_CLOSING) + { + return DNS_DECODER_FALSE; + } + + struct dns_decoder_context *per_ss_ctx=(struct dns_decoder_context *)per_session_ctx; + struct dns_decoder_plugin_env *plugin_env=(struct dns_decoder_plugin_env *)plugin_env_str; + + enum session_addr_type addr_type=SESSION_ADDR_TYPE_UNKNOWN; + session_get0_addr(ss, &addr_type); + const char *ip_version=(addr_type==SESSION_ADDR_TYPE_IPV4_TCP || addr_type==SESSION_ADDR_TYPE_IPV4_UDP) ? TAG_VALUE_IP_VERSION_IPV4 : TAG_VALUE_IP_VERSION_IPV6; + const char *ip_protocol=(addr_type==SESSION_ADDR_TYPE_IPV4_TCP || addr_type==SESSION_ADDR_TYPE_IPV6_TCP) ? TAG_VALUE_IP_PROTOCOL_TCP : TAG_VALUE_IP_PROTOCOL_UDP; + + size_t tag_offset=4; + const char *tag_key[tag_offset]={TAG_KEY_IP_VERSION, TAG_KEY_IP_PROTOCOL, TAG_KEY_MESSAGE_TYPE, TAG_KEY_MESSAGE_STATUS}; + const char *tag_value[tag_offset]={ip_version, ip_protocol, "transaction_end", "closing"}; + dns_decoder_local_file_counter_incby(plugin_env, LOCAL_STAT_COUNTER_SEND, tag_key, tag_value, tag_offset, per_ss_ctx->trans_list_num, session_get_current_thread_id(ss)); + + struct dns_transaction *current_trans=NULL, *tmp_trans=NULL; + HASH_ITER(hh, per_ss_ctx->trans_hash, current_trans, tmp_trans) + { + dns_message_transaction_publish(ss, DNS_MESSAGE_TRANSACTION_END, plugin_env->dns.topic_id, current_trans->trans_idx); + dns_decoder_session_transaction_del(per_ss_ctx, current_trans); + } + + return DNS_DECODER_TRUE; +} + void dns_udp_session_ingress_packet_cb(struct session *ss, int32_t topic_id, const void *msg, void *per_session_ctx, void *plugin_env_str) { + if(dns_decoder_transaction_end_in_closing(ss, per_session_ctx, plugin_env_str)==DNS_DECODER_TRUE) + { + return ; + } + size_t payload_sz=0; uint8_t *payload=(uint8_t *)session_get0_current_payload(ss, &payload_sz); if(payload_sztrans_hash, current_trans, tmp_trans) - { - dns_decoder_session_transaction_del(per_ss_ctx, current_trans); - } - - FREE(session_ctx); - - struct dns_decoder_plugin_env *plugin_env=(struct dns_decoder_plugin_env *)plugin_env_str; + FREE(per_session_ctx); enum session_addr_type addr_type=SESSION_ADDR_TYPE_UNKNOWN; session_get0_addr(ss, &addr_type); @@ -1465,6 +1496,8 @@ void dns_decoder_per_session_context_free(struct session *ss, void *session_ctx, const char *tag_key[3]={TAG_KEY_IP_VERSION, TAG_KEY_IP_PROTOCOL, "memory"}; const char *tag_value[3]={ip_version, ip_protocol, "ss_ctx"}; + + struct dns_decoder_plugin_env *plugin_env=(struct dns_decoder_plugin_env *)plugin_env_str; dns_decoder_local_file_counter_incby(plugin_env, LOCAL_STAT_COUNTER_FREE, tag_key, tag_value, 3, 1, session_get_current_thread_id(ss)); } diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 2b73af8..35c4e4b 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -8,7 +8,7 @@ set(TEST_MAIN ${TEST_RUN_DIR}/plugin_test_main) # assemble test env add_test(NAME INSTALL_TEST_MAIN COMMAND sh -c "rpm -i ${CMAKE_CURRENT_SOURCE_DIR}/env/sapp-4.3.57.16ea514-1.el8.x86_64.rpm --prefix=${CMAKE_CURRENT_BINARY_DIR}/sapp --force --nodeps") -add_test(NAME INSTALL_STELLAR COMMAND sh -c "rpm -i ${CMAKE_CURRENT_SOURCE_DIR}/env/stellar-on-sapp-2.1.0.0e6d541-1.el8.x86_64.rpm --prefix=${CMAKE_CURRENT_BINARY_DIR}/ --force --nodeps") +add_test(NAME INSTALL_STELLAR COMMAND sh -c "rpm -i ${CMAKE_CURRENT_SOURCE_DIR}/env/stellar-on-sapp-2.1.1.7875675-1.el8.x86_64.rpm --prefix=${CMAKE_CURRENT_BINARY_DIR}/ --force --nodeps") add_test(NAME COPY_TEST_MAIN COMMAND sh -c "cp ${TEST_RUN_DIR}/tools/plugin_test_main ${TEST_RUN_DIR}/plugin_test_main") add_test(NAME COPY_SPEC COMMAND sh -c "cp ${CMAKE_CURRENT_SOURCE_DIR}/env/spec.toml ${TEST_RUN_DIR}/stellar_plugin/spec.toml") @@ -29,6 +29,7 @@ add_test(NAME UPDATE_PLUG_CONF COMMAND sh -c "cp ${PROJECT_SOURCE_DIR}/bin/${PRO set_tests_properties(INSTALL_TEST_MAIN UPDATE_SAPP_LOG COPY_CONFLIST COPY_INF COPY_TEST_MAIN COPY_SPEC UPDATE_PLUG_SO UPDATE_TEST_SO MKDIR_PLUG_CONF UPDATE_PLUG_CONF PROPERTIES FIXTURES_SETUP TestFixture) # run tests +add_test(NAME MKDIR_METRICS COMMAND sh -c "mkdir -p ${TEST_RUN_DIR}/metrics/") add_test(NAME DNS_QUERY COMMAND ${TEST_MAIN} ${CMAKE_CURRENT_SOURCE_DIR}/case/query/query_result.json -f "find ${CMAKE_CURRENT_SOURCE_DIR}/case/query/ -name *.pcap|sort -V" WORKING_DIRECTORY ${TEST_RUN_DIR}) add_test(NAME DNS_CNAME COMMAND ${TEST_MAIN} ${CMAKE_CURRENT_SOURCE_DIR}/case/cname/cname_result.json -f "find ${CMAKE_CURRENT_SOURCE_DIR}/case/cname/ -name *.pcap|sort -V" WORKING_DIRECTORY ${TEST_RUN_DIR}) add_test(NAME DNS_NSEC_RR COMMAND ${TEST_MAIN} ${CMAKE_CURRENT_SOURCE_DIR}/case/nsec/nsec_result.json -f "find ${CMAKE_CURRENT_SOURCE_DIR}/case/nsec/ -name *.pcap|sort -V" WORKING_DIRECTORY ${TEST_RUN_DIR}) diff --git a/test/env/stellar-on-sapp-2.1.0.0e6d541-1.el8.x86_64.rpm b/test/env/stellar-on-sapp-2.1.0.0e6d541-1.el8.x86_64.rpm deleted file mode 100644 index 70e7d611a90cc9b5b98da4224a7e40a64297ba2d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35936 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 G3Rzmb>$lhd diff --git a/test/env/stellar-on-sapp-2.1.1.7875675-1.el8.x86_64.rpm b/test/env/stellar-on-sapp-2.1.1.7875675-1.el8.x86_64.rpm new file mode 100644 index 0000000000000000000000000000000000000000..695d6bc3a6a7887866e81fdc5783bb5af8b689a9 GIT binary patch literal 36124 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 fQ%^LQ00E8B0jQe