Skip to content

Commit 84b3c5c

Browse files
committed
refactorying deal with get_sslhandshake_result
1 parent cd52554 commit 84b3c5c

File tree

1 file changed

+19
-28
lines changed

1 file changed

+19
-28
lines changed

lib/resty/core/socket.lua

Lines changed: 19 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -228,49 +228,40 @@ local function sslhandshake(cosocket, reused_session, server_name, ssl_verify,
228228
return reused_session
229229
end
230230

231-
if rc == FFI_OK then
232-
if reused_session == false then
233-
return true
234-
end
235-
236-
rc = C.ngx_http_lua_ffi_socket_tcp_get_sslhandshake_result(r, u,
237-
session_ptr, errmsg, openssl_error_code)
238-
239-
assert(rc == FFI_OK)
240-
241-
goto reused_sess
231+
if rc == FFI_OK and reused_session == false then
232+
return true
242233
end
243234

244-
assert(rc == FFI_AGAIN)
235+
if rc == FFI_AGAIN then
236+
co_yield()
237+
end
245238

246-
co_yield()
239+
-- (rc == FFI_OK and reused_session ~= false) or co_yield()
247240

248241
rc = C.ngx_http_lua_ffi_socket_tcp_get_sslhandshake_result(r, u,
249-
session_ptr, errmsg, openssl_error_code)
242+
session_ptr, errmsg, openssl_error_code)
250243

251-
::failed::
244+
if rc == FFI_OK then
245+
if reused_session == false then
246+
return true
247+
end
252248

253-
if rc == FFI_ERROR then
254-
if openssl_error_code[0] ~= 0 then
255-
return nil, openssl_error_code[0] .. ": " .. ffi_str(errmsg[0])
249+
if session_ptr[0] == nil then
250+
return nil
256251
end
257252

258-
return nil, ffi_str(errmsg[0])
253+
return ffi_gc(session_ptr[0], C.ngx_http_lua_ffi_ssl_free_session)
259254
end
260255

261-
assert(rc == FFI_OK)
262-
263-
if reused_session == false then
264-
return true
265-
end
256+
::failed::
266257

267-
::reused_sess::
258+
assert(rc == FFI_ERROR)
268259

269-
if session_ptr[0] == nil then
270-
return nil
260+
if openssl_error_code[0] ~= 0 then
261+
return nil, openssl_error_code[0] .. ": " .. ffi_str(errmsg[0])
271262
end
272263

273-
return ffi_gc(session_ptr[0], C.ngx_http_lua_ffi_ssl_free_session)
264+
return nil, ffi_str(errmsg[0])
274265
end
275266

276267

0 commit comments

Comments
 (0)