Explorar el Código

fix: 解决network和socket的一些编译警告

Wendal Chen hace 3 años
padre
commit
8a846dea0b

+ 10 - 8
components/ethernet/common/dhcp_client.c

@@ -1,4 +1,6 @@
 #include "luat_base.h"
+#include "luat_malloc.h"
+#include "luat_mcu.h"
 #ifdef LUAT_USE_DHCP
 #include "luat_network_adapter.h"
 #include "dhcp_def.h"
@@ -81,8 +83,8 @@ void make_ip4_dhcp_discover_msg(dhcp_client_info_t *dhcp, Buffer_Struct *out)
 	make_ip4_dhcp_msg_base(dhcp, 0x8000, out);
 	ip4_dhcp_msg_add_integer_option(DHCP_OPTION_MESSAGE_TYPE, DHCP_OPTION_MESSAGE_TYPE_LEN, DHCP_DISCOVER, out);
 	ip4_dhcp_msg_add_bytes_option(DHCP_OPTION_PARAMETER_REQUEST_LIST, dhcp_discover_request_options, sizeof(dhcp_discover_request_options), out);
-	ip4_dhcp_msg_add_bytes_option(DHCP_OPTION_HOSTNAME, dhcp->name, strlen(dhcp->name), out);
-	ip4_dhcp_msg_add_client_id_option(DHCP_OPTION_CLIENT_ID, dhcp->mac, 6, out);
+	ip4_dhcp_msg_add_bytes_option(DHCP_OPTION_HOSTNAME, (uint8_t*)dhcp->name, strlen(dhcp->name), out);
+	ip4_dhcp_msg_add_client_id_option(DHCP_OPTION_CLIENT_ID, (uint8_t*)dhcp->mac, 6, out);
 	BytesPut8ToBuf(out, 0xff);
 	if (out->Pos < (DHCP_MSG_LEN + 72))
 	{
@@ -115,8 +117,8 @@ void make_ip4_dhcp_select_msg(dhcp_client_info_t *dhcp, uint16_t flag, Buffer_St
 		ip4_dhcp_msg_add_ip_option(DHCP_OPTION_SERVER_ID, dhcp->server_ip, out);
 	}
 	ip4_dhcp_msg_add_bytes_option(DHCP_OPTION_PARAMETER_REQUEST_LIST, dhcp_discover_request_options, sizeof(dhcp_discover_request_options), out);
-	ip4_dhcp_msg_add_bytes_option(DHCP_OPTION_HOSTNAME, dhcp->name, strlen(dhcp->name), out);
-	ip4_dhcp_msg_add_client_id_option(DHCP_OPTION_CLIENT_ID, dhcp->mac, 6, out);
+	ip4_dhcp_msg_add_bytes_option(DHCP_OPTION_HOSTNAME, (uint8_t*)dhcp->name, strlen(dhcp->name), out);
+	ip4_dhcp_msg_add_client_id_option(DHCP_OPTION_CLIENT_ID, (uint8_t*)dhcp->mac, 6, out);
 	BytesPut8ToBuf(out, 0xff);
 }
 
@@ -128,14 +130,14 @@ void make_ip4_dhcp_decline_msg(dhcp_client_info_t *dhcp, Buffer_Struct *out)
 	ip4_dhcp_msg_add_integer_option(DHCP_OPTION_MESSAGE_TYPE, DHCP_OPTION_MESSAGE_TYPE_LEN, DHCP_DECLINE, out);
 	ip4_dhcp_msg_add_ip_option(DHCP_OPTION_REQUESTED_IP, dhcp->temp_ip, out);
 	ip4_dhcp_msg_add_ip_option(DHCP_OPTION_SERVER_ID, dhcp->server_ip, out);
-	ip4_dhcp_msg_add_bytes_option(DHCP_OPTION_HOSTNAME, dhcp->name, strlen(dhcp->name), out);
-	ip4_dhcp_msg_add_client_id_option(DHCP_OPTION_CLIENT_ID, dhcp->mac, 6, out);
+	ip4_dhcp_msg_add_bytes_option(DHCP_OPTION_HOSTNAME, (uint8_t*)dhcp->name, strlen(dhcp->name), out);
+	ip4_dhcp_msg_add_client_id_option(DHCP_OPTION_CLIENT_ID, (uint8_t*)dhcp->mac, 6, out);
 	BytesPut8ToBuf(out, 0xff);
 }
 
 int analyze_ip4_dhcp(dhcp_client_info_t *dhcp, Buffer_Struct *in)
 {
-	int ack;
+	int ack = 0;
 	uint64_t lease_time;
 	if (in->Data[0] != DHCP_BOOTREPLY)
 	{
@@ -213,7 +215,7 @@ int ip4_dhcp_run(dhcp_client_info_t *dhcp, Buffer_Struct *in, Buffer_Struct *out
 {
 	uint16_t flag = 0x8000;
 	*remote_ip = 0xffffffff;
-	int result;
+	int result = 0;
 	if (in)
 	{
 		result = analyze_ip4_dhcp(dhcp, in);

+ 5 - 3
components/ethernet/common/dns_client.c

@@ -1,4 +1,6 @@
 #include "luat_base.h"
+#include "luat_mcu.h"
+#include "luat_malloc.h"
 #ifdef LUAT_USE_DNS
 #include "platform_def.h"
 #include "dns_def.h"
@@ -263,20 +265,20 @@ uint8_t dns_check_uri(const char *uri, uint32_t uri_len)
          return 0;
     }
 
-    if (!isalpha(uri[0])) // domain must start with a letter
+    if (!isalpha((int)uri[0])) // domain must start with a letter
     {
         return 0;
     }
 
     uri_last = uri[uri_len - 1];
-    if (!isalnum(uri_last))//end with a letter or digit
+    if (!isalnum((int)uri_last))//end with a letter or digit
     {
          return 0;
     }
 
     for(i = 0; i < uri_len ; i++)
     {
-        if(!(isalnum(uri[i]) || uri[i]== '.' || uri[i] == '-'))//must a~z or A~Z or 0~9 or . or -
+        if(!(isalnum((int)uri[i]) || uri[i]== '.' || uri[i] == '-'))//must a~z or A~Z or 0~9 or . or -
         {
             return 0;
         }

+ 26 - 24
components/network/adapter/luat_lib_socket.c

@@ -264,19 +264,19 @@ static int l_socket_config(lua_State *L)
 		network_init_tls(l_ctrl->netc, (server_cert || client_cert)?2:0);
 		if (is_udp)
 		{
-			network_set_psk_info(l_ctrl->netc, server_cert, server_cert_len, client_key, client_key_len);
+			network_set_psk_info(l_ctrl->netc, (const unsigned char *)server_cert, server_cert_len, (const unsigned char *)client_key, client_key_len);
 		}
 		else
 		{
 			if (server_cert)
 			{
-				network_set_server_cert(l_ctrl->netc, server_cert, server_cert_len);
+				network_set_server_cert(l_ctrl->netc, (const unsigned char *)server_cert, server_cert_len);
 			}
 			if (client_cert)
 			{
-				network_set_client_cert(l_ctrl->netc, client_cert, client_cert_len,
-						client_key, client_key_len,
-						client_password, client_password_len);
+				network_set_client_cert(l_ctrl->netc, (const unsigned char *)client_cert, client_cert_len,
+						(const unsigned char *)client_key, client_key_len,
+						(const unsigned char *)client_password, client_password_len);
 			}
 		}
 	}
@@ -387,13 +387,13 @@ static int l_socket_close(lua_State *L)
 */
 static int l_socket_tx(lua_State *L)
 {
-	char ip_buf[68];
+	char ip_buf[68] = {0};
 	luat_socket_ctrl_t *l_ctrl = l_get_ctrl(L, 1);
-	luat_ip_addr_t ip_addr;
+	luat_ip_addr_t ip_addr = {0};
 	luat_zbuff_t *buff = NULL;
-	const char *ip;
-	const char *data;
-	size_t ip_len, data_len;
+	const char *ip = NULL;
+	const char *data = NULL;
+	size_t ip_len = 0, data_len = 0;
 	ip_addr.type = 0xff;
 	if (lua_isstring(L, 2))
 	{
@@ -403,7 +403,7 @@ static int l_socket_tx(lua_State *L)
 	else
 	{
 		buff = ((luat_zbuff_t *)luaL_checkudata(L, 2, LUAT_ZBUFF_TYPE));
-		data = buff->addr;
+		data = (const char*)buff->addr;
 		data_len = buff->used;
 	}
 	if (lua_isinteger(L, 3))
@@ -934,19 +934,19 @@ static int l_socket_config(lua_State *L)
 		network_init_tls(l_ctrl->netc, (server_cert || client_cert)?2:0);
 		if (is_udp)
 		{
-			network_set_psk_info(l_ctrl->netc, server_cert, server_cert_len, client_key, client_key_len);
+			network_set_psk_info(l_ctrl->netc, (const unsigned char *)server_cert, server_cert_len, (const unsigned char *)client_key, client_key_len);
 		}
 		else
 		{
 			if (server_cert)
 			{
-				network_set_server_cert(l_ctrl->netc, server_cert, server_cert_len);
+				network_set_server_cert(l_ctrl->netc, (const unsigned char *)server_cert, server_cert_len);
 			}
 			if (client_cert)
 			{
-				network_set_client_cert(l_ctrl->netc, client_cert, client_cert_len,
-						client_key, client_key_len,
-						client_password, client_password_len);
+				network_set_client_cert(l_ctrl->netc, (const unsigned char *)client_cert, client_cert_len,
+						(const unsigned char *)client_key, client_key_len,
+						(const unsigned char *)client_password, client_password_len);
 			}
 		}
 	}
@@ -1018,11 +1018,11 @@ static int l_socket_close(lua_State *L)
 static int l_socket_tx(lua_State *L)
 {
 	luat_socket_ctrl_t *l_ctrl = l_get_ctrl(L, 1);
-	luat_ip_addr_t ip_addr;
+	luat_ip_addr_t ip_addr = {0};
 	luat_zbuff_t *buff = NULL;
-	const char *ip;
-	const char *data;
-	size_t ip_len, data_len;
+	const char *ip = NULL;
+	const char *data = NULL;
+	size_t ip_len = 0, data_len = 0;
 	ip_addr.is_ipv6 = 0xff;
 	if (lua_isstring(L, 2))
 	{
@@ -1032,7 +1032,7 @@ static int l_socket_tx(lua_State *L)
 	else
 	{
 		buff = ((luat_zbuff_t *)luaL_checkudata(L, 2, LUAT_ZBUFF_TYPE));
-		data = buff->addr;
+		data = (const char *)buff->addr;
 		data_len = buff->used;
 	}
 	if (lua_isinteger(L, 3))
@@ -1060,7 +1060,7 @@ static int l_socket_tx(lua_State *L)
 		}
 	}
 	uint32_t tx_len;
-	int result = network_tx(l_ctrl->netc, data, data_len, luaL_optinteger(L, 5, 0), (ip_addr.is_ipv6 != 0xff)?&ip_addr:NULL, luaL_optinteger(L, 4, 0), &tx_len, 0);
+	int result = network_tx(l_ctrl->netc, (const uint8_t *)data, data_len, luaL_optinteger(L, 5, 0), (ip_addr.is_ipv6 != 0xff)?&ip_addr:NULL, luaL_optinteger(L, 4, 0), &tx_len, 0);
 	lua_pushboolean(L, result < 0);
 	lua_pushboolean(L, tx_len != data_len);
 	lua_pushboolean(L, result == 0);
@@ -1131,13 +1131,13 @@ static int l_socket_rx(lua_State *L)
 				{
 					ip[0] = 0;
 					memcpy(ip + 1, &ip_addr.ipv4, 4);
-					lua_pushlstring(L, ip, 5);
+					lua_pushlstring(L, (const char*)ip, 5);
 				}
 				else
 				{
 					ip[0] = 1;
 					memcpy(ip + 1, &ip_addr.ipv6_u8_addr, 16);
-					lua_pushlstring(L, ip, 17);
+					lua_pushlstring(L, (const char*)ip, 17);
 				}
 				lua_pushinteger(L, port);
 			}
@@ -1280,7 +1280,9 @@ static int l_socket_set_dns(lua_State *L)
 
 static int l_socket_set_ssl_log(lua_State *L)
 {
+	#if defined(MBEDTLS_DEBUG_C)
 	mbedtls_debug_set_threshold(luaL_optinteger(L, 1, 1));
+	#endif
 	return 0;
 }
 

+ 22 - 14
components/network/adapter/luat_network_adapter.c

@@ -1,5 +1,8 @@
 
 #include "luat_base.h"
+#include "luat_malloc.h"
+#include "luat_crypto.h"
+#include "luat_rtos.h"
 #ifdef LUAT_USE_NETWORK
 
 #include "luat_rtos.h"
@@ -2513,6 +2516,7 @@ static int network_state_wait_dns(network_ctrl_t *ctrl, OS_EVENT *event, network
 	default:
 		return 1;
 	}
+	return 1; // TODO 返回值不确定
 }
 
 static int network_state_connecting(network_ctrl_t *ctrl, OS_EVENT *event, network_adapter_t *adapter)
@@ -2600,6 +2604,7 @@ static int network_state_connecting(network_ctrl_t *ctrl, OS_EVENT *event, netwo
 	default:
 		return 1;
 	}
+	return 1; // TODO 返回值不确定
 }
 
 static int network_state_shakehand(network_ctrl_t *ctrl, OS_EVENT *event, network_adapter_t *adapter)
@@ -2779,6 +2784,7 @@ static int network_state_disconnecting(network_ctrl_t *ctrl, OS_EVENT *event, ne
 			network_force_close_socket(ctrl);
 			ctrl->state = NW_STATE_OFF_LINE;
 			ctrl->socket_id = -1;
+			return -1; // TODO 不清楚应该返回什么
 		}
 		break;
 	default:
@@ -2801,7 +2807,7 @@ static network_state_fun network_state_fun_list[]=
 
 static void network_default_statemachine(network_ctrl_t *ctrl, OS_EVENT *event, network_adapter_t *adapter)
 {
-	int result;
+	int result = 0;
 	if (ctrl->state > NW_STATE_DISCONNECTING)
 	{
 		ctrl->state = NW_STATE_LINK_OFF;
@@ -2841,7 +2847,7 @@ static int32_t network_default_socket_callback(void *data, void *param)
 	OS_EVENT temp_event;
 	luat_network_cb_param_t *cb_param = (luat_network_cb_param_t *)param;
 	network_adapter_t *adapter =(network_adapter_t *)(cb_param->param);
-	int i;
+	int i = 0;
 	network_ctrl_t *ctrl = (network_ctrl_t *)event->Param3;
 	if (event->ID > EV_NW_TIMEOUT)
 	{
@@ -2916,7 +2922,7 @@ uint8_t network_string_is_ipv4(const char *string, uint32_t len)
 	int i;
 	for(i = 0; i < len; i++)
 	{
-		if (!isdigit(string[i]) && (string[i] != '.'))
+		if (!isdigit((int)string[i]) && (string[i] != '.'))
 		{
 			return 0;
 		}
@@ -2938,10 +2944,10 @@ uint32_t network_string_to_ipv4(const char *string, uint32_t len)
 	CP.param_str = (int8_t *)Buf;
 	memcpy(temp, string, len);
 	temp[len] = 0;
-	CmdParseParam(temp, &CP, '.');
+	CmdParseParam((int8_t*)temp, &CP, '.');
 	for(i = 0; i < 4; i++)
 	{
-		uIP.u8[i] = strtol(Buf[i], NULL, 10);
+		uIP.u8[i] = strtol((uint8_t)Buf[i], NULL, 10);
 	}
 //	DBG("%d.%d.%d.%d", uIP.u8[0], uIP.u8[1], uIP.u8[2], uIP.u8[3]);
 	return uIP.u32;
@@ -2965,7 +2971,7 @@ int network_string_to_ipv6(const char *string, luat_ip_addr_t *ip_addr)
   for (s = string; *s != 0; s++) {
 	if (*s == ':') {
 	  zero_blocks--;
-	} else if (!isxdigit(*s)) {
+	} else if (!isxdigit((int)*s)) {
 	  break;
 	}
   }
@@ -3009,11 +3015,11 @@ int network_string_to_ipv6(const char *string, luat_ip_addr_t *ip_addr)
 		  }
 		}
 	  }
-	} else if (isxdigit(*s)) {
+	} else if (isxdigit((int)*s)) {
 	  /* add current digit */
 	  current_block_value = (current_block_value << 4) +
-		  (isxdigit(*s) ? (uint32_t)(*s - '0') :
-		  (uint32_t)(10 + (isxdigit(*s) ? *s - 'a' : *s - 'A')));
+		  (isxdigit((int)*s) ? (uint32_t)(*s - '0') :
+		  (uint32_t)(10 + (isxdigit((int)*s) ? *s - 'a' : *s - 'A')));
 	} else {
 	  /* unexpected digit, space? CRLF? */
 	  break;
@@ -3064,6 +3070,7 @@ int network_register_adapter(uint8_t adapter_index, network_adapter_info *info,
 	}
 
 	prv_network.last_adapter_index = adapter_index;
+	return 0;
 }
 
 void network_set_dns_server(uint8_t adapter_index, uint8_t server_index, luat_ip_addr_t *ip)
@@ -3391,10 +3398,10 @@ void network_force_close_socket(network_ctrl_t *ctrl)
 
 void network_clean_invaild_socket(uint8_t adapter_index)
 {
-	int i;
-	int *list;
+	int i = 0;
+	int *list = NULL;
 	network_adapter_t *adapter = &prv_adapter_table[adapter_index];
-	network_ctrl_t *ctrl;
+	network_ctrl_t *ctrl = NULL;
 	list = malloc(adapter->opt->max_socket_num * sizeof(int));
 	NW_LOCK;
 	for (i = 0; i < adapter->opt->max_socket_num; i++)
@@ -3533,7 +3540,7 @@ int network_cert_verify_result(network_ctrl_t *ctrl)
 static int tls_random( void *p_rng,
         unsigned char *output, size_t output_len )
 {
-	platform_random(output, output_len);
+	platform_random((char*)output, output_len);
 	return 0;
 }
 
@@ -3973,8 +3980,9 @@ int network_tx(network_ctrl_t *ctrl, const uint8_t *data, uint32_t len, int flag
 			return 0;
 		}
 	}
-
+#ifdef LUAT_USE_TLS
 NETWORK_TX_WAIT:
+#endif
 	ctrl->wait_target_state = NW_WAIT_TX_OK;
 	NW_UNLOCK;