summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorlijia <[email protected]>2024-11-14 14:50:04 +0800
committerlijia <[email protected]>2024-11-14 17:14:08 +0800
commit30fc2e796a1ed0eb6f5cd47bd8ccb1dcf40225b1 (patch)
tree809bb89417b6953067325fc96a81cd5425ae67dd /src
parent0ddf0cd934dd0ad9ec742790e6aeb4980bcdb64e (diff)
TSG-23776: support aarch64v2.0.21develop
Diffstat (limited to 'src')
-rw-r--r--src/HTTP_Common.c244
-rw-r--r--src/HTTP_Message.c10
-rw-r--r--src/HTTP_Message_Entry.c9
-rw-r--r--src/lib/http-parser-2.9.0.tar.gzbin51324 -> 0 bytes
-rw-r--r--src/lib/libhttp_parser.abin56424 -> 0 bytes
5 files changed, 140 insertions, 123 deletions
diff --git a/src/HTTP_Common.c b/src/HTTP_Common.c
index 358da91..578d452 100644
--- a/src/HTTP_Common.c
+++ b/src/HTTP_Common.c
@@ -1,84 +1,87 @@
#include <stdio.h>
-#include <string.h>
+#include <stdlib.h>
+#include <string.h>
#include <ctype.h>
#include "HTTP_Common.h"
#include "HTTP_Message.h"
-
void http_freeBuf(int thread_seq, char **buf, uint32 *buflen)
{
- if(*buf!=NULL)
+ if (*buf != NULL)
{
- dictator_free(thread_seq,*buf);
+ dictator_free(thread_seq, *buf);
*buf = NULL;
*buflen = 0;
- }
+ }
return;
}
-char* double_memchr(const char* before, uint32 before_len, const char* this_data, uint32 this_len, char c)
+char *double_memchr(const char *before, uint32 before_len, const char *this_data, uint32 this_len, char c)
{
/*before only find last two char*/
- if(before_len>=1)
+ if (before_len >= 1)
{
- if(*(before+(before_len-1))==c) return (char*)(before+(before_len-1));
+ if (*(before + (before_len - 1)) == c)
+ return (char *)(before + (before_len - 1));
}
- if(before_len>=2)
+ if (before_len >= 2)
{
- if(*(before+(before_len-2))==c) return (char*)(before+(before_len-2));
+ if (*(before + (before_len - 2)) == c)
+ return (char *)(before + (before_len - 2));
}
- return (char*)memchr(this_data,c,this_len);
+ return (char *)memchr(this_data, c, this_len);
}
/*
char* double_memchr(const char* before, uint32 before_len, const char* this_data, uint32 this_len, char c)
{
- char*pos=(char*)memchr(before,c,before_len);
- if(pos!=NULL)
- {
- return pos;
- }
- pos=(char*)memchr(this_data,c,this_len);
- return pos;
+ char*pos=(char*)memchr(before,c,before_len);
+ if(pos!=NULL)
+ {
+ return pos;
+ }
+ pos=(char*)memchr(this_data,c,this_len);
+ return pos;
}
*/
-char* double_memread(const char*before,uint32 before_len,const char* this_data,uint32 this_len,const char*pos,uint32 offset)
+char *double_memread(const char *before, uint32 before_len, const char *this_data, uint32 this_len, const char *pos, uint32 offset)
{
- const char* v_target=pos+offset;
- if((pos>=before&&pos<before+before_len)||(pos>=this_data&&pos<this_data+this_len))
+ const char *v_target = pos + offset;
+ if ((pos >= before && pos < before + before_len) || (pos >= this_data && pos < this_data + this_len))
{
- if(before<=v_target&&v_target<before+before_len)
+ if (before <= v_target && v_target < before + before_len)
{
- return (char*)v_target;
- }
- if(this_data<=v_target&&v_target<this_data+this_len)
+ return (char *)v_target;
+ }
+ if (this_data <= v_target && v_target < this_data + this_len)
{
- return (char*)v_target;
+ return (char *)v_target;
}
- if(this_data<=(this_data+offset-(before+before_len-pos))&&(this_data+offset-(before+before_len-pos))<this_data+this_len)
+ if (this_data <= (this_data + offset - (before + before_len - pos)) && (this_data + offset - (before + before_len - pos)) < this_data + this_len)
{
- return (char*)(this_data+offset-(before+before_len-pos));
- }
- }
+ return (char *)(this_data + offset - (before + before_len - pos));
+ }
+ }
return NULL;
}
-uint32 double_mem_offset(const char*before,uint32 before_len,const char* this_data,uint32 this_len,const char* p)
+uint32 double_mem_offset(const char *before, uint32 before_len, const char *this_data, uint32 this_len, const char *p)
{
- if(p>=this_data&&p<this_data+this_len)
+ if (p >= this_data && p < this_data + this_len)
{
- return before_len+(p-this_data);
+ return before_len + (p - this_data);
}
- if(p>=before&&p<before+before_len)
+ if (p >= before && p < before + before_len)
{
- return p-before;
- }
+ return p - before;
+ }
return -1;
}
char A_to_a(char ch)
{
- if(ch>='A'&&ch<='Z') return ch+'a'-'A';
+ if (ch >= 'A' && ch <= 'Z')
+ return ch + 'a' - 'A';
return ch;
}
@@ -87,27 +90,29 @@ char A_to_a(char ch)
* offset:����ֵ����һ�����ǿ��У��ո��Ʊ��������ڵ�ǰ���ݵ�ƫ������
* data����ǰ���ݡ�
* data_len:��ǰ���ݵij��ȡ�
-***********************************************************/
-void http_deleteEmptyRow(uint32 *offset, char* data, uint32 data_len)
-{
- if(NULL==data||data_len==0) return;
- while(*offset<data_len && (int)*offset>=0)
+ ***********************************************************/
+void http_deleteEmptyRow(uint32 *offset, char *data, uint32 data_len)
+{
+ if (NULL == data || data_len == 0)
+ return;
+ while (*offset < data_len && (int)*offset >= 0)
{
- if(HTTP_CR!=*(data+(*offset)) && HTTP_NULL!=*(data+(*offset)) && HTTP_LF!=*(data+(*offset)) && HTTP_SP!=*(data+(*offset)) && HTTP_HT!=*(data+(*offset)))
+ if (HTTP_CR != *(data + (*offset)) && HTTP_NULL != *(data + (*offset)) && HTTP_LF != *(data + (*offset)) && HTTP_SP != *(data + (*offset)) && HTTP_HT != *(data + (*offset)))
break;
- if(HTTP_CR==*(data+(*offset)) || HTTP_NULL==*(data+(*offset)) || HTTP_LF==*(data+(*offset)) || HTTP_SP==*(data+(*offset)) || HTTP_HT==*(data+(*offset)))
+ if (HTTP_CR == *(data + (*offset)) || HTTP_NULL == *(data + (*offset)) || HTTP_LF == *(data + (*offset)) || HTTP_SP == *(data + (*offset)) || HTTP_HT == *(data + (*offset)))
(*offset)++;
}
}
-void http_deleteEmptyRow_chunk(uint32 *offset, char* data, uint32 data_len)
-{
- if(NULL==data||data_len==0) return;
- while(*offset<data_len && (int)*offset>=0)
+void http_deleteEmptyRow_chunk(uint32 *offset, char *data, uint32 data_len)
+{
+ if (NULL == data || data_len == 0)
+ return;
+ while (*offset < data_len && (int)*offset >= 0)
{
- if(HTTP_CR!=*(data+(*offset)) && HTTP_LF!=*(data+(*offset))&& HTTP_SP!=*(data+(*offset)) && HTTP_HT!=*(data+(*offset)) && 0!=*(data+(*offset)))
+ if (HTTP_CR != *(data + (*offset)) && HTTP_LF != *(data + (*offset)) && HTTP_SP != *(data + (*offset)) && HTTP_HT != *(data + (*offset)) && 0 != *(data + (*offset)))
break;
- if(HTTP_CR==*(data+(*offset)) || HTTP_LF==*(data+(*offset))|| HTTP_SP==*(data+(*offset)) || HTTP_HT==*(data+(*offset)) || 0==*(data+(*offset)))
+ if (HTTP_CR == *(data + (*offset)) || HTTP_LF == *(data + (*offset)) || HTTP_SP == *(data + (*offset)) || HTTP_HT == *(data + (*offset)) || 0 == *(data + (*offset)))
(*offset)++;
}
return;
@@ -118,40 +123,42 @@ void http_deleteEmptyRow_chunk(uint32 *offset, char* data, uint32 data_len)
* offset:����ֵ����һ�����ǿ��У��ո��Ʊ��������ڵ�ǰ���ݵ�ƫ������
* data����ǰ���ݡ�
* data_len����ǰ���ݵij��ȡ�
-***********************************************************/
-void http_deleteSPHT(uint32 *offset, char* data, uint32 data_len)
+ ***********************************************************/
+void http_deleteSPHT(uint32 *offset, char *data, uint32 data_len)
{
- while(*offset<data_len && (int)*offset>=0)
+ while (*offset < data_len && (int)*offset >= 0)
{
- if(HTTP_SP!=*(data+(*offset)) && HTTP_HT!=*(data+(*offset)))
+ if (HTTP_SP != *(data + (*offset)) && HTTP_HT != *(data + (*offset)))
break;
(*offset)++;
}
-}/*http_deleteSPHTCRLFAtLast*/
+} /*http_deleteSPHTCRLFAtLast*/
/**********************************************************
* ���ܣ�ɾ��data����Ŀո񣬿��У��Ʊ�����
* del_data_len��ɾ�������ݵij��ȡ�
* data����ǰ���ݡ�
* data_len����ǰ���ݵij��ȡ�
-***********************************************************/
-void http_deleteSPHTCRLFAtLast(uint32 *del_data_len, char* data, uint32 data_len)
+ ***********************************************************/
+void http_deleteSPHTCRLFAtLast(uint32 *del_data_len, char *data, uint32 data_len)
{
- if (data == NULL || data_len == 0 || del_data_len == NULL) {
- return;
- }
+ if (data == NULL || data_len == 0 || del_data_len == NULL)
+ {
+ return;
+ }
- // ��ʼ��Ҫɾ���ij���Ϊ���ݳ���
- *del_data_len = data_len;
+ // ��ʼ��Ҫɾ���ij���Ϊ���ݳ���
+ *del_data_len = data_len;
- // ������ĩβ��ǰ���ҷǿհ��ַ��ͻ��з�
- while (*del_data_len > 0 &&
- (data[*del_data_len - 1] == HTTP_CR ||
- data[*del_data_len - 1] == HTTP_HT ||
- data[*del_data_len - 1] == HTTP_SP ||
- data[*del_data_len - 1] == HTTP_LF)) {
- (*del_data_len)--;
- }
+ // ������ĩβ��ǰ���ҷǿհ��ַ��ͻ��з�
+ while (*del_data_len > 0 &&
+ (data[*del_data_len - 1] == HTTP_CR ||
+ data[*del_data_len - 1] == HTTP_HT ||
+ data[*del_data_len - 1] == HTTP_SP ||
+ data[*del_data_len - 1] == HTTP_LF))
+ {
+ (*del_data_len)--;
+ }
}
/**********************************************************
@@ -159,88 +166,91 @@ void http_deleteSPHTCRLFAtLast(uint32 *del_data_len, char* data, uint32 data_len
* res:���ֵ��ͨ���ò����ж��Ƿ����\r\n
* all_data:�������ݻ�������
**********************************************************/
-char* http_findCRLF(char *all_data, uint32 len)
+char *http_findCRLF(char *all_data, uint32 len)
{
- if(NULL==all_data||0==len) return NULL;
- char *s_cr=NULL;
- s_cr=(char*)memchr(all_data,'\r',len);
+ if (NULL == all_data || 0 == len)
+ return NULL;
+ char *s_cr = NULL;
+ s_cr = (char *)memchr(all_data, '\r', len);
/*����\r*/
- if(NULL!=s_cr)
- {
+ if (NULL != s_cr)
+ {
return s_cr;
}
- /*û����\r*/
+ /*û����\r*/
return NULL;
}
-char* http_findCRLF_Chunk(char *all_data, uint32 len, uint32* end_flag_size)
+char *http_findCRLF_Chunk(char *all_data, uint32 len, uint32 *end_flag_size)
{
- if(all_data==NULL || len==0) return NULL;
+ if (all_data == NULL || len == 0)
+ return NULL;
- char *s_cr=NULL;
- char *s_lf=NULL;
- char *p_ret=NULL;
- uint32 rf = 2;
- s_cr=(char*)memchr(all_data, '\r',len);
- s_lf=(char*)memmem(all_data, len, (void*)"\0\n", rf);
- if(NULL!=s_cr && NULL!=s_lf)
+ char *s_cr = NULL;
+ char *s_lf = NULL;
+ char *p_ret = NULL;
+ uint32 rf = 2;
+ s_cr = (char *)memchr(all_data, '\r', len);
+ s_lf = (char *)memmem(all_data, len, (void *)"\0\n", rf);
+ if (NULL != s_cr && NULL != s_lf)
{
p_ret = MIN(s_cr, s_lf);
- *end_flag_size = (p_ret == s_cr)? 1:2;
+ *end_flag_size = (p_ret == s_cr) ? 1 : 2;
}
- else if(NULL == s_cr && NULL == s_lf)
+ else if (NULL == s_cr && NULL == s_lf)
{
}
else
{
- p_ret = (s_lf != NULL)?s_lf:s_cr;
- *end_flag_size = (s_lf != NULL)? 2:1;
- }
+ p_ret = (s_lf != NULL) ? s_lf : s_cr;
+ *end_flag_size = (s_lf != NULL) ? 2 : 1;
+ }
return p_ret;
}
-void stringA_to_stringa(char* str, uint32 l_str)
+void stringA_to_stringa(char *str, uint32 l_str)
{
- uint16 m =0;
- for(m=0;m<l_str;m++)
+ uint16 m = 0;
+ for (m = 0; m < l_str; m++)
{
str[m] = A_to_a(str[m]);
}
}
/* this function is copy from other system. */
-char *memcasemem(const char *strsrc,int len1,const char *substr,int len2)
+char *memcasemem(const char *strsrc, int len1, const char *substr, int len2)
{
-
- char *p1,*p2,*pend;
+
+ char *p1, *p2, *pend;
char *p;
char *substrS;
- int i,lenth;
+ int i, lenth;
- if((strsrc==NULL)||substr==NULL)
+ if ((strsrc == NULL) || substr == NULL)
+ return NULL;
+ if (len1 < len2)
return NULL;
- if(len1<len2) return NULL;
- lenth=len2;
- substrS=(char *)malloc(sizeof(char)*(lenth+1));
- if(substrS==NULL)
+ lenth = len2;
+ substrS = (char *)malloc(sizeof(char) * (lenth + 1));
+ if (substrS == NULL)
return NULL;
- for(i=0;i<lenth;i++)
+ for (i = 0; i < lenth; i++)
{
- substrS[i]=tolower(*(substr+i));
+ substrS[i] = tolower(*(substr + i));
}
- substrS[lenth]=0;
+ substrS[lenth] = 0;
- lenth=len1;
- pend =(char *)strsrc + lenth;
- for(p1 =(char *) strsrc; p1 != pend;p1++)
+ lenth = len1;
+ pend = (char *)strsrc + lenth;
+ for (p1 = (char *)strsrc; p1 != pend; p1++)
{
- for(p2 = p1,p = substrS;*p != '\0'&& p2 != pend;p++,p2++)
+ for (p2 = p1, p = substrS; *p != '\0' && p2 != pend; p++, p2++)
{
- if(tolower(*p2) != *p)
+ if (tolower(*p2) != *p)
break;
}
- if(*p == '\0')
+ if (*p == '\0')
{
free(substrS);
return p1;
@@ -249,14 +259,20 @@ char *memcasemem(const char *strsrc,int len1,const char *substr,int len2)
free(substrS);
return NULL;
-}
+}
+#include <time.h>
long long rdtsc(void)
{
+#if 0 // adapt for x86 and AArch64
long long l;
long long h;
__asm__ volatile("rdtsc" : "=a"(l), "=d"(h));
return (long long )l | ((long long )h<<32);
+#else
+ struct timespec curtime;
+ clock_gettime(CLOCK_MONOTONIC, &curtime);
+ return (long long)curtime.tv_sec * 1000 * 1000 * 1000 + (long long)curtime.tv_nsec;
+#endif
}
-
diff --git a/src/HTTP_Message.c b/src/HTTP_Message.c
index 41ce708..5ffeb6b 100644
--- a/src/HTTP_Message.c
+++ b/src/HTTP_Message.c
@@ -40,7 +40,7 @@ int is_absolute_uri(void* app_info)
int http_line2region(const char *line, uint32 line_len, char** region, uint32* region_len)
{
- /*line����ҵ��㣬��append,����lineǰ��Ŀո��Ѿ�ɾ����ֻ��Ҫɾ��: ֮��Ŀո�*/
+ /*line����ҵ��㣬��append,����lineǰ��Ŀո��Ѿ�ɾ����ֻ��Ҫɾ��?: ֮��Ŀո�?*/
uint32 del_data_len=0;
char* colon_pos = (char*)memchr(line, ':', line_len);
if(NULL==colon_pos) return -1;
@@ -52,7 +52,7 @@ int http_line2region(const char *line, uint32 line_len, char** region, uint32* r
int http_line2value(const char *line, uint32 line_len, char** value, uint32* value_len)
{
- /*line����ҵ��㣬��append,����lineǰ��Ŀո��Ѿ�ɾ����ֻ��Ҫɾ��: ֮��Ŀո�*/
+ /*line����ҵ��㣬��append,����lineǰ��Ŀո��Ѿ�ɾ����ֻ��Ҫɾ��?: ֮��Ŀո�?*/
uint32 vlen=0, sp_offset=0;
char* colon_pos = (char*)memchr(line, ':', line_len);
if(NULL==colon_pos) return -1;
@@ -272,7 +272,7 @@ int http_readHttpConf(const char* filename)
MESA_handle_runtime_log(g_http_prog_para.http_log_handle, RLOG_LV_FATAL, HTTP_PLUGIN_NAME, "http.conf bigger than %d", MAX_REGION_NUM);
return -1;
}
- strncpy(g_http_prog_para.http_conf_regionname[region_id], region_name, strlen(region_name));
+ strncpy(g_http_prog_para.http_conf_regionname[region_id], region_name, REGION_NAME_LEN);
g_http_prog_para.http_region_cnt++;
memset(region_name, 0, sizeof(region_name));
}
@@ -685,8 +685,8 @@ long long HTTP_FLAG_CHANGE(char* flag_str)
}
/**********************************************************
- * ���ܣ��ж���Ϣͷ�Ƿ������
- * buffer:��洢��������
+ * ���ܣ��ж���Ϣͷ�Ƿ������?
+ * buffer:��洢��������?
* data����ǰ���ݡ�
* data_len:��ǰ���ݵij��ȡ�
* proc_offset:��ǰ�����Ѵ������ݵ�ƫ������
diff --git a/src/HTTP_Message_Entry.c b/src/HTTP_Message_Entry.c
index 3e8b7f4..df65ab7 100644
--- a/src/HTTP_Message_Entry.c
+++ b/src/HTTP_Message_Entry.c
@@ -1,4 +1,5 @@
#include <stdio.h>
+#include <string.h>
#include <ctype.h>
#include "HTTP_Message_Entry.h"
#include "HTTP_Message_Header.h"
@@ -87,7 +88,7 @@ void http_doWithGzipData(http_parser_t *cur_http_node, struct streaminfo *a_tcp,
break;
}
- memcpy(unzip_content->buf+unzip_content->buflen, result_array->result_buff[k].presult, min_len);
+ memcpy((char *)unzip_content->buf+unzip_content->buflen, result_array->result_buff[k].presult, min_len);
unzip_content->buflen+=min_len;
}
@@ -252,7 +253,7 @@ uchar http_doWithProxyData(http_parser_t *a_http, http_stream *a_http_stream, st
*offset += len;
rec = GO_BACK;
}
- /*����һ��pkt��ʼ�ص��������������������HTTP�����������ѭ��*/
+ /*����һ��pkt��ʼ�ص��������������������HTTP�����������ѭ��?*/
if(len==0)
{
a_http->proxy_cb_flag = 1;
@@ -267,7 +268,7 @@ uchar http_doWithProxyData(http_parser_t *a_http, http_stream *a_http_stream, st
/**********************************************************
* ���ܣ�Ѱ��chunked�����ݿ�ʼλ��.
- * a_http_node:��Ϣ�ڵ�,�������������Ҳ�Ƿ��ز�����
+ * a_http_node:��Ϣ�ڵ�,�������������Ҳ�Ƿ��ز�����?
* cur_half����ǰ���ݡ�
* ע��after_cr_data_len<1����û�ҵ���ʼλ��
* (*a_http_node)->crlf_offset<1����û�õ����ȡ�
@@ -340,7 +341,7 @@ uchar http_readChunkedData(http_parser_t *a_http, struct streaminfo *a_tcp, int
/**********************************************************
* ���ܣ���ȡchunked�ij���.
- * a_http_node:��Ϣ�ڵ�,�������������Ҳ�Ƿ��ز�����
+ * a_http_node:��Ϣ�ڵ�,�������������Ҳ�Ƿ��ز�����?
* chunked_len:���ֵ��chunked���ݳ���.
* cur_half����ǰ���ݡ�
* return : HTTP_RETURN_SPAN_PACKET HTTP_RETURN_UNNORM
diff --git a/src/lib/http-parser-2.9.0.tar.gz b/src/lib/http-parser-2.9.0.tar.gz
deleted file mode 100644
index abc6d94..0000000
--- a/src/lib/http-parser-2.9.0.tar.gz
+++ /dev/null
Binary files differ
diff --git a/src/lib/libhttp_parser.a b/src/lib/libhttp_parser.a
deleted file mode 100644
index 40a1692..0000000
--- a/src/lib/libhttp_parser.a
+++ /dev/null
Binary files differ