Advertisement
Guest User

Untitled

a guest
May 10th, 2017
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.55 KB | None | 0 0
  1. diff --git a/src/ejabberd_auth.erl b/src/ejabberd_auth.erl
  2. index 10acb81..218c912 100644
  3. --- a/src/ejabberd_auth.erl
  4. +++ b/src/ejabberd_auth.erl
  5. @@ -69,8 +69,8 @@
  6.  
  7. -callback start(binary()) -> any().
  8. -callback stop(binary()) -> any().
  9. --callback plain_password_required() -> boolean().
  10. --callback store_type() -> plain | external | scram.
  11. +-callback plain_password_required(binary()) -> boolean().
  12. +-callback store_type(binary()) -> plain | external | scram.
  13. -callback set_password(binary(), binary(), binary()) -> ok | {error, atom()}.
  14. -callback remove_user(binary(), binary()) -> any().
  15. -callback remove_user(binary(), binary(), binary()) -> any().
  16. @@ -163,7 +163,7 @@ config_reloaded() ->
  17. gen_server:cast(?MODULE, config_reloaded).
  18.  
  19. plain_password_required(Server) ->
  20. - lists:any(fun (M) -> M:plain_password_required() end,
  21. + lists:any(fun (M) -> M:plain_password_required(Server) end,
  22. auth_modules(Server)).
  23.  
  24. store_type(Server) ->
  25. @@ -172,11 +172,11 @@ store_type(Server) ->
  26. %% true | false
  27. lists:foldl(fun (_, external) -> external;
  28. (M, scram) ->
  29. - case M:store_type() of
  30. + case M:store_type(Server) of
  31. external -> external;
  32. _Else -> scram
  33. end;
  34. - (M, plain) -> M:store_type()
  35. + (M, plain) -> M:store_type(Server)
  36. end,
  37. plain, auth_modules(Server)).
  38.  
  39. diff --git a/src/ejabberd_auth_anonymous.erl b/src/ejabberd_auth_anonymous.erl
  40. index 51eab74..c0c90e6 100644
  41. --- a/src/ejabberd_auth_anonymous.erl
  42. +++ b/src/ejabberd_auth_anonymous.erl
  43. @@ -45,8 +45,8 @@
  44. get_vh_registered_users_number/1,
  45. get_vh_registered_users_number/2, get_password_s/2,
  46. get_password/2, get_password/3, is_user_exists/2,
  47. - remove_user/2, remove_user/3, store_type/0,
  48. - plain_password_required/0, opt_type/1]).
  49. + remove_user/2, remove_user/3, store_type/1,
  50. + plain_password_required/1, opt_type/1]).
  51.  
  52. -include("ejabberd.hrl").
  53. -include("logger.hrl").
  54. @@ -232,9 +232,9 @@ remove_user(_User, _Server) -> {error, not_allowed}.
  55.  
  56. remove_user(_User, _Server, _Password) -> not_allowed.
  57.  
  58. -plain_password_required() -> false.
  59. +plain_password_required(_) -> false.
  60.  
  61. -store_type() ->
  62. +store_type(_) ->
  63. plain.
  64.  
  65. opt_type(allow_multiple_connections) ->
  66. diff --git a/src/ejabberd_auth_external.erl b/src/ejabberd_auth_external.erl
  67. index 4ba76cd..90e1046 100644
  68. --- a/src/ejabberd_auth_external.erl
  69. +++ b/src/ejabberd_auth_external.erl
  70. @@ -38,7 +38,7 @@
  71. get_vh_registered_users_number/1,
  72. get_vh_registered_users_number/2, get_password/2,
  73. get_password_s/2, is_user_exists/2, remove_user/2,
  74. - remove_user/3, store_type/0, plain_password_required/0,
  75. + remove_user/3, store_type/1, plain_password_required/1,
  76. opt_type/1]).
  77.  
  78. -include("ejabberd.hrl").
  79. @@ -76,9 +76,9 @@ check_cache_last_options(Server) ->
  80. end
  81. end.
  82.  
  83. -plain_password_required() -> true.
  84. +plain_password_required(_) -> true.
  85.  
  86. -store_type() -> external.
  87. +store_type(_) -> external.
  88.  
  89. check_password(User, AuthzId, Server, Password) ->
  90. if AuthzId /= <<>> andalso AuthzId /= User ->
  91. diff --git a/src/ejabberd_auth_ldap.erl b/src/ejabberd_auth_ldap.erl
  92. index 7d4626a..b43902a 100644
  93. --- a/src/ejabberd_auth_ldap.erl
  94. +++ b/src/ejabberd_auth_ldap.erl
  95. @@ -43,7 +43,7 @@
  96. get_vh_registered_users_number/1,
  97. get_vh_registered_users_number/2, get_password/2,
  98. get_password_s/2, is_user_exists/2, remove_user/2,
  99. - remove_user/3, store_type/0, plain_password_required/0,
  100. + remove_user/3, store_type/1, plain_password_required/1,
  101. opt_type/1]).
  102.  
  103. -include("ejabberd.hrl").
  104. @@ -112,9 +112,9 @@ init(Host) ->
  105. State#state.password, State#state.tls_options),
  106. {ok, State}.
  107.  
  108. -plain_password_required() -> true.
  109. +plain_password_required(_) -> true.
  110.  
  111. -store_type() -> external.
  112. +store_type(_) -> external.
  113.  
  114. check_password(User, AuthzId, Server, Password) ->
  115. if AuthzId /= <<>> andalso AuthzId /= User ->
  116. diff --git a/src/ejabberd_auth_mnesia.erl b/src/ejabberd_auth_mnesia.erl
  117. index 457e4c1..8749da8 100644
  118. --- a/src/ejabberd_auth_mnesia.erl
  119. +++ b/src/ejabberd_auth_mnesia.erl
  120. @@ -40,8 +40,8 @@
  121. get_vh_registered_users_number/1,
  122. get_vh_registered_users_number/2, get_password/2,
  123. get_password_s/2, is_user_exists/2, remove_user/2,
  124. - remove_user/3, store_type/0, export/1, import/2,
  125. - plain_password_required/0, opt_type/1]).
  126. + remove_user/3, store_type/1, export/1, import/2,
  127. + plain_password_required/1, opt_type/1]).
  128.  
  129. -include("ejabberd.hrl").
  130. -include("logger.hrl").
  131. @@ -86,10 +86,10 @@ update_reg_users_counter_table(Server) ->
  132. end,
  133. mnesia:sync_dirty(F).
  134.  
  135. -plain_password_required() ->
  136. +plain_password_required(_) ->
  137. is_scrammed().
  138.  
  139. -store_type() ->
  140. +store_type(_) ->
  141. case is_scrammed() of
  142. false -> plain; %% allows: PLAIN DIGEST-MD5 SCRAM
  143. true -> scram %% allows: PLAIN SCRAM
  144. diff --git a/src/ejabberd_auth_pam.erl b/src/ejabberd_auth_pam.erl
  145. index 51ad3a8..4a6c229 100644
  146. --- a/src/ejabberd_auth_pam.erl
  147. +++ b/src/ejabberd_auth_pam.erl
  148. @@ -37,7 +37,7 @@
  149. get_vh_registered_users_number/1,
  150. get_vh_registered_users_number/2, get_password/2,
  151. get_password_s/2, is_user_exists/2, remove_user/2,
  152. - remove_user/3, store_type/0, plain_password_required/0,
  153. + remove_user/3, store_type/1, plain_password_required/1,
  154. opt_type/1]).
  155.  
  156. start(_Host) ->
  157. @@ -104,9 +104,9 @@ remove_user(_User, _Server) -> {error, not_allowed}.
  158.  
  159. remove_user(_User, _Server, _Password) -> not_allowed.
  160.  
  161. -plain_password_required() -> true.
  162. +plain_password_required(_) -> true.
  163.  
  164. -store_type() -> external.
  165. +store_type(_) -> external.
  166.  
  167. %%====================================================================
  168. %% Internal functions
  169. diff --git a/src/ejabberd_auth_riak.erl b/src/ejabberd_auth_riak.erl
  170. index c41e8f6..41a9fbc 100644
  171. --- a/src/ejabberd_auth_riak.erl
  172. +++ b/src/ejabberd_auth_riak.erl
  173. @@ -41,8 +41,8 @@
  174. get_vh_registered_users_number/1,
  175. get_vh_registered_users_number/2, get_password/2,
  176. get_password_s/2, is_user_exists/2, remove_user/2,
  177. - remove_user/3, store_type/0, export/1, import/2,
  178. - plain_password_required/0, opt_type/1]).
  179. + remove_user/3, store_type/1, export/1, import/2,
  180. + plain_password_required/1, opt_type/1]).
  181. -export([passwd_schema/0]).
  182.  
  183. -include("ejabberd.hrl").
  184. @@ -59,14 +59,14 @@ start(_Host) ->
  185. stop(_Host) ->
  186. ok.
  187.  
  188. -plain_password_required() ->
  189. - case is_scrammed() of
  190. +plain_password_required(Server) ->
  191. + case is_scrammed(Server) of
  192. false -> false;
  193. true -> true
  194. end.
  195.  
  196. -store_type() ->
  197. - case is_scrammed() of
  198. +store_type(Server) ->
  199. + case is_scrammed(Server) of
  200. false -> plain; %% allows: PLAIN DIGEST-MD5 SCRAM
  201. true -> scram %% allows: PLAIN SCRAM
  202. end.
  203. @@ -130,7 +130,7 @@ set_password(User, Server, Password) ->
  204. LPassword == error ->
  205. {error, invalid_password};
  206. true ->
  207. - Password2 = case is_scrammed() and is_binary(Password)
  208. + Password2 = case is_scrammed(LServer) and is_binary(Password)
  209. of
  210. true -> password_to_scram(Password);
  211. false -> Password
  212. @@ -156,7 +156,7 @@ try_register(User, Server, PasswordList) ->
  213. true ->
  214. case ejabberd_riak:get(passwd, passwd_schema(), US) of
  215. {error, notfound} ->
  216. - Password2 = case is_scrammed() and
  217. + Password2 = case is_scrammed(LServer) and
  218. is_binary(Password)
  219. of
  220. true -> password_to_scram(Password);
  221. @@ -271,9 +271,9 @@ remove_user(User, Server, Password) ->
  222. %%% SCRAM
  223. %%%
  224.  
  225. -is_scrammed() ->
  226. +is_scrammed(Server) ->
  227. scram ==
  228. - ejabberd_config:get_option({auth_password_format, ?MYNAME},
  229. + ejabberd_config:get_option({auth_password_format, Server},
  230. fun(V) -> V end).
  231.  
  232. password_to_scram(Password) ->
  233. diff --git a/src/ejabberd_auth_sql.erl b/src/ejabberd_auth_sql.erl
  234. index d649097..0463c78 100644
  235. --- a/src/ejabberd_auth_sql.erl
  236. +++ b/src/ejabberd_auth_sql.erl
  237. @@ -40,7 +40,7 @@
  238. get_vh_registered_users_number/1,
  239. get_vh_registered_users_number/2, get_password/2,
  240. get_password_s/2, is_user_exists/2, remove_user/2,
  241. - remove_user/3, store_type/0, plain_password_required/0,
  242. + remove_user/3, store_type/1, plain_password_required/1,
  243. convert_to_scram/1, opt_type/1]).
  244.  
  245. -include("ejabberd.hrl").
  246. @@ -56,14 +56,14 @@ start(_Host) -> ok.
  247.  
  248. stop(_Host) -> ok.
  249.  
  250. -plain_password_required() ->
  251. - case is_scrammed() of
  252. +plain_password_required(Server) ->
  253. + case is_scrammed(Server) of
  254. false -> false;
  255. true -> true
  256. end.
  257.  
  258. -store_type() ->
  259. - case is_scrammed() of
  260. +store_type(Server) ->
  261. + case is_scrammed(Server) of
  262. false -> plain; %% allows: PLAIN DIGEST-MD5 SCRAM
  263. true -> scram %% allows: PLAIN SCRAM
  264. end.
  265. @@ -80,7 +80,7 @@ check_password(User, AuthzId, Server, Password) ->
  266. (LUser == <<>>) or (LServer == <<>>) ->
  267. false;
  268. true ->
  269. - case is_scrammed() of
  270. + case is_scrammed(LServer) of
  271. true ->
  272. try sql_queries:get_password_scram(LServer, LUser) of
  273. {selected,
  274. @@ -130,7 +130,7 @@ check_password(User, AuthzId, Server, Password, Digest,
  275. (LUser == <<>>) or (LServer == <<>>) ->
  276. false;
  277. true ->
  278. - case is_scrammed() of
  279. + case is_scrammed(LServer) of
  280. false ->
  281. try sql_queries:get_password(LServer, LUser) of
  282. %% Account exists, check if password is valid
  283. @@ -169,7 +169,7 @@ set_password(User, Server, Password) ->
  284. LPassword == error ->
  285. {error, invalid_password};
  286. true ->
  287. - case is_scrammed() of
  288. + case is_scrammed(LServer) of
  289. true ->
  290. Scram = password_to_scram(Password),
  291. case catch sql_queries:set_password_scram_t(
  292. @@ -206,7 +206,7 @@ try_register(User, Server, Password) ->
  293. LPassword == error and not is_record(Password, scram) ->
  294. {error, invalid_password};
  295. true ->
  296. - case is_scrammed() of
  297. + case is_scrammed(LServer) of
  298. true ->
  299. Scram = case is_record(Password, scram) of
  300. true -> Password;
  301. @@ -295,7 +295,7 @@ get_password(User, Server) ->
  302. (LUser == <<>>) or (LServer == <<>>) ->
  303. false;
  304. true ->
  305. - case is_scrammed() of
  306. + case is_scrammed(LServer) of
  307. true ->
  308. case catch sql_queries:get_password_scram(
  309. LServer, LUser) of
  310. @@ -324,7 +324,7 @@ get_password_s(User, Server) ->
  311. (LUser == <<>>) or (LServer == <<>>) ->
  312. <<"">>;
  313. true ->
  314. - case is_scrammed() of
  315. + case is_scrammed(LServer) of
  316. false ->
  317. case catch sql_queries:get_password(LServer, LUser) of
  318. {selected, [{Password}]} -> Password;
  319. @@ -379,7 +379,7 @@ remove_user(User, Server, Password) ->
  320. (LUser == <<>>) or (LServer == <<>>) ->
  321. error;
  322. true ->
  323. - case is_scrammed() of
  324. + case is_scrammed(LServer) of
  325. true ->
  326. case check_password(User, <<"">>, Server, Password) of
  327. true ->
  328. @@ -407,9 +407,9 @@ remove_user(User, Server, Password) ->
  329. %%% SCRAM
  330. %%%
  331.  
  332. -is_scrammed() ->
  333. +is_scrammed(Server) ->
  334. scram ==
  335. - ejabberd_config:get_option({auth_password_format, ?MYNAME},
  336. + ejabberd_config:get_option({auth_password_format, Server},
  337. fun(V) -> V end).
  338.  
  339. password_to_scram(Password) ->
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement