Skip to content

Commit 5e50d26

Browse files
bugfix: fixed keepalive error in cosocket.
Go to openresty/lua-nginx-module#2347 for more details.
1 parent f56c53b commit 5e50d26

File tree

2 files changed

+15
-5
lines changed

2 files changed

+15
-5
lines changed

src/ngx_stream_lua_socket_tcp.c

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5618,6 +5618,16 @@ ngx_stream_lua_socket_keepalive_close_handler(ngx_event_t *ev)
56185618
"check stale events");
56195619

56205620
n = recv(c->fd, buf, 1, MSG_PEEK);
5621+
#if (NGX_STREAM_SSL)
5622+
/* ignore ssl protocol data like change cipher spec */
5623+
if (n == 1 && c->ssl != NULL) {
5624+
n = c->recv(c, (unsigned char *) buf, 1);
5625+
if (n == NGX_AGAIN) {
5626+
n = -1;
5627+
ngx_socket_errno = NGX_EAGAIN;
5628+
}
5629+
}
5630+
#endif /* NGX_STREAM_SSL */
56215631

56225632
if (n == -1 && ngx_socket_errno == NGX_EAGAIN) {
56235633
/* stale event */

t/129-ssl-socket.t

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1533,11 +1533,11 @@ set keepalive: 1 nil
15331533
--- grep_error_log eval: qr/stream lua ssl (?:set|save|free) session: [0-9A-F]+/
15341534
--- grep_error_log_out eval
15351535
qr/^stream lua ssl save session: ([0-9A-F]+)
1536-
stream lua ssl save session: \1
1537-
stream lua ssl save session: \1
1538-
stream lua ssl free session: \1
1539-
stream lua ssl free session: \1
1540-
stream lua ssl free session: \1
1536+
stream lua ssl save session: ([0-9A-F]+)
1537+
stream lua ssl save session: ([0-9A-F]+)
1538+
stream lua ssl free session: ([0-9A-F]+)
1539+
stream lua ssl free session: ([0-9A-F]+)
1540+
stream lua ssl free session: ([0-9A-F]+)
15411541
$/
15421542
15431543
--- error_log

0 commit comments

Comments
 (0)