From 8b9c49440a34ef0eb7a68671f2847b1db3e4ae4a Mon Sep 17 00:00:00 2001 From: Badlop Date: Mon, 31 Mar 2014 16:51:47 +0200 Subject: [PATCH] Fix user_resources command, and ejabberd_xmlrpc parsing auth details in call --- src/ejabberd_sm.erl | 2 +- src/ejabberd_xmlrpc.erl | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/ejabberd_sm.erl b/src/ejabberd_sm.erl index 19ab9cb5a..2b704d999 100644 --- a/src/ejabberd_sm.erl +++ b/src/ejabberd_sm.erl @@ -800,7 +800,7 @@ commands() -> tags = [session], desc = "List user's connected resources", module = ?MODULE, function = user_resources, - args = [{user, string}, {host, string}], + args = [{user, binary}, {host, binary}], result = {resources, {list, {resource, string}}}}]. -spec connected_users() -> [binary()]. diff --git a/src/ejabberd_xmlrpc.erl b/src/ejabberd_xmlrpc.erl index acda0c7f9..76610af8e 100644 --- a/src/ejabberd_xmlrpc.erl +++ b/src/ejabberd_xmlrpc.erl @@ -345,14 +345,18 @@ build_fault_response(Code, ParseString, ParseArgs) -> do_command(AccessCommands, Auth, Command, AttrL, ArgsF, ResultF) -> ArgsFormatted = format_args(AttrL, ArgsF), - {UserT, ServerT, PasswordT} = Auth, - AuthBin = {list_to_binary(UserT), list_to_binary(ServerT), list_to_binary(PasswordT)}, + AuthBin = convert_auth(Auth), Result = ejabberd_commands:execute_command(AccessCommands, AuthBin, Command, ArgsFormatted), ResultFormatted = format_result(Result, ResultF), {command_result, ResultFormatted}. +convert_auth(noauth) -> + noauth; +convert_auth({UserT, ServerT, PasswordT}) -> + {list_to_binary(UserT), list_to_binary(ServerT), list_to_binary(PasswordT)}. + %%----------------------------- %% Format arguments %%-----------------------------