From 0c1491ba999ea7e633df8151f4d71d421203b5a3 Mon Sep 17 00:00:00 2001 From: yfy <273461474@qq.com> Date: Sat, 6 Aug 2022 06:05:09 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dhttps=E8=AF=BB=E5=8F=96?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E8=BF=94=E5=9B=9E0=E6=8A=A5=E9=94=99=20(#162?= =?UTF-8?q?2)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 修复https读取数据返回0报错 ./skynet/lualib/skynet.lua:861: ./skynet/lualib/skynet.lua:333: ./skynet/lualib/http/httpc.lua:109: ./skynet/lualib/http/tlshelper.lua:54: SSL_read error:6 stack traceback: [C]: in function 'error' ./skynet/lualib/http/httpc.lua:109: in function 'http.httpc.request' * http请求header中host头修改为默认的Host名字 --- lualib-src/ltls.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lualib-src/ltls.c b/lualib-src/ltls.c index 8c50fdea..28488de0 100644 --- a/lualib-src/ltls.c +++ b/lualib-src/ltls.c @@ -219,14 +219,17 @@ _ltls_context_read(lua_State* L) { do { read = SSL_read(tls_p->ssl, outbuff, sizeof(outbuff)); - if(read <= 0) { + if(read < 0) { int err = SSL_get_error(tls_p->ssl, read); ERR_clear_error(); if(err == SSL_ERROR_WANT_READ || err == SSL_ERROR_WANT_WRITE) { break; } luaL_error(L, "SSL_read error:%d", err); - }else if(read <= sizeof(outbuff)) { + }else if(read == 0){ + break; + } + else if(read <= sizeof(outbuff)) { luaL_addlstring(&b, outbuff, read); }else { luaL_error(L, "invalid SSL_read:%d", read);