Skip to content

Commit 04e8102

Browse files
committed
move hook secret to auto_ssl_settings dict, fix #66
1 parent 5892bc6 commit 04e8102

File tree

4 files changed

+8
-4
lines changed

4 files changed

+8
-4
lines changed

.luacheckrc

-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
globals = {
2-
"AUTO_SSL_HOOK_SECRET",
32
"ngx",
43
}
54

lib/resty/auto-ssl/init_master.lua

+6-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,12 @@ end
3030
local function generate_hook_sever_secret()
3131
-- Generate the secret token.
3232
local random = resty_random.bytes(32)
33-
AUTO_SSL_HOOK_SECRET = str.to_hex(random)
33+
local _, set_err, set_forcible = ngx.shared.auto_ssl_settings:set("hook_server:secret", str.to_hex(random))
34+
if set_err then
35+
ngx.log(ngx.ERR, "auto-ssl: failed to set shdict for hook_server:secret: ", set_err)
36+
elseif set_forcible then
37+
ngx.log(ngx.ERR, "auto-ssl: 'lua_shared_dict auto_ssl_settings' might be too small - consider increasing its configured size (old entries were removed while adding hook_server:secret)")
38+
end
3439
end
3540

3641
local function generate_config(auto_ssl_instance)

lib/resty/auto-ssl/servers/hook.lua

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ return function(auto_ssl_instance)
88
local path = ngx.var.request_uri
99
local params = ngx.req.get_post_args()
1010

11-
if ngx.var.http_x_hook_secret ~= AUTO_SSL_HOOK_SECRET then
11+
if ngx.var.http_x_hook_secret ~= ngx.shared.auto_ssl_settings:get("hook_server:secret") then
1212
return ngx.exit(ngx.HTTP_FORBIDDEN)
1313
end
1414

lib/resty/auto-ssl/ssl_providers/lets_encrypt.lua

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ function _M.issue_cert(auto_ssl_instance, domain)
1515
assert(type(hook_port) == "number", "hook_port must be a number")
1616
assert(hook_port <= 65535, "hook_port must be below 65536")
1717

18-
local hook_secret = AUTO_SSL_HOOK_SECRET
18+
local hook_secret = ngx.shared.auto_ssl_settings:get("hook_server:secret")
1919
assert(type(hook_secret) == "string", "hook_server:secret must be a string")
2020

2121
local env_vars =

0 commit comments

Comments
 (0)