|
@@ -3,10 +3,10 @@ function auth_password_verify(request, password)
|
|
|
return dovecot.auth.PASSDB_RESULT_USER_UNKNOWN, "No such user"
|
|
|
end
|
|
|
|
|
|
- json = require "cjson"
|
|
|
- ltn12 = require "ltn12"
|
|
|
- https = require "ssl.https"
|
|
|
- https.TIMEOUT = 5
|
|
|
+ local json = require "cjson"
|
|
|
+ local ltn12 = require "ltn12"
|
|
|
+ local https = require "ssl.https"
|
|
|
+ https.TIMEOUT = 30
|
|
|
|
|
|
local req = {
|
|
|
username = request.user,
|
|
@@ -28,6 +28,12 @@ function auth_password_verify(request, password)
|
|
|
sink = ltn12.sink.table(res),
|
|
|
insecure = true
|
|
|
}
|
|
|
+
|
|
|
+ if c ~= 200 then
|
|
|
+ dovecot.i_info("HTTP request failed with " .. c .. " for user " .. request.user)
|
|
|
+ return dovecot.auth.PASSDB_RESULT_INTERNAL_FAILURE, "Upstream error"
|
|
|
+ end
|
|
|
+
|
|
|
local api_response = json.decode(table.concat(res))
|
|
|
if api_response.success == true then
|
|
|
return dovecot.auth.PASSDB_RESULT_OK, ""
|