Просмотр исходного кода

fix: mqtt/ftp/http/sntp库适配禁用LWIP_IPV6的场景

Wendal Chen 3 лет назад
Родитель
Сommit
9a7ced60f8

+ 7 - 8
components/network/adapter/luat_network_adapter.c

@@ -154,8 +154,8 @@ extern void DBG_Printf(const char* format, ...);
 extern void DBG_HexPrintf(void *Data, unsigned int len);
 //#define DBG(x,y...)		DBG_Printf("%s %d:"x"\r\n", __FUNCTION__,__LINE__,##y)
 //#define DBG_ERR(x,y...)		DBG_Printf("%s %d:"x"\r\n", __FUNCTION__,__LINE__,##y)
-static int tls_random( void *p_rng,
-        unsigned char *output, size_t output_len );
+static int tls_random( void *p_rng,
+        unsigned char *output, size_t output_len );
 
 #define __NW_DEBUG_ENABLE__
 #ifdef __NW_DEBUG_ENABLE__
@@ -370,7 +370,6 @@ static int network_get_host_by_name(network_ctrl_t *ctrl)
 {
 #ifdef LUAT_USE_LWIP
 	network_set_ip_invaild(&ctrl->remote_ip);
-	ctrl->remote_ip.type = 0xff;
 	if (ipaddr_aton(ctrl->domain_name, &ctrl->remote_ip))
 	{
 		return 0;
@@ -2595,7 +2594,7 @@ uint8_t network_check_ready(network_ctrl_t *ctrl, uint8_t adapter_index)
 void network_set_ip_invaild(luat_ip_addr_t *ip)
 {
 #ifdef LUAT_USE_LWIP
-#ifdef LWIP_IPV6
+#if LWIP_IPV6
 	ip->type = 0xff;
 #else
 	ip->addr = 0;
@@ -2608,7 +2607,7 @@ void network_set_ip_invaild(luat_ip_addr_t *ip)
 uint8_t network_ip_is_vaild(luat_ip_addr_t *ip)
 {
 #ifdef LUAT_USE_LWIP
-#ifdef LWIP_IPV6
+#if LWIP_IPV6
 	return (ip->type != 0xff);
 #else
 	return (ip->addr != 0);
@@ -2621,7 +2620,7 @@ uint8_t network_ip_is_vaild(luat_ip_addr_t *ip)
 uint8_t network_ip_is_ipv6(luat_ip_addr_t *ip)
 {
 #ifdef LUAT_USE_LWIP
-#ifdef LWIP_IPV6
+#if LWIP_IPV6
 	return (IPADDR_TYPE_V6 == ip->type);
 #else
 	return 0;
@@ -2635,7 +2634,7 @@ uint8_t network_ip_is_ipv6(luat_ip_addr_t *ip)
 uint8_t network_ip_is_vaild_ipv4(luat_ip_addr_t *ip)
 {
 #ifdef LUAT_USE_LWIP
-#ifdef LWIP_IPV6
+#if LWIP_IPV6
 	return (IPADDR_TYPE_V4 == ip->type);
 #else
 	return (ip->addr != 0);
@@ -2648,7 +2647,7 @@ uint8_t network_ip_is_vaild_ipv4(luat_ip_addr_t *ip)
 void network_set_ip_ipv4(luat_ip_addr_t *ip, uint32_t ipv4)
 {
 #ifdef LUAT_USE_LWIP
-#ifdef LWIP_IPV6
+#if LWIP_IPV6
 	ip->type = IPADDR_TYPE_V4;
 	ip->u_addr.ip4.addr = ipv4;
 #else

+ 1 - 5
components/network/libemqtt/luat_mqtt_client.c

@@ -387,11 +387,7 @@ int luat_mqtt_connect(luat_mqtt_ctrl_t *mqtt_ctrl) {
     uint16_t keepalive = mqtt_ctrl->keepalive;
     LLOGD("host %s port %d keepalive %d", hostname, port, keepalive);
     mqtt_set_alive(&(mqtt_ctrl->broker), keepalive);
-#ifdef LUAT_USE_LWIP
-	ret = network_connect(mqtt_ctrl->netc, hostname, strlen(hostname), (0xff == mqtt_ctrl->ip_addr.type)?NULL:&(mqtt_ctrl->ip_addr), port, 0) < 0;
-#else
-	ret = network_connect(mqtt_ctrl->netc, hostname, strlen(hostname), (0xff == mqtt_ctrl->ip_addr.is_ipv6)?NULL:&(mqtt_ctrl->ip_addr), port, 0) < 0;
-#endif
+	ret = network_connect(mqtt_ctrl->netc, hostname, strlen(hostname), NULL, port, 0) < 0;
 	LLOGD("network_connect ret %d", ret);
 	if (ret < 0) {
         network_close(mqtt_ctrl->netc, 0);

+ 1 - 9
components/network/libftp/luat_ftp_client.c

@@ -362,11 +362,7 @@ static int luat_ftp_pasv_connect(luat_ftp_ctrl_t *ftp_ctrl,uint32_t timeout_ms){
 	network_set_base_mode(g_s_ftp.network->data_netc, 1, 10000, 0, 0, 0, 0);
 	network_set_local_port(g_s_ftp.network->data_netc, 0);
 	network_deinit_tls(g_s_ftp.network->data_netc);
-#ifdef LUAT_USE_LWIP
 	if(network_connect(g_s_ftp.network->data_netc, data_addr, strlen(data_addr), NULL, data_port, 0)<0){
-#else
-	if(network_connect(g_s_ftp.network->data_netc, data_addr, strlen(data_addr), NULL, data_port, 0)<0){
-#endif
 		LLOGE("ftp data network connect fail");
 		network_force_close_socket(g_s_ftp.network->data_netc);
 		network_release_ctrl(g_s_ftp.network->data_netc);
@@ -413,11 +409,7 @@ static int luat_ftp_pasv_connect(luat_ftp_ctrl_t *ftp_ctrl,uint32_t timeout_ms){
 static int ftp_login(void)
 {
 	int ret;
-#ifdef LUAT_USE_LWIP
-	if(network_connect(g_s_ftp.network->cmd_netc, g_s_ftp.network->addr, strlen(g_s_ftp.network->addr), (0xff == g_s_ftp.network->ip_addr.type)?NULL:&(g_s_ftp.network->ip_addr), g_s_ftp.network->port, FTP_SOCKET_TIMEOUT)){
-#else
-	if(network_connect(g_s_ftp.network->cmd_netc, g_s_ftp.network->addr, strlen(g_s_ftp.network->addr), (0xff == g_s_ftp.network->ip_addr.is_ipv6)?NULL:&(g_s_ftp.network->ip_addr), g_s_ftp.network->port, FTP_SOCKET_TIMEOUT)){
-#endif
+	if(network_connect(g_s_ftp.network->cmd_netc, g_s_ftp.network->addr, strlen(g_s_ftp.network->addr), NULL, g_s_ftp.network->port, FTP_SOCKET_TIMEOUT)){
 		LLOGE("ftp network_connect fail");
 		return -1;
 	}

+ 2 - 10
components/network/libhttp/luat_http_client.c

@@ -63,11 +63,7 @@ static void http_resp_error(luat_http_ctrl_t *http_ctrl, int error_code) {
 	LLOGD("http_resp_error error_code:%d close_state:%d",error_code,http_ctrl->close_state);
 	if (http_ctrl->close_state == 0 && http_ctrl->headers_complete && http_ctrl->re_request_count < HTTP_RE_REQUEST_MAX){
 		http_ctrl->re_request_count++;
-#ifdef LUAT_USE_LWIP
-		if(network_connect(http_ctrl->netc, http_ctrl->host, strlen(http_ctrl->host), (0xff == http_ctrl->ip_addr.type)?NULL:&(http_ctrl->ip_addr), http_ctrl->remote_port, 0) < 0){
-#else
-		if(network_connect(http_ctrl->netc, http_ctrl->host, strlen(http_ctrl->host), (0xff == http_ctrl->ip_addr.is_ipv6)?NULL:&(http_ctrl->ip_addr), http_ctrl->remote_port, 0) < 0){
-#endif
+		if(network_connect(http_ctrl->netc, http_ctrl->host, strlen(http_ctrl->host), NULL, http_ctrl->remote_port, 0) < 0){
 			goto error;
 		}
 	}else if (http_ctrl->close_state==0){
@@ -446,11 +442,7 @@ int luat_http_client_start(luat_http_ctrl_t* http_ctrl) {
 		luat_start_rtos_timer(http_ctrl->timeout_timer, http_ctrl->timeout, 0);
 	}
 
-#ifdef LUAT_USE_LWIP
-	if(network_connect(http_ctrl->netc, http_ctrl->host, strlen(http_ctrl->host), (0xff == http_ctrl->ip_addr.type)?NULL:&(http_ctrl->ip_addr), http_ctrl->remote_port, 0) < 0){
-#else
-	if(network_connect(http_ctrl->netc, http_ctrl->host, strlen(http_ctrl->host), (0xff == http_ctrl->ip_addr.is_ipv6)?NULL:&(http_ctrl->ip_addr), http_ctrl->remote_port, 0) < 0){
-#endif
+	if(network_connect(http_ctrl->netc, http_ctrl->host, strlen(http_ctrl->host), NULL, http_ctrl->remote_port, 0) < 0){
 		network_close(http_ctrl->netc, 0);
 		return -1;
 	}

+ 1 - 11
components/network/libsntp/luat_sntp.c

@@ -76,19 +76,9 @@ end)
 
 int luat_sntp_connect(network_ctrl_t *sntp_netc){
     int ret;
-    luat_ip_addr_t ip_addr;
-#ifdef LUAT_USE_LWIP
-	ip_addr.type = 0xff;
-#else
-	ip_addr.is_ipv6 = 0xff;
-#endif
     if (sntp_server_num >= sizeof(sntp_server))
         return -1;
-#ifdef LUAT_USE_LWIP
-	ret = network_connect(sntp_netc, sntp_server[sntp_server_num], strlen(sntp_server[sntp_server_num]), (0xff == ip_addr.type)?NULL:&(ip_addr), 123, 1000);
-#else
-	ret = network_connect(sntp_netc, sntp_server[sntp_server_num], strlen(sntp_server[sntp_server_num]), (0xff == ip_addr.is_ipv6)?NULL:&(ip_addr), 123, 1000);
-#endif
+	ret = network_connect(sntp_netc, sntp_server[sntp_server_num], strlen(sntp_server[sntp_server_num]), NULL, 123, 1000);
     sntp_server_num++;
 	// LLOGD("network_connect ret %d", ret);
 	if (ret < 0) {

+ 1 - 5
components/network/websocket/luat_lib_websocket.c

@@ -202,11 +202,7 @@ static int l_websocket_create(lua_State *L)
 	// 连接参数相关
 	// const char *ip;
 	size_t ip_len = 0;
-#ifdef LUAT_USE_LWIP
-	websocket_ctrl->ip_addr.type = 0xff;
-#else
-	websocket_ctrl->ip_addr.is_ipv6 = 0xff;
-#endif
+	network_set_ip_invaild(&websocket_ctrl->ip_addr);
 	opts.url = luaL_checklstring(L, 2, &ip_len);
 
 	ret = luat_websocket_set_connopts(websocket_ctrl, luaL_checklstring(L, 2, &ip_len));