]> granicus.if.org Git - ejabberd/commitdiff
Return errors in admin#add-user command response stanza (#2321)
authorBadlop <badlop@process-one.net>
Mon, 12 Mar 2018 12:32:24 +0000 (13:32 +0100)
committerBadlop <badlop@process-one.net>
Mon, 12 Mar 2018 12:33:44 +0000 (13:33 +0100)
src/mod_configure.erl

index db0780834c23f07aedfe1d1db0ddfd2f52048ea3..471e2bcdc6f3eb66ad04af27623d828b73fa9643 100644 (file)
@@ -1528,8 +1528,11 @@ set_form(From, Host, ?NS_ADMINL(<<"add-user">>), _Lang,
     true = lists:member(Server, ?MYHOSTS),
     true = Server == Host orelse
             get_permission_level(From) == global,
-    ejabberd_auth:try_register(User, Server, Password),
-    {result, undefined};
+    case ejabberd_auth:try_register(User, Server, Password) of
+       ok -> {result, undefined};
+       {error, exists} -> {error, xmpp:err_conflict()};
+       {error, not_allowed} -> {error, xmpp:err_not_allowed()}
+    end;
 set_form(From, Host, ?NS_ADMINL(<<"delete-user">>),
         _Lang, XData) ->
     AccountStringList = get_values(<<"accountjids">>,