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

add:network_init_tls添加返回值

Dozingfiretruck 3 лет назад
Родитель
Сommit
d599af1ed6

+ 8 - 5
components/network/adapter/luat_lib_socket.c

@@ -272,7 +272,7 @@ static int l_socket_set_debug(lua_State *L)
 @string TCP模式下的客户端ca证书数据,UDP模式下的PSK-ID,TCP模式下如果不需要验证客户端证书时,忽略,一般不需要验证客户端证书
 @string TCP模式下的客户端私钥加密数据
 @string TCP模式下的客户端私钥口令数据
-@return nil 无返回值
+@return boolean 成功返回true,失败返回nil
 @usage socket.config(ctrl)	--最普通的TCP传输
 socket.config(ctrl, nil, nil ,true)	--最普通的加密TCP传输,证书都不用验证的那种
 */
@@ -323,11 +323,11 @@ static int l_socket_config(lua_State *L)
 		client_password_len = 0;
 		client_password = luaL_checklstring(L, param_pos, &client_password_len);
 	}
-	network_set_base_mode(l_ctrl->netc, !is_udp, 10000, keep_idle, keep_idle, keep_interval, keep_cnt);
-	network_set_local_port(l_ctrl->netc, local_port);
 	if (is_tls)
 	{
-		network_init_tls(l_ctrl->netc, (server_cert || client_cert)?2:0);
+		if (network_init_tls(l_ctrl->netc, (server_cert || client_cert)?2:0)){
+			return 0;
+		}
 		if (is_udp)
 		{
 			network_set_psk_info(l_ctrl->netc, (const unsigned char *)server_cert, server_cert_len, (const unsigned char *)client_key, client_key_len);
@@ -350,7 +350,10 @@ static int l_socket_config(lua_State *L)
 	{
 		network_deinit_tls(l_ctrl->netc);
 	}
-	return 0;
+	network_set_base_mode(l_ctrl->netc, !is_udp, 10000, keep_idle, keep_idle, keep_interval, keep_cnt);
+	network_set_local_port(l_ctrl->netc, local_port);
+	lua_pushboolean(L, 1);
+	return 1;
 }
 
 /*

+ 5 - 1
components/network/adapter/luat_network_adapter.c

@@ -1828,7 +1828,7 @@ static int tls_random( void *p_rng,
 	return 0;
 }
 
-void network_init_tls(network_ctrl_t *ctrl, int verify_mode)
+int network_init_tls(network_ctrl_t *ctrl, int verify_mode)
 {
 #ifdef LUAT_USE_TLS
 	ctrl->tls_mode = 1;
@@ -1861,6 +1861,10 @@ void network_init_tls(network_ctrl_t *ctrl, int verify_mode)
 	    ctrl->tls_short_timer = platform_create_timer(tls_shorttimeout, ctrl, NULL);
 	}
 	ctrl->tls_timer_state = -1;
+	return 0;
+#else
+	LLOGE("NOT SUPPORT TLS");
+	return -1;
 #endif
 }
 

+ 1 - 1
components/network/adapter/luat_network_adapter.h

@@ -425,7 +425,7 @@ int network_cert_verify_result(network_ctrl_t *ctrl);
  * 初始化加密传输
  * verify_mode参考MBEDTLS_SSL_VERIFY_XXX
  */
-void network_init_tls(network_ctrl_t *ctrl, int verify_mode);
+int network_init_tls(network_ctrl_t *ctrl, int verify_mode);
 /*
  * 结束加密传输模式,恢复成正常模式
  */