Skip to content

Commit 8e345dd

Browse files
committed
macro to conditional build proxy ssl verify
1 parent 3ea476a commit 8e345dd

12 files changed

+77
-10
lines changed

src/ngx_stream_lua_common.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,10 @@
135135
#define NGX_STREAM_LUA_CONTEXT_PREREAD 0x0020
136136
#define NGX_STREAM_LUA_CONTEXT_SSL_CERT 0x0040
137137
#define NGX_STREAM_LUA_CONTEXT_SSL_CLIENT_HELLO 0x0080
138+
139+
#ifdef HAVE_PROXY_SSL_PATCH
138140
#define NGX_STREAM_LUA_CONTEXT_PROXY_SSL_VERIFY 0x0100
141+
#endif
139142

140143

141144
#define NGX_STREAM_LUA_FFI_NO_REQ_CTX -100
@@ -272,13 +275,16 @@ struct ngx_stream_lua_srv_conf_s {
272275
u_char *ssl_client_hello_src_key;
273276
} srv;
274277

278+
#ifdef HAVE_PROXY_SSL_PATCH
275279
struct {
276280
ngx_stream_lua_srv_conf_handler_pt proxy_ssl_verify_handler;
277281
ngx_str_t proxy_ssl_verify_src;
278282
u_char *proxy_ssl_verify_src_key;
279283

280284
ngx_flag_t upstream_skip_openssl_default_verify;
281285
} ups;
286+
#endif
287+
282288
#endif
283289

284290
ngx_flag_t enable_code_cache; /* whether to enable

src/ngx_stream_lua_control.c

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -116,16 +116,20 @@ ngx_stream_lua_ffi_exit(ngx_stream_lua_request_t *r, int status, u_char *err,
116116
| NGX_STREAM_LUA_CONTEXT_BALANCER
117117
| NGX_STREAM_LUA_CONTEXT_SSL_CLIENT_HELLO
118118
| NGX_STREAM_LUA_CONTEXT_SSL_CERT
119-
| NGX_STREAM_LUA_CONTEXT_PREREAD
120-
| NGX_STREAM_LUA_CONTEXT_PROXY_SSL_VERIFY,
119+
#ifdef HAVE_PROXY_SSL_PATCH
120+
| NGX_STREAM_LUA_CONTEXT_PROXY_SSL_VERIFY
121+
#endif
122+
| NGX_STREAM_LUA_CONTEXT_PREREAD,
121123
err, errlen) != NGX_OK)
122124
{
123125
return NGX_ERROR;
124126
}
125127

126128
if (ctx->context & (NGX_STREAM_LUA_CONTEXT_SSL_CERT
127-
| NGX_STREAM_LUA_CONTEXT_SSL_CLIENT_HELLO
128-
| NGX_STREAM_LUA_CONTEXT_PROXY_SSL_VERIFY ))
129+
#ifdef HAVE_PROXY_SSL_PATCH
130+
| NGX_STREAM_LUA_CONTEXT_PROXY_SSL_VERIFY
131+
#endif
132+
| NGX_STREAM_LUA_CONTEXT_SSL_CLIENT_HELLO ))
129133
{
130134

131135
#if (NGX_STREAM_SSL)

src/ngx_stream_lua_coroutine.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,9 @@ ngx_stream_lua_coroutine_resume(lua_State *L)
205205
| NGX_STREAM_LUA_CONTEXT_TIMER
206206
| NGX_STREAM_LUA_CONTEXT_SSL_CLIENT_HELLO
207207
| NGX_STREAM_LUA_CONTEXT_SSL_CERT
208+
#ifdef HAVE_PROXY_SSL_PATCH
208209
| NGX_STREAM_LUA_CONTEXT_PROXY_SSL_VERIFY
210+
#endif
209211
| NGX_STREAM_LUA_CONTEXT_PREREAD
210212
);
211213

@@ -267,7 +269,9 @@ ngx_stream_lua_coroutine_yield(lua_State *L)
267269
| NGX_STREAM_LUA_CONTEXT_TIMER
268270
| NGX_STREAM_LUA_CONTEXT_SSL_CLIENT_HELLO
269271
| NGX_STREAM_LUA_CONTEXT_SSL_CERT
272+
#ifdef HAVE_PROXY_SSL_PATCH
270273
| NGX_STREAM_LUA_CONTEXT_PROXY_SSL_VERIFY
274+
#endif
271275
| NGX_STREAM_LUA_CONTEXT_PREREAD
272276
);
273277

@@ -428,7 +432,9 @@ ngx_stream_lua_coroutine_status(lua_State *L)
428432
| NGX_STREAM_LUA_CONTEXT_TIMER
429433
| NGX_STREAM_LUA_CONTEXT_SSL_CLIENT_HELLO
430434
| NGX_STREAM_LUA_CONTEXT_SSL_CERT
435+
#ifdef HAVE_PROXY_SSL_PATCH
431436
| NGX_STREAM_LUA_CONTEXT_PROXY_SSL_VERIFY
437+
#endif
432438
| NGX_STREAM_LUA_CONTEXT_PREREAD
433439
);
434440

src/ngx_stream_lua_ctx.c

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -97,8 +97,10 @@ ngx_stream_lua_ffi_get_ctx_ref(ngx_stream_lua_request_t *r, int *in_ssl_phase,
9797
}
9898

9999
*in_ssl_phase = ctx->context & (NGX_STREAM_LUA_CONTEXT_SSL_CERT
100-
| NGX_STREAM_LUA_CONTEXT_SSL_CLIENT_HELLO
101-
| NGX_STREAM_LUA_CONTEXT_PROXY_SSL_VERIFY);
100+
#ifdef HAVE_PROXY_SSL_PATCH
101+
| NGX_STREAM_LUA_CONTEXT_PROXY_SSL_VERIFY
102+
#endif
103+
| NGX_STREAM_LUA_CONTEXT_SSL_CLIENT_HELLO);
102104
*ssl_ctx_ref = LUA_NOREF;
103105

104106
#if (NGX_STREAM_SSL)
@@ -132,8 +134,10 @@ ngx_stream_lua_ffi_set_ctx_ref(ngx_stream_lua_request_t *r, int ref)
132134

133135
#if (NGX_STREAM_SSL)
134136
if (ctx->context & (NGX_STREAM_LUA_CONTEXT_SSL_CERT
135-
| NGX_STREAM_LUA_CONTEXT_SSL_CLIENT_HELLO
136-
| NGX_STREAM_LUA_CONTEXT_PROXY_SSL_VERIFY))
137+
#ifdef HAVE_PROXY_SSL_PATCH
138+
| NGX_STREAM_LUA_CONTEXT_PROXY_SSL_VERIFY
139+
#endif
140+
| NGX_STREAM_LUA_CONTEXT_SSL_CLIENT_HELLO))
137141
{
138142
ssl_ctx = ngx_stream_lua_ssl_get_ctx(r->connection->ssl->connection);
139143
if (ssl_ctx == NULL) {

src/ngx_stream_lua_module.c

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,10 @@
3030
#include "ngx_stream_lua_semaphore.h"
3131
#include "ngx_stream_lua_ssl_client_helloby.h"
3232
#include "ngx_stream_lua_ssl_certby.h"
33+
34+
#ifdef HAVE_PROXY_SSL_PATCH
3335
#include "ngx_stream_lua_proxy_ssl_verifyby.h"
36+
#endif
3437

3538

3639
#include "ngx_stream_lua_prereadby.h"
@@ -423,6 +426,7 @@ static ngx_command_t ngx_stream_lua_cmds[] = {
423426
0,
424427
(void *) ngx_stream_lua_ssl_cert_handler_file },
425428

429+
#ifdef HAVE_PROXY_SSL_PATCH
426430
/* same context as proxy_pass directive */
427431
{ ngx_string("proxy_ssl_verify_by_lua_block"),
428432
NGX_STREAM_SRV_CONF|NGX_CONF_BLOCK|NGX_CONF_NOARGS,
@@ -445,6 +449,7 @@ static ngx_command_t ngx_stream_lua_cmds[] = {
445449
offsetof(ngx_stream_lua_srv_conf_t,
446450
ups.upstream_skip_openssl_default_verify),
447451
NULL },
452+
#endif
448453

449454
{ ngx_string("lua_ssl_verify_depth"),
450455
NGX_STREAM_MAIN_CONF|NGX_STREAM_SRV_CONF|NGX_CONF_TAKE1,
@@ -895,7 +900,9 @@ ngx_stream_lua_create_srv_conf(ngx_conf_t *cf)
895900
conf->ssl_verify_depth = NGX_CONF_UNSET_UINT;
896901
conf->ssl_certificates = NGX_CONF_UNSET_PTR;
897902
conf->ssl_certificate_keys = NGX_CONF_UNSET_PTR;
903+
#ifdef HAVE_PROXY_SSL_PATCH
898904
conf->ups.upstream_skip_openssl_default_verify = NGX_CONF_UNSET;
905+
#endif
899906
#endif
900907

901908
return conf;
@@ -1030,6 +1037,7 @@ ngx_stream_lua_merge_srv_conf(ngx_conf_t *cf, void *parent, void *child)
10301037
NULL);
10311038
#endif
10321039

1040+
#ifdef HAVE_PROXY_SSL_PATCH
10331041
if (conf->ups.proxy_ssl_verify_src.len == 0) {
10341042
conf->ups.proxy_ssl_verify_src = prev->ups.proxy_ssl_verify_src;
10351043
conf->ups.proxy_ssl_verify_handler = prev->ups.proxy_ssl_verify_handler;
@@ -1044,6 +1052,7 @@ ngx_stream_lua_merge_srv_conf(ngx_conf_t *cf, void *parent, void *child)
10441052

10451053
ngx_conf_merge_value(conf->ups.upstream_skip_openssl_default_verify,
10461054
prev->ups.upstream_skip_openssl_default_verify, 0);
1055+
#endif
10471056

10481057
if (ngx_stream_lua_set_ssl(cf, conf) != NGX_OK) {
10491058
return NGX_CONF_ERROR;

src/ngx_stream_lua_phase.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,11 @@ ngx_stream_lua_ngx_get_phase(lua_State *L)
6666
lua_pushliteral(L, "content");
6767
break;
6868

69+
#ifdef HAVE_PROXY_SSL_PATCH
6970
case NGX_STREAM_LUA_CONTEXT_PROXY_SSL_VERIFY:
7071
lua_pushliteral(L, "proxy_ssl_verify");
7172
break;
73+
#endif
7274

7375
case NGX_STREAM_LUA_CONTEXT_LOG:
7476
lua_pushliteral(L, "log");

src/ngx_stream_lua_proxy_ssl_verifyby.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010

1111
#if (NGX_STREAM_SSL)
12+
#ifdef HAVE_PROXY_SSL_PATCH
1213

1314
#include "ngx_stream_lua_cache.h"
1415
#include "ngx_stream_lua_initworkerby.h"
@@ -770,4 +771,5 @@ ngx_stream_lua_ffi_ssl_get_verify_cert(ngx_stream_lua_request_t *r, char **err)
770771
#endif
771772
}
772773

774+
#endif /* HAVE_PROXY_SSL_PATCH */
773775
#endif /* NGX_STREAM_SSL */

src/ngx_stream_lua_proxy_ssl_verifyby.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111

1212
#if (NGX_STREAM_SSL)
13+
#ifdef HAVE_PROXY_SSL_PATCH
1314

1415
/* do not introduce ngx_stream_proxy_module to pollute ngx_stream_lua_module.c */
1516
extern ngx_module_t ngx_stream_proxy_module;
@@ -31,6 +32,7 @@ int ngx_stream_lua_proxy_ssl_verify_handler(X509_STORE_CTX *x509_store,
3132

3233
ngx_int_t ngx_stream_lua_proxy_ssl_verify_set_callback(ngx_conf_t *cf);
3334

35+
#endif /* HAVE_PROXY_SSL_PATCH */
3436
#endif /* NGX_STREAM_SSL */
3537
#endif /* _NGX_STREAM_LUA_PROXY_SSL_VERIFYBY_H_INCLUDED_ */
3638

src/ngx_stream_lua_ssl.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,9 @@ typedef struct {
3232

3333
ngx_str_t session_id;
3434

35+
#ifdef HAVE_PROXY_SSL_PATCH
3536
X509_STORE_CTX *x509_store;
37+
#endif
3638

3739
int exit_code; /* exit code for openssl's
3840
set_client_hello_cb or
@@ -49,7 +51,9 @@ typedef struct {
4951
unsigned entered_client_hello_handler:1;
5052
unsigned entered_cert_handler:1;
5153
unsigned entered_sess_fetch_handler:1;
54+
#ifdef HAVE_PROXY_SSL_PATCH
5255
unsigned entered_proxy_ssl_verify_handler:1;
56+
#endif
5357
} ngx_stream_lua_ssl_ctx_t;
5458

5559

src/ngx_stream_lua_uthread.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,9 @@ ngx_stream_lua_uthread_kill(lua_State *L)
235235
| NGX_STREAM_LUA_CONTEXT_PREREAD
236236
| NGX_STREAM_LUA_CONTEXT_SSL_CLIENT_HELLO
237237
| NGX_STREAM_LUA_CONTEXT_SSL_CERT
238+
#ifdef HAVE_PROXY_SSL_PATCH
238239
| NGX_STREAM_LUA_CONTEXT_PROXY_SSL_VERIFY
240+
#endif
239241
| NGX_STREAM_LUA_CONTEXT_TIMER);
240242

241243
coctx = ctx->cur_co_ctx;

0 commit comments

Comments
 (0)