diff options
| author | lijia <[email protected]> | 2021-09-10 18:52:48 +0800 |
|---|---|---|
| committer | lijia <[email protected]> | 2021-09-10 18:52:48 +0800 |
| commit | 52883a1a1c14c30c16be838b255fd4122beae9d0 (patch) | |
| tree | ae29244af1380b09706b2f3ca51035864097f88e | |
| parent | 00afae66aa07534518ccf452fcff7ba2d1b10cb9 (diff) | |
删除一些日志带源码路径和行号, __FILE__, __LINE__等.v4.2.51
| -rw-r--r-- | include/private/sapp_global_val.h | 2 | ||||
| -rw-r--r-- | src/common/net_common.c | 10 | ||||
| -rw-r--r-- | src/common/stream_addr_inet.c | 2 | ||||
| -rw-r--r-- | src/dealpkt/stream_manage.c | 4 | ||||
| -rw-r--r-- | src/packet_io/packet_io.c | 8 | ||||
| -rw-r--r-- | src/packet_io/packet_io_pcap.c | 17 | ||||
| -rw-r--r-- | src/packet_io/sendpacket.c | 12 | ||||
| -rw-r--r-- | src/project/raw_ip_frag_list.c | 2 | ||||
| -rw-r--r-- | src/sapp_dev/sapp_plug.c | 15 | ||||
| -rw-r--r-- | src/support/symbol_check/libsymbol_check.cpp | 2 | ||||
| -rw-r--r-- | src/timer/sapp_timer.c | 4 | ||||
| -rw-r--r-- | test/test_app_sapp.c | 30 |
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; |
