From 8822d1d767ef7b2a9f45b62b85860fdfdc6150f7 Mon Sep 17 00:00:00 2001 From: James Callahan Date: Tue, 11 Sep 2018 10:38:27 -0700 Subject: [PATCH 6/9] enable ffi api Signed-off-by: Aapo Talvensaari --- ngx_stream_lua-0.0.5/src/ngx_stream_lua_control.c | 18 ++++------------ ngx_stream_lua-0.0.5/src/ngx_stream_lua_variable.c | 40 ++--------------------------------- ngx_stream_lua-0.0.5/src/ngx_stream_lua_common.h | 5 ----- 3 file changed, 6 insertions(+), 57 deletions(-) diff --git a/ngx_stream_lua-0.0.5/src/ngx_stream_lua_control.c b/ngx_stream_lua-0.0.5/src/ngx_stream_lua_control.c index 8c7df78..10e8ac0 100644 --- a/ngx_stream_lua-0.0.5/src/ngx_stream_lua_control.c +++ b/ngx_stream_lua-0.0.5/src/ngx_stream_lua_control.c @@ -157,24 +157,18 @@ ngx_stream_lua_ffi_exit(ngx_stream_lua_request_t *r, int status, u_char *err, return NGX_ERROR; } - if (ngx_stream_lua_ffi_check_context(ctx, NGX_STREAM_LUA_CONTEXT_REWRITE - | NGX_STREAM_LUA_CONTEXT_ACCESS + if (ngx_stream_lua_ffi_check_context(ctx, NGX_STREAM_LUA_CONTEXT_PREREAD | NGX_STREAM_LUA_CONTEXT_CONTENT | NGX_STREAM_LUA_CONTEXT_TIMER - | NGX_STREAM_LUA_CONTEXT_HEADER_FILTER | NGX_STREAM_LUA_CONTEXT_BALANCER | NGX_STREAM_LUA_CONTEXT_SSL_CERT - | NGX_STREAM_LUA_CONTEXT_SSL_SESS_STORE - | NGX_STREAM_LUA_CONTEXT_SSL_SESS_FETCH, - err, errlen) + , err, errlen) != NGX_OK) { return NGX_ERROR; } - if (ctx->context & (NGX_STREAM_LUA_CONTEXT_SSL_CERT - | NGX_STREAM_LUA_CONTEXT_SSL_SESS_STORE - | NGX_STREAM_LUA_CONTEXT_SSL_SESS_FETCH)) + if (ctx->context & (NGX_STREAM_LUA_CONTEXT_SSL_CERT)) { #if (NGX_STREAM_SSL) @@ -185,9 +179,6 @@ ngx_stream_lua_ffi_exit(ngx_stream_lua_request_t *r, int status, u_char *err, ngx_log_debug1(NGX_LOG_DEBUG_STREAM, r->connection->log, 0, "lua exit with code %d", status); - if (ctx->context == NGX_STREAM_LUA_CONTEXT_SSL_SESS_STORE) { - return NGX_DONE; - } return NGX_OK; @@ -205,8 +196,7 @@ ngx_stream_lua_ffi_exit(ngx_stream_lua_request_t *r, int status, u_char *err, ngx_log_debug1(NGX_LOG_DEBUG_STREAM, r->connection->log, 0, "lua exit with code %i", ctx->exit_code); - if (ctx->context & (NGX_STREAM_LUA_CONTEXT_HEADER_FILTER - | NGX_STREAM_LUA_CONTEXT_BALANCER)) + if (ctx->context & (NGX_STREAM_LUA_CONTEXT_BALANCER)) { return NGX_DONE; } diff --git a/ngx_stream_lua-0.0.5/src/ngx_stream_lua_variable.c b/ngx_stream_lua-0.0.5/src/ngx_stream_lua_variable.c index 817d2aa..8546306 100644 --- a/ngx_stream_lua-0.0.5/src/ngx_stream_lua_variable.c +++ b/ngx_stream_lua-0.0.5/src/ngx_stream_lua_variable.c @@ -254,11 +254,6 @@ ngx_stream_lua_ffi_var_get(ngx_stream_lua_request_t *r, u_char *name_data, { ngx_uint_t hash; ngx_str_t name; -#if (NGX_PCRE) - u_char *p; - ngx_uint_t n; - int *cap; -#endif ngx_stream_variable_value_t *vv; @@ -272,37 +267,6 @@ ngx_stream_lua_ffi_var_get(ngx_stream_lua_request_t *r, u_char *name_data, return NGX_ERROR; } -#if (NGX_PCRE) - if (name_data == 0) { - if (capture_id <= 0) { - return NGX_DECLINED; - } - - /* it is a regex capturing variable */ - - n = (ngx_uint_t) capture_id * 2; - - dd("n = %d, ncaptures = %d", (int) n, (int) r->ncaptures); - - if (r->captures == NULL - || r->captures_data == NULL - || n >= r->ncaptures) - { - return NGX_DECLINED; - } - - /* n >= 0 && n < r->ncaptures */ - - cap = r->captures; - p = r->captures_data; - - *value = &p[cap[n]]; - *value_len = (size_t) (cap[n + 1] - cap[n]); - - return NGX_OK; - } -#endif - hash = ngx_hash_strlow(lowcase_buf, name_data, name_len); name.data = lowcase_buf; @@ -407,12 +371,12 @@ ngx_stream_lua_ffi_var_set(ngx_stream_lua_request_t *r, u_char *name_data, vv->len = value_len; } - v->set_handler(r, vv, v->data); + v->set_handler(r->session, vv, v->data); return NGX_OK; } if (v->flags & NGX_STREAM_VAR_INDEXED) { - vv = &r->variables[v->index]; + vv = &r->session->variables[v->index]; dd("set indexed variable"); diff --git a/ngx_stream_lua-0.0.5/src/ngx_stream_lua_common.h b/ngx_stream_lua-0.0.5/src/ngx_stream_lua_common.h index 16faadc..8a9954f 100644 --- a/ngx_stream_lua-0.0.5/src/ngx_stream_lua_common.h +++ b/ngx_stream_lua-0.0.5/src/ngx_stream_lua_common.h @@ -9,11 +9,6 @@ #define _NGX_STREAM_LUA_COMMON_H_INCLUDED_ -#ifndef NGX_LUA_NO_FFI_API -#define NGX_LUA_NO_FFI_API -#endif - - #include #include #include -- 2.19.1