]> granicus.if.org Git - ejabberd/commitdiff
Get rid of deprecated crypto functions
authorEvgeniy Khramtsov <ekhramtsov@process-one.net>
Thu, 17 Aug 2017 16:32:15 +0000 (19:32 +0300)
committerEvgeniy Khramtsov <ekhramtsov@process-one.net>
Thu, 17 Aug 2017 16:32:15 +0000 (19:32 +0300)
rebar.config
src/ejabberd_s2s_out.erl
src/mod_http_upload.erl
src/randoms.erl

index b8a94611a85313ba28be6cd7a761193f59166668..e10ab3cd4c93d8c94fdb731da1be74ef6536beb0 100644 (file)
@@ -92,6 +92,7 @@
             {if_var_true, elixir, {d, 'ELIXIR_ENABLED'}},
             {if_var_true, erlang_deprecated_types, {d, 'ERL_DEPRECATED_TYPES'}},
            {if_have_fun, {crypto, strong_rand_bytes, 1}, {d, 'STRONG_RAND_BYTES'}},
+           {if_have_fun, {rand, uniform, 1}, {d, 'RAND_UNIFORM'}},
            {if_have_fun, {gb_sets, iterator_from, 2}, {d, 'GB_SETS_ITERATOR_FROM'}},
            {if_have_fun, {public_key, short_name_hash, 1}, {d, 'SHORT_NAME_HASH'}},
             {if_var_true, hipe, native},
index e8cad9792001abc8d75c578a9566215c1745f633..fea5d81625cad6508ebab4b7e3ae99dd9f12de64 100644 (file)
@@ -374,7 +374,7 @@ mk_bounce_error(_Lang, _State) ->
 -spec get_delay() -> non_neg_integer().
 get_delay() ->
     MaxDelay = ejabberd_config:get_option(s2s_max_retry_delay, 300),
-    crypto:rand_uniform(1, MaxDelay).
+    randoms:uniform(MaxDelay).
 
 -spec set_idle_timeout(state()) -> state().
 set_idle_timeout(#{on_route := send, server := LServer} = State) ->
index 6d981e9eca5d526eeab3e35a255de3e6a10d1c9d..8d986d0d3364f3a28e9eb5740d1c7ba50694c75e 100644 (file)
@@ -658,7 +658,7 @@ make_rand_string(S, N) -> make_rand_string([make_rand_char() | S], N - 1).
 -spec make_rand_char() -> char().
 
 make_rand_char() ->
-    map_int_to_char(crypto:rand_uniform(0, 62)).
+    map_int_to_char(randoms:uniform(0, 61)).
 
 -spec map_int_to_char(0..61) -> char().
 
index ad07b47c2cf870d147aef9f734b4c1ea1980b5e0..7686edcfff5627605fb1eaebf7d4283495bf6eeb 100644 (file)
 
 -define(THRESHOLD, 16#10000000000000000).
 
+-ifdef(RAND_UNIFORM).
+get_string() ->
+    R = rand:uniform(?THRESHOLD),
+    integer_to_binary(R).
+
+uniform() ->
+    rand:uniform().
+
+uniform(N) ->
+    rand:uniform(N).
+
+uniform(N, M) ->
+    rand:uniform(M-N+1) + N-1.
+-else.
 get_string() ->
     R = crypto:rand_uniform(0, ?THRESHOLD),
     integer_to_binary(R).
@@ -44,6 +58,7 @@ uniform(N) ->
 
 uniform(N, M) ->
     crypto:rand_uniform(N, M+1).
+-endif.
 
 -ifdef(STRONG_RAND_BYTES).
 bytes(N) ->