diff options
| author | 李佳 <[email protected]> | 2019-05-31 14:46:33 +0800 |
|---|---|---|
| committer | 李佳 <[email protected]> | 2019-05-31 14:46:33 +0800 |
| commit | abb4b9f9cf08b728a836234eb8d567bcdbe8def0 (patch) | |
| tree | 91e5709b9db79d9d4248137b473f63723c9d1f9e | |
| parent | 974fbefce7bc7963291ea74f781605838dcf0d49 (diff) | |
1.修复conflist, inf文件中有空格而导致的读取错误.
| -rw-r--r-- | dealpkt/deal_tcp.c | 6 | ||||
| -rw-r--r-- | entry/sapp_main.c | 4 | ||||
| -rw-r--r-- | plugin/src/plugin.c | 24 | ||||
| -rw-r--r-- | test_so/test_app_sapp.c | 29 |
4 files changed, 52 insertions, 11 deletions
diff --git a/dealpkt/deal_tcp.c b/dealpkt/deal_tcp.c index 4960dd8..f0eec88 100644 --- a/dealpkt/deal_tcp.c +++ b/dealpkt/deal_tcp.c @@ -1653,7 +1653,7 @@ static int tcp_deal_ack(struct streaminfo *a_tcp,struct mesa_tcp_hdr *this_tcphd //pdetail->clientbytes = pdetail_pr->C2S_ack_seq - pdetail_pr->C2S_first_ack_seq; if(G_TCP_DEDUCE_FLOW_STAT_PROJECT_ID != -1){ pdetail_pr->deduce_flow_stat->C2S_data_byte = pdetail->serverbytes; /* ���������˸������ṹ���еı��� */ - pdetail_pr->deduce_flow_stat->C2S_data_pkt = pdetail->serverpktnum;/* ���������˸������ṹ���еı��� */ + pdetail_pr->deduce_flow_stat->C2S_all_pkt = pdetail->serverpktnum;/* ���������˸������ṹ���еı��� */ pdetail_pr->deduce_flow_stat->S2C_all_byte = pdetail_pr->C2S_ack_seq - pdetail_pr->C2S_first_ack_seq; /* �ƶϳ��Ľ��, all��data��һ����, ��û��pkt */ pdetail_pr->deduce_flow_stat->S2C_data_byte = pdetail_pr->C2S_ack_seq - pdetail_pr->C2S_first_ack_seq; /* �ƶϳ��Ľ��, all��data��һ����, ��û��pkt */ @@ -1663,7 +1663,7 @@ static int tcp_deal_ack(struct streaminfo *a_tcp,struct mesa_tcp_hdr *this_tcphd //pdetail->serverbytes = pdetail_pr->C2S_ack_seq - pdetail_pr->C2S_first_ack_seq; if(G_TCP_DEDUCE_FLOW_STAT_PROJECT_ID != -1){ pdetail_pr->deduce_flow_stat->S2C_data_byte = pdetail->clientbytes; /* ���������˸������ṹ���еı��� */ - pdetail_pr->deduce_flow_stat->S2C_data_pkt = pdetail->clientpktnum;/* ���������˸������ṹ���еı��� */ + pdetail_pr->deduce_flow_stat->S2C_all_pkt = pdetail->clientpktnum;/* ���������˸������ṹ���еı��� */ pdetail_pr->deduce_flow_stat->C2S_all_byte = pdetail_pr->S2C_ack_seq - pdetail_pr->S2C_first_ack_seq; pdetail_pr->deduce_flow_stat->C2S_data_byte = pdetail_pr->S2C_ack_seq - pdetail_pr->S2C_first_ack_seq; @@ -3541,7 +3541,7 @@ int tcp_flow_stat_init(void) if(project_req_id >= 0){ G_TCP_DEDUCE_FLOW_STAT_PROJECT_ID = project_req_id; }else{ - /* �����ļ�û��'tcp_flow_stat'��, �رմ˹��� */ + /* �����ļ�û��'tcp_deduce_flow_stat'��, �رմ˹��� */ G_TCP_DEDUCE_FLOW_STAT_PROJECT_ID = -1; } diff --git a/entry/sapp_main.c b/entry/sapp_main.c index e504a07..c8f3bb5 100644 --- a/entry/sapp_main.c +++ b/entry/sapp_main.c @@ -80,8 +80,12 @@ static void signal_take_over(void) int main(int argc, char *argv[]) { if((argc == 2) && (strncasecmp(argv[1], "-v", 2) == 0)){ +#ifdef GIT_VERSION const char *sapp_version = GIT_VERSION; printf("Platform version: %s\n", sapp_version); +#else + printf("Can't get version, because no found git info!\n"); +#endif exit(0); } diff --git a/plugin/src/plugin.c b/plugin/src/plugin.c index 21021e6..71624ba 100644 --- a/plugin/src/plugin.c +++ b/plugin/src/plugin.c @@ -141,12 +141,18 @@ char* g_plugin_entryname[PLUGIN_MAX_ENTRYNUM] = int g_plugin_version_VERSION_20170511; - /* ɾ��ĩβ�Ļ��з�"\r\n" */ -static void plugin_del_tail_rn(char *data, int max_len) + /* ɾ����ͷ�Ŀո�,tab, �Լ�ĩβ�Ļ��з�, �ո�, tab�� "\r\n " */ +static void plugin_del_blank_rn(char *data, int max_len) { - int i; + int i; + + while((' ' == *data) || ('\t' == *data)){ + memmove(data, data+1, max_len); + max_len--; + } + for(i = 0; i < max_len; i++){ - if(('\r' == data[i]) || ('\n' == data[i])){ + if(('\r' == data[i]) || ('\n' == data[i]) || ('\t' == data[i]) || (' ' == data[i])){ data[i] = '\0'; return; } @@ -156,6 +162,7 @@ static void plugin_del_tail_rn(char *data, int max_len) } + /**************************************************************************** ������:reset_cwd() ���ܣ��л���ǰ·�� @@ -425,7 +432,7 @@ int check_plug_conf(char* filename,int plugtype) break; } - plugin_del_tail_rn(config_buf, strlen(config_buf)); + plugin_del_blank_rn(config_buf, sizeof(config_buf)); //��һ���ַ�����"[",�������� if(memcmp(config_buf,KEYWORD_SPECIAL1,strlen(KEYWORD_SPECIAL1)) != 0) @@ -534,7 +541,7 @@ int process_conf_entryname() len = strlen(buf_entryname); buf_entryname[len-2] = '\0'; #else - plugin_del_tail_rn(buf_entryname, strlen(buf_entryname)); + plugin_del_blank_rn(buf_entryname, sizeof(buf_entryname)); #endif if('\0' == buf_entryname[0]){ continue; @@ -1267,9 +1274,10 @@ int process_conflist(char* filename,int plug_type) { continue; } + plugin_del_blank_rn(buf_confname, sizeof(buf_confname)); - len = strlen(buf_confname); - buf_confname[len-1] = '\0'; + // /len = strlen(buf_confname); + /////buf_confname[len-1] = '\0'; if(plug_type == PLUGTYPE_PROTOCOL) { diff --git a/test_so/test_app_sapp.c b/test_so/test_app_sapp.c index bc7f644..3fedae5 100644 --- a/test_so/test_app_sapp.c +++ b/test_so/test_app_sapp.c @@ -723,6 +723,35 @@ char testtcpApp_allpkt(struct streaminfo *pstream,void **pme, int thread_seq,voi return APP_STATE_GIVEME; } + +char test_tcp_deduce_flow_stat(struct streaminfo *pstream,void **pme, int thread_seq,void *a_packet) +{ + int tcp_deduce_flow_id; + + if(pstream->pktstate== OP_STATE_CLOSE) + { + tcp_deduce_flow_id = project_customer_register("tcp_deduce_flow_stat", "struct"); + if(-1 == tcp_deduce_flow_id){ + printf("'tcp_deduce_flow_stat' is disable, no statistics\n"); + return APP_STATE_DROPME; + } + + struct tcp_flow_stat *tflow_project = (struct tcp_flow_stat *)project_req_get_struct(pstream, tcp_deduce_flow_id); + if(tflow_project){ + printf("tcp_deduce_flow_stat:C2S_data_pkt:%u, C2S_data_byte=%llu,S2C_data_pkt:%u,S2C_data_byte=%llu\n", + tflow_project->C2S_data_pkt, + tflow_project->C2S_data_byte, + tflow_project->S2C_data_pkt, + tflow_project->S2C_data_byte); + + } + } + + return APP_STATE_GIVEME; +} + + + char tcpall_valid_after_kill(struct streaminfo *pstream,void **pme, int thread_seq,void *a_packet) { unsigned char mopt = 1; |
