summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlijia <[email protected]>2021-09-10 18:52:48 +0800
committerlijia <[email protected]>2021-09-10 18:52:48 +0800
commit52883a1a1c14c30c16be838b255fd4122beae9d0 (patch)
treeae29244af1380b09706b2f3ca51035864097f88e
parent00afae66aa07534518ccf452fcff7ba2d1b10cb9 (diff)
删除一些日志带源码路径和行号, __FILE__, __LINE__等.v4.2.51
-rw-r--r--include/private/sapp_global_val.h2
-rw-r--r--src/common/net_common.c10
-rw-r--r--src/common/stream_addr_inet.c2
-rw-r--r--src/dealpkt/stream_manage.c4
-rw-r--r--src/packet_io/packet_io.c8
-rw-r--r--src/packet_io/packet_io_pcap.c17
-rw-r--r--src/packet_io/sendpacket.c12
-rw-r--r--src/project/raw_ip_frag_list.c2
-rw-r--r--src/sapp_dev/sapp_plug.c15
-rw-r--r--src/support/symbol_check/libsymbol_check.cpp2
-rw-r--r--src/timer/sapp_timer.c4
-rw-r--r--test/test_app_sapp.c30
12 files changed, 75 insertions, 33 deletions
diff --git a/include/private/sapp_global_val.h b/include/private/sapp_global_val.h
index 3e06ad1..30d72c7 100644
--- a/include/private/sapp_global_val.h
+++ b/include/private/sapp_global_val.h
@@ -431,6 +431,7 @@ struct __sapp_gval_mthread{
sapp_fuzzy_latency_stat_t fuzzy_pkt_latency_stat_per_entry_per_thread[SAPP_MAX_PLUG_ENTRY_NUM];
const raw_pkt_t *raw_pkt; /* ��ΪMESA_fakepacket_send_xxxϵ�к���û��raw_pkt����, Ҳû��stream_info, Ϊ����ǰ����, �����޸Ľӿ�, ����ȫ�ֱ������ڴ洢��ǰ�� */
void *dup_pkt_distinguish_handle; /* ����������ڿ���, inject, ipv4_tcp, ipv4_udp, ��ͬʹ��һ��bloom��� */
+ volatile int destory_env_done; //0:do nothing; 1:doing; 2:done
}__attribute__ ((aligned (64))); /* for multi-thread, must 64byte alignment */
typedef struct __sapp_gval_mthread sapp_gval_mthread_t;
@@ -439,6 +440,7 @@ struct __sapp_gval_individual_volatile{
volatile time_t current_time;
volatile long long current_time_ms;
volatile int current_state; /* refer to enum sapp_state_t */
+ volatile int destory_env_done;
}__attribute__ ((aligned (64)));
typedef struct __sapp_gval_individual_volatile sapp_gval_individual_volatile_t;
diff --git a/src/common/net_common.c b/src/common/net_common.c
index e6ac9bb..9586291 100644
--- a/src/common/net_common.c
+++ b/src/common/net_common.c
@@ -1117,7 +1117,7 @@ UINT16 net_layer_to_ethernet_protocol(int addr_type)
case ADDR_TYPE_TCP:
case ADDR_TYPE_UDP:
- sapp_runtime_log(RLOG_LV_FATAL, "%s:%d: Ethernet can't carry addr type:%d directly!\n", __FILE__, __LINE__,addr_type);
+ sapp_runtime_log(RLOG_LV_FATAL, "net_layer_to_ethernet_protocol(): Ethernet can't carry addr type:%d directly!\n", addr_type);
//assert(0);
ether_type = -1;
break;
@@ -1136,7 +1136,7 @@ UINT16 net_layer_to_ethernet_protocol(int addr_type)
default:
/* to do, unknown type */
- sapp_runtime_log(RLOG_LV_FATAL, "%s:%d: unknown ethernet carry addr type:%d!\n", __FILE__, __LINE__, addr_type);
+ sapp_runtime_log(RLOG_LV_FATAL, "net_layer_to_ethernet_protocol(): unknown ethernet carry addr type:%d!\n", addr_type);
ether_type = -1;
break;
}
@@ -1176,7 +1176,7 @@ UINT16 net_layer_to_ethernet_protocol_by_stream(const struct streaminfo *pstream
case ADDR_TYPE_TCP:
case ADDR_TYPE_UDP:
- sapp_runtime_log(RLOG_LV_FATAL, "%s:%d: Ethernet can't carry addr type:%d directly!\n", __FILE__, __LINE__,addr_type);
+ sapp_runtime_log(RLOG_LV_FATAL, "net_layer_to_ethernet_protocol_by_stream(): Ethernet can't carry addr type:%d directly!\n", addr_type);
//assert(0);
ether_type = -1;
break;
@@ -1195,7 +1195,7 @@ UINT16 net_layer_to_ethernet_protocol_by_stream(const struct streaminfo *pstream
default:
/* to do, unknown type */
- sapp_runtime_log(RLOG_LV_FATAL, "%s:%d: unknown ethernet carry addr type:%d!\n", __FILE__, __LINE__, addr_type);
+ sapp_runtime_log(RLOG_LV_FATAL, "net_layer_to_ethernet_protocol_by_stream(): unknown ethernet carry addr type:%d!\n", addr_type);
ether_type = -1;
break;
}
@@ -1244,7 +1244,7 @@ enum addr_type_t ethernet_protocol_to_net_layer(UINT16 ether_type_host)
default:
/* to do, unknown type */
- sapp_runtime_log(RLOG_LV_INFO, "%s:%d: unknown ethernet carry addr type:0x%x\n", __FILE__, __LINE__, ether_type_host);
+ sapp_runtime_log(RLOG_LV_INFO, "ethernet_protocol_to_net_layer(): unknown ethernet carry addr type:0x%x\n", ether_type_host);
break;
}
diff --git a/src/common/stream_addr_inet.c b/src/common/stream_addr_inet.c
index f3b577a..404dcb8 100644
--- a/src/common/stream_addr_inet.c
+++ b/src/common/stream_addr_inet.c
@@ -1802,7 +1802,7 @@ const char *stream_addr_list_ntop_outward(const struct streaminfo *pstream)
addr_single_len = snprintf(result + addr_tot_len, MAX_ADDR_LIST_STRING_LEN-addr_tot_len,
"%s", addr_single_str);
if(addr_single_len >= MAX_ADDR_LIST_STRING_LEN-addr_tot_len){
- printf("%s:%d, no enough space to convert string!\n", __FILE__,__LINE__);
+ sapp_runtime_log(RLOG_LV_INFO, "stream_addr_list_ntop_outward(), no enough space to convert string!\n");
return NULL;
}
addr_tot_len += addr_single_len;
diff --git a/src/dealpkt/stream_manage.c b/src/dealpkt/stream_manage.c
index 38aef34..8acb2ba 100644
--- a/src/dealpkt/stream_manage.c
+++ b/src/dealpkt/stream_manage.c
@@ -737,7 +737,7 @@ int del_stream_by_time(struct stream_list *plist, const struct streamindex *curr
}
else
{
- sapp_runtime_log(RLOG_LV_FATAL, "%s:%d: del_stream_by_time() error! stream->type is:%d, not TCP or UDP.\n", __FILE__, __LINE__, pstream->type);
+ sapp_runtime_log(RLOG_LV_FATAL, "del_stream_by_time() error! stream->type is:%d, not TCP or UDP.\n", pstream->type);
return -1;
//assert(0);
}
@@ -885,7 +885,7 @@ int mkstreamhash_new(struct streaminfo_private *pstream_pr, int maxsize)
default:
//printf("Unknown addr type:%d!", this_stream->addr.addrtype);
- sapp_runtime_log(RLOG_LV_FATAL, "%s:%d: mkstreamhash_new() Unknown addr type:%d.\n", __FILE__, __LINE__, this_stream->addr.addrtype);
+ sapp_runtime_log(RLOG_LV_FATAL, "mkstreamhash_new() Unknown addr type:%d.\n", this_stream->addr.addrtype);
//assert(0);
return -1;
break;
diff --git a/src/packet_io/packet_io.c b/src/packet_io/packet_io.c
index 6c54223..f508025 100644
--- a/src/packet_io/packet_io.c
+++ b/src/packet_io/packet_io.c
@@ -738,7 +738,7 @@ void packet_io_run(void)
{
if(NULL == dl_io_fun_list.dl_io_run){
printf("Error, packet io library must support 'dl_io_run' !\n");
- sapp_runtime_log(RLOG_LV_FATAL, "%s:%d: Error, packet io library must support 'dl_io_run' !\n", __FILE__, __LINE__);
+ sapp_runtime_log(RLOG_LV_FATAL, "packet_io_run(): Error, packet io library must support 'dl_io_run' !\n");
assert(0);
}
@@ -911,7 +911,7 @@ retry:
goto retry; /* ���ź��жϵ�IO������Ҫ���� */
}else{
local_sys_stat->count[SAPP_STAT_SND_ERROR]++;
- sapp_runtime_log(RLOG_LV_FATAL, "%s:%d: sendto error, %s\n", __FILE__,__LINE__,strerror(errno));
+ sapp_runtime_log(RLOG_LV_FATAL, "packet_io_send_by_sys_routev4(): sendto error, %s\n", strerror(errno));
return ret;
}
}
@@ -946,7 +946,7 @@ static int packet_io_send_by_sys_routev6(MESA_send_handle *send_handle,int datal
if(0 == g_ipv6_send_packet_enabled){
//printf("IPv6 module is not support! Please check 'sapp.toml->ipv6_send_packet_enabled'.\n");
- sapp_runtime_log(RLOG_LV_FATAL, "%s:%d: IPv6 module is not support! Please check 'sapp.toml->ipv6_send_packet_enabled'.\n", __FILE__, __LINE__);
+ sapp_runtime_log(RLOG_LV_FATAL, "IPv6 module is not support! Please check 'sapp.toml->ipv6_send_packet_enabled'.\n" );
return -1;
}
@@ -979,7 +979,7 @@ retry:
goto retry; /* ���ź��жϵ�IO������Ҫ���� */
}else{
local_sys_stat->count[SAPP_STAT_SND_ERROR]++;
- sapp_runtime_log(RLOG_LV_FATAL,"%s:%d: packet_io_send_by_sys_routev6() sendto error, %s\n", __FILE__,__LINE__,strerror(errno));
+ sapp_runtime_log(RLOG_LV_FATAL,"packet_io_send_by_sys_routev6() sendto error, %s\n", strerror(errno));
return ret;
}
}
diff --git a/src/packet_io/packet_io_pcap.c b/src/packet_io/packet_io_pcap.c
index ecdd816..0aad5d1 100644
--- a/src/packet_io/packet_io_pcap.c
+++ b/src/packet_io/packet_io_pcap.c
@@ -315,6 +315,12 @@ inline void process_bar_print(int len)
}
#endif
+/*
+ TODO,
+ �˹���Ҫ�ٳ���һ��, �����ڲ�tcp�������, ��MTU�������ļ�����, ����д��!
+ ����������������Э��, ��vxlan�ȵ�,
+ ����֤������ݰ��ܱ���ַ���(����IP��Ƭ), ������֤���紫��Ŀɿ���.
+*/
static int sendpacket_tcp_offload(char *raw_data, int raw_datalen, int fd, const struct sockaddr *sa)
{
#define TCP_TSO_SPLIT_MTU 1400
@@ -842,7 +848,7 @@ static void *__pcap_work_thread(void *arg)
polling_stream_timeout(thread_num);
continue;
}else if(PCAP_OP_FLAG_EOF == pkt_queue_node.op_flag){
- packet_io_clean_thread_context(thread_num);
+ libsapp_destroy_env_per_thread(thread_num);
printf("[Info]free_thread_context success, tid:%d\n", thread_num);
work_thread_pool[thread_num].op_status = PCAP_OP_FLAG_EOF;
goto exit;
@@ -879,7 +885,7 @@ static int pcap_create_work_thread(void)
pthread_mutex_init (&work_thread_pool[i].mutex, NULL);
work_thread_pool[i].sd_raw_eth = socket(PF_INET, SOCK_PACKET, htons(ETH_P_ALL));
if(work_thread_pool[i].sd_raw_eth < 0){
- printf("%s:%d, socket raw eth error, %s\n", __FILE__, __LINE__,strerror(errno));
+ printf("pcap_create_work_thread(), socket raw eth error, %s\n", strerror(errno));
assert(0);
}
ret = snprintf(work_thread_pool[i].sock_addr_up.sa_data,
@@ -1351,11 +1357,8 @@ static void *pcap_io_thread(void *arg)
sapp_usleep(1000);
}
- //if(g_PollingFunNum > 0){
- //pcap_setnonblock(handle, 1, pcap_errbuf);
- //}
while(1){
- //if(0 == g_PollingFunNum){
+
if(1){
pcap_ret = pcap_loop(handle, -1, __pcap_pkt_handle, (unsigned char *)&route_dir);
}else{
@@ -1373,7 +1376,7 @@ static void *pcap_io_thread(void *arg)
}else if(pcap_ret < 0){
printf("pcap err, %s\n", pcap_geterr(handle));
sapp_set_current_state(SAPP_STATE_READY_TO_EXIT);
- exit(0);
+ exit(1);
}
}
diff --git a/src/packet_io/sendpacket.c b/src/packet_io/sendpacket.c
index 003d143..4e62ef4 100644
--- a/src/packet_io/sendpacket.c
+++ b/src/packet_io/sendpacket.c
@@ -975,7 +975,7 @@ static int calc_reserved_hdr_len(struct streaminfo *stream, int *net_layer_type,
reserved_hdr_len = sizeof(struct mesa_udp_hdr) + sizeof(struct mesa_ip4_hdr);
}else{
//printf("addr type is tuple4v4, but stream type is not TCP or UDP!\n");
- sapp_runtime_log(RLOG_LV_FATAL, "%s:%d: addr type is tuple4v4, but stream type is :%d, not TCP or UDP.\n", __FILE__, __LINE__, stream->type);
+ sapp_runtime_log(RLOG_LV_FATAL, "calc_reserved_hdr_len(): addr type is tuple4v4, but stream type is :%d, not TCP or UDP.\n", stream->type);
return -1;
//assert(0);
}
@@ -989,7 +989,7 @@ static int calc_reserved_hdr_len(struct streaminfo *stream, int *net_layer_type,
reserved_hdr_len = sizeof(struct mesa_udp_hdr) + sizeof(struct mesa_ip6_hdr);;
}else{
//printf("addr type is tuple4v6, but stream type is not TCP or UDP!\n");
- sapp_runtime_log(RLOG_LV_FATAL, "%s:%d: addr type is tuple4v6, but stream type is :%d, not TCP or UDP.\n", __FILE__, __LINE__, stream->type);
+ sapp_runtime_log(RLOG_LV_FATAL, "calc_reserved_hdr_len(): addr type is tuple4v6, but stream type is :%d, not TCP or UDP.\n", stream->type);
return -1;
//assert(0);
}
@@ -1005,7 +1005,7 @@ static int calc_reserved_hdr_len(struct streaminfo *stream, int *net_layer_type,
case ADDR_TYPE_ARP:
//printf("Sendpacket use ARP!\n");
- sapp_runtime_log(RLOG_LV_FATAL, "%s:%d: Sendpacket use ARP.\n", __FILE__, __LINE__);
+ sapp_runtime_log(RLOG_LV_FATAL, "calc_reserved_hdr_len(): Sendpacket use ARP.\n");
return -1;
//assert(0);
break;
@@ -3058,7 +3058,7 @@ int __do_inject_pkt(struct streaminfo *stream, const char *payload, int payload_
}
if(payload_len + reserved_hdr_len > MTU_MAX){
- sapp_runtime_log(RLOG_LV_FATAL, "%s:%d: MESA_inject_pkt() error! payload_len too long:%d.\n", __FILE__, __LINE__, payload_len + reserved_hdr_len);
+ sapp_runtime_log(RLOG_LV_FATAL, "MESA_inject_pkt() error! payload_len too long:%d.\n", payload_len + reserved_hdr_len);
return -1;
//assert(0);
}
@@ -3320,8 +3320,8 @@ int __sapp_inject_pkt(struct streaminfo *raw_stream, enum sapp_inject_opt sio,
}
if(payload_len + reserved_hdr_len > MTU_MAX){
- sapp_runtime_log(RLOG_LV_FATAL, "%s:%d: MESA_inject_pkt() error! payload_len too long:%d.\n",
- __FILE__, __LINE__, payload_len + reserved_hdr_len);
+ sapp_runtime_log(RLOG_LV_FATAL, "MESA_inject_pkt() error! payload_len too long:%d.\n",
+ payload_len + reserved_hdr_len);
return -1;
}
diff --git a/src/project/raw_ip_frag_list.c b/src/project/raw_ip_frag_list.c
index 039e864..616b8f4 100644
--- a/src/project/raw_ip_frag_list.c
+++ b/src/project/raw_ip_frag_list.c
@@ -366,7 +366,7 @@ const raw_ipfrag_list_t *get_raw_frag_list(const struct streaminfo *stream)
ip_frag_list = (const raw_ipfrag_list_t *)project_req_get_struct(stream, g_raw_ip_frag_list_v6_plugid);
}else{
ip_frag_list = NULL;
- sapp_runtime_log(RLOG_LV_FATAL, "%s:%d: get_raw_frag_list(), unknown addrtype:%d.\n", __FILE__, __LINE__, stream->addr.addrtype);
+ sapp_runtime_log(RLOG_LV_FATAL, "get_raw_frag_list(), unknown addrtype:%d.\n", stream->addr.addrtype);
}
return ip_frag_list;
diff --git a/src/sapp_dev/sapp_plug.c b/src/sapp_dev/sapp_plug.c
index 20df1ab..097d654 100644
--- a/src/sapp_dev/sapp_plug.c
+++ b/src/sapp_dev/sapp_plug.c
@@ -137,7 +137,13 @@ static void wait_for_all_io_threads(void)
void libsapp_destroy_env_per_thread(int tseq)
{
-
+ if(sapp_global_val->mthread_volatile[tseq]->destory_env_done){
+ return;
+ }
+
+ sapp_global_val->mthread_volatile[tseq]->destory_env_done = 1;
+ packet_io_clean_thread_context(tseq);
+ sapp_global_val->mthread_volatile[tseq]->destory_env_done = 2;
}
@@ -145,11 +151,18 @@ void libsapp_destroy_env_per_thread(int tseq)
void libsapp_destroy_env(void)
{
+ if(sapp_global_val->individual_volatile->destory_env_done){
+ return;
+ }
+
+ sapp_global_val->individual_volatile->destory_env_done = 1;
sapp_set_current_state(SAPP_STATE_READY_TO_EXIT);
wait_for_all_io_threads();
packet_io_exit();
+
+ sapp_global_val->individual_volatile->destory_env_done = 2;
}
diff --git a/src/support/symbol_check/libsymbol_check.cpp b/src/support/symbol_check/libsymbol_check.cpp
index 20cbc3e..895e00d 100644
--- a/src/support/symbol_check/libsymbol_check.cpp
+++ b/src/support/symbol_check/libsymbol_check.cpp
@@ -436,7 +436,7 @@ static int symbol_file_check(const char *raw_filename, void *user_arg)
fp = popen(cmd_buf, "r");
if(NULL == fp){
- printf("%s:%d, popen error, %s\n", __FILE__, __LINE__, strerror(errno));
+ printf("symbol_file_check() popen error, %s\n", strerror(errno));
return 0;
}
while(fgets(symbol_info_buf, PATH_MAX, fp)){
diff --git a/src/timer/sapp_timer.c b/src/timer/sapp_timer.c
index 96c140f..989b456 100644
--- a/src/timer/sapp_timer.c
+++ b/src/timer/sapp_timer.c
@@ -457,6 +457,10 @@ void *sapp_time_event_thread(void *arg)
#endif
last_log_time = time(NULL);
+
+ while(SAPP_STATE_PROCESSING != sapp_global_val->individual_volatile->current_state){
+ sapp_usleep(100);
+ }
while(SAPP_STATE_PROCESSING == sapp_global_val->individual_volatile->current_state)
{
diff --git a/test/test_app_sapp.c b/test/test_app_sapp.c
index 04acecf..b161f0f 100644
--- a/test/test_app_sapp.c
+++ b/test/test_app_sapp.c
@@ -1850,9 +1850,13 @@ static void test_inject_tcp_pkt_with_this_hdr(struct streaminfo *stream,void **p
char test_inject_tcp_pkt(struct streaminfo *stream,void **pme, int thread_seq,const void *raw_pkt)
{
- char fake_http_data[] = "HTTP/1.1 200 OK\r\nServer: Apache-Coyote/1.1\r\nContent-Type: text/html;charset=UTF-8\r\nContent-Language: zh-CN\r\nContent-Length: 32\r\nConnection: Close\r\n\r\n<html><head>HaHaHa</head></html>";
+ const char *fake_http_pattern = "HTTP/1.1 200 OK\r\nServer: Apache-Coyote/1.1\r\nContent-Type: text/html;charset=UTF-8\r\nContent-Language: zh-CN\r\nContent-Length: %d\r\nConnection: Close\r\n\r\n%s";
char plug_ret = APP_STATE_DROPME;
- int optval;
+ int i, optval;
+ int total_payload_len, payload_char_len;
+ char payload_buf[8192];
+ char payload_with_html_buf[8192];
+ char fake_http_send_buf[8192];
if(OP_STATE_CLOSE == stream->opstate){
return plug_ret;
@@ -1861,10 +1865,26 @@ char test_inject_tcp_pkt(struct streaminfo *stream,void **pme, int thread_seq,co
if(OP_STATE_PENDING == stream->opstate){
if((DIR_C2S == stream->curdir)
&& (memmem(stream->ptcpdetail->pdata, stream->ptcpdetail->datalen, "hijack", 6) != NULL)){
- printf("found key 'hijack', send fake http response ' hahaha'!\n");
+ memset(payload_buf, '*', sizeof(payload_buf));
+ for(i = 0; i < sizeof(payload_buf); i++){
+ if(0 == (i % 80)){
+ payload_buf[i] ='\r';
+ }else if(0 == (i % 81)){
+ payload_buf[i] ='\n';
+ }
+ }
+
+ payload_char_len = SAPP_MIN(g_test_app_val.ivalue1, 4096);
+ payload_buf[payload_char_len] = '\0';
+ snprintf(payload_with_html_buf, sizeof(payload_with_html_buf), "<html><head>%s</head></html>", payload_buf);
+
+ total_payload_len = strlen(payload_with_html_buf);
+ snprintf(fake_http_send_buf, sizeof(fake_http_send_buf), fake_http_pattern, total_payload_len, payload_with_html_buf);
+
+ printf("found key 'hijack', send fake http response, len=%d\n", total_payload_len);
//MESA_inject_pkt(stream, fake_http_data, sizeof(fake_http_data), raw_pkt, stream->routedir ^ 1);
- //sapp_inject_pkt(stream, SIO_DEFAULT, fake_http_data, sizeof(fake_http_data), stream->routedir ^ 1);
- test_inject_tcp_pkt_with_this_hdr(stream, pme, thread_seq, raw_pkt);
+ sapp_inject_pkt(stream, SIO_DEFAULT, fake_http_send_buf, strlen(fake_http_send_buf), stream->routedir ^ 1);
+ //test_inject_tcp_pkt_with_this_hdr(stream, pme, thread_seq, raw_pkt);
plug_ret |= APP_STATE_DROPPKT;
optval = 1;