From 0904b8b8ff054a3ec8543db526e5f3f281dfcf09 Mon Sep 17 00:00:00 2001 From: HAMANO Tsukasa Date: Thu, 1 May 2014 00:20:58 +0900 Subject: [PATCH] improve error handling when sql calling with (empty|unknown) host. see #191 --- src/ejabberd_auth.erl | 3 +++ src/ejabberd_auth_odbc.erl | 1 - src/ejabberd_odbc.erl | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/ejabberd_auth.erl b/src/ejabberd_auth.erl index bf399af28..477926f6e 100644 --- a/src/ejabberd_auth.erl +++ b/src/ejabberd_auth.erl @@ -300,6 +300,9 @@ get_password_with_authmodule(User, Server) -> -spec is_user_exists(binary(), binary()) -> boolean(). +is_user_exists(User, <<"">>) -> + false; + is_user_exists(User, Server) -> %% Check if the user exists in all authentications module except the module %% passed as parameter diff --git a/src/ejabberd_auth_odbc.erl b/src/ejabberd_auth_odbc.erl index 27e89aa2b..57cef930a 100644 --- a/src/ejabberd_auth_odbc.erl +++ b/src/ejabberd_auth_odbc.erl @@ -212,7 +212,6 @@ is_user_exists(User, Server) -> true; %% Account exists {selected, [<<"password">>], []} -> false; %% Account does not exist - {error, unknownhost} -> false; {error, Error} -> {error, Error} catch _:B -> {error, B} diff --git a/src/ejabberd_odbc.erl b/src/ejabberd_odbc.erl index df9a4c398..2b852bfaa 100644 --- a/src/ejabberd_odbc.erl +++ b/src/ejabberd_odbc.erl @@ -141,7 +141,7 @@ sql_call(Host, Msg) -> case get(?STATE_KEY) of undefined -> case ejabberd_odbc_sup:get_random_pid(Host) of - none -> {error, unknownhost}; + none -> {error, <<"Unknown Host">>}; Pid -> (?GEN_FSM):sync_send_event(Pid,{sql_cmd, Msg, now()}, ?TRANSACTION_TIMEOUT) -- 2.40.0