From 6749f758526820d5d3ed5b2f727b16bd250fc106 Mon Sep 17 00:00:00 2001 From: liuxueli Date: Tue, 10 Nov 2020 09:33:15 +0600 Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E6=8C=81=E5=A4=84=E7=90=86=E7=9A=84?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E6=95=B0=E6=8D=AE=E5=8C=85=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cmake/preInstall.sh | 1 + cmake/preUninstall.sh | 2 +- src/ntc_radius_plug.cpp | 12 ++++++++++-- src/ntc_radius_plug.h | 1 + 4 files changed, 13 insertions(+), 3 deletions(-) diff --git a/cmake/preInstall.sh b/cmake/preInstall.sh index 397e134..17d4919 100644 --- a/cmake/preInstall.sh +++ b/cmake/preInstall.sh @@ -23,4 +23,5 @@ if [[ -z `grep -rn '\[RADIUS_PLUG\]' ${DST}/${CONFILE}` ]];then sed -i '/\[RADIUS_PLUG\]/a\COLLECT_TOPIC=RADIUS-RECORD-LOG' ${DST}/${CONFILE} sed -i '/\[RADIUS_PLUG\]/a\BROKERLIST=127.0.0.1:9092' ${DST}/${CONFILE} sed -i '/\[RADIUS_PLUG\]/a\DEVICE_ID=0' ${DST}/${CONFILE} + sed -i '/\[RADIUS_PLUG\]/a\PACKET_TYPE_FLAG=16' ${DST}/${CONFILE} fi diff --git a/cmake/preUninstall.sh b/cmake/preUninstall.sh index decc015..7cb7119 100644 --- a/cmake/preUninstall.sh +++ b/cmake/preUninstall.sh @@ -8,5 +8,5 @@ if [ $1 == 0 ]; then touch ${DST}/${CONFILE} sed -i '/fw_mail_plug.inf/d' ${DST}/plug/conflist.inf - sed -i '/\[RADIUS_PLUG\]/,+7d' ${DST}/${CONFILE} + sed -i '/\[RADIUS_PLUG\]/,+8d' ${DST}/${CONFILE} fi diff --git a/src/ntc_radius_plug.cpp b/src/ntc_radius_plug.cpp index 75f7488..ab8ab6f 100644 --- a/src/ntc_radius_plug.cpp +++ b/src/ntc_radius_plug.cpp @@ -50,7 +50,6 @@ static __attribute__((__used__)) const char * GIT_VERSION_UNKNOWN = NULL; static int NTC_RADIUS_PLUG_VERSION_20191211=0; const char *config_file="conf/radius/radius.conf"; g_ntc_radius_plug_t g_ntc_radius_plug; - void set_one_maat_rule(Maat_rule_t *maat_rule) { @@ -341,6 +340,13 @@ char NTC_RADIUS_PLUG_ENTRY(stSessionInfo *session_info, void **pme, int thread_s int payload_len=0,index=0; char *payload=NULL; radius_info_t *radius_info=(radius_info_t *)session_info->app_info; + + if(!((g_ntc_radius_plug.interesting_type>>(radius_info->header.code))&0x1)) + { + return PROT_STATE_GIVEME; + } + + cJSON *radius_info_object=cJSON_CreateObject(); streamInfo2jsonObject(radius_info_object, stream); @@ -381,7 +387,7 @@ char NTC_RADIUS_PLUG_ENTRY(stSessionInfo *session_info, void **pme, int thread_s cJSON_Delete(radius_debug); radius_debug = NULL; - return APP_STATE_GIVEME; + return PROT_STATE_GIVEME; } int NTC_RADIUS_PLUG_INIT(void) @@ -402,6 +408,8 @@ int NTC_RADIUS_PLUG_INIT(void) MESA_load_profile_string_def(config_file, "RADIUS_PLUG", "BROKERLIST", g_ntc_radius_plug.brokerlist, sizeof(g_ntc_radius_plug.brokerlist), "127.0.0.1:9092"); MESA_load_profile_int_def(config_file, "RADIUS_PLUG", "DEVICE_ID", &g_ntc_radius_plug.device_id, 0); + MESA_load_profile_int_def(config_file, "RADIUS_PLUG", "PACKET_TYPE_FLAG", &g_ntc_radius_plug.interesting_type, 0x10); + g_ntc_radius_plug.logger = MESA_create_runtime_log_handle(g_ntc_radius_plug.pathname, g_ntc_radius_plug.level); if(g_ntc_radius_plug.logger == NULL) { diff --git a/src/ntc_radius_plug.h b/src/ntc_radius_plug.h index 30257ef..7fba937 100644 --- a/src/ntc_radius_plug.h +++ b/src/ntc_radius_plug.h @@ -9,6 +9,7 @@ extern "C" typedef struct _ntc_radius_plug { + int interesting_type; int level; int service_id; int device_id;