Mod aaa-12 修改web_interface.c文件
RCA: SOL: 修改人:chenpeng 检视人
This commit is contained in:
parent
7926922f85
commit
ff08ddb462
|
@ -40,6 +40,7 @@ char * interface_send_server(interface_ss *data_in){
|
|||
int len = strlen(out_string);
|
||||
char* szOut = (char*)malloc(sizeof(char)*len);
|
||||
strcpy(szOut,out_string);
|
||||
free(out_string);
|
||||
cJSON_Delete(json);
|
||||
return szOut;
|
||||
|
||||
|
@ -53,10 +54,12 @@ end:
|
|||
输入2:结构化数据
|
||||
返回: 成功-失败
|
||||
**/
|
||||
int interface_get_server(server * srv ,char *data_in,interface_sg *data_out,cJSON *json){
|
||||
|
||||
json = cJSON_Parse(data_in);
|
||||
int interface_get_server(server * srv ,char * data_in,interface_sg *data_out,cJSON *json1){
|
||||
|
||||
srv = srv;
|
||||
data_in =data_in;
|
||||
cJSON *json = json1;
|
||||
//json = cJSON_Parse(data_in);
|
||||
if(!json){goto end;}
|
||||
//char * operate = cJSON_GetObjectItem(json, "operate")->valuestring;
|
||||
cJSON *json_data = cJSON_GetObjectItem(json, "resultCode");
|
||||
|
@ -164,12 +167,12 @@ int interface_get_server(server * srv ,char *data_in,interface_sg *data_out,cJSO
|
|||
int ipv6_size = cJSON_GetArraySize(ipv6Array); //读取数组大小
|
||||
data_out->data[i]._arripv6 = ipv6_size;
|
||||
for(int j=0;j<ipv6_size;j++){
|
||||
cJSON *ArrayItem = cJSON_GetArrayItem(ipv6Array,j); //分别读取数组中每一个object对象。
|
||||
json_data = cJSON_GetObjectItem(ArrayItem, "addr");
|
||||
cJSON *ArrayItemtem = cJSON_GetArrayItem(ipv6Array,j); //分别读取数组中每一个object对象。
|
||||
json_data = cJSON_GetObjectItem(ArrayItemtem, "addr");
|
||||
if(json_data == NULL){data_out->data[i].ipv6_data[j].ipv6_ipaddr = "";}
|
||||
else {data_out->data[i].ipv6_data[j].ipv6_ipaddr = json_data->valuestring;}
|
||||
|
||||
json_data = cJSON_GetObjectItem(ArrayItem, "prefixlen");
|
||||
json_data = cJSON_GetObjectItem(ArrayItemtem, "prefixlen");
|
||||
if(json_data == NULL){data_out->data[i].ipv6_data[j].ipv6_prefixlen ="";}
|
||||
else{data_out->data[i].ipv6_data[j].ipv6_prefixlen = json_data->valuestring;}
|
||||
|
||||
|
@ -181,19 +184,18 @@ int interface_get_server(server * srv ,char *data_in,interface_sg *data_out,cJSO
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
return 0;
|
||||
end:
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int temp_interface_get_server(char *data_in,interface_sg *data_out,cJSON *json){
|
||||
//cJSON *json;
|
||||
int temp_interface_get_server(char *data_in,interface_sg *data_out,cJSON *json1){
|
||||
|
||||
//interface_sg *data_struct;
|
||||
//data_struct = (interface_sg*)malloc(sizeof(interface_sg ));
|
||||
json = cJSON_Parse(data_in);
|
||||
data_in =data_in;
|
||||
|
||||
cJSON *json = json1;
|
||||
//json = cJSON_Parse(data_in);
|
||||
|
||||
if(!json){ goto end;}
|
||||
//char * operate = cJSON_GetObjectItem(json, "operate")->valuestring;
|
||||
|
@ -292,12 +294,12 @@ int temp_interface_get_server(char *data_in,interface_sg *data_out,cJSON *json){
|
|||
int ipv6_size = cJSON_GetArraySize(ipv6Array); //读取数组大小
|
||||
data_out->data[i]._arripv6 = ipv6_size;
|
||||
for(int j=0;j<ipv6_size;j++){
|
||||
cJSON *ArrayItem = cJSON_GetArrayItem(ipv6Array,j); //分别读取数组中每一个object对象。
|
||||
json_data = cJSON_GetObjectItem(ArrayItem, "addr");
|
||||
cJSON *ArrayItemtem = cJSON_GetArrayItem(ipv6Array,j); //分别读取数组中每一个object对象。
|
||||
json_data = cJSON_GetObjectItem(ArrayItemtem, "addr");
|
||||
if(json_data == NULL){data_out->data[i].ipv6_data[j].ipv6_ipaddr = "";}
|
||||
else {data_out->data[i].ipv6_data[j].ipv6_ipaddr = json_data->valuestring;}
|
||||
|
||||
json_data = cJSON_GetObjectItem(ArrayItem, "prefixlen");
|
||||
json_data = cJSON_GetObjectItem(ArrayItemtem, "prefixlen");
|
||||
if(json_data == NULL){data_out->data[i].ipv6_data[j].ipv6_prefixlen ="";}
|
||||
else{data_out->data[i].ipv6_data[j].ipv6_prefixlen = json_data->valuestring;}
|
||||
|
||||
|
@ -321,30 +323,32 @@ end:
|
|||
返回: 成功-失败
|
||||
**/
|
||||
|
||||
int interface_get_web(char *data_in,interface_wg *data_out,cJSON *json){
|
||||
//cJSON *json;
|
||||
int interface_get_web(char *data_in,interface_wg *data_out,cJSON *json1){
|
||||
|
||||
json = cJSON_Parse(data_in);
|
||||
data_in =data_in;
|
||||
|
||||
cJSON *json = json1;
|
||||
//json = cJSON_Parse(data_in);
|
||||
if(!json){ goto end;}
|
||||
//char * operate = cJSON_GetObjectItem(json, "operate")->valuestring;
|
||||
cJSON * json_data = cJSON_GetObjectItem(json, "type");
|
||||
if(json_data == NULL){data_out->type ="";}
|
||||
else{data_out->type = json_data->valuestring;}
|
||||
|
||||
json_data = cJSON_GetObjectItem(json, "data");
|
||||
if(json_data == NULL){
|
||||
cJSON * item = cJSON_GetObjectItem(json, "data");
|
||||
if(item == NULL){
|
||||
data_out->page_num ="";
|
||||
data_out->page_count ="";
|
||||
}
|
||||
else{
|
||||
cJSON * item = cJSON_GetObjectItem(json, "data");
|
||||
json_data = cJSON_GetObjectItem(item, "page_num");
|
||||
if(json_data == NULL){data_out->page_num ="";}
|
||||
else{data_out->page_num = json_data->valuestring;}
|
||||
|
||||
json_data = cJSON_GetObjectItem(item, "page_count");
|
||||
if(json_data == NULL){data_out->page_count ="";}
|
||||
else{data_out->page_count = json_data->valuestring;}
|
||||
cJSON * jsdata = cJSON_GetObjectItem(item, "page_num");
|
||||
if(jsdata == NULL){data_out->page_num ="";}
|
||||
else{data_out->page_num = jsdata->valuestring;}
|
||||
|
||||
jsdata = cJSON_GetObjectItem(item, "page_count");
|
||||
if(jsdata == NULL){data_out->page_count ="";}
|
||||
else{data_out->page_count = jsdata->valuestring;}
|
||||
|
||||
}
|
||||
|
||||
|
@ -391,6 +395,7 @@ char *interface_send_web(interface_ws *data_in){
|
|||
int out_len = strlen(out_string);
|
||||
char* szOut = (char*)malloc(sizeof(char)*out_len);
|
||||
strcpy(szOut,out_string);
|
||||
free(out_string);
|
||||
cJSON_Delete(json);
|
||||
return szOut;
|
||||
end:
|
||||
|
@ -416,6 +421,7 @@ char *interface_vlan_send_server(interface_vlan_ss * data_in){
|
|||
int len = strlen(out_string);
|
||||
char* szOut = (char*)malloc(sizeof(char)*len);
|
||||
strcpy(szOut,out_string);
|
||||
free(out_string);
|
||||
cJSON_Delete(json);
|
||||
return szOut;
|
||||
end:
|
||||
|
@ -425,10 +431,12 @@ end:
|
|||
}
|
||||
|
||||
//VLAN数据解析
|
||||
int interface_vlan_get_server(char *data_in, interface_vlan_sg *data_out,cJSON *json){
|
||||
//cJSON *json;
|
||||
int interface_vlan_get_server(char *data_in, interface_vlan_sg *data_out,cJSON *json1){
|
||||
|
||||
json = cJSON_Parse(data_in);
|
||||
data_in =data_in;
|
||||
|
||||
cJSON *json = json1;
|
||||
//json = cJSON_Parse(data_in);
|
||||
if(!json){goto end;}
|
||||
cJSON * Array = cJSON_GetObjectItem(json, "if_vlan"); //从json中获得jsonarray
|
||||
if(Array == NULL){goto end;}//初始话出错
|
||||
|
@ -506,6 +514,7 @@ char * interface_vlan_send_web(interface_vlan_ws *data_in){
|
|||
int out_len = strlen(out_string);
|
||||
char* szOut = (char*)malloc(sizeof(char)*out_len);
|
||||
strcpy(szOut,out_string);
|
||||
free(out_string);
|
||||
cJSON_Delete(json);
|
||||
return szOut;
|
||||
end:
|
||||
|
@ -513,10 +522,12 @@ end:
|
|||
return NULL;
|
||||
}
|
||||
//配置IP
|
||||
char * interface_conip_send_web(interface_conip_ws *data_in){
|
||||
char * interface_conip_send_web(server *srv,interface_conip_ws *data_in){
|
||||
srv =srv;
|
||||
cJSON * json;
|
||||
json = cJSON_CreateObject(); //创建对象
|
||||
if(NULL == json) {goto end;}
|
||||
|
||||
cJSON_AddStringToObject(json, "retcode", data_in->retcode);
|
||||
cJSON_AddStringToObject(json, "message", data_in->message);
|
||||
cJSON * page_json = cJSON_CreateObject(); //创建对象
|
||||
|
@ -532,14 +543,20 @@ char * interface_conip_send_web(interface_conip_ws *data_in){
|
|||
cJSON_AddStringToObject(ArrayItem, "interface_type", data_in->data[i].interface_type);
|
||||
cJSON_AddStringToObject(ArrayItem, "ifname",data_in->data[i].ifname );
|
||||
cJSON *iptypeArray = cJSON_CreateArray(); //创建数组
|
||||
for(int j=0;j<data_in->data[i]._coniplen;j++){
|
||||
cJSON *Arrayconip = cJSON_CreateObject(); //创建一个对象将对象
|
||||
cJSON_AddNumberToObject(Arrayconip, "family", data_in->data[i].condata[j].family);
|
||||
cJSON_AddStringToObject(Arrayconip, "ipaddr",data_in->data[i].condata[j].ipaddr);
|
||||
cJSON_AddStringToObject(Arrayconip, "prefixlen",data_in->data[i].condata[j].prefixlen);
|
||||
//printf("prefixlen:%s\n",data_in->data[i].condata[j].prefixlen);
|
||||
cJSON_AddItemToArray(iptypeArray, Arrayconip);//将该对象依次添加到数组里
|
||||
}
|
||||
|
||||
cJSON *Arrayconip1 = cJSON_CreateObject(); //创建一个对象将对象
|
||||
cJSON_AddNumberToObject(Arrayconip1, "family", data_in->data[i].condata[0].family);
|
||||
cJSON_AddStringToObject(Arrayconip1, "ipaddr",data_in->data[i].condata[0].ipaddr);
|
||||
cJSON_AddStringToObject(Arrayconip1, "prefixlen",data_in->data[i].condata[0].prefixlen);
|
||||
cJSON_AddItemToArray(iptypeArray, Arrayconip1);//将该对象依次添加到数组里
|
||||
|
||||
cJSON *Arrayconip2 = cJSON_CreateObject(); //创建一个对象将对象
|
||||
cJSON_AddNumberToObject(Arrayconip2, "family", data_in->data[i].condata[1].family);
|
||||
cJSON_AddStringToObject(Arrayconip2, "ipaddr",data_in->data[i].condata[1].ipaddr);
|
||||
|
||||
cJSON_AddStringToObject(Arrayconip2, "prefixlen",data_in->data[i].condata[1].prefixlen);
|
||||
cJSON_AddItemToArray(iptypeArray, Arrayconip2);//将该对象依次添加到数组里
|
||||
|
||||
cJSON_AddItemToObject(ArrayItem, "ip_type", iptypeArray); //将数组添加到ArrayItem对象中
|
||||
cJSON_AddItemToArray(JsonArray, ArrayItem);//将该对象依次添加到数组里
|
||||
|
||||
|
@ -551,6 +568,7 @@ char * interface_conip_send_web(interface_conip_ws *data_in){
|
|||
int out_len = strlen(out_string);
|
||||
char* szOut = (char*)malloc(sizeof(char)*out_len);
|
||||
strcpy(szOut,out_string);
|
||||
free(out_string);
|
||||
cJSON_Delete(json);
|
||||
return szOut;
|
||||
end:
|
||||
|
@ -578,6 +596,7 @@ char * interface_conipenable_send_web(interface_conipenable_ws *data_in){
|
|||
int out_len = strlen(out_string);
|
||||
char* szOut = (char*)malloc(sizeof(char)*out_len);
|
||||
strcpy(szOut,out_string);
|
||||
free(out_string);
|
||||
cJSON_Delete(json);
|
||||
return szOut;
|
||||
end:
|
||||
|
@ -591,6 +610,7 @@ end:
|
|||
char * interface_process(server *srv,char * data_in,void *point){
|
||||
//处理web请求
|
||||
//从WEB端解析数据
|
||||
srv =srv;
|
||||
cJSON *json_get_web = NULL; //
|
||||
cJSON *json_get_server= NULL;
|
||||
cJSON *json_vlan_get_server= NULL;
|
||||
|
@ -601,6 +621,7 @@ char * interface_process(server *srv,char * data_in,void *point){
|
|||
int flag =1;
|
||||
|
||||
interface_wg data_web;
|
||||
json_get_web = cJSON_Parse(data_in);
|
||||
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;}
|
||||
|
||||
|
@ -617,7 +638,7 @@ 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端数据结构
|
||||
|
||||
json_get_server = cJSON_Parse(mess_str);
|
||||
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; }
|
||||
|
||||
|
@ -673,6 +694,7 @@ char * interface_process(server *srv,char * data_in,void *point){
|
|||
free(ss_data);
|
||||
|
||||
interface_vlan_sg svlan_get_data; //定义VLAN数据解析的结构体
|
||||
json_vlan_get_server = cJSON_Parse(mess_str);
|
||||
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; //每次取一条
|
||||
|
@ -706,6 +728,7 @@ char * interface_vlan_process(server *srv,char * data_in,void *point){
|
|||
mod_webm_plugin_data *p_d = point;
|
||||
|
||||
interface_wg data_web;
|
||||
json_get_web = cJSON_Parse(data_in);
|
||||
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;}
|
||||
|
||||
|
@ -730,6 +753,7 @@ char * interface_vlan_process(server *srv,char * data_in,void *point){
|
|||
//解析vlan返回数据。
|
||||
|
||||
interface_vlan_sg vlandata;
|
||||
json_vlan_get_server = cJSON_Parse(mess_str);
|
||||
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;
|
||||
|
@ -786,6 +810,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端数据结构
|
||||
json_get_server = cJSON_Parse(mess_str);
|
||||
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];
|
||||
|
@ -810,14 +835,14 @@ char * interface_conip_process(server *srv,char * data_in,void *point){
|
|||
cJSON *json_get_web= NULL; //
|
||||
cJSON *json_get_server= NULL;
|
||||
|
||||
|
||||
int flag;
|
||||
int flag=1;
|
||||
char *mess_str = NULL;
|
||||
int mess_len = 0;
|
||||
mod_webm_plugin_data *p_d = point;
|
||||
|
||||
//printf("解析WEB数据: \n");
|
||||
interface_wg data_web;
|
||||
json_get_web = cJSON_Parse(data_in);
|
||||
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;}
|
||||
|
||||
|
@ -841,9 +866,9 @@ char * interface_conip_process(server *srv,char * data_in,void *point){
|
|||
|
||||
//printf("解析服务断数据: \n");
|
||||
interface_sg server_get_data ; //定义获取到的SERVER端数据结构
|
||||
json_get_server = cJSON_Parse(mess_str);
|
||||
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; }
|
||||
|
||||
if(flag){log_error_write(srv, __FILE__, __LINE__, "s", "SERVER端解析数据出错-CONIP");return NULL; }////////////////////////////////////////////
|
||||
interface_conip_ws websend_conip_data; // 定义发送 到WEB数据结构
|
||||
|
||||
websend_conip_data.retcode =server_get_data.resultCode;
|
||||
|
@ -891,9 +916,12 @@ char * interface_conip_process(server *srv,char * data_in,void *point){
|
|||
websend_conip_data.page_num =page_num_str;
|
||||
websend_conip_data.page_count=page_count_str;
|
||||
websend_conip_data.total = total_str;
|
||||
char * wout = interface_conip_send_web(&websend_conip_data);
|
||||
char * wout = interface_conip_send_web(srv,&websend_conip_data);
|
||||
|
||||
cJSON_Delete(json_get_web); //
|
||||
cJSON_Delete(json_get_server); //
|
||||
|
||||
|
||||
return wout;
|
||||
}
|
||||
//查询能配置IP的接口
|
||||
|
@ -912,6 +940,7 @@ char * interface_conipenable_process(server *srv,char * data_in,void *point){
|
|||
|
||||
//printf("解析WEB数据: \n");
|
||||
interface_wg data_web;
|
||||
json_get_web = cJSON_Parse(data_in);
|
||||
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;}
|
||||
|
||||
|
@ -933,6 +962,7 @@ char * interface_conipenable_process(server *srv,char * data_in,void *point){
|
|||
//服务端数据解析
|
||||
|
||||
interface_sg server_get_data ; //定义获取到的SERVER端数据结构
|
||||
json_get_server = cJSON_Parse(mess_str);
|
||||
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; }
|
||||
|
||||
|
@ -970,6 +1000,7 @@ char * interface_failure(void){
|
|||
int len = strlen(out_string);
|
||||
char* szOut = (char*)malloc(sizeof(char)*len);
|
||||
strcpy(szOut,out_string);
|
||||
free(out_string);
|
||||
cJSON_Delete(json);
|
||||
return szOut;
|
||||
}
|
Loading…
Reference in New Issue