aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHAMANO Tsukasa <hamano@cuspy.org>2014-05-01 00:20:58 +0900
committerHAMANO Tsukasa <hamano@cuspy.org>2014-05-01 00:20:58 +0900
commit0904b8b8ff054a3ec8543db526e5f3f281dfcf09 (patch)
treeb906c494d169b3fad8b91ea5ea2f32eb207600df
parentFix error reporting in previous commit (diff)
improve error handling when sql calling with (empty|unknown) host.
see #191
-rw-r--r--src/ejabberd_auth.erl3
-rw-r--r--src/ejabberd_auth_odbc.erl1
-rw-r--r--src/ejabberd_odbc.erl2
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)