@@ -85,10 +85,10 @@ ngx_http_bot_verifier_module_handler(ngx_http_request_t *r)
8585 ret = ngx_http_bot_verifier_module_verify_bot (r , loc_conf , address );
8686 if (ret == NGX_OK ) {
8787 ngx_log_error (NGX_LOG_ERR , r -> connection -> log , 0 , "Verification successful, allowing request" );
88- persist_verification_status (loc_conf -> redis . connection , address , ret , loc_conf -> redis . expiry );
88+ persist_verification_status (loc_conf , address , ret );
8989 } else if (ret == NGX_DECLINED ) {
9090 ngx_log_error (NGX_LOG_ERR , r -> connection -> log , 0 , "Verification failed, blocking request" );
91- persist_verification_status (loc_conf -> redis . connection , address , ret , loc_conf -> redis . expiry );
91+ persist_verification_status (loc_conf , address , ret );
9292 return NGX_HTTP_FORBIDDEN ;
9393 }
9494 }
@@ -118,47 +118,55 @@ static ngx_command_t
118118ngx_http_bot_verifier_module_commands [] = {
119119 {
120120 ngx_string ("bot_verifier" ),
121- NGX_HTTP_MAIN_CONF |NGX_HTTP_LOC_CONF |NGX_CONF_TAKE1 ,
121+ NGX_HTTP_MAIN_CONF |NGX_HTTP_SRV_CONF | NGX_HTTP_LOC_CONF |NGX_CONF_TAKE1 ,
122122 ngx_conf_set_flag_slot ,
123123 NGX_HTTP_LOC_CONF_OFFSET ,
124124 offsetof(ngx_http_bot_verifier_module_loc_conf_t , enabled ),
125125 NULL
126126 },
127+ {
128+ ngx_string ("bot_verifier_enable_repsheet" ),
129+ NGX_HTTP_MAIN_CONF |NGX_HTTP_SRV_CONF |NGX_HTTP_LOC_CONF |NGX_CONF_TAKE1 ,
130+ ngx_conf_set_flag_slot ,
131+ NGX_HTTP_LOC_CONF_OFFSET ,
132+ offsetof(ngx_http_bot_verifier_module_loc_conf_t , repsheet_enabled ),
133+ NULL
134+ },
127135 {
128136 ngx_string ("bot_verifier_redis_host" ),
129- NGX_HTTP_MAIN_CONF |NGX_HTTP_LOC_CONF |NGX_CONF_TAKE1 ,
137+ NGX_HTTP_MAIN_CONF |NGX_HTTP_SRV_CONF | NGX_HTTP_LOC_CONF |NGX_CONF_TAKE1 ,
130138 ngx_conf_set_str_slot ,
131139 NGX_HTTP_LOC_CONF_OFFSET ,
132140 offsetof(ngx_http_bot_verifier_module_loc_conf_t , redis .host ),
133141 NULL
134142 },
135143 {
136144 ngx_string ("bot_verifier_redis_port" ),
137- NGX_HTTP_MAIN_CONF |NGX_HTTP_LOC_CONF |NGX_CONF_TAKE1 ,
145+ NGX_HTTP_MAIN_CONF |NGX_HTTP_SRV_CONF | NGX_HTTP_LOC_CONF |NGX_CONF_TAKE1 ,
138146 ngx_conf_set_num_slot ,
139147 NGX_HTTP_LOC_CONF_OFFSET ,
140148 offsetof(ngx_http_bot_verifier_module_loc_conf_t , redis .port ),
141149 NULL
142150 },
143151 {
144152 ngx_string ("bot_verifier_redis_connection_timeout" ),
145- NGX_HTTP_MAIN_CONF |NGX_HTTP_LOC_CONF |NGX_CONF_TAKE1 ,
153+ NGX_HTTP_MAIN_CONF |NGX_HTTP_SRV_CONF | NGX_HTTP_LOC_CONF |NGX_CONF_TAKE1 ,
146154 ngx_conf_set_num_slot ,
147155 NGX_HTTP_LOC_CONF_OFFSET ,
148156 offsetof(ngx_http_bot_verifier_module_loc_conf_t , redis .connection_timeout ),
149157 NULL
150158 },
151159 {
152160 ngx_string ("bot_verifier_redis_read_timeout" ),
153- NGX_HTTP_MAIN_CONF |NGX_HTTP_LOC_CONF |NGX_CONF_TAKE1 ,
161+ NGX_HTTP_MAIN_CONF |NGX_HTTP_SRV_CONF | NGX_HTTP_LOC_CONF |NGX_CONF_TAKE1 ,
154162 ngx_conf_set_num_slot ,
155163 NGX_HTTP_LOC_CONF_OFFSET ,
156164 offsetof(ngx_http_bot_verifier_module_loc_conf_t , redis .read_timeout ),
157165 NULL
158166 },
159167 {
160168 ngx_string ("bot_verifier_redis_expiry" ),
161- NGX_HTTP_MAIN_CONF |NGX_HTTP_LOC_CONF |NGX_CONF_TAKE1 ,
169+ NGX_HTTP_MAIN_CONF |NGX_HTTP_SRV_CONF | NGX_HTTP_LOC_CONF |NGX_CONF_TAKE1 ,
162170 ngx_conf_set_num_slot ,
163171 NGX_HTTP_LOC_CONF_OFFSET ,
164172 offsetof(ngx_http_bot_verifier_module_loc_conf_t , redis .expiry ),
@@ -178,6 +186,7 @@ ngx_http_bot_verifier_module_create_loc_conf(ngx_conf_t *cf)
178186 }
179187
180188 conf -> enabled = NGX_CONF_UNSET ;
189+ conf -> repsheet_enabled = NGX_CONF_UNSET ;
181190 conf -> redis .port = NGX_CONF_UNSET_UINT ;
182191 conf -> redis .connection_timeout = NGX_CONF_UNSET_UINT ;
183192 conf -> redis .read_timeout = NGX_CONF_UNSET_UINT ;
@@ -231,6 +240,7 @@ ngx_http_bot_verifier_module_merge_loc_conf(ngx_conf_t *cf, void *parent, void *
231240 ngx_http_bot_verifier_module_loc_conf_t * conf = (ngx_http_bot_verifier_module_loc_conf_t * ) child ;
232241
233242 ngx_conf_merge_value (conf -> enabled , prev -> enabled , 0 );
243+ ngx_conf_merge_value (conf -> repsheet_enabled , prev -> repsheet_enabled , 0 );
234244 ngx_conf_merge_uint_value (conf -> redis .port , prev -> redis .port , 6379 );
235245 ngx_conf_merge_uint_value (conf -> redis .connection_timeout , prev -> redis .connection_timeout , 10 );
236246 ngx_conf_merge_uint_value (conf -> redis .read_timeout , prev -> redis .read_timeout , 10 );
0 commit comments