diff options
Diffstat (limited to 'src/mod_service_log.erl')
-rw-r--r-- | src/mod_service_log.erl | 35 |
1 files changed, 23 insertions, 12 deletions
diff --git a/src/mod_service_log.erl b/src/mod_service_log.erl index 7a23b4013..3e1da3a4e 100644 --- a/src/mod_service_log.erl +++ b/src/mod_service_log.erl @@ -5,7 +5,7 @@ %%% Created : 24 Aug 2003 by Alexey Shchepin <alexey@process-one.net> %%% %%% -%%% ejabberd, Copyright (C) 2002-2015 ProcessOne +%%% ejabberd, Copyright (C) 2002-2016 ProcessOne %%% %%% This program is free software; you can redistribute it and/or %%% modify it under the terms of the GNU General Public License as @@ -29,10 +29,8 @@ -behaviour(gen_mod). --export([start/2, - stop/1, - log_user_send/3, - log_user_receive/4]). +-export([start/2, stop/1, log_user_send/4, + log_user_receive/5, mod_opt_type/1]). -include("ejabberd.hrl"). -include("logger.hrl"). @@ -53,11 +51,13 @@ stop(Host) -> ?MODULE, log_user_receive, 50), ok. -log_user_send(From, To, Packet) -> - log_packet(From, To, Packet, From#jid.lserver). +log_user_send(Packet, _C2SState, From, To) -> + log_packet(From, To, Packet, From#jid.lserver), + Packet. -log_user_receive(_JID, From, To, Packet) -> - log_packet(From, To, Packet, To#jid.lserver). +log_user_receive(Packet, _C2SState, _JID, From, To) -> + log_packet(From, To, Packet, To#jid.lserver), + Packet. log_packet(From, To, #xmlel{name = Name, attrs = Attrs, children = Els}, @@ -67,7 +67,7 @@ log_packet(From, To, lists:map( fun(S) -> B = iolist_to_binary(S), - N = jlib:nameprep(B), + N = jid:nameprep(B), if N /= error -> N end @@ -77,8 +77,8 @@ log_packet(From, To, resource = <<"">>, luser = <<"">>, lserver = Host, lresource = <<"">>}, NewAttrs = - jlib:replace_from_to_attrs(jlib:jid_to_string(From), - jlib:jid_to_string(To), Attrs), + jlib:replace_from_to_attrs(jid:to_string(From), + jid:to_string(To), Attrs), FixedPacket = #xmlel{name = Name, attrs = NewAttrs, children = Els}, lists:foreach(fun (Logger) -> @@ -95,3 +95,14 @@ log_packet(From, To, [FixedPacket]}) end, Loggers). + +mod_opt_type(loggers) -> + fun (L) -> + lists:map(fun (S) -> + B = iolist_to_binary(S), + N = jid:nameprep(B), + if N /= error -> N end + end, + L) + end; +mod_opt_type(_) -> [loggers]. |