Mod aaa-12 修改web_interface.c文件
RCA: SOL: 修改人:chenpeng 检视人
This commit is contained in:
parent
f5bc20b62d
commit
7926922f85
|
@ -53,13 +53,10 @@ end:
|
|||
输入2:结构化数据
|
||||
返回: 成功-失败
|
||||
**/
|
||||
int interface_get_server(char *data_in,interface_sg *data_out){
|
||||
cJSON *json;
|
||||
int interface_get_server(server * srv ,char *data_in,interface_sg *data_out,cJSON *json){
|
||||
|
||||
//interface_sg *data_struct;
|
||||
//data_struct = (interface_sg*)malloc(sizeof(interface_sg ));
|
||||
json = cJSON_Parse(data_in);
|
||||
|
||||
|
||||
if(!json){goto end;}
|
||||
//char * operate = cJSON_GetObjectItem(json, "operate")->valuestring;
|
||||
cJSON *json_data = cJSON_GetObjectItem(json, "resultCode");
|
||||
|
@ -125,19 +122,19 @@ int interface_get_server(char *data_in,interface_sg *data_out){
|
|||
}
|
||||
else{
|
||||
json_data = cJSON_GetObjectItem(statistics_data, "rcv_packets");
|
||||
if(json_data == NULL){data_out->data[i].rcv_packets = "";;}
|
||||
if(json_data == NULL){data_out->data[i].rcv_packets = "";}
|
||||
else{data_out->data[i].rcv_packets = json_data->valuestring;}
|
||||
|
||||
json_data = cJSON_GetObjectItem(statistics_data, "rcv_bytes");
|
||||
if(json_data == NULL){data_out->data[i].rcv_bytes = "";;}
|
||||
if(json_data == NULL){data_out->data[i].rcv_bytes = "";}
|
||||
else{data_out->data[i].rcv_bytes = json_data->valuestring;}
|
||||
|
||||
json_data = cJSON_GetObjectItem(statistics_data, "snd_packets");
|
||||
if(json_data == NULL){data_out->data[i].snd_packets = "";;}
|
||||
if(json_data == NULL){data_out->data[i].snd_packets = "";}
|
||||
else{data_out->data[i].snd_packets = json_data->valuestring;}
|
||||
|
||||
json_data = cJSON_GetObjectItem(statistics_data, "snd_bytes");
|
||||
if(json_data == NULL){data_out->data[i].snd_bytes = "";;}
|
||||
if(json_data == NULL){data_out->data[i].snd_bytes = "";}
|
||||
else{data_out->data[i].snd_bytes = json_data->valuestring;}
|
||||
|
||||
}
|
||||
|
@ -184,15 +181,15 @@ int interface_get_server(char *data_in,interface_sg *data_out){
|
|||
}
|
||||
|
||||
}
|
||||
//printf("adress:%p\n",data_struct);
|
||||
|
||||
|
||||
return 0;
|
||||
end:
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int temp_interface_get_server(char *data_in,interface_sg *data_out){
|
||||
cJSON *json;
|
||||
int temp_interface_get_server(char *data_in,interface_sg *data_out,cJSON *json){
|
||||
//cJSON *json;
|
||||
|
||||
//interface_sg *data_struct;
|
||||
//data_struct = (interface_sg*)malloc(sizeof(interface_sg ));
|
||||
|
@ -324,8 +321,8 @@ end:
|
|||
返回: 成功-失败
|
||||
**/
|
||||
|
||||
int interface_get_web(char *data_in,interface_wg *data_out){
|
||||
cJSON *json;
|
||||
int interface_get_web(char *data_in,interface_wg *data_out,cJSON *json){
|
||||
//cJSON *json;
|
||||
|
||||
json = cJSON_Parse(data_in);
|
||||
if(!json){ goto end;}
|
||||
|
@ -428,8 +425,8 @@ end:
|
|||
}
|
||||
|
||||
//VLAN数据解析
|
||||
int interface_vlan_get_server(char *data_in, interface_vlan_sg *data_out){
|
||||
cJSON *json;
|
||||
int interface_vlan_get_server(char *data_in, interface_vlan_sg *data_out,cJSON *json){
|
||||
//cJSON *json;
|
||||
|
||||
json = cJSON_Parse(data_in);
|
||||
if(!json){goto end;}
|
||||
|
@ -594,13 +591,17 @@ end:
|
|||
char * interface_process(server *srv,char * data_in,void *point){
|
||||
//处理web请求
|
||||
//从WEB端解析数据
|
||||
cJSON *json_get_web = NULL; //
|
||||
cJSON *json_get_server= NULL;
|
||||
cJSON *json_vlan_get_server= NULL;
|
||||
|
||||
char *mess_str = NULL;
|
||||
int mess_len = 0;
|
||||
mod_webm_plugin_data *p_d = point;
|
||||
int flag =1;
|
||||
|
||||
interface_wg data_web;
|
||||
flag = interface_get_web(data_in,&data_web); //
|
||||
flag = interface_get_web(data_in,&data_web,json_get_web); //
|
||||
if(flag == 1){log_error_write(srv, __FILE__, __LINE__, "s", "WEB Parsing data error-interface"); return NULL;}
|
||||
|
||||
interface_ss server_send_data;
|
||||
|
@ -615,15 +616,16 @@ char * interface_process(server *srv,char * data_in,void *point){
|
|||
}
|
||||
else {log_error_write(srv, __FILE__, __LINE__, "s", "CFG lod error-interface");return NULL;}
|
||||
free( json_data);
|
||||
|
||||
interface_sg server_get_data ; //定义获取到的SERVER端数据结构
|
||||
flag = interface_get_server(mess_str,&server_get_data);//从服务端解析数据
|
||||
|
||||
flag = interface_get_server(srv,mess_str,&server_get_data,json_get_server);//从服务端解析数据
|
||||
if(flag){log_error_write(srv, __FILE__, __LINE__, "s", "SERVER Parsing data error-interface");return NULL; }
|
||||
|
||||
interface_ws websend_data; //定义发送WEB端的数据结构
|
||||
websend_data.retcode=server_get_data.resultCode;
|
||||
websend_data.message=server_get_data.message;
|
||||
websend_data.pages="";
|
||||
|
||||
int index = 0; //发送端数据结构索引
|
||||
for(int i=0;i<server_get_data._datalen;i++){
|
||||
char * rol = server_get_data.data[i].role;
|
||||
|
@ -633,24 +635,24 @@ char * interface_process(server *srv,char * data_in,void *point){
|
|||
websend_data.data[index].mac = server_get_data.data[i].hwaddr;
|
||||
|
||||
|
||||
char temp[20];
|
||||
char temp[20]={"0"};
|
||||
char *bytes = server_get_data.data[i].rcv_bytes;
|
||||
//char *packets = server_get_data.data[i].rcv_packets;
|
||||
double flow =atoi(bytes);
|
||||
if(flow<=1024) {sprintf(temp, "%.2fb", flow);}
|
||||
else if(flow>1024 && flow<=1048576) {sprintf(temp, "%.2fk", (flow/1024));}
|
||||
else if(flow>1048576 && flow<=1048576000) {sprintf(temp, "%.2fM", (flow/1048576));}
|
||||
else if(flow>1048576000 ) {sprintf(temp, "%.2fG", (flow/1048576000));}
|
||||
long int flow =atol(bytes);
|
||||
if(flow<=1024) {sprintf(temp, "%ldB", flow);}
|
||||
else if(flow>1024 && flow<=1048576) {sprintf(temp, "%.2fK", (flow/1024.0));}
|
||||
else if(flow>1048576 && flow<=1048576000) {sprintf(temp, "%.2fM", (flow/1048576.0));}
|
||||
else if(flow>1048576000 ) {sprintf(temp, "%.2fG", (flow/1048576000.0));}
|
||||
strcpy(websend_data.data[index].input_flow,temp);
|
||||
//strcat( websend_data.data[index].input_flow, packets); //包个数
|
||||
|
||||
char *sndbytes = server_get_data.data[i].snd_bytes;
|
||||
//char *sndpackets = server_get_data.data[i].snd_packets;
|
||||
flow =atoi(sndbytes);
|
||||
if(flow<=1024) {sprintf(temp, "%.2fb", flow);}
|
||||
else if(flow>1024 && flow<=1048576) {sprintf(temp, "%.2fk", (flow/1024));}
|
||||
else if(flow>1048576 && flow<=1048576000) {sprintf(temp, "%.2fM", (flow/1048576));}
|
||||
else if(flow>1048576000 ) {sprintf(temp, "%.2fG", (flow/1048576000));}
|
||||
flow =atol(sndbytes);
|
||||
if(flow<=1024) {sprintf(temp, "%ldB", flow);}
|
||||
else if(flow>1024 && flow<=1048576) {sprintf(temp, "%.2fK", (flow/1024.0));}
|
||||
else if(flow>1048576 && flow<=1048576000) {sprintf(temp, "%.2fM", (flow/1048576.0));}
|
||||
else if(flow>1048576000 ) {sprintf(temp, "%.2fG", (flow/1048576000.0));}
|
||||
strcpy(websend_data.data[index].output_flow,temp);
|
||||
//strcat( websend_data.data[index].output_flow, sndpackets); //包个数
|
||||
|
||||
|
@ -669,9 +671,9 @@ char * interface_process(server *srv,char * data_in,void *point){
|
|||
}
|
||||
else {log_error_write(srv, __FILE__, __LINE__, "s", "CFG load error");return NULL;}
|
||||
free(ss_data);
|
||||
|
||||
|
||||
interface_vlan_sg svlan_get_data; //定义VLAN数据解析的结构体
|
||||
flag = interface_vlan_get_server(mess_str,& svlan_get_data);//从VLAN服务端解析数据
|
||||
flag = interface_vlan_get_server(mess_str,& svlan_get_data,json_vlan_get_server);//从VLAN服务端解析数据
|
||||
if(flag != 0){log_error_write(srv, __FILE__, __LINE__, "s", "SERVER parsing data error-interface");return NULL;}
|
||||
websend_data.data[index].vlan_flag = svlan_get_data.data[0]._vlan_flag; //每次取一条
|
||||
websend_data.data[index]._arrlen = svlan_get_data.data[0]._arrlen;
|
||||
|
@ -683,6 +685,9 @@ char * interface_process(server *srv,char * data_in,void *point){
|
|||
websend_data._datalen = index;
|
||||
}
|
||||
char* wout = interface_send_web( &websend_data); //向WEB端发送数据
|
||||
cJSON_Delete(json_get_web); //
|
||||
cJSON_Delete(json_get_server); //
|
||||
cJSON_Delete(json_vlan_get_server); //
|
||||
return wout;
|
||||
}
|
||||
|
||||
|
@ -690,13 +695,18 @@ char * interface_process(server *srv,char * data_in,void *point){
|
|||
char * interface_vlan_process(server *srv,char * data_in,void *point){
|
||||
//处理web请求
|
||||
//从WEB端解析数据
|
||||
|
||||
cJSON *json_get_web= NULL; //
|
||||
cJSON *json_get_server= NULL;
|
||||
cJSON *json_vlan_get_server= NULL;
|
||||
|
||||
int flag;
|
||||
char *mess_str = NULL;
|
||||
int mess_len = 0;
|
||||
mod_webm_plugin_data *p_d = point;
|
||||
|
||||
interface_wg data_web;
|
||||
flag = interface_get_web(data_in,&data_web); //
|
||||
flag = interface_get_web(data_in,&data_web,json_get_web); //
|
||||
if(flag == 1){log_error_write(srv, __FILE__, __LINE__, "s", "WEB数据解析出错-VLAN"); return NULL;}
|
||||
|
||||
char * page_num_str = data_web.page_num;
|
||||
|
@ -718,10 +728,9 @@ char * interface_vlan_process(server *srv,char * data_in,void *point){
|
|||
//printf("生成vlan_get_json:\n%s\n",vlanget);
|
||||
free(vlanget);
|
||||
//解析vlan返回数据。
|
||||
|
||||
|
||||
|
||||
interface_vlan_sg vlandata;
|
||||
flag = interface_vlan_get_server(mess_str,&vlandata);//从VLAN服务端解析数据
|
||||
flag = interface_vlan_get_server(mess_str,&vlandata,json_vlan_get_server);//从VLAN服务端解析数据
|
||||
if(flag == 1){log_error_write(srv, __FILE__, __LINE__, "s", "SERVER数据解析出错-VLAN");return NULL;}
|
||||
int index =0;
|
||||
int vid_vector[VLAN_COUNT]={-1}; //存放VLAN数量
|
||||
|
@ -777,7 +786,7 @@ char * interface_vlan_process(server *srv,char * data_in,void *point){
|
|||
//printf("解析服务断数据: \n");
|
||||
//log_error_write(srv, __FILE__, __LINE__, "s", mess_str);///////////////////////
|
||||
interface_sg server_get_data ; //定义获取到的SERVER端数据结构
|
||||
flag = temp_interface_get_server(mess_str,&server_get_data);//从服务端解析数据
|
||||
flag = temp_interface_get_server(mess_str,&server_get_data,json_get_server);//从服务端解析数据
|
||||
if(flag !=0 ){log_error_write(srv, __FILE__, __LINE__, "d", flag);return NULL; }
|
||||
websend_vlan_data.data[k].vlan_id = name[k];
|
||||
websend_vlan_data.data[k].ipv4 = server_get_data.data[0].ipv4_ipaddr;
|
||||
|
@ -786,15 +795,22 @@ char * interface_vlan_process(server *srv,char * data_in,void *point){
|
|||
websend_vlan_data.data[k].submask_ipv6 = server_get_data.data[0].ipv6_data[0].ipv6_prefixlen;
|
||||
//printf("解析完成: \n");
|
||||
}
|
||||
websend_vlan_data._datalen = k;
|
||||
char * wout = interface_vlan_send_web(&websend_vlan_data);
|
||||
|
||||
websend_vlan_data._datalen = k;
|
||||
char * wout = interface_vlan_send_web(&websend_vlan_data);
|
||||
cJSON_Delete(json_get_web); //
|
||||
cJSON_Delete(json_get_server); //
|
||||
cJSON_Delete(json_vlan_get_server); //
|
||||
return wout;
|
||||
}
|
||||
//查询已经配置IP的接口
|
||||
char * interface_conip_process(server *srv,char * data_in,void *point){
|
||||
//处理web请求
|
||||
//从WEB端解析数据
|
||||
|
||||
cJSON *json_get_web= NULL; //
|
||||
cJSON *json_get_server= NULL;
|
||||
|
||||
|
||||
int flag;
|
||||
char *mess_str = NULL;
|
||||
int mess_len = 0;
|
||||
|
@ -802,7 +818,7 @@ char * interface_conip_process(server *srv,char * data_in,void *point){
|
|||
|
||||
//printf("解析WEB数据: \n");
|
||||
interface_wg data_web;
|
||||
flag = interface_get_web(data_in,&data_web); //
|
||||
flag = interface_get_web(data_in,&data_web,json_get_web); //
|
||||
if(flag == 1){log_error_write(srv, __FILE__, __LINE__, "s", "WEB解析数据出错-CONIP"); return NULL;}
|
||||
|
||||
char * page_num_str = data_web.page_num;
|
||||
|
@ -825,7 +841,7 @@ char * interface_conip_process(server *srv,char * data_in,void *point){
|
|||
|
||||
//printf("解析服务断数据: \n");
|
||||
interface_sg server_get_data ; //定义获取到的SERVER端数据结构
|
||||
flag = interface_get_server(mess_str,&server_get_data);//从服务端解析数据
|
||||
flag = interface_get_server(srv,mess_str,&server_get_data,json_get_server);//从服务端解析数据
|
||||
if(flag){log_error_write(srv, __FILE__, __LINE__, "s", "SERVER端解析数据出错-CONIP");return NULL; }
|
||||
|
||||
interface_conip_ws websend_conip_data; // 定义发送 到WEB数据结构
|
||||
|
@ -876,12 +892,18 @@ char * interface_conip_process(server *srv,char * data_in,void *point){
|
|||
websend_conip_data.page_count=page_count_str;
|
||||
websend_conip_data.total = total_str;
|
||||
char * wout = interface_conip_send_web(&websend_conip_data);
|
||||
cJSON_Delete(json_get_web); //
|
||||
cJSON_Delete(json_get_server); //
|
||||
return wout;
|
||||
}
|
||||
//查询能配置IP的接口
|
||||
char * interface_conipenable_process(server *srv,char * data_in,void *point){
|
||||
//处理web请求
|
||||
//从WEB端解析数据
|
||||
cJSON *json_get_web= NULL; //
|
||||
cJSON *json_get_server= NULL;
|
||||
|
||||
|
||||
int flag;
|
||||
char *mess_str = NULL;
|
||||
int mess_len = 0;
|
||||
|
@ -890,7 +912,7 @@ char * interface_conipenable_process(server *srv,char * data_in,void *point){
|
|||
|
||||
//printf("解析WEB数据: \n");
|
||||
interface_wg data_web;
|
||||
flag = interface_get_web(data_in,&data_web); //
|
||||
flag = interface_get_web(data_in,&data_web,json_get_web); //
|
||||
if(flag == 1){log_error_write(srv, __FILE__, __LINE__, "s", "WEB解析数据出错-ENIP"); return NULL;}
|
||||
|
||||
//向interface服务端发送请求
|
||||
|
@ -911,7 +933,7 @@ char * interface_conipenable_process(server *srv,char * data_in,void *point){
|
|||
//服务端数据解析
|
||||
|
||||
interface_sg server_get_data ; //定义获取到的SERVER端数据结构
|
||||
flag = interface_get_server(mess_str,&server_get_data);//从服务端解析数据
|
||||
flag = interface_get_server(srv,mess_str,&server_get_data,json_get_server);//从服务端解析数据
|
||||
if(flag){log_error_write(srv, __FILE__, __LINE__, "s", "SERVER端解析数据出错-ENIP");return NULL; }
|
||||
|
||||
interface_conipenable_ws websend_conipen_data; // 定义发送 到WEB数据结构
|
||||
|
@ -931,6 +953,8 @@ char * interface_conipenable_process(server *srv,char * data_in,void *point){
|
|||
}
|
||||
websend_conipen_data._datalen =index;
|
||||
char * wout = interface_conipenable_send_web(&websend_conipen_data);
|
||||
cJSON_Delete(json_get_web); //
|
||||
cJSON_Delete(json_get_server); //
|
||||
return wout;
|
||||
}
|
||||
//失败返回json
|
||||
|
|
Loading…
Reference in New Issue