]> granicus.if.org Git - ejabberd/commitdiff
Convert oauth_expire option to accept timeout values
authorPaweł Chmielowski <pchmielowski@process-one.net>
Tue, 15 Oct 2019 09:18:29 +0000 (11:18 +0200)
committerPaweł Chmielowski <pchmielowski@process-one.net>
Tue, 15 Oct 2019 09:28:47 +0000 (11:28 +0200)
src/ejabberd_oauth.erl
src/ejabberd_option.erl
src/ejabberd_options.erl

index 3c95dbb36aee948428123f1c6ba8ba15f6800519..1ba1505b7df30226cb55a26605444649a56fcc80 100644 (file)
@@ -202,11 +202,11 @@ init([]) ->
     init_cache(DBMod),
     Expire = expire(),
     application:set_env(oauth2, backend, ejabberd_oauth),
-    application:set_env(oauth2, expiry_time, Expire),
+    application:set_env(oauth2, expiry_time, Expire div 1000),
     application:start(oauth2),
     ejabberd_commands:register_commands(get_commands_spec()),
     ejabberd_hooks:add(config_reloaded, ?MODULE, config_reloaded, 50),
-    erlang:send_after(expire() * 1000, self(), clean),
+    erlang:send_after(expire(), self(), clean),
     {ok, ok}.
 
 handle_call(Request, From, State) ->
@@ -222,7 +222,7 @@ handle_info(clean, State) ->
     TS = 1000000 * MegaSecs + Secs,
     DBMod = get_db_backend(),
     DBMod:clean(TS),
-    erlang:send_after(trunc(expire() * 1000 * (1 + MiniSecs / 1000000)),
+    erlang:send_after(trunc(expire() * (1 + MiniSecs / 1000000)),
                       self(), clean),
     {noreply, State};
 handle_info(Info, State) ->
index 94e79d80dbc0a1e765c90dda642adc583f66496d..81b0f0c11e6a6e972297fb5a1da74943e54595a8 100644 (file)
@@ -632,7 +632,7 @@ oauth_client_id_check(Host) ->
 oauth_db_type() ->
     ejabberd_config:get_option({oauth_db_type, global}).
 
--spec oauth_expire() -> non_neg_integer().
+-spec oauth_expire() -> pos_integer().
 oauth_expire() ->
     ejabberd_config:get_option({oauth_expire, global}).
 
index 7bfa06ee6da668e83a58bad9ed2422bfa8e3e3f0..126891bc247d05e5d30ecba3d48103e7d6fe9110 100644 (file)
@@ -231,7 +231,7 @@ opt_type(oauth_cache_size) ->
 opt_type(oauth_db_type) ->
     econf:db_type(ejabberd_oauth);
 opt_type(oauth_expire) ->
-    econf:non_neg_int();
+    econf:timeout(second);
 opt_type(oauth_use_cache) ->
     econf:bool();
 opt_type(oauth_client_id_check) ->