From e62ff39d812c972f2631c36124c81647da5511a0 Mon Sep 17 00:00:00 2001 From: zhuzhenjun Date: Fri, 13 Oct 2023 14:08:55 +0800 Subject: [PATCH] api: MESA_osfp_xx -> osfp_xx header: MESA_osfp.h -> osfp.h --- .gitlab-ci.yml | 16 ++++++++-------- CMakeLists.txt | 8 ++++---- README.md | 2 +- autogen.sh | 14 -------------- example/osfp_example.c | 16 ++++++++-------- example/sample.c | 14 +++++++------- libosfp-config.in | 4 ---- src/{MESA_osfp.c => osfp.c} | 20 ++++++++++---------- src/{MESA_osfp.h => osfp.h} | 16 ++++++++-------- src/osfp_common.c | 2 +- src/osfp_common.h | 2 ++ src/osfp_fingerprint.c | 2 +- src/osfp_score_db.c | 2 +- src/osfp_score_db.h | 1 + src/version.map | 2 +- test/test.c | 16 ++++++++-------- 16 files changed, 61 insertions(+), 76 deletions(-) delete mode 100755 autogen.sh delete mode 100644 libosfp-config.in rename src/{MESA_osfp.c => osfp.c} (91%) rename src/{MESA_osfp.h => osfp.h} (77%) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index fd0f799..6f828b2 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -98,7 +98,7 @@ develop_build_debug_for_centos7: PULP3_REPO_NAME: framework-testing-x86_64.el7 PULP3_DIST_NAME: framework-testing-x86_64.el7 artifacts: - name: "MESA_osfp-$CI_COMMIT_REF_NAME-debug" + name: "libosfp-$CI_COMMIT_REF_NAME-debug" paths: - build/*.rpm only: @@ -118,7 +118,7 @@ develop_build_release_for_centos7: PULP3_REPO_NAME: framework-testing-x86_64.el7 PULP3_DIST_NAME: framework-testing-x86_64.el7 artifacts: - name: "MESA_osfp-$CI_COMMIT_REF_NAME-release" + name: "libosfp-$CI_COMMIT_REF_NAME-release" paths: - build/*.rpm only: @@ -137,7 +137,7 @@ release_build_debug_for_centos7: PULP3_DIST_NAME: framework-stable-x86_64.el7 extends: .build_by_travis_for_centos7 artifacts: - name: "MESA_osfp-$CI_COMMIT_REF_NAME-debug" + name: "libosfp-$CI_COMMIT_REF_NAME-debug" paths: - build/*.rpm only: @@ -153,7 +153,7 @@ release_build_release_for_centos7: PULP3_DIST_NAME: framework-stable-x86_64.el7 extends: .build_by_travis_for_centos7 artifacts: - name: "MESA_osfp-$CI_COMMIT_REF_NAME-release" + name: "libosfp-$CI_COMMIT_REF_NAME-release" paths: - build/*.rpm only: @@ -195,7 +195,7 @@ develop_build_debug_for_centos8: PULP3_REPO_NAME: framework-testing-x86_64.el8 PULP3_DIST_NAME: framework-testing-x86_64.el8 artifacts: - name: "MESA_osfp-$CI_COMMIT_REF_NAME-debug" + name: "libosfp-$CI_COMMIT_REF_NAME-debug" paths: - build/*.rpm only: @@ -215,7 +215,7 @@ develop_build_release_for_centos8: PULP3_REPO_NAME: framework-testing-x86_64.el8 PULP3_DIST_NAME: framework-testing-x86_64.el8 artifacts: - name: "MESA_osfp-$CI_COMMIT_REF_NAME-release" + name: "libosfp-$CI_COMMIT_REF_NAME-release" paths: - build/*.rpm only: @@ -234,7 +234,7 @@ release_build_debug_for_centos8: PULP3_DIST_NAME: framework-stable-x86_64.el8 extends: .build_by_travis_for_centos8 artifacts: - name: "MESA_osfp-$CI_COMMIT_REF_NAME-debug" + name: "libosfp-$CI_COMMIT_REF_NAME-debug" paths: - build/*.rpm only: @@ -250,7 +250,7 @@ release_build_release_for_centos8: PULP3_DIST_NAME: framework-stable-x86_64.el8 extends: .build_by_travis_for_centos8 artifacts: - name: "MESA_osfp-$CI_COMMIT_REF_NAME-release" + name: "libosfp-$CI_COMMIT_REF_NAME-release" paths: - build/*.rpm only: diff --git a/CMakeLists.txt b/CMakeLists.txt index a500b69..ea0d101 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,7 +5,7 @@ set(lib_name osfp) project (${lib_name}) set(LIB_MAJOR_VERSION 1) -set(LIB_MINOR_VERSION 2) +set(LIB_MINOR_VERSION 3) set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) include(Version) @@ -55,11 +55,11 @@ set_target_properties(${lib_name}_static PROPERTIES OUTPUT_NAME ${lib_name}) set(CMAKE_INSTALL_PREFIX /opt/MESA) -install(FILES src/MESA_osfp.h DESTINATION +install(FILES src/osfp.h DESTINATION ${CMAKE_INSTALL_PREFIX}/include/MESA COMPONENT devel) install(TARGETS ${lib_name}_shared LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib COMPONENT LIBRARIES) -install(FILES src/MESA_osfp.h DESTINATION ${CMAKE_INSTALL_PREFIX}/include/MESA COMPONENT HEADER) -install(FILES fp.json DESTINATION /var/lib/MESA_osfp COMPONENT PROFILE) +install(FILES src/osfp.h DESTINATION ${CMAKE_INSTALL_PREFIX}/include/MESA COMPONENT HEADER) +install(FILES fp.json DESTINATION /var/lib/libosfp COMPONENT PROFILE) add_executable(${lib_name}_sample example/sample.c) target_link_libraries(${lib_name}_sample ${lib_name}_shared) diff --git a/README.md b/README.md index 36d887e..d0ac180 100644 --- a/README.md +++ b/README.md @@ -21,5 +21,5 @@ LD_LIBRARY_PATH=${PWD}/build ./sample ``` # load the fingerprint file and capture on eth0, filter tcp port 8888 -./build/osfp_example -f /var/lib/MESA_osfp/fp.json -i eth0 "tcp port 8888" +./build/osfp_example -f /var/lib/libosfp/fp.json -i eth0 "tcp port 8888" ``` diff --git a/autogen.sh b/autogen.sh deleted file mode 100755 index ce2c07e..0000000 --- a/autogen.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh -# Run this to generate all the initial makefiles, etc. -if which libtoolize > /dev/null; then - echo "Found libtoolize" - libtoolize -c -elif which glibtoolize > /dev/null; then - echo "Found glibtoolize" - glibtoolize -c -else - echo "Failed to find libtoolize or glibtoolize, please ensure it is installed and accessible via your PATH env variable" - exit 1 -fi; -autoreconf -ifv || exit 1 -echo "You can now run \"./configure\" and then \"make\"." diff --git a/example/osfp_example.c b/example/osfp_example.c index 709ba4f..2a53ac6 100644 --- a/example/osfp_example.c +++ b/example/osfp_example.c @@ -10,7 +10,7 @@ #include #include "osfp_common.h" -#include "MESA_osfp.h" +#include "osfp.h" #include "osfp_log.h" #include "osfp_fingerprint.h" #include "osfp_score_db.h" @@ -450,9 +450,9 @@ void example_detect(struct osfp_db *osfp_db, Packet *p) osfp_profile_get_cycle(c1); if (iph) { - result = MESA_osfp_ipv4_identify(osfp_db, iph, tcph, tcph_len); + result = osfp_ipv4_identify(osfp_db, iph, tcph, tcph_len); } else if (ip6h) { - result = MESA_osfp_ipv6_identify(osfp_db, ip6h, tcph, tcph_len); + result = osfp_ipv6_identify(osfp_db, ip6h, tcph, tcph_len); } else { goto exit; } @@ -469,19 +469,19 @@ void example_detect(struct osfp_db *osfp_db, Packet *p) result_os_count[result->likely_os_class]++; - char *json = MESA_osfp_result_score_detail_export(result); + char *json = osfp_result_score_detail_export(result); if (1) { printf("Example ipv4 header detect: --------------------------\n"); printf("Connection info: %s:%d -> %s:%d\n", p->srcip, p->sp, p->dstip, p->dp); - printf("Most likely os class: %s\n", MESA_osfp_result_os_name_get(result)); + printf("Most likely os class: %s\n", osfp_result_os_name_get(result)); printf("Details:\n"); printf("%s\n", json); } exit: if (result) { - MESA_osfp_result_free(result); + osfp_result_free(result); } return; } @@ -670,7 +670,7 @@ int main(int argc, char *argv[]) osfp_profile_set(1); - struct osfp_db *osfp_db = MESA_osfp_db_new(fp_file_path); + struct osfp_db *osfp_db = osfp_db_new(fp_file_path); if (osfp_db == NULL) { printf("could not create osfp context. fingerprints file: %s\n", fp_file_path); exit(1); @@ -686,7 +686,7 @@ int main(int argc, char *argv[]) } // destroy osfp db - MESA_osfp_db_free(osfp_db); + osfp_db_free(osfp_db); return 0; } diff --git a/example/sample.c b/example/sample.c index 612ca2b..6313c62 100644 --- a/example/sample.c +++ b/example/sample.c @@ -1,5 +1,5 @@ #include "stdio.h" -#include "MESA_osfp.h" +#include "osfp.h" char iph[] = { 0x45, 0x00, 0x00, 0x34, 0x51, 0xc4, 0x40, 0x00, @@ -22,14 +22,14 @@ int main(int argc, char **argv) struct tcphdr *l4_hdr = (struct tcphdr *)tcph; size_t l4_hdr_len = sizeof(tcph); - struct osfp_db *db = MESA_osfp_db_new(json_file_path); + struct osfp_db *db = osfp_db_new(json_file_path); if (db) { - struct osfp_result *result = MESA_osfp_ipv4_identify(db, l3_hdr, l4_hdr, l4_hdr_len); + struct osfp_result *result = osfp_ipv4_identify(db, l3_hdr, l4_hdr, l4_hdr_len); if (result) { - printf("likely os: %s\n", MESA_osfp_result_os_name_get(result)); - printf("details: \n%s\n", MESA_osfp_result_score_detail_export(result)); - MESA_osfp_result_free(result); + printf("likely os: %s\n", osfp_result_os_name_get(result)); + printf("details: \n%s\n", osfp_result_score_detail_export(result)); + osfp_result_free(result); } - MESA_osfp_db_free(db); + osfp_db_free(db); } } diff --git a/libosfp-config.in b/libosfp-config.in deleted file mode 100644 index c66392f..0000000 --- a/libosfp-config.in +++ /dev/null @@ -1,4 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ diff --git a/src/MESA_osfp.c b/src/osfp.c similarity index 91% rename from src/MESA_osfp.c rename to src/osfp.c index f88cff8..e822436 100644 --- a/src/MESA_osfp.c +++ b/src/osfp.c @@ -1,6 +1,6 @@ #include "osfp_common.h" -#include "MESA_osfp.h" +#include "osfp.h" #include "osfp_fingerprint.h" #include "osfp_score_db.h" #include "osfp_log.h" @@ -70,7 +70,7 @@ exit: return NULL; } -const char *MESA_osfp_result_os_name_get(struct osfp_result *result) +const char *osfp_result_os_name_get(struct osfp_result *result) { enum osfp_os_class_id os_class; @@ -86,7 +86,7 @@ const char *MESA_osfp_result_os_name_get(struct osfp_result *result) return osfp_os_class_id_to_name(os_class); } -char *MESA_osfp_result_score_detail_export(struct osfp_result *result) +char *osfp_result_score_detail_export(struct osfp_result *result) { int i; char *result_str = NULL; @@ -150,7 +150,7 @@ exit: return result_str; } -void MESA_osfp_result_free(struct osfp_result *result) +void osfp_result_free(struct osfp_result *result) { if (result) { if (result->json_str) { @@ -160,7 +160,7 @@ void MESA_osfp_result_free(struct osfp_result *result) } } -struct osfp_result *MESA_osfp_ipv4_identify(struct osfp_db *db, struct iphdr* l3_hdr, struct tcphdr *l4_hdr, size_t l4_hdr_len) +struct osfp_result *osfp_ipv4_identify(struct osfp_db *db, struct iphdr* l3_hdr, struct tcphdr *l4_hdr, size_t l4_hdr_len) { int ret = OSFP_EINVAL; struct osfp_fingerprint fp; @@ -203,7 +203,7 @@ exit: return NULL; } -struct osfp_result *MESA_osfp_ipv6_identify(struct osfp_db *db, struct ip6_hdr* l3_hdr, struct tcphdr *l4_hdr, size_t l4_hdr_len) +struct osfp_result *osfp_ipv6_identify(struct osfp_db *db, struct ip6_hdr* l3_hdr, struct tcphdr *l4_hdr, size_t l4_hdr_len) { int ret = OSFP_EINVAL; struct osfp_fingerprint fp; @@ -234,7 +234,7 @@ exit: return NULL; } -struct osfp_result *MESA_osfp_json_identify(struct osfp_db *db, const char *json_str) +struct osfp_result *osfp_json_identify(struct osfp_db *db, const char *json_str) { int ret = OSFP_EINVAL; struct osfp_fingerprint fp; @@ -265,7 +265,7 @@ exit: return NULL; } -struct osfp_db *MESA_osfp_db_new(const char *db_json_file) +struct osfp_db *osfp_db_new(const char *db_json_file) { int ret; struct osfp_db *db; @@ -299,12 +299,12 @@ struct osfp_db *MESA_osfp_db_new(const char *db_json_file) return db; exit: if (db) { - MESA_osfp_db_free(db); + osfp_db_free(db); } return NULL; } -void MESA_osfp_db_free(struct osfp_db *db) +void osfp_db_free(struct osfp_db *db) { if (db) { if (db->db_json_path) { diff --git a/src/MESA_osfp.h b/src/osfp.h similarity index 77% rename from src/MESA_osfp.h rename to src/osfp.h index af62d8f..bf01738 100644 --- a/src/MESA_osfp.h +++ b/src/osfp.h @@ -23,14 +23,14 @@ struct osfp_db; * @param db_json_path 操作系统指纹库 JSON 文件的路径。 * @return 指向新创建的操作系统指纹库的指针。 */ -struct osfp_db *MESA_osfp_db_new(const char *db_json_path); +struct osfp_db *osfp_db_new(const char *db_json_path); /** * @brief 释放操作系统指纹库占用的内存。 * * @param db 指向要释放的操作系统指纹库的指针。 */ -void MESA_osfp_db_free(struct osfp_db *db); +void osfp_db_free(struct osfp_db *db); /** * @brief 通过 IPv4 头部和 TCP 头部识别操作系统。 @@ -41,7 +41,7 @@ void MESA_osfp_db_free(struct osfp_db *db); * @param l4_hdr_len TCP 头部的长度(注意:包含TCP选项部分)。 * @return 指向操作系统识别结果的指针。 */ -struct osfp_result *MESA_osfp_ipv4_identify(struct osfp_db *db, struct iphdr* l3_hdr, struct tcphdr *l4_hdr, size_t l4_hdr_len); +struct osfp_result *osfp_ipv4_identify(struct osfp_db *db, struct iphdr* l3_hdr, struct tcphdr *l4_hdr, size_t l4_hdr_len); /** * @brief 通过 IPv6 头部和 TCP 头部识别操作系统。 @@ -52,7 +52,7 @@ struct osfp_result *MESA_osfp_ipv4_identify(struct osfp_db *db, struct iphdr* l3 * @param l4_hdr_len TCP 头部的长度(注意:包含TCP选项部分)。 * @return 指向操作系统识别结果的指针(注意:内存需要使用者释放)。 */ -struct osfp_result *MESA_osfp_ipv6_identify(struct osfp_db *db, struct ip6_hdr* l3_hdr, struct tcphdr *l4_hdr, size_t l4_hdr_len); +struct osfp_result *osfp_ipv6_identify(struct osfp_db *db, struct ip6_hdr* l3_hdr, struct tcphdr *l4_hdr, size_t l4_hdr_len); /** * @brief 通过 json 格式的指纹识别操作系统。 @@ -61,7 +61,7 @@ struct osfp_result *MESA_osfp_ipv6_identify(struct osfp_db *db, struct ip6_hdr* * @param json_str 指纹字符串。 * @return 指向操作系统识别结果的指针(注意:内存需要使用者释放)。 */ -struct osfp_result *MESA_osfp_json_identify(struct osfp_db *db, const char *json_str); +struct osfp_result *osfp_json_identify(struct osfp_db *db, const char *json_str); /** * @brief 获取操作系统识别结果的操作系统名称。 @@ -69,7 +69,7 @@ struct osfp_result *MESA_osfp_json_identify(struct osfp_db *db, const char *json * @param result 操作系统识别结果。 * @return 指向操作系统名称的常量字符指针(注意:这块内存将由osfp_result_free释放)。 */ -const char *MESA_osfp_result_os_name_get(struct osfp_result *result); +const char *osfp_result_os_name_get(struct osfp_result *result); /** * @brief 导出操作系统识别结果的得分详情。 @@ -77,14 +77,14 @@ const char *MESA_osfp_result_os_name_get(struct osfp_result *result); * @param result 操作系统识别结果。 * @return 指向得分详情字符串的指针(注意:内存需要使用者释放)。 */ -char *MESA_osfp_result_score_detail_export(struct osfp_result *result); +char *osfp_result_score_detail_export(struct osfp_result *result); /** * @brief 释放操作系统识别结果占用的内存。 * * @param result 操作系统识别结果。 */ -void MESA_osfp_result_free(struct osfp_result *result); +void osfp_result_free(struct osfp_result *result); #ifdef __cplusplus } diff --git a/src/osfp_common.c b/src/osfp_common.c index 968b07d..bf7680e 100644 --- a/src/osfp_common.c +++ b/src/osfp_common.c @@ -1,6 +1,6 @@ #include "osfp_common.h" -#include "MESA_osfp.h" +#include "osfp.h" unsigned int osfp_profile_enable; diff --git a/src/osfp_common.h b/src/osfp_common.h index 1cc686b..810e7bc 100644 --- a/src/osfp_common.h +++ b/src/osfp_common.h @@ -21,6 +21,8 @@ #include "cJSON.h" +#include "osfp.h" + static inline unsigned long long osfp_rdtsc(void) { union { diff --git a/src/osfp_fingerprint.c b/src/osfp_fingerprint.c index 52b180b..cc8a64b 100644 --- a/src/osfp_fingerprint.c +++ b/src/osfp_fingerprint.c @@ -1,6 +1,6 @@ #include "osfp_common.h" -#include "MESA_osfp.h" +#include "osfp.h" #include "osfp_fingerprint.h" #include "osfp_log.h" diff --git a/src/osfp_score_db.c b/src/osfp_score_db.c index bf6cd87..5e88e21 100644 --- a/src/osfp_score_db.c +++ b/src/osfp_score_db.c @@ -1,6 +1,6 @@ #include "osfp_common.h" -#include "MESA_osfp.h" +#include "osfp.h" #include "osfp_fingerprint.h" #include "osfp_score_db.h" #include "osfp_log.h" diff --git a/src/osfp_score_db.h b/src/osfp_score_db.h index 4e38cc9..3ee9a84 100644 --- a/src/osfp_score_db.h +++ b/src/osfp_score_db.h @@ -1,6 +1,7 @@ #ifndef __OSFP_SCORE_DB_H__ #define __OSFP_SCORE_DB_H__ +#include "osfp.h" #include "osfp_fingerprint.h" #include "osfp_common.h" diff --git a/src/version.map b/src/version.map index 50bf794..317c75d 100644 --- a/src/version.map +++ b/src/version.map @@ -1,4 +1,4 @@ { - global: MESA_osfp*;GIT_VERSION_*; + global: osfp*;GIT_VERSION_*; local: *; }; diff --git a/test/test.c b/test/test.c index 34b0793..f4e4846 100644 --- a/test/test.c +++ b/test/test.c @@ -6,7 +6,7 @@ #include "cJSON.h" -#include "MESA_osfp.h" +#include "osfp.h" #include "osfp_fingerprint.h" #include "osfp_score_db.h" #include "osfp_log.h" @@ -105,7 +105,7 @@ void test_miss_rate() osfp_log_level_set(OSFP_LOG_LEVEL_DEBUG); } - struct osfp_db *osfp_db = MESA_osfp_db_new(db_file_path); + struct osfp_db *osfp_db = osfp_db_new(db_file_path); if (osfp_db == NULL) { printf("could not create osfp context. fingerprints file: %s\n", db_file_path); exit(1); @@ -123,7 +123,7 @@ void test_miss_rate() const char *fp_str = cJSON_PrintUnformatted(entry); - struct osfp_result *result = MESA_osfp_json_identify(osfp_db, fp_str); + struct osfp_result *result = osfp_json_identify(osfp_db, fp_str); if (result == NULL) { identify_failed_count++; continue; @@ -131,7 +131,7 @@ void test_miss_rate() if (os_class == result->likely_os_class) { verified_count++; - MESA_osfp_result_free(result); + osfp_result_free(result); continue; } @@ -145,16 +145,16 @@ void test_miss_rate() unknown_count++; } - fprintf(log_file_ptr, "expect: %s, result: %s\n", os_class_json->valuestring, MESA_osfp_result_os_name_get(result)); + fprintf(log_file_ptr, "expect: %s, result: %s\n", os_class_json->valuestring, osfp_result_os_name_get(result)); - char *result_json = MESA_osfp_result_score_detail_export(result); + char *result_json = osfp_result_score_detail_export(result); if (result_json) { fprintf(log_file_ptr, "%s\n", result_json); } else { fprintf(log_file_ptr, "result detail error:%p\n", result); } fflush(log_file_ptr); - MESA_osfp_result_free(result); + osfp_result_free(result); } } @@ -165,7 +165,7 @@ void test_miss_rate() printf("details in: %s\n", LOG_FILE_PATH); - MESA_osfp_db_free(osfp_db); + osfp_db_free(osfp_db); } int main(int argc, char **argv)