@@ -62,14 +62,19 @@ ngx_http_lua_ffi_ssl_free_session(void *sess);
6262
6363
6464local output_value_buf = ffi_new (" int[1]" )
65- local FFI_OK = base .FFI_OK
66- local FFI_ERROR = base .FFI_ERROR
67- local FFI_DONE = base .FFI_DONE
68- local FFI_AGAIN = base .FFI_AGAIN
69- local FFI_NO_REQ_CTX = base .FFI_NO_REQ_CTX
70- local SOCKET_CTX_INDEX = 1
7165local ERR_BUF_SIZE = 4096
7266
67+ local FFI_OK = base .FFI_OK
68+ local FFI_ERROR = base .FFI_ERROR
69+ local FFI_DONE = base .FFI_DONE
70+ local FFI_AGAIN = base .FFI_AGAIN
71+ local FFI_NO_REQ_CTX = base .FFI_NO_REQ_CTX
72+
73+ local SOCKET_CTX_INDEX = 1
74+ local SOCKET_CLIENT_CERT_INDEX = 6
75+ local SOCKET_CLIENT_PKEY_INDEX = 7
76+
77+
7378local function get_tcp_socket (cosocket )
7479 local tcp_socket = cosocket [SOCKET_CTX_INDEX ]
7580 if not tcp_socket then
@@ -148,8 +153,8 @@ local openssl_error_code = ffi_new("int[1]")
148153
149154local function setclientcert (cosocket , cert , pkey )
150155 if not cert and not pkey then
151- cosocket . client_cert = nil
152- cosocket . client_pkey = nil
156+ cosocket [ SOCKET_CLIENT_CERT_INDEX ] = nil
157+ cosocket [ SOCKET_CLIENT_PKEY_INDEX ] = nil
153158 return true
154159 end
155160
@@ -167,8 +172,8 @@ local function setclientcert(cosocket, cert, pkey)
167172 return nil , " bad client pkey type"
168173 end
169174
170- cosocket . client_cert = cert
171- cosocket . client_pkey = pkey
175+ cosocket [ SOCKET_CLIENT_CERT_INDEX ] = cert
176+ cosocket [ SOCKET_CLIENT_PKEY_INDEX ] = pkey
172177
173178 return true
174179end
@@ -207,7 +212,9 @@ local function sslhandshake(cosocket, reused_session, server_name, ssl_verify,
207212 server_name_str ,
208213 ssl_verify and 1 or 0 ,
209214 send_status_req and 1 or 0 ,
210- cosocket .client_cert , cosocket .client_pkey , errmsg )
215+ cosocket [SOCKET_CLIENT_CERT_INDEX ],
216+ cosocket [SOCKET_CLIENT_PKEY_INDEX ],
217+ errmsg )
211218
212219 if rc == FFI_NO_REQ_CTX then
213220 error (" no request ctx found" , 2 )
0 commit comments