]> granicus.if.org Git - ejabberd/commitdiff
More binary conversions
authorSonny Scroggin <scrogson@gmail.com>
Wed, 2 Apr 2014 02:17:08 +0000 (21:17 -0500)
committerBadlop <badlop@process-one.net>
Thu, 26 Mar 2015 13:00:21 +0000 (14:00 +0100)
src/mod_admin_extra.erl

index c3480f07461a20aaba8e7b07a6011f9a8ad9bfd5..28918c0b641c247123ad244106cc5c3ba3ebb2da 100644 (file)
@@ -219,22 +219,22 @@ commands() ->
      #ejabberd_commands{name = kick_session, tags = [session],
                        desc = "Kick a user session",
                        module = ?MODULE, function = kick_session,
-                       args = [{user, string}, {host, string}, {resource, string}, {reason, string}],
+                       args = [{user, binary}, {host, binary}, {resource, binary}, {reason, binary}],
                        result = {res, rescode}},
      #ejabberd_commands{name = status_num_host, tags = [session, stats],
                        desc = "Number of logged users with this status in host",
                        module = ?MODULE, function = status_num,
-                       args = [{host, string}, {status, string}],
+                       args = [{host, binary}, {status, binary}],
                        result = {users, integer}},
      #ejabberd_commands{name = status_num, tags = [session, stats],
                        desc = "Number of logged users with this status",
                        module = ?MODULE, function = status_num,
-                       args = [{status, string}],
+                       args = [{status, binary}],
                        result = {users, integer}},
      #ejabberd_commands{name = status_list_host, tags = [session],
                        desc = "List of users logged in host with their statuses",
                        module = ?MODULE, function = status_list,
-                       args = [{host, string}, {status, string}],
+                       args = [{host, binary}, {status, binary}],
                        result = {users, {list,
                                          {userstatus, {tuple, [
                                                                {user, string},
@@ -247,7 +247,7 @@ commands() ->
      #ejabberd_commands{name = status_list, tags = [session],
                        desc = "List of logged users with this status",
                        module = ?MODULE, function = status_list,
-                       args = [{status, string}],
+                       args = [{status, binary}],
                        result = {users, {list,
                                          {userstatus, {tuple, [
                                                                {user, string},
@@ -809,20 +809,20 @@ kick_session(User, Server, Resource, ReasonText) ->
 
 kick_this_session(User, Server, Resource, Reason) ->
     ejabberd_router:route(
-      jlib:make_jid("", "", ""),
+      jlib:make_jid(<<>>, <<>>, <<>>),
       jlib:make_jid(User, Server, Resource),
-      {xmlelement, "broadcast", [], [{exit, Reason}]}).
+      {xmlel, <<"broadcast">>, [], [{exit, Reason}]}).
 
 
 status_num(Host, Status) ->
     length(get_status_list(Host, Status)).
 status_num(Status) ->
-    status_num("all", Status).
+    status_num(<<"all">>, Status).
 status_list(Host, Status) ->
     Res = get_status_list(Host, Status),
     [{U, S, R, P, St} || {U, S, R, P, St} <- Res].
 status_list(Status) ->
-    status_list("all", Status).
+    status_list(<<"all">>, Status).
 
 
 get_status_list(Host, Status_required) ->
@@ -831,7 +831,7 @@ get_status_list(Host, Status_required) ->
     %% Reformat the list
     Sessions2 = [ {Session#session.usr, Session#session.sid, Session#session.priority} || Session <- Sessions],
     Fhost = case Host of
-               "all" ->
+               <<"all">> ->
                    %% All hosts are requested, so dont filter at all
                    fun(_, _) -> true end;
                _ ->
@@ -843,7 +843,7 @@ get_status_list(Host, Status_required) ->
     Sessions4 = [ {ejabberd_c2s:get_presence(Pid), Server, Priority} || {Pid, Server, Priority} <- Sessions3],
     %% Filter by status
     Fstatus = case Status_required of
-                 "all" ->
+                 <<"all">> ->
                      fun(_, _) -> true end;
                  _ ->
                      fun(A, B) -> A == B end
@@ -882,18 +882,18 @@ dirty_get_sessions_list2() ->
 %% Make string more print-friendly
 stringize(String) ->
     %% Replace newline characters with other code
-    ejabberd_regexp:greplace(String, "\n", "\\n").
+    ejabberd_regexp:greplace(String, <<"\n">>, <<"\\n">>).
 
 set_presence(User, Host, Resource, Type, Show, Status, Priority) ->
     Pid = ejabberd_sm:get_session_pid(User, Host, Resource),
     USR = User ++ "@" ++ Host ++ "/" ++ Resource,
     US = User ++ "@" ++ Host,
     Message = {route_xmlstreamelement,
-              {xmlelement, "presence",
-               [{"from", USR}, {"to", US}, {"type", Type}],
-               [{xmlelement, "show", [], [{xmlcdata, Show}]},
-                {xmlelement, "status", [], [{xmlcdata, Status}]},
-                {xmlelement, "priority", [], [{xmlcdata, Priority}]}]}},
+              {xmlel, <<"presence">>,
+               [{<<"from">>, USR}, {<<"to">>, US}, {<<"type">>, Type}],
+               [{xmlel, <<"show">>, [], [{xmlcdata, Show}]},
+                {xmlel, <<"status">>, [], [{xmlcdata, Status}]},
+                {xmlel, <<"priority">>, [], [{xmlcdata, Priority}]}]}},
     Pid ! Message.
 
 user_sessions_info(User, Host) ->
@@ -929,14 +929,14 @@ user_sessions_info(User, Host) ->
 
 set_nickname(User, Host, Nickname) ->
     R = mod_vcard:process_sm_iq(
-         {jid, User, Host, "", User, Host, ""},
-         {jid, User, Host, "", User, Host, ""},
-         {iq, "", set, "", "en",
-          {xmlelement, "vCard",
-           [{"xmlns", "vcard-temp"}], [
-                                       {xmlelement, "NICKNAME", [], [{xmlcdata, Nickname}]}
-                                      ]
-          }}),
+         {jid, User, Host, <<>>, User, Host, <<>>},
+         {jid, User, Host, <<>>, User, Host, <<>>},
+         {iq, <<>>, set, <<>>, <<"en">>,
+          {xmlel, <<"vCard">>, [
+            {<<"xmlns">>, <<"vcard-temp">>}], [
+               {xmlel, <<"NICKNAME">>, [], [{xmlcdata, Nickname}]}
+            ]
+         }}),
     case R of
        {iq, [], result, [], _L, []} ->
            ok;
@@ -1046,7 +1046,7 @@ update_vcard_els(Data, ContentList, Els1) ->
                [D2] ->
                    OldEl = case lists:keysearch(Data1, 2, Els2) of
                                {value, A} -> A;
-                               false -> {xmlelement, Data1, [], []}
+                               false -> {xmlel, Data1, [], []}
                            end,
                    {xmlel, _, _, ContentOld1} = OldEl,
                    Content2 = [{xmlel, D2, [], [{xmlcdata,Content}]} || Content <- ContentList],
@@ -1118,7 +1118,7 @@ make_roster_xmlrpc(Roster) ->
              Subs = atom_to_list(Item#roster.subscription),
              Ask = atom_to_list(Item#roster.ask),
              Groups = case Item#roster.groups of
-                          [] -> [""];
+                          [] -> [<<>>];
                           Gs -> Gs
                       end,
              ItemsX = [{JIDS, Nick, Subs, Ask, Group} || Group <- Groups],
@@ -1134,7 +1134,7 @@ make_roster_xmlrpc(Roster) ->
 
 push_roster(File, User, Server) ->
     {ok, [Roster]} = file:consult(File),
-    subscribe_roster({User, Server, "", User}, Roster).
+    subscribe_roster({User, Server, <<>>, User}, Roster).
 
 push_roster_all(File) ->
     {ok, [Roster]} = file:consult(File),
@@ -1202,7 +1202,7 @@ build_roster_item(U, S, remove) ->
 
 build_iq_roster_push(Item) ->
     {xmlel, <<"iq">>,
-     [{<<"type">>, <<"set">>}, {<<"id">>, <<"pushaaa">>}],
+     [{<<"type">>, <<"set">>}, {<<"id">>, <<"push">>}],
      [{xmlel, <<"query">>,
        [{<<"xmlns">>, ?NS_ROSTER}],
        [Item]
@@ -1214,11 +1214,10 @@ build_broadcast(U, S, {add, _Nick, Subs, _Group}) ->
     build_broadcast(U, S, list_to_atom(binary_to_list(Subs)));
 build_broadcast(U, S, remove) ->
     build_broadcast(U, S, none);
-%% @spec (U::string(), S::string(), Subs::atom()) -> any()
+%% @spec (U::binary(), S::binary(), Subs::atom()) -> any()
 %% Subs = both | from | to | none
 build_broadcast(U, S, SubsAtom) when is_atom(SubsAtom) ->
-    {broadcast, {item, {U, S, <<>>}, SubsAtom}
-    }.
+    {broadcast, {item, {U, S, <<>>}, SubsAtom}}.
 
 %%%
 %%% Last Activity
@@ -1260,15 +1259,15 @@ set_last(User, Server, Timestamp, Status) ->
 %% <aa xmlns='bb'>Cluth</aa>
 
 private_get(Username, Host, Element, Ns) ->
-    From = jlib:make_jid(Username, Host, ""),
-    To = jlib:make_jid(Username, Host, ""),
-    IQ = {iq, "", get, ?NS_PRIVATE, "",
-         {xmlelement,"query",
-          [{"xmlns",?NS_PRIVATE}],
-          [{xmlelement, Element, [{"xmlns", Ns}], []}]}},
+    From = jlib:make_jid(Username, Host, <<>>),
+    To = jlib:make_jid(Username, Host, <<>>),
+    IQ = {iq, <<>>, get, ?NS_PRIVATE, <<>>,
+         {xmlel, <<"query">>,
+          [{<<"xmlns">>,?NS_PRIVATE}],
+          [{xmlel, Element, [{<<"xmlns">>, Ns}], []}]}},
     ResIq = mod_private:process_sm_iq(From, To, IQ),
-    [{xmlelement,"query",
-      [{"xmlns","jabber:iq:private"}],
+    [{xmlel, <<"query">>,
+      [{<<"xmlns">>, <<"jabber:iq:private">>}],
       [SubEl]}] = ResIq#iq.sub_el,
     xml:element_to_string(SubEl).
 
@@ -1283,11 +1282,11 @@ private_set(Username, Host, ElementString) ->
     end.
 
 private_set2(Username, Host, Xml) ->
-    From = jlib:make_jid(Username, Host, ""),
-    To = jlib:make_jid(Username, Host, ""),
-    IQ = {iq, "", set, ?NS_PRIVATE, "",
-         {xmlelement,"query",
-          [{"xmlns",?NS_PRIVATE}],
+    From = jlib:make_jid(Username, Host, <<>>),
+    To = jlib:make_jid(Username, Host, <<>>),
+    IQ = {iq, <<>>, set, ?NS_PRIVATE, <<>>,
+         {xmlel, <<"query">>,
+          [{<<"xmlns">>, ?NS_PRIVATE}],
           [Xml]}},
     mod_private:process_sm_iq(From, To, IQ),
     ok.
@@ -1324,7 +1323,7 @@ srg_get_info(Group, Host) ->
 
 srg_get_members(Group, Host) ->
     Members = mod_shared_roster:get_group_explicit_users(Host,Group),
-    [jlib:jid_to_string(jlib:make_jid(MUser, MServer, <<"">>))
+    [jlib:jid_to_string(jlib:make_jid(MUser, MServer, <<>>))
      || {MUser, MServer} <- Members].
 
 srg_user_add(User, Host, Group, GroupHost) ->
@@ -1366,7 +1365,7 @@ send_packet_all_resources(FromJIDString, ToJIDString, Packet) ->
     ToUser = ToJID#jid.user,
     ToServer = ToJID#jid.server,
     case ToJID#jid.resource of
-       "" ->
+       <<>> ->
            send_packet_all_resources(FromJID, ToUser, ToServer, Packet);
        Res ->
            send_packet_all_resources(FromJID, ToUser, ToServer, Res, Packet)
@@ -1375,7 +1374,7 @@ send_packet_all_resources(FromJIDString, ToJIDString, Packet) ->
 send_packet_all_resources(FromJID, ToUser, ToServer, Packet) ->
     case ejabberd_sm:get_user_resources(ToUser, ToServer) of
        [] ->
-           send_packet_all_resources(FromJID, ToUser, ToServer, "", Packet);
+           send_packet_all_resources(FromJID, ToUser, ToServer, <<>>, Packet);
        ToResources ->
            lists:foreach(
              fun(ToResource) ->
@@ -1391,15 +1390,15 @@ send_packet_all_resources(FromJID, ToU, ToS, ToR, Packet) ->
 
 
 build_packet(message_chat, [Body]) ->
-    {xmlelement, "message",
-     [{"type", "chat"}, {"id", randoms:get_string()}],
-     [{xmlelement, "body", [], [{xmlcdata, Body}]}]
+    {xmlel, <<"message">>,
+     [{<<"type">>, <<"chat">>}, {<<"id">>, randoms:get_string()}],
+     [{xmlel, <<"body">>, [], [{xmlcdata, Body}]}]
     };
 build_packet(message_headline, [Subject, Body]) ->
-    {xmlelement, "message",
-     [{"type", "headline"}, {"id", randoms:get_string()}],
-     [{xmlelement, "subject", [], [{xmlcdata, Subject}]},
-      {xmlelement, "body", [], [{xmlcdata, Body}]}
+    {xmlel, <<"message">>,
+     [{<<"type">>, <<"headline">>}, {<<"id">>, randoms:get_string()}],
+     [{xmlel, <<"subject">>, [], [{xmlcdata, Subject}]},
+      {xmlel, <<"body">>, [], [{xmlcdata, Body}]}
      ]
     }.
 
@@ -1412,7 +1411,7 @@ privacy_set(Username, Host, QueryS) ->
     From = jlib:string_to_jid(Username ++ "@" ++ Host),
     To = jlib:string_to_jid(Host),
     QueryEl = xml_stream:parse_element(QueryS),
-    StanzaEl = {xmlelement, "iq", [{"type", "set"}], [QueryEl]},
+    StanzaEl = {xmlel, <<"iq">>, [{<<"type">>, <<"set">>}], [QueryEl]},
     IQ = jlib:iq_query_info(StanzaEl),
     ejabberd_hooks:run_fold(
                     privacy_iq_set,