aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/acl.erl7
-rw-r--r--src/adhoc.erl2
-rw-r--r--src/cyrsasl.erl2
-rw-r--r--src/cyrsasl_anonymous.erl2
-rw-r--r--src/cyrsasl_digest.erl2
-rw-r--r--src/cyrsasl_plain.erl2
-rw-r--r--src/cyrsasl_scram.erl2
-rw-r--r--src/ejabberd.erl2
-rw-r--r--src/ejabberd_admin.erl2
-rw-r--r--src/ejabberd_app.erl2
-rw-r--r--src/ejabberd_auth.erl2
-rw-r--r--src/ejabberd_auth_anonymous.erl2
-rw-r--r--src/ejabberd_auth_external.erl2
-rw-r--r--src/ejabberd_auth_internal.erl2
-rw-r--r--src/ejabberd_auth_ldap.erl2
-rw-r--r--src/ejabberd_auth_odbc.erl2
-rw-r--r--src/ejabberd_auth_pam.erl2
-rw-r--r--src/ejabberd_c2s.erl13
-rw-r--r--src/ejabberd_c2s_config.erl2
-rw-r--r--src/ejabberd_captcha.erl2
-rw-r--r--src/ejabberd_commands.erl2
-rw-r--r--src/ejabberd_config.erl2
-rw-r--r--src/ejabberd_ctl.erl6
-rw-r--r--src/ejabberd_frontend_socket.erl2
-rw-r--r--src/ejabberd_hooks.erl2
-rw-r--r--src/ejabberd_http.erl4
-rw-r--r--src/ejabberd_http_poll.erl2
-rw-r--r--src/ejabberd_listener.erl9
-rw-r--r--src/ejabberd_local.erl2
-rw-r--r--src/ejabberd_node_groups.erl2
-rw-r--r--src/ejabberd_odbc.erl4
-rw-r--r--src/ejabberd_odbc_sup.erl2
-rw-r--r--src/ejabberd_piefxis.erl2
-rw-r--r--src/ejabberd_rdbms.erl2
-rw-r--r--src/ejabberd_receiver.erl2
-rw-r--r--src/ejabberd_regexp.erl2
-rw-r--r--src/ejabberd_router.erl2
-rw-r--r--src/ejabberd_s2s.erl2
-rw-r--r--src/ejabberd_s2s_in.erl4
-rw-r--r--src/ejabberd_s2s_out.erl2
-rw-r--r--src/ejabberd_service.erl2
-rw-r--r--src/ejabberd_sm.erl4
-rw-r--r--src/ejabberd_socket.erl2
-rw-r--r--src/ejabberd_sup.erl2
-rw-r--r--src/ejabberd_system_monitor.erl2
-rw-r--r--src/ejabberd_tmp_sup.erl2
-rw-r--r--src/ejabberd_update.erl2
-rw-r--r--src/ejabberd_web.erl2
-rw-r--r--src/ejabberd_web_admin.erl12
-rw-r--r--src/ejabberd_xmlrpc.erl8
-rw-r--r--src/ejd2odbc.erl2
-rw-r--r--src/eldap_filter.erl2
-rw-r--r--src/eldap_pool.erl2
-rw-r--r--src/eldap_utils.erl2
-rw-r--r--src/extauth.erl2
-rw-r--r--src/gen_iq_handler.erl2
-rw-r--r--src/gen_mod.erl2
-rw-r--r--src/gen_pubsub_node.erl6
-rw-r--r--src/gen_pubsub_nodetree.erl6
-rw-r--r--src/idna.erl2
-rw-r--r--src/jd2ejd.erl2
-rw-r--r--src/jlib.erl2
-rw-r--r--src/mod_adhoc.erl2
-rw-r--r--src/mod_announce.erl2
-rw-r--r--src/mod_blocking.erl2
-rw-r--r--src/mod_caps.erl2
-rw-r--r--src/mod_carboncopy.erl16
-rw-r--r--src/mod_configure.erl9
-rw-r--r--src/mod_configure2.erl2
-rw-r--r--src/mod_disco.erl6
-rw-r--r--src/mod_echo.erl2
-rw-r--r--src/mod_http_bind.erl2
-rw-r--r--src/mod_http_fileserver.erl2
-rw-r--r--src/mod_ip_blacklist.erl2
-rw-r--r--src/mod_irc.erl4
-rw-r--r--src/mod_irc_connection.erl2
-rw-r--r--src/mod_last.erl2
-rw-r--r--src/mod_muc.erl4
-rw-r--r--src/mod_muc_log.erl2
-rw-r--r--src/mod_muc_room.erl2
-rw-r--r--src/mod_offline.erl2
-rw-r--r--src/mod_ping.erl2
-rw-r--r--src/mod_pres_counter.erl2
-rw-r--r--src/mod_privacy.erl2
-rw-r--r--src/mod_private.erl2
-rw-r--r--src/mod_proxy65.erl2
-rw-r--r--src/mod_proxy65_lib.erl2
-rw-r--r--src/mod_proxy65_service.erl4
-rw-r--r--src/mod_proxy65_sm.erl2
-rw-r--r--src/mod_proxy65_stream.erl2
-rw-r--r--src/mod_pubsub.erl8
-rw-r--r--src/mod_pubsub_odbc.erl8
-rw-r--r--src/mod_register.erl2
-rw-r--r--src/mod_register_web.erl14
-rw-r--r--src/mod_roster.erl102
-rw-r--r--src/mod_service_log.erl2
-rw-r--r--src/mod_shared_roster.erl2
-rw-r--r--src/mod_shared_roster_ldap.erl2
-rw-r--r--src/mod_sic.erl2
-rw-r--r--src/mod_stats.erl2
-rw-r--r--src/mod_time.erl2
-rw-r--r--src/mod_vcard.erl6
-rw-r--r--src/mod_vcard_ldap.erl6
-rw-r--r--src/mod_version.erl2
-rw-r--r--src/node.template6
-rw-r--r--src/node_buddy.erl6
-rw-r--r--src/node_club.erl6
-rw-r--r--src/node_dispatch.erl6
-rw-r--r--src/node_flat.erl6
-rw-r--r--src/node_flat_odbc.erl6
-rw-r--r--src/node_hometree.erl6
-rw-r--r--src/node_hometree_odbc.erl6
-rw-r--r--src/node_mb.erl6
-rw-r--r--src/node_pep.erl6
-rw-r--r--src/node_pep_odbc.erl6
-rw-r--r--src/node_private.erl6
-rw-r--r--src/node_public.erl6
-rw-r--r--src/nodetree_tree.erl6
-rw-r--r--src/nodetree_tree_odbc.erl6
-rw-r--r--src/nodetree_virtual.erl6
-rw-r--r--src/odbc_queries.erl2
-rw-r--r--src/p1_fsm.erl2
-rw-r--r--src/p1_mnesia.erl4
-rw-r--r--src/pubsub_db_odbc.erl4
-rw-r--r--src/pubsub_index.erl6
-rw-r--r--src/pubsub_subscription.erl4
-rw-r--r--src/pubsub_subscription_odbc.erl4
-rw-r--r--src/randoms.erl2
-rw-r--r--src/scram.erl2
-rw-r--r--src/shaper.erl4
-rw-r--r--src/str.erl2
-rw-r--r--src/translate.erl2
-rw-r--r--src/treap.erl2
-rw-r--r--src/win32_dns.erl2
134 files changed, 339 insertions, 229 deletions
diff --git a/src/acl.erl b/src/acl.erl
index 4ef702568..53256fcbd 100644
--- a/src/acl.erl
+++ b/src/acl.erl
@@ -5,7 +5,7 @@
%%% Created : 18 Jan 2003 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
@@ -236,6 +236,8 @@ normalize_spec(Spec) ->
{server_regexp, SR} -> {server_regexp, b(SR)};
{server_glob, S} -> {server_glob, b(S)};
{resource_glob, R} -> {resource_glob, b(R)};
+ {ip, {Net, Mask}} ->
+ {ip, {Net, Mask}};
{ip, S} ->
case parse_ip_netmask(b(S)) of
{ok, Net, Mask} ->
@@ -262,9 +264,6 @@ match_rule(Host, Access, JID) ->
end,
case GAccess ++ LAccess of
[] ->
- ?WARNING_MSG("Attempt to match against unspecified "
- "access rule '~s' (scope: ~s)",
- [Access, Host]),
deny;
AccessList ->
Rules = lists:flatmap(
diff --git a/src/adhoc.erl b/src/adhoc.erl
index ff677f980..800a0a302 100644
--- a/src/adhoc.erl
+++ b/src/adhoc.erl
@@ -5,7 +5,7 @@
%%% Created : 31 Oct 2005 by Magnus Henoch <henoch@dtek.chalmers.se>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/cyrsasl.erl b/src/cyrsasl.erl
index 08c8a647f..f404a7afb 100644
--- a/src/cyrsasl.erl
+++ b/src/cyrsasl.erl
@@ -5,7 +5,7 @@
%%% Created : 8 Mar 2003 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/cyrsasl_anonymous.erl b/src/cyrsasl_anonymous.erl
index 156ee348a..67e12b8c6 100644
--- a/src/cyrsasl_anonymous.erl
+++ b/src/cyrsasl_anonymous.erl
@@ -6,7 +6,7 @@
%%% Created : 23 Aug 2005 by Magnus Henoch <henoch@dtek.chalmers.se>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/cyrsasl_digest.erl b/src/cyrsasl_digest.erl
index d87d015c6..d6a2afdf1 100644
--- a/src/cyrsasl_digest.erl
+++ b/src/cyrsasl_digest.erl
@@ -5,7 +5,7 @@
%%% Created : 11 Mar 2003 by Alexey Shchepin <alexey@sevcom.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/cyrsasl_plain.erl b/src/cyrsasl_plain.erl
index 971f6c435..4f530e8f5 100644
--- a/src/cyrsasl_plain.erl
+++ b/src/cyrsasl_plain.erl
@@ -5,7 +5,7 @@
%%% Created : 8 Mar 2003 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/cyrsasl_scram.erl b/src/cyrsasl_scram.erl
index 718336831..1175af1e9 100644
--- a/src/cyrsasl_scram.erl
+++ b/src/cyrsasl_scram.erl
@@ -5,7 +5,7 @@
%%% Created : 7 Aug 2011 by Stephen Röttger <stephen.roettger@googlemail.com>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/ejabberd.erl b/src/ejabberd.erl
index 52631a624..ebe2b170c 100644
--- a/src/ejabberd.erl
+++ b/src/ejabberd.erl
@@ -5,7 +5,7 @@
%%% Created : 16 Nov 2002 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/ejabberd_admin.erl b/src/ejabberd_admin.erl
index 0e903b0b4..3174b8523 100644
--- a/src/ejabberd_admin.erl
+++ b/src/ejabberd_admin.erl
@@ -5,7 +5,7 @@
%%% Created : 7 May 2006 by Mickael Remond <mremond@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/ejabberd_app.erl b/src/ejabberd_app.erl
index 75639b60c..6d315c6d3 100644
--- a/src/ejabberd_app.erl
+++ b/src/ejabberd_app.erl
@@ -5,7 +5,7 @@
%%% Created : 31 Jan 2003 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/ejabberd_auth.erl b/src/ejabberd_auth.erl
index 2905f7e41..bf399af28 100644
--- a/src/ejabberd_auth.erl
+++ b/src/ejabberd_auth.erl
@@ -5,7 +5,7 @@
%%% Created : 23 Nov 2002 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/ejabberd_auth_anonymous.erl b/src/ejabberd_auth_anonymous.erl
index 6ef1853c8..c8c9cb153 100644
--- a/src/ejabberd_auth_anonymous.erl
+++ b/src/ejabberd_auth_anonymous.erl
@@ -5,7 +5,7 @@
%%% Created : 17 Feb 2006 by Mickael Remond <mremond@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/ejabberd_auth_external.erl b/src/ejabberd_auth_external.erl
index 949cab7c3..ecd8552b1 100644
--- a/src/ejabberd_auth_external.erl
+++ b/src/ejabberd_auth_external.erl
@@ -5,7 +5,7 @@
%%% Created : 12 Dec 2004 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/ejabberd_auth_internal.erl b/src/ejabberd_auth_internal.erl
index 23aa68815..48bd6bd96 100644
--- a/src/ejabberd_auth_internal.erl
+++ b/src/ejabberd_auth_internal.erl
@@ -5,7 +5,7 @@
%%% Created : 12 Dec 2004 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/ejabberd_auth_ldap.erl b/src/ejabberd_auth_ldap.erl
index 2045bce4b..77937d010 100644
--- a/src/ejabberd_auth_ldap.erl
+++ b/src/ejabberd_auth_ldap.erl
@@ -5,7 +5,7 @@
%%% Created : 12 Dec 2004 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/ejabberd_auth_odbc.erl b/src/ejabberd_auth_odbc.erl
index 33e25c164..57cef930a 100644
--- a/src/ejabberd_auth_odbc.erl
+++ b/src/ejabberd_auth_odbc.erl
@@ -5,7 +5,7 @@
%%% Created : 12 Dec 2004 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/ejabberd_auth_pam.erl b/src/ejabberd_auth_pam.erl
index af320544b..9c73d97f8 100644
--- a/src/ejabberd_auth_pam.erl
+++ b/src/ejabberd_auth_pam.erl
@@ -5,7 +5,7 @@
%%% Created : 5 Jul 2007 by Evgeniy Khramtsov <xram@jabber.ru>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/ejabberd_c2s.erl b/src/ejabberd_c2s.erl
index 64676234e..44ad2d56b 100644
--- a/src/ejabberd_c2s.erl
+++ b/src/ejabberd_c2s.erl
@@ -5,7 +5,7 @@
%%% Created : 16 Nov 2002 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
@@ -1216,14 +1216,15 @@ handle_info({send_text, Text}, StateName, StateData) ->
send_text(StateData, Text),
ejabberd_hooks:run(c2s_loop_debug, [Text]),
fsm_next_state(StateName, StateData);
-handle_info(replaced, _StateName, StateData) ->
+handle_info(replaced, StateName, StateData) ->
Lang = StateData#state.lang,
- send_element(StateData,
- ?SERRT_CONFLICT(Lang,
- <<"Replaced by new connection">>)),
+ Xmlelement = ?SERRT_CONFLICT(Lang, <<"Replaced by new connection">>),
+ handle_info({kick, replaced, Xmlelement}, StateName, StateData);
+handle_info({kick, Reason, Xmlelement}, _StateName, StateData) ->
+ send_element(StateData, Xmlelement),
send_trailer(StateData),
{stop, normal,
- StateData#state{authenticated = replaced}};
+ StateData#state{authenticated = Reason}};
handle_info({route, _From, _To, {broadcast, Data}},
StateName, StateData) ->
?DEBUG("broadcast~n~p~n", [Data]),
diff --git a/src/ejabberd_c2s_config.erl b/src/ejabberd_c2s_config.erl
index d77aee8a0..3c65d562b 100644
--- a/src/ejabberd_c2s_config.erl
+++ b/src/ejabberd_c2s_config.erl
@@ -6,7 +6,7 @@
%%% Created : 2 Nov 2007 by Mickael Remond <mremond@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/ejabberd_captcha.erl b/src/ejabberd_captcha.erl
index e938c4673..ab91ccb04 100644
--- a/src/ejabberd_captcha.erl
+++ b/src/ejabberd_captcha.erl
@@ -5,7 +5,7 @@
%%% Created : 26 Apr 2008 by Evgeniy Khramtsov <xramtsov@gmail.com>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/ejabberd_commands.erl b/src/ejabberd_commands.erl
index 640ac9f4e..8d9ec0cb0 100644
--- a/src/ejabberd_commands.erl
+++ b/src/ejabberd_commands.erl
@@ -5,7 +5,7 @@
%%% Created : 20 May 2008 by Badlop <badlop@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/ejabberd_config.erl b/src/ejabberd_config.erl
index 55dfd32ce..06db8b569 100644
--- a/src/ejabberd_config.erl
+++ b/src/ejabberd_config.erl
@@ -5,7 +5,7 @@
%%% Created : 14 Dec 2002 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/ejabberd_ctl.erl b/src/ejabberd_ctl.erl
index e526b298a..d8d067640 100644
--- a/src/ejabberd_ctl.erl
+++ b/src/ejabberd_ctl.erl
@@ -5,7 +5,7 @@
%%% Created : 11 Jan 2004 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
@@ -564,7 +564,7 @@ format_command_lines(CALD, MaxCmdLen, MaxC, ShCode, dual) ->
lists:map(
fun({Cmd, Args, CmdArgsL, Desc}) ->
DescFmt = prepare_description(MaxCmdLen+4, MaxC, Desc),
- [" ", ?B(Cmd), " ", [[?U(Arg), " "] || Arg <- Args],
+ [" ", ?B(Cmd), " ", [[?U(Arg), " "] || Arg <- Args],
string:chars($\s, MaxCmdLen - CmdArgsL + 1),
DescFmt, "\n"]
end, CALD);
@@ -573,7 +573,7 @@ format_command_lines(CALD, _MaxCmdLen, MaxC, ShCode, long) ->
lists:map(
fun({Cmd, Args, _CmdArgsL, Desc}) ->
DescFmt = prepare_description(8, MaxC, Desc),
- ["\n ", ?B(Cmd), " ", [[?U(Arg), " "] || Arg <- Args], "\n", " ",
+ ["\n ", ?B(Cmd), " ", [[?U(Arg), " "] || Arg <- Args], "\n", " ",
DescFmt, "\n"]
end, CALD).
diff --git a/src/ejabberd_frontend_socket.erl b/src/ejabberd_frontend_socket.erl
index b3118224d..d6ef3617d 100644
--- a/src/ejabberd_frontend_socket.erl
+++ b/src/ejabberd_frontend_socket.erl
@@ -5,7 +5,7 @@
%%% Created : 23 Aug 2006 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/ejabberd_hooks.erl b/src/ejabberd_hooks.erl
index fdc543e40..e1f99eb88 100644
--- a/src/ejabberd_hooks.erl
+++ b/src/ejabberd_hooks.erl
@@ -5,7 +5,7 @@
%%% Created : 8 Aug 2004 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/ejabberd_http.erl b/src/ejabberd_http.erl
index 1347cc148..c5b5758ae 100644
--- a/src/ejabberd_http.erl
+++ b/src/ejabberd_http.erl
@@ -5,7 +5,7 @@
%%% Created : 27 Feb 2004 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
@@ -50,7 +50,7 @@
request_auth,
request_keepalive,
request_content_length,
- request_lang = "en",
+ request_lang = <<"en">>,
%% XXX bard: request handlers are configured in
%% ejabberd.cfg under the HTTP service. For example,
%% to have the module test_web handle requests with
diff --git a/src/ejabberd_http_poll.erl b/src/ejabberd_http_poll.erl
index 62c59a8e6..9e65045cc 100644
--- a/src/ejabberd_http_poll.erl
+++ b/src/ejabberd_http_poll.erl
@@ -5,7 +5,7 @@
%%% Created : 4 Mar 2004 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/ejabberd_listener.erl b/src/ejabberd_listener.erl
index ab74f7dca..2051afdb2 100644
--- a/src/ejabberd_listener.erl
+++ b/src/ejabberd_listener.erl
@@ -5,7 +5,7 @@
%%% Created : 16 Nov 2002 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
@@ -284,9 +284,10 @@ accept(ListenSocket, Module, Opts) ->
case gen_tcp:accept(ListenSocket) of
{ok, Socket} ->
case {inet:sockname(Socket), inet:peername(Socket)} of
- {{ok, Addr}, {ok, PAddr}} ->
- ?INFO_MSG("(~w) Accepted connection ~w -> ~w",
- [Socket, PAddr, Addr]);
+ {{ok, {Addr, Port}}, {ok, {PAddr, PPort}}} ->
+ ?INFO_MSG("(~w) Accepted connection ~s:~p -> ~s:~p",
+ [Socket, inet_parse:ntoa(PAddr), PPort,
+ inet_parse:ntoa(Addr), Port]);
_ ->
ok
end,
diff --git a/src/ejabberd_local.erl b/src/ejabberd_local.erl
index c9dc651d2..fd9ef1ca9 100644
--- a/src/ejabberd_local.erl
+++ b/src/ejabberd_local.erl
@@ -5,7 +5,7 @@
%%% Created : 30 Nov 2002 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/ejabberd_node_groups.erl b/src/ejabberd_node_groups.erl
index 9a142ddc9..ae1db531f 100644
--- a/src/ejabberd_node_groups.erl
+++ b/src/ejabberd_node_groups.erl
@@ -5,7 +5,7 @@
%%% Created : 1 Nov 2006 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/ejabberd_odbc.erl b/src/ejabberd_odbc.erl
index b64ec0450..6a7d9de6d 100644
--- a/src/ejabberd_odbc.erl
+++ b/src/ejabberd_odbc.erl
@@ -5,7 +5,7 @@
%%% Created : 8 Dec 2004 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
@@ -483,7 +483,7 @@ abort_on_driver_error(Reply, From) ->
%% Open an ODBC database connection
odbc_connect(SQLServer) ->
ejabberd:start_app(odbc),
- odbc:connect(SQLServer, [{scrollable_cursors, off}]).
+ odbc:connect(binary_to_list(SQLServer), [{scrollable_cursors, off}]).
%% == Native PostgreSQL code
diff --git a/src/ejabberd_odbc_sup.erl b/src/ejabberd_odbc_sup.erl
index b16720daf..bfad5428e 100644
--- a/src/ejabberd_odbc_sup.erl
+++ b/src/ejabberd_odbc_sup.erl
@@ -5,7 +5,7 @@
%%% Created : 22 Dec 2004 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/ejabberd_piefxis.erl b/src/ejabberd_piefxis.erl
index d7fc03736..d4a06de9c 100644
--- a/src/ejabberd_piefxis.erl
+++ b/src/ejabberd_piefxis.erl
@@ -9,7 +9,7 @@
%%% @doc
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/ejabberd_rdbms.erl b/src/ejabberd_rdbms.erl
index 5b7eccc1d..7c2b5e9ce 100644
--- a/src/ejabberd_rdbms.erl
+++ b/src/ejabberd_rdbms.erl
@@ -5,7 +5,7 @@
%%% Created : 31 Jan 2003 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/ejabberd_receiver.erl b/src/ejabberd_receiver.erl
index 3d75be3a3..86cd3e8f9 100644
--- a/src/ejabberd_receiver.erl
+++ b/src/ejabberd_receiver.erl
@@ -5,7 +5,7 @@
%%% Created : 10 Nov 2003 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/ejabberd_regexp.erl b/src/ejabberd_regexp.erl
index 91e1dac12..dff8bee1b 100644
--- a/src/ejabberd_regexp.erl
+++ b/src/ejabberd_regexp.erl
@@ -5,7 +5,7 @@
%%% Created : 8 Dec 2011 by Badlop
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/ejabberd_router.erl b/src/ejabberd_router.erl
index e1057ea13..caf444fba 100644
--- a/src/ejabberd_router.erl
+++ b/src/ejabberd_router.erl
@@ -5,7 +5,7 @@
%%% Created : 27 Nov 2002 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/ejabberd_s2s.erl b/src/ejabberd_s2s.erl
index 4dfccae40..057c60a98 100644
--- a/src/ejabberd_s2s.erl
+++ b/src/ejabberd_s2s.erl
@@ -5,7 +5,7 @@
%%% Created : 7 Dec 2002 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/ejabberd_s2s_in.erl b/src/ejabberd_s2s_in.erl
index 8e6099dca..0759ef5b9 100644
--- a/src/ejabberd_s2s_in.erl
+++ b/src/ejabberd_s2s_in.erl
@@ -5,7 +5,7 @@
%%% Created : 6 Dec 2002 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
@@ -87,7 +87,7 @@
-define(SUPERVISOR_START,
p1_fsm:start(ejabberd_s2s_in, [SockData, Opts],
- ?FSMOPTS ++ fsm_limit_opts(Opts)).
+ ?FSMOPTS ++ fsm_limit_opts(Opts))).
-else.
diff --git a/src/ejabberd_s2s_out.erl b/src/ejabberd_s2s_out.erl
index 000cd051c..8e4454d0b 100644
--- a/src/ejabberd_s2s_out.erl
+++ b/src/ejabberd_s2s_out.erl
@@ -5,7 +5,7 @@
%%% Created : 6 Dec 2002 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/ejabberd_service.erl b/src/ejabberd_service.erl
index 818639d33..04b29d380 100644
--- a/src/ejabberd_service.erl
+++ b/src/ejabberd_service.erl
@@ -5,7 +5,7 @@
%%% Created : 6 Dec 2002 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/ejabberd_sm.erl b/src/ejabberd_sm.erl
index c30599939..1db93f6ca 100644
--- a/src/ejabberd_sm.erl
+++ b/src/ejabberd_sm.erl
@@ -5,7 +5,7 @@
%%% Created : 24 Nov 2002 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
@@ -799,7 +799,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_socket.erl b/src/ejabberd_socket.erl
index b5ed21d3d..165c53f23 100644
--- a/src/ejabberd_socket.erl
+++ b/src/ejabberd_socket.erl
@@ -5,7 +5,7 @@
%%% Created : 23 Aug 2006 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/ejabberd_sup.erl b/src/ejabberd_sup.erl
index 8f35f3ac7..c89a068b7 100644
--- a/src/ejabberd_sup.erl
+++ b/src/ejabberd_sup.erl
@@ -5,7 +5,7 @@
%%% Created : 31 Jan 2003 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/ejabberd_system_monitor.erl b/src/ejabberd_system_monitor.erl
index 6aaf6736b..011c02c40 100644
--- a/src/ejabberd_system_monitor.erl
+++ b/src/ejabberd_system_monitor.erl
@@ -5,7 +5,7 @@
%%% Created : 21 Mar 2007 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/ejabberd_tmp_sup.erl b/src/ejabberd_tmp_sup.erl
index fbd412214..9bc2046a9 100644
--- a/src/ejabberd_tmp_sup.erl
+++ b/src/ejabberd_tmp_sup.erl
@@ -5,7 +5,7 @@
%%% Created : 18 Jul 2003 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/ejabberd_update.erl b/src/ejabberd_update.erl
index b07955503..17db47fb1 100644
--- a/src/ejabberd_update.erl
+++ b/src/ejabberd_update.erl
@@ -5,7 +5,7 @@
%%% Created : 27 Jan 2006 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/ejabberd_web.erl b/src/ejabberd_web.erl
index b0b109a1b..43119fead 100644
--- a/src/ejabberd_web.erl
+++ b/src/ejabberd_web.erl
@@ -6,7 +6,7 @@
%%% Created : 28 Feb 2004 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/ejabberd_web_admin.erl b/src/ejabberd_web_admin.erl
index 8b80a071c..56172fa16 100644
--- a/src/ejabberd_web_admin.erl
+++ b/src/ejabberd_web_admin.erl
@@ -5,7 +5,7 @@
%%% Created : 9 Apr 2004 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
@@ -340,7 +340,7 @@ make_xhtml(Els, Host, Node, Lang, JID) ->
?XAE(<<"div">>, [{<<"id">>, <<"copyrightouter">>}],
[?XAE(<<"div">>, [{<<"id">>, <<"copyright">>}],
[?XC(<<"p">>,
- <<"ejabberd (c) 2002-2013 ProcessOne">>)])])])]}}.
+ <<"ejabberd (c) 2002-2014 ProcessOne">>)])])])]}}.
get_base_path(global, cluster) -> <<"/admin/">>;
get_base_path(Host, cluster) ->
@@ -1137,7 +1137,7 @@ string_to_spec2(ACLName, Val) ->
jlib:string_to_jid(Val),
case U of
<<"">> -> {ACLName, S};
- _ -> {ACLName, U, S}
+ _ -> {ACLName, {U, S}}
end.
acl_parse_delete(ACLs, Query) ->
@@ -1569,9 +1569,7 @@ user_info(User, Server, Query, Lang) ->
end,
lists:sort(Resources))))]
end,
- Password = ejabberd_auth:get_password_s(User, Server),
- FPassword = [?INPUT(<<"password">>, <<"password">>,
- Password),
+ FPassword = [?INPUT(<<"text">>, <<"password">>, <<"">>),
?C(<<" ">>),
?INPUTT(<<"submit">>, <<"chpassword">>,
<<"Change Password">>)],
@@ -2184,7 +2182,7 @@ get_node(global, Node, [<<"update">>], Query, Lang) ->
?XCT(<<"h3">>, <<"Update script">>), FmtScript,
?XCT(<<"h3">>, <<"Low level update script">>),
FmtLowLevelScript, ?XCT(<<"h3">>, <<"Script check">>),
- ?XC(<<"pre">>, (iolist_to_binary(Check))),
+ ?XC(<<"pre">>, (jlib:atom_to_binary(Check))),
?BR,
?INPUTT(<<"submit">>, <<"update">>, <<"Update">>)])];
get_node(Host, Node, NPath, Query, Lang) ->
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
%%-----------------------------
diff --git a/src/ejd2odbc.erl b/src/ejd2odbc.erl
index bc7ede491..892b8df62 100644
--- a/src/ejd2odbc.erl
+++ b/src/ejd2odbc.erl
@@ -5,7 +5,7 @@
%%% Created : 22 Aug 2005 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/eldap_filter.erl b/src/eldap_filter.erl
index 1c253c713..fc2a31219 100644
--- a/src/eldap_filter.erl
+++ b/src/eldap_filter.erl
@@ -6,7 +6,7 @@
%%% Author: Evgeniy Khramtsov <ekhramtsov@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/eldap_pool.erl b/src/eldap_pool.erl
index fe59c8d8e..87bb3182f 100644
--- a/src/eldap_pool.erl
+++ b/src/eldap_pool.erl
@@ -5,7 +5,7 @@
%%% Created : 12 Nov 2006 by Evgeniy Khramtsov <xram@jabber.ru>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/eldap_utils.erl b/src/eldap_utils.erl
index 6083563e2..a87023437 100644
--- a/src/eldap_utils.erl
+++ b/src/eldap_utils.erl
@@ -5,7 +5,7 @@
%%% Created : 12 Oct 2006 by Mickael Remond <mremond@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/extauth.erl b/src/extauth.erl
index b41067c22..51b4611be 100644
--- a/src/extauth.erl
+++ b/src/extauth.erl
@@ -5,7 +5,7 @@
%%% Created : 30 Jul 2004 by Leif Johansson <leifj@it.su.se>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/gen_iq_handler.erl b/src/gen_iq_handler.erl
index 906de114b..d8dffa0e9 100644
--- a/src/gen_iq_handler.erl
+++ b/src/gen_iq_handler.erl
@@ -5,7 +5,7 @@
%%% Created : 22 Jan 2003 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/gen_mod.erl b/src/gen_mod.erl
index 33a014107..261e6c6dd 100644
--- a/src/gen_mod.erl
+++ b/src/gen_mod.erl
@@ -6,7 +6,7 @@
%%% Created : 24 Jan 2003 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/gen_pubsub_node.erl b/src/gen_pubsub_node.erl
index 0cf1fd2ff..a1252f9f8 100644
--- a/src/gen_pubsub_node.erl
+++ b/src/gen_pubsub_node.erl
@@ -11,12 +11,12 @@
%%% under the License.
%%%
%%% The Initial Developer of the Original Code is ProcessOne.
-%%% Portions created by ProcessOne are Copyright 2006-2013, ProcessOne
+%%% Portions created by ProcessOne are Copyright 2006-2014, ProcessOne
%%% All Rights Reserved.''
-%%% This software is copyright 2006-2013, ProcessOne.
+%%% This software is copyright 2006-2014, ProcessOne.
%%%
%%%
-%%% @copyright 2006-2013 ProcessOne
+%%% @copyright 2006-2014 ProcessOne
%%% @author Christophe Romain <christophe.romain@process-one.net>
%%% [http://www.process-one.net/]
%%% @version {@vsn}, {@date} {@time}
diff --git a/src/gen_pubsub_nodetree.erl b/src/gen_pubsub_nodetree.erl
index 8acba659c..e343f4581 100644
--- a/src/gen_pubsub_nodetree.erl
+++ b/src/gen_pubsub_nodetree.erl
@@ -11,12 +11,12 @@
%%% under the License.
%%%
%%% The Initial Developer of the Original Code is ProcessOne.
-%%% Portions created by ProcessOne are Copyright 2006-2013, ProcessOne
+%%% Portions created by ProcessOne are Copyright 2006-2014, ProcessOne
%%% All Rights Reserved.''
-%%% This software is copyright 2006-2013, ProcessOne.
+%%% This software is copyright 2006-2014, ProcessOne.
%%%
%%%
-%%% @copyright 2006-2013 ProcessOne
+%%% @copyright 2006-2014 ProcessOne
%%% @author Christophe Romain <christophe.romain@process-one.net>
%%% [http://www.process-one.net/]
%%% @version {@vsn}, {@date} {@time}
diff --git a/src/idna.erl b/src/idna.erl
index 8b19f1606..ec62d4c7a 100644
--- a/src/idna.erl
+++ b/src/idna.erl
@@ -5,7 +5,7 @@
%%% Created : 10 Apr 2004 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/jd2ejd.erl b/src/jd2ejd.erl
index c904cce7f..1a75b1739 100644
--- a/src/jd2ejd.erl
+++ b/src/jd2ejd.erl
@@ -5,7 +5,7 @@
%%% Created : 2 Feb 2003 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/jlib.erl b/src/jlib.erl
index daaacdf78..0ff210652 100644
--- a/src/jlib.erl
+++ b/src/jlib.erl
@@ -5,7 +5,7 @@
%%% Created : 23 Nov 2002 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/mod_adhoc.erl b/src/mod_adhoc.erl
index 03db638da..47ce625b3 100644
--- a/src/mod_adhoc.erl
+++ b/src/mod_adhoc.erl
@@ -5,7 +5,7 @@
%%% Created : 15 Nov 2005 by Magnus Henoch <henoch@dtek.chalmers.se>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/mod_announce.erl b/src/mod_announce.erl
index 0cbe328c2..fba6d3b81 100644
--- a/src/mod_announce.erl
+++ b/src/mod_announce.erl
@@ -5,7 +5,7 @@
%%% Created : 11 Aug 2003 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/mod_blocking.erl b/src/mod_blocking.erl
index e8ca99d82..797b7573b 100644
--- a/src/mod_blocking.erl
+++ b/src/mod_blocking.erl
@@ -5,7 +5,7 @@
%%% Created : 24 Aug 2008 by Stephan Maka <stephan@spaceboyz.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/mod_caps.erl b/src/mod_caps.erl
index e221cd14d..5f529bd28 100644
--- a/src/mod_caps.erl
+++ b/src/mod_caps.erl
@@ -5,7 +5,7 @@
%%% Created : 7 Oct 2006 by Magnus Henoch <henoch@dtek.chalmers.se>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/mod_carboncopy.erl b/src/mod_carboncopy.erl
index ed7c0531f..69362bd77 100644
--- a/src/mod_carboncopy.erl
+++ b/src/mod_carboncopy.erl
@@ -7,7 +7,7 @@
%%% {mod_carboncopy, []}
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
@@ -150,7 +150,19 @@ check_and_forward(JID, #xmlel{name = <<"message">>, attrs = Attrs} = Packet, Dir
false ->
case xml:get_subtag(Packet,<<"received">>) of
false ->
- send_copies(JID, Packet, Direction);
+ %% We must check if a packet contains "<sent><forwarded></sent></forwarded>" tags in order to avoid
+ %% receiving message back to original sender.
+ SubTag = xml:get_subtag(Packet,<<"sent">>),
+ if SubTag == false ->
+ send_copies(JID, Packet, Direction);
+ true ->
+ case xml:get_subtag(SubTag,<<"forwarded">>) of
+ false->
+ send_copies(JID, Packet, Direction);
+ _ ->
+ stop
+ end
+ end;
_ ->
%% stop the hook chain, we don't want mod_logdb to register this message (duplicate)
stop
diff --git a/src/mod_configure.erl b/src/mod_configure.erl
index 52f7b4763..fab594ca1 100644
--- a/src/mod_configure.erl
+++ b/src/mod_configure.erl
@@ -5,7 +5,7 @@
%%% Created : 19 Jan 2003 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
@@ -1845,13 +1845,14 @@ set_form(From, Host, ?NS_ADMINL(<<"delete-user">>),
|| {User, Server} <- ASL2],
{result, []};
set_form(From, Host, ?NS_ADMINL(<<"end-user-session">>),
- _Lang, XData) ->
+ Lang, XData) ->
AccountString = get_value(<<"accountjid">>, XData),
JID = jlib:string_to_jid(AccountString),
LUser = JID#jid.luser,
LServer = JID#jid.lserver,
true = LServer == Host orelse
get_permission_level(From) == global,
+ Xmlelement = ?SERRT_POLICY_VIOLATION(Lang, <<"has been kicked">>),
case JID#jid.lresource of
<<>> ->
SIDs = mnesia:dirty_select(session,
@@ -1859,14 +1860,14 @@ set_form(From, Host, ?NS_ADMINL(<<"end-user-session">>),
usr = {LUser, LServer, '_'},
_ = '_'},
[], ['$1']}]),
- [Pid ! replaced || {_, Pid} <- SIDs];
+ [Pid ! {kick, kicked_by_admin, Xmlelement} || {_, Pid} <- SIDs];
R ->
[{_, Pid}] = mnesia:dirty_select(session,
[{#session{sid = '$1',
usr = {LUser, LServer, R},
_ = '_'},
[], ['$1']}]),
- Pid ! replaced
+ Pid ! {kick, kicked_by_admin, Xmlelement}
end,
{result, []};
set_form(From, Host,
diff --git a/src/mod_configure2.erl b/src/mod_configure2.erl
index 6756c2f37..0d7d727f2 100644
--- a/src/mod_configure2.erl
+++ b/src/mod_configure2.erl
@@ -5,7 +5,7 @@
%%% Created : 26 Oct 2003 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/mod_disco.erl b/src/mod_disco.erl
index 873e095e5..1f0afc3dd 100644
--- a/src/mod_disco.erl
+++ b/src/mod_disco.erl
@@ -5,7 +5,7 @@
%%% Created : 1 Jan 2003 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
@@ -487,10 +487,10 @@ get_fields_xml(Host, Module) ->
lists:map(
fun(Opts) ->
Mods = proplists:get_value(modules, Opts, all),
- Name = proplists:get_value(names, Opts, <<>>),
+ Name = proplists:get_value(name, Opts, <<>>),
URLs = proplists:get_value(urls, Opts, []),
{Mods, Name, URLs}
- end, lists:flatten(L))
+ end, L)
end, []),
Fields_good = lists:filter(fun ({Modules, _, _}) ->
case Modules of
diff --git a/src/mod_echo.erl b/src/mod_echo.erl
index 87f2f2671..db8771084 100644
--- a/src/mod_echo.erl
+++ b/src/mod_echo.erl
@@ -5,7 +5,7 @@
%%% Created : 15 Jan 2003 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/mod_http_bind.erl b/src/mod_http_bind.erl
index 2d4e1f1d5..2dcac1419 100644
--- a/src/mod_http_bind.erl
+++ b/src/mod_http_bind.erl
@@ -5,7 +5,7 @@
%%% Created : Tue Feb 20 13:15:52 CET 2007
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/mod_http_fileserver.erl b/src/mod_http_fileserver.erl
index 5ae125e1a..8807f24bf 100644
--- a/src/mod_http_fileserver.erl
+++ b/src/mod_http_fileserver.erl
@@ -5,7 +5,7 @@
%%% Created :
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/mod_ip_blacklist.erl b/src/mod_ip_blacklist.erl
index a6d4698ec..f0feb6551 100644
--- a/src/mod_ip_blacklist.erl
+++ b/src/mod_ip_blacklist.erl
@@ -7,7 +7,7 @@
%%% {mod_ip_blacklist, []}
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/mod_irc.erl b/src/mod_irc.erl
index 4ad632631..88e0f1dce 100644
--- a/src/mod_irc.erl
+++ b/src/mod_irc.erl
@@ -5,7 +5,7 @@
%%% Created : 15 Feb 2003 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
@@ -465,7 +465,7 @@ iq_get_vcard(Lang) ->
[{xmlcdata,
<<(translate:translate(Lang,
<<"ejabberd IRC module">>))/binary,
- "\nCopyright (c) 2003-2013 ProcessOne">>}]}].
+ "\nCopyright (c) 2003-2014 ProcessOne">>}]}].
command_items(ServerHost, Host, Lang) ->
lists:map(fun ({Node, Name, _Function}) ->
diff --git a/src/mod_irc_connection.erl b/src/mod_irc_connection.erl
index 569e8beff..f150d9f53 100644
--- a/src/mod_irc_connection.erl
+++ b/src/mod_irc_connection.erl
@@ -5,7 +5,7 @@
%%% Created : 15 Feb 2003 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/mod_last.erl b/src/mod_last.erl
index c170026f0..6b7a06bed 100644
--- a/src/mod_last.erl
+++ b/src/mod_last.erl
@@ -5,7 +5,7 @@
%%% Created : 24 Oct 2003 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/mod_muc.erl b/src/mod_muc.erl
index 34f174bed..160b9009d 100644
--- a/src/mod_muc.erl
+++ b/src/mod_muc.erl
@@ -5,7 +5,7 @@
%%% Created : 19 Mar 2003 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
@@ -1019,7 +1019,7 @@ iq_get_vcard(Lang) ->
[{xmlcdata,
<<(translate:translate(Lang,
<<"ejabberd MUC module">>))/binary,
- "\nCopyright (c) 2003-2013 ProcessOne">>}]}].
+ "\nCopyright (c) 2003-2014 ProcessOne">>}]}].
broadcast_service_message(Host, Msg) ->
diff --git a/src/mod_muc_log.erl b/src/mod_muc_log.erl
index cc95ecef0..e8724483e 100644
--- a/src/mod_muc_log.erl
+++ b/src/mod_muc_log.erl
@@ -5,7 +5,7 @@
%%% Created : 12 Mar 2006 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/mod_muc_room.erl b/src/mod_muc_room.erl
index e30511891..461ab1da2 100644
--- a/src/mod_muc_room.erl
+++ b/src/mod_muc_room.erl
@@ -5,7 +5,7 @@
%%% Created : 19 Mar 2003 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/mod_offline.erl b/src/mod_offline.erl
index d316d3b7c..77d333bd7 100644
--- a/src/mod_offline.erl
+++ b/src/mod_offline.erl
@@ -5,7 +5,7 @@
%%% Created : 5 Jan 2003 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/mod_ping.erl b/src/mod_ping.erl
index a4fc74499..15bfd08de 100644
--- a/src/mod_ping.erl
+++ b/src/mod_ping.erl
@@ -5,7 +5,7 @@
%%% Created : 11 Jul 2009 by Brian Cully <bjc@kublai.com>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/mod_pres_counter.erl b/src/mod_pres_counter.erl
index 0161e701a..d40d54596 100644
--- a/src/mod_pres_counter.erl
+++ b/src/mod_pres_counter.erl
@@ -5,7 +5,7 @@
%%% Created : 23 Sep 2010 by Ahmed Omar
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/mod_privacy.erl b/src/mod_privacy.erl
index 4de601670..6b852bb47 100644
--- a/src/mod_privacy.erl
+++ b/src/mod_privacy.erl
@@ -5,7 +5,7 @@
%%% Created : 21 Jul 2003 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/mod_private.erl b/src/mod_private.erl
index b21427e21..9fa74d9b7 100644
--- a/src/mod_private.erl
+++ b/src/mod_private.erl
@@ -5,7 +5,7 @@
%%% Created : 16 Jan 2003 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/mod_proxy65.erl b/src/mod_proxy65.erl
index e4b4666a4..17da3660b 100644
--- a/src/mod_proxy65.erl
+++ b/src/mod_proxy65.erl
@@ -5,7 +5,7 @@
%%% Created : 12 Oct 2006 by Evgeniy Khramtsov <xram@jabber.ru>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/mod_proxy65_lib.erl b/src/mod_proxy65_lib.erl
index e85cabc98..e43ceb7e8 100644
--- a/src/mod_proxy65_lib.erl
+++ b/src/mod_proxy65_lib.erl
@@ -5,7 +5,7 @@
%%% Created : 12 Oct 2006 by Evgeniy Khramtsov <xram@jabber.ru>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/mod_proxy65_service.erl b/src/mod_proxy65_service.erl
index a44e6ddb2..9f66cf7d2 100644
--- a/src/mod_proxy65_service.erl
+++ b/src/mod_proxy65_service.erl
@@ -5,7 +5,7 @@
%%% Created : 12 Oct 2006 by Evgeniy Khramtsov <xram@jabber.ru>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
@@ -247,7 +247,7 @@ iq_vcard(Lang) ->
[{xmlcdata,
<<(translate:translate(Lang,
<<"ejabberd SOCKS5 Bytestreams module">>))/binary,
- "\nCopyright (c) 2003-2013 ProcessOne">>}]}].
+ "\nCopyright (c) 2003-2014 ProcessOne">>}]}].
parse_options(ServerHost, Opts) ->
MyHost = gen_mod:get_opt_host(ServerHost, Opts,
diff --git a/src/mod_proxy65_sm.erl b/src/mod_proxy65_sm.erl
index 7b15a6609..fc8cd3649 100644
--- a/src/mod_proxy65_sm.erl
+++ b/src/mod_proxy65_sm.erl
@@ -5,7 +5,7 @@
%%% Created : 12 Oct 2006 by Evgeniy Khramtsov <xram@jabber.ru>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/mod_proxy65_stream.erl b/src/mod_proxy65_stream.erl
index e088b935a..958aeaa1f 100644
--- a/src/mod_proxy65_stream.erl
+++ b/src/mod_proxy65_stream.erl
@@ -4,7 +4,7 @@
%%% Purpose : Bytestream process.
%%% Created : 12 Oct 2006 by Evgeniy Khramtsov <xram@jabber.ru>
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/mod_pubsub.erl b/src/mod_pubsub.erl
index 9bb5acfa4..87d49cb54 100644
--- a/src/mod_pubsub.erl
+++ b/src/mod_pubsub.erl
@@ -13,11 +13,11 @@
%%%
%%%
%%% The Initial Developer of the Original Code is ProcessOne.
-%%% Portions created by ProcessOne are Copyright 2006-2013, ProcessOne
+%%% Portions created by ProcessOne are Copyright 2006-2014, ProcessOne
%%% All Rights Reserved.''
-%%% This software is copyright 2006-2013, ProcessOne.
+%%% This software is copyright 2006-2014, ProcessOne.
%%%
-%%% @copyright 2006-2013 ProcessOne
+%%% @copyright 2006-2014 ProcessOne
%%% @author Christophe Romain <christophe.romain@process-one.net>
%%% [http://www.process-one.net/]
%%% @version {@vsn}, {@date} {@time}
@@ -1910,7 +1910,7 @@ iq_get_vcard(Lang) ->
[{xmlcdata,
<<(translate:translate(Lang,
<<"ejabberd Publish-Subscribe module">>))/binary,
- "\nCopyright (c) 2004-2013 ProcessOne">>}]}].
+ "\nCopyright (c) 2004-2014 ProcessOne">>}]}].
-spec(iq_pubsub/6 ::
(
diff --git a/src/mod_pubsub_odbc.erl b/src/mod_pubsub_odbc.erl
index 1a182e4d6..3d26ad0fa 100644
--- a/src/mod_pubsub_odbc.erl
+++ b/src/mod_pubsub_odbc.erl
@@ -13,11 +13,11 @@
%%%
%%%
%%% The Initial Developer of the Original Code is ProcessOne.
-%%% Portions created by ProcessOne are Copyright 2006-2013, ProcessOne
+%%% Portions created by ProcessOne are Copyright 2006-2014, ProcessOne
%%% All Rights Reserved.''
-%%% This software is copyright 2006-2013, ProcessOne.
+%%% This software is copyright 2006-2014, ProcessOne.
%%%
-%%% @copyright 2006-2013 ProcessOne
+%%% @copyright 2006-2014 ProcessOne
%%% @author Christophe Romain <christophe.romain@process-one.net>
%%% [http://www.process-one.net/]
%%% @version {@vsn}, {@date} {@time}
@@ -1569,7 +1569,7 @@ iq_get_vcard(Lang) ->
[{xmlcdata,
<<(translate:translate(Lang,
<<"ejabberd Publish-Subscribe module">>))/binary,
- "\nCopyright (c) 2004-2013 ProcessOne">>}]}].
+ "\nCopyright (c) 2004-2014 ProcessOne">>}]}].
-spec(iq_pubsub/6 ::
(
diff --git a/src/mod_register.erl b/src/mod_register.erl
index 4ac18957e..21e088b5a 100644
--- a/src/mod_register.erl
+++ b/src/mod_register.erl
@@ -5,7 +5,7 @@
%%% Created : 8 Dec 2002 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/mod_register_web.erl b/src/mod_register_web.erl
index 48be33934..0da53b26d 100644
--- a/src/mod_register_web.erl
+++ b/src/mod_register_web.erl
@@ -5,7 +5,7 @@
%%% Created : 4 May 2008 by Badlop <badlop@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
@@ -484,9 +484,15 @@ form_del_get(Host, Lang) ->
%% {error, not_allowed} |
%% {error, invalid_jid}
register_account(Username, Host, Password) ->
- case jlib:make_jid(Username, Host, <<"">>) of
- error -> {error, invalid_jid};
- _ -> register_account2(Username, Host, Password)
+ Access = gen_mod:get_module_opt(Host, mod_register, access,
+ fun(A) when is_atom(A) -> A end,
+ all),
+ JID = jlib:make_jid(Username, Host, <<"">>),
+ Match = acl:match_rule(Host, Access, JID),
+ case {JID, Match} of
+ {error, _} -> {error, invalid_jid};
+ {_, deny} -> {error, not_allowed};
+ {_, allow} -> register_account2(Username, Host, Password)
end.
register_account2(Username, Host, Password) ->
diff --git a/src/mod_roster.erl b/src/mod_roster.erl
index 04b4a236f..4ab8239b5 100644
--- a/src/mod_roster.erl
+++ b/src/mod_roster.erl
@@ -5,7 +5,7 @@
%%% Created : 11 Dec 2002 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
@@ -129,6 +129,9 @@ stop(Host) ->
gen_iq_handler:remove_iq_handler(ejabberd_sm, Host,
?NS_ROSTER).
+process_iq(From, To, IQ) when ((From#jid.luser == <<"">>) andalso (From#jid.resource == <<"">>)) ->
+ process_iq_manager(From, To, IQ);
+
process_iq(From, To, IQ) ->
#iq{sub_el = SubEl} = IQ,
#jid{lserver = LServer} = From,
@@ -464,15 +467,16 @@ try_process_iq_set(From, To, #iq{sub_el = SubEl} = IQ) ->
process_iq_set(From, To, IQ)
end.
-process_iq_set(From, To, #iq{sub_el = SubEl} = IQ) ->
+process_iq_set(From, To, #iq{sub_el = SubEl, id = Id} = IQ) ->
#xmlel{children = Els} = SubEl,
- lists:foreach(fun (El) -> process_item_set(From, To, El)
+ Managed = is_managed_from_id(Id),
+ lists:foreach(fun (El) -> process_item_set(From, To, El, Managed)
end,
Els),
IQ#iq{type = result, sub_el = []}.
process_item_set(From, To,
- #xmlel{attrs = Attrs, children = Els}) ->
+ #xmlel{attrs = Attrs, children = Els}, Managed) ->
JID1 = jlib:string_to_jid(xml:get_attr_s(<<"jid">>,
Attrs)),
#jid{user = User, luser = LUser, lserver = LServer} =
@@ -483,12 +487,13 @@ process_item_set(From, To,
LJID = jlib:jid_tolower(JID1),
F = fun () ->
Item = get_roster_by_jid_t(LUser, LServer, LJID),
- Item1 = process_item_attrs(Item, Attrs),
+ Item1 = process_item_attrs_managed(Item, Attrs, Managed),
Item2 = process_item_els(Item1, Els),
case Item2#roster.subscription of
remove -> del_roster_t(LUser, LServer, LJID);
_ -> update_roster_t(LUser, LServer, LJID, Item2)
end,
+ send_itemset_to_managers(From, Item2, Managed),
Item3 = ejabberd_hooks:run_fold(roster_process_item,
LServer, Item2,
[LServer]),
@@ -510,7 +515,7 @@ process_item_set(From, To,
?DEBUG("ROSTER: roster item set error: ~p~n", [E]), ok
end
end;
-process_item_set(_From, _To, _) -> ok.
+process_item_set(_From, _To, _, _Managed) -> ok.
process_item_attrs(Item, [{Attr, Val} | Attrs]) ->
case Attr of
@@ -1553,6 +1558,91 @@ webadmin_user(Acc, _User, _Server, Lang) ->
Acc ++
[?XE(<<"h3">>, [?ACT(<<"roster/">>, <<"Roster">>)])].
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%% Implement XEP-0321 Remote Roster Management
+
+process_iq_manager(From, To, IQ) ->
+ %% Check what access is allowed for From to To
+ MatchDomain = From#jid.lserver,
+ case is_domain_managed(MatchDomain, To#jid.lserver) of
+ true ->
+ process_iq_manager2(MatchDomain, To, IQ);
+ false ->
+ #iq{sub_el = SubEl} = IQ,
+ IQ#iq{type = error, sub_el = [SubEl, ?ERR_BAD_REQUEST]}
+ end.
+
+process_iq_manager2(MatchDomain, To, IQ) ->
+ %% If IQ is SET, filter the input IQ
+ IQFiltered = maybe_filter_request(MatchDomain, IQ),
+ %% Call the standard function with reversed JIDs
+ IdInitial = IQFiltered#iq.id,
+ ResIQ = process_iq(To, To, IQFiltered#iq{id = <<"roster-remotely-managed">>}),
+ %% Filter the output IQ
+ filter_stanza(MatchDomain, ResIQ#iq{id = IdInitial}).
+
+is_domain_managed(ContactHost, UserHost) ->
+ Managers = gen_mod:get_module_opt(UserHost, ?MODULE, managers,
+ fun(B) when is_list(B) -> B end,
+ []),
+ lists:member(ContactHost, Managers).
+
+maybe_filter_request(MatchDomain, IQ) when IQ#iq.type == set ->
+ filter_stanza(MatchDomain, IQ);
+maybe_filter_request(_MatchDomain, IQ) ->
+ IQ.
+
+filter_stanza(_MatchDomain, #iq{sub_el = []} = IQ) ->
+ IQ;
+filter_stanza(MatchDomain, #iq{sub_el = [SubEl | _]} = IQ) ->
+ #iq{sub_el = SubElFiltered} = IQRes =
+ filter_stanza(MatchDomain, IQ#iq{sub_el = SubEl}),
+ IQRes#iq{sub_el = [SubElFiltered]};
+filter_stanza(MatchDomain, #iq{sub_el = SubEl} = IQ) ->
+ #xmlel{name = Type, attrs = Attrs, children = Items} = SubEl,
+ ItemsFiltered = lists:filter(
+ fun(Item) ->
+ is_item_of_domain(MatchDomain, Item) end, Items),
+ SubElFiltered = #xmlel{name=Type, attrs = Attrs, children = ItemsFiltered},
+ IQ#iq{sub_el = SubElFiltered}.
+
+is_item_of_domain(MatchDomain, #xmlel{} = El) ->
+ lists:any(fun(Attr) -> is_jid_of_domain(MatchDomain, Attr) end, El#xmlel.attrs);
+is_item_of_domain(_MatchDomain, {xmlcdata, _}) ->
+ false.
+
+is_jid_of_domain(MatchDomain, {<<"jid">>, JIDString}) ->
+ case jlib:string_to_jid(JIDString) of
+ JID when JID#jid.lserver == MatchDomain -> true;
+ _ -> false
+ end;
+is_jid_of_domain(_, _) ->
+ false.
+
+process_item_attrs_managed(Item, Attrs, true) ->
+ process_item_attrs_ws(Item, Attrs);
+process_item_attrs_managed(Item, _Attrs, false) ->
+ process_item_attrs(Item, _Attrs).
+
+send_itemset_to_managers(_From, _Item, true) ->
+ ok;
+send_itemset_to_managers(From, Item, false) ->
+ {_, UserHost} = Item#roster.us,
+ {_ContactUser, ContactHost, _ContactResource} = Item#roster.jid,
+ %% Check if the component is an allowed manager
+ IsManager = is_domain_managed(ContactHost, UserHost),
+ case IsManager of
+ true -> push_item(<<"">>, ContactHost, <<"">>, From, Item);
+ false -> ok
+ end.
+
+is_managed_from_id(<<"roster-remotely-managed">>) ->
+ true;
+is_managed_from_id(_Id) ->
+ false.
+
+
export(_Server) ->
[{roster,
fun(Host, #roster{usj = {LUser, LServer, LJID}} = R)
diff --git a/src/mod_service_log.erl b/src/mod_service_log.erl
index 97d5e954d..dd4800baa 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-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/mod_shared_roster.erl b/src/mod_shared_roster.erl
index 850be38f2..e572a3a4d 100644
--- a/src/mod_shared_roster.erl
+++ b/src/mod_shared_roster.erl
@@ -5,7 +5,7 @@
%%% Created : 5 Mar 2005 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/mod_shared_roster_ldap.erl b/src/mod_shared_roster_ldap.erl
index 63ae55899..6bf7c9f7d 100644
--- a/src/mod_shared_roster_ldap.erl
+++ b/src/mod_shared_roster_ldap.erl
@@ -7,7 +7,7 @@
%%% Created : 5 Mar 2005 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/mod_sic.erl b/src/mod_sic.erl
index 326a95962..46dfbebc1 100644
--- a/src/mod_sic.erl
+++ b/src/mod_sic.erl
@@ -5,7 +5,7 @@
%%% Created : 6 Mar 2010 by Karim Gemayel <karim.gemayel@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/mod_stats.erl b/src/mod_stats.erl
index 1da857cf0..15caa31ca 100644
--- a/src/mod_stats.erl
+++ b/src/mod_stats.erl
@@ -5,7 +5,7 @@
%%% Created : 11 Jan 2003 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/mod_time.erl b/src/mod_time.erl
index db6c26e67..119661c33 100644
--- a/src/mod_time.erl
+++ b/src/mod_time.erl
@@ -6,7 +6,7 @@
%%% Created : 18 Jan 2003 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/mod_vcard.erl b/src/mod_vcard.erl
index 730ed9aa2..c98750ed0 100644
--- a/src/mod_vcard.erl
+++ b/src/mod_vcard.erl
@@ -5,7 +5,7 @@
%%% Created : 2 Jan 2003 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
@@ -162,7 +162,7 @@ process_local_iq(_From, _To,
[{xmlcdata,
<<(translate:translate(Lang,
<<"Erlang Jabber Server">>))/binary,
- "\nCopyright (c) 2002-2013 ProcessOne">>}]},
+ "\nCopyright (c) 2002-2014 ProcessOne">>}]},
#xmlel{name = <<"BDAY">>, attrs = [],
children =
[{xmlcdata, <<"2002-11-16">>}]}]}]}
@@ -532,7 +532,7 @@ iq_get_vcard(Lang) ->
[{xmlcdata,
<<(translate:translate(Lang,
<<"ejabberd vCard module">>))/binary,
- "\nCopyright (c) 2003-2013 ProcessOne">>}]}].
+ "\nCopyright (c) 2003-2014 ProcessOne">>}]}].
find_xdata_el(#xmlel{children = SubEls}) ->
find_xdata_el1(SubEls).
diff --git a/src/mod_vcard_ldap.erl b/src/mod_vcard_ldap.erl
index 2a426f8cd..96ba25ac9 100644
--- a/src/mod_vcard_ldap.erl
+++ b/src/mod_vcard_ldap.erl
@@ -5,7 +5,7 @@
%%% Created : 2 Jan 2003 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
@@ -220,7 +220,7 @@ process_local_iq(_From, _To,
[{xmlcdata,
<<(translate:translate(Lang,
<<"Erlang Jabber Server">>))/binary,
- "\nCopyright (c) 2002-2013 ProcessOne">>}]},
+ "\nCopyright (c) 2002-2014 ProcessOne">>}]},
#xmlel{name = <<"BDAY">>, attrs = [],
children =
[{xmlcdata, <<"2002-11-16">>}]}]}]}
@@ -581,7 +581,7 @@ iq_get_vcard(Lang) ->
[{xmlcdata,
<<(translate:translate(Lang,
<<"ejabberd vCard module">>))/binary,
- "\nCopyright (c) 2003-2013 ProcessOne">>}]}].
+ "\nCopyright (c) 2003-2014 ProcessOne">>}]}].
-define(LFIELD(Label, Var),
#xmlel{name = <<"field">>,
diff --git a/src/mod_version.erl b/src/mod_version.erl
index a16e86e40..1aa026c51 100644
--- a/src/mod_version.erl
+++ b/src/mod_version.erl
@@ -5,7 +5,7 @@
%%% Created : 18 Jan 2003 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/node.template b/src/node.template
index b31d8a8e2..45744c059 100644
--- a/src/node.template
+++ b/src/node.template
@@ -11,11 +11,11 @@
%%% under the License.
%%%
%%% The Initial Developer of the Original Code is ProcessOne.
-%%% Portions created by ProcessOne are Copyright 2006-2013, ProcessOne
+%%% Portions created by ProcessOne are Copyright 2006-2014, ProcessOne
%%% All Rights Reserved.''
-%%% This software is copyright 2006-2013, ProcessOne.
+%%% This software is copyright 2006-2014, ProcessOne.
%%%
-%%% @copyright 2006-2013 ProcessOne
+%%% @copyright 2006-2014 ProcessOne
%%% @author Christophe romain <christophe.romain@process-one.net>
%%% [http://www.process-one.net/]
%%% @version {@vsn}, {@date} {@time}
diff --git a/src/node_buddy.erl b/src/node_buddy.erl
index 23269b1eb..6db076935 100644
--- a/src/node_buddy.erl
+++ b/src/node_buddy.erl
@@ -13,12 +13,12 @@
%%%
%%%
%%% The Initial Developer of the Original Code is ProcessOne.
-%%% Portions created by ProcessOne are Copyright 2006-2013, ProcessOne
+%%% Portions created by ProcessOne are Copyright 2006-2014, ProcessOne
%%% All Rights Reserved.''
-%%% This software is copyright 2006-2013, ProcessOne.
+%%% This software is copyright 2006-2014, ProcessOne.
%%%
%%%
-%%% @copyright 2006-2013 ProcessOne
+%%% @copyright 2006-2014 ProcessOne
%%% @author Christophe romain <christophe.romain@process-one.net>
%%% [http://www.process-one.net/]
%%% @version {@vsn}, {@date} {@time}
diff --git a/src/node_club.erl b/src/node_club.erl
index 10849b36d..5e6581ad8 100644
--- a/src/node_club.erl
+++ b/src/node_club.erl
@@ -13,12 +13,12 @@
%%%
%%%
%%% The Initial Developer of the Original Code is ProcessOne.
-%%% Portions created by ProcessOne are Copyright 2006-2013, ProcessOne
+%%% Portions created by ProcessOne are Copyright 2006-2014, ProcessOne
%%% All Rights Reserved.''
-%%% This software is copyright 2006-2013, ProcessOne.
+%%% This software is copyright 2006-2014, ProcessOne.
%%%
%%%
-%%% @copyright 2006-2013 ProcessOne
+%%% @copyright 2006-2014 ProcessOne
%%% @author Christophe romain <christophe.romain@process-one.net>
%%% [http://www.process-one.net/]
%%% @version {@vsn}, {@date} {@time}
diff --git a/src/node_dispatch.erl b/src/node_dispatch.erl
index 9b72af7e7..81fe20d2b 100644
--- a/src/node_dispatch.erl
+++ b/src/node_dispatch.erl
@@ -13,12 +13,12 @@
%%%
%%%
%%% The Initial Developer of the Original Code is ProcessOne.
-%%% Portions created by ProcessOne are Copyright 2006-2013, ProcessOne
+%%% Portions created by ProcessOne are Copyright 2006-2014, ProcessOne
%%% All Rights Reserved.''
-%%% This software is copyright 2006-2013, ProcessOne.
+%%% This software is copyright 2006-2014, ProcessOne.
%%%
%%%
-%%% @copyright 2006-2013 ProcessOne
+%%% @copyright 2006-2014 ProcessOne
%%% @author Christophe romain <christophe.romain@process-one.net>
%%% [http://www.process-one.net/]
%%% @version {@vsn}, {@date} {@time}
diff --git a/src/node_flat.erl b/src/node_flat.erl
index 836858520..e28fd3477 100644
--- a/src/node_flat.erl
+++ b/src/node_flat.erl
@@ -13,11 +13,11 @@
%%%
%%%
%%% The Initial Developer of the Original Code is ProcessOne.
-%%% Portions created by ProcessOne are Copyright 2006-2013, ProcessOne
+%%% Portions created by ProcessOne are Copyright 2006-2014, ProcessOne
%%% All Rights Reserved.''
-%%% This software is copyright 2006-2013, ProcessOne.
+%%% This software is copyright 2006-2014, ProcessOne.
%%%
-%%% @copyright 2006-2013 ProcessOne
+%%% @copyright 2006-2014 ProcessOne
%%% @author Christophe Romain <christophe.romain@process-one.net>
%%% [http://www.process-one.net/]
%%% @version {@vsn}, {@date} {@time}
diff --git a/src/node_flat_odbc.erl b/src/node_flat_odbc.erl
index 5736832ea..d299c8d52 100644
--- a/src/node_flat_odbc.erl
+++ b/src/node_flat_odbc.erl
@@ -13,11 +13,11 @@
%%%
%%%
%%% The Initial Developer of the Original Code is ProcessOne.
-%%% Portions created by ProcessOne are Copyright 2006-2013, ProcessOne
+%%% Portions created by ProcessOne are Copyright 2006-2014, ProcessOne
%%% All Rights Reserved.''
-%%% This software is copyright 2006-2013, ProcessOne.
+%%% This software is copyright 2006-2014, ProcessOne.
%%%
-%%% @copyright 2006-2013 ProcessOne
+%%% @copyright 2006-2014 ProcessOne
%%% @author Christophe Romain <christophe.romain@process-one.net>
%%% [http://www.process-one.net/]
%%% @version {@vsn}, {@date} {@time}
diff --git a/src/node_hometree.erl b/src/node_hometree.erl
index ff291635f..f59d8d9c0 100644
--- a/src/node_hometree.erl
+++ b/src/node_hometree.erl
@@ -13,12 +13,12 @@
%%%
%%%
%%% The Initial Developer of the Original Code is ProcessOne.
-%%% Portions created by ProcessOne are Copyright 2006-2013, ProcessOne
+%%% Portions created by ProcessOne are Copyright 2006-2014, ProcessOne
%%% All Rights Reserved.''
-%%% This software is copyright 2006-2013, ProcessOne.
+%%% This software is copyright 2006-2014, ProcessOne.
%%%
%%%
-%%% @copyright 2006-2013 ProcessOne
+%%% @copyright 2006-2014 ProcessOne
%%% @author Christophe Romain <christophe.romain@process-one.net>
%%% [http://www.process-one.net/]
%%% @version {@vsn}, {@date} {@time}
diff --git a/src/node_hometree_odbc.erl b/src/node_hometree_odbc.erl
index a98e56dcf..dfb9886f2 100644
--- a/src/node_hometree_odbc.erl
+++ b/src/node_hometree_odbc.erl
@@ -13,12 +13,12 @@
%%%
%%%
%%% The Initial Developer of the Original Code is ProcessOne.
-%%% Portions created by ProcessOne are Copyright 2006-2013, ProcessOne
+%%% Portions created by ProcessOne are Copyright 2006-2014, ProcessOne
%%% All Rights Reserved.''
-%%% This software is copyright 2006-2013, ProcessOne.
+%%% This software is copyright 2006-2014, ProcessOne.
%%%
%%%
-%%% @copyright 2006-2013 ProcessOne
+%%% @copyright 2006-2014 ProcessOne
%%% @author Christophe Romain <christophe.romain@process-one.net>
%%% [http://www.process-one.net/]
%%% @version {@vsn}, {@date} {@time}
diff --git a/src/node_mb.erl b/src/node_mb.erl
index c626b7a93..6587b5c07 100644
--- a/src/node_mb.erl
+++ b/src/node_mb.erl
@@ -13,12 +13,12 @@
%%%
%%%
%%% The Initial Developer of the Original Code is ProcessOne.
-%%% Portions created by ProcessOne are Copyright 2006-2013, ProcessOne
+%%% Portions created by ProcessOne are Copyright 2006-2014, ProcessOne
%%% All Rights Reserved.''
-%%% This software is copyright 2006-2013, ProcessOne.
+%%% This software is copyright 2006-2014, ProcessOne.
%%%
%%%
-%%% @copyright 2006-2013 ProcessOne
+%%% @copyright 2006-2014 ProcessOne
%%% @author Eric Cestari <eric@ohmforce.com>
%%% @version {@vsn}, {@date} {@time}
%%% @end
diff --git a/src/node_pep.erl b/src/node_pep.erl
index 5635dee94..47afee945 100644
--- a/src/node_pep.erl
+++ b/src/node_pep.erl
@@ -13,12 +13,12 @@
%%%
%%%
%%% The Initial Developer of the Original Code is ProcessOne.
-%%% Portions created by ProcessOne are Copyright 2006-2013, ProcessOne
+%%% Portions created by ProcessOne are Copyright 2006-2014, ProcessOne
%%% All Rights Reserved.''
-%%% This software is copyright 2006-2013, ProcessOne.
+%%% This software is copyright 2006-2014, ProcessOne.
%%%
%%%
-%%% @copyright 2006-2013 ProcessOne
+%%% @copyright 2006-2014 ProcessOne
%%% @author Christophe Romain <christophe.romain@process-one.net>
%%% [http://www.process-one.net/]
%%% @version {@vsn}, {@date} {@time}
diff --git a/src/node_pep_odbc.erl b/src/node_pep_odbc.erl
index e4e1fafa9..4c7d8909b 100644
--- a/src/node_pep_odbc.erl
+++ b/src/node_pep_odbc.erl
@@ -13,12 +13,12 @@
%%%
%%%
%%% The Initial Developer of the Original Code is ProcessOne.
-%%% Portions created by ProcessOne are Copyright 2006-2013, ProcessOne
+%%% Portions created by ProcessOne are Copyright 2006-2014, ProcessOne
%%% All Rights Reserved.''
-%%% This software is copyright 2006-2013, ProcessOne.
+%%% This software is copyright 2006-2014, ProcessOne.
%%%
%%%
-%%% @copyright 2006-2013 ProcessOne
+%%% @copyright 2006-2014 ProcessOne
%%% @author Christophe Romain <christophe.romain@process-one.net>
%%% [http://www.process-one.net/]
%%% @version {@vsn}, {@date} {@time}
diff --git a/src/node_private.erl b/src/node_private.erl
index 27b7158a1..61f6d6a68 100644
--- a/src/node_private.erl
+++ b/src/node_private.erl
@@ -13,12 +13,12 @@
%%%
%%%
%%% The Initial Developer of the Original Code is ProcessOne.
-%%% Portions created by ProcessOne are Copyright 2006-2013, ProcessOne
+%%% Portions created by ProcessOne are Copyright 2006-2014, ProcessOne
%%% All Rights Reserved.''
-%%% This software is copyright 2006-2013, ProcessOne.
+%%% This software is copyright 2006-2014, ProcessOne.
%%%
%%%
-%%% @copyright 2006-2013 ProcessOne
+%%% @copyright 2006-2014 ProcessOne
%%% @author Christophe romain <christophe.romain@process-one.net>
%%% [http://www.process-one.net/]
%%% @version {@vsn}, {@date} {@time}
diff --git a/src/node_public.erl b/src/node_public.erl
index 3c391cfe8..bcabec6eb 100644
--- a/src/node_public.erl
+++ b/src/node_public.erl
@@ -13,12 +13,12 @@
%%%
%%%
%%% The Initial Developer of the Original Code is ProcessOne.
-%%% Portions created by ProcessOne are Copyright 2006-2013, ProcessOne
+%%% Portions created by ProcessOne are Copyright 2006-2014, ProcessOne
%%% All Rights Reserved.''
-%%% This software is copyright 2006-2013, ProcessOne.
+%%% This software is copyright 2006-2014, ProcessOne.
%%%
%%%
-%%% @copyright 2006-2013 ProcessOne
+%%% @copyright 2006-2014 ProcessOne
%%% @author Christophe romain <christophe.romain@process-one.net>
%%% [http://www.process-one.net/]
%%% @version {@vsn}, {@date} {@time}
diff --git a/src/nodetree_tree.erl b/src/nodetree_tree.erl
index 23159d7a2..1dc7fa9fb 100644
--- a/src/nodetree_tree.erl
+++ b/src/nodetree_tree.erl
@@ -13,12 +13,12 @@
%%%
%%%
%%% The Initial Developer of the Original Code is ProcessOne.
-%%% Portions created by ProcessOne are Copyright 2006-2013, ProcessOne
+%%% Portions created by ProcessOne are Copyright 2006-2014, ProcessOne
%%% All Rights Reserved.''
-%%% This software is copyright 2006-2013, ProcessOne.
+%%% This software is copyright 2006-2014, ProcessOne.
%%%
%%%
-%%% @copyright 2006-2013 ProcessOne
+%%% @copyright 2006-2014 ProcessOne
%%% @author Christophe Romain <christophe.romain@process-one.net>
%%% [http://www.process-one.net/]
%%% @version {@vsn}, {@date} {@time}
diff --git a/src/nodetree_tree_odbc.erl b/src/nodetree_tree_odbc.erl
index 1cc45cfb5..1a5a4317f 100644
--- a/src/nodetree_tree_odbc.erl
+++ b/src/nodetree_tree_odbc.erl
@@ -13,12 +13,12 @@
%%%
%%%
%%% The Initial Developer of the Original Code is ProcessOne.
-%%% Portions created by ProcessOne are Copyright 2006-2013, ProcessOne
+%%% Portions created by ProcessOne are Copyright 2006-2014, ProcessOne
%%% All Rights Reserved.''
-%%% This software is copyright 2006-2013, ProcessOne.
+%%% This software is copyright 2006-2014, ProcessOne.
%%%
%%%
-%%% @copyright 2006-2013 ProcessOne
+%%% @copyright 2006-2014 ProcessOne
%%% @author Christophe Romain <christophe.romain@process-one.net>
%%% [http://www.process-one.net/]
%%% @version {@vsn}, {@date} {@time}
diff --git a/src/nodetree_virtual.erl b/src/nodetree_virtual.erl
index 1486fbc05..9e2e31f9f 100644
--- a/src/nodetree_virtual.erl
+++ b/src/nodetree_virtual.erl
@@ -13,12 +13,12 @@
%%%
%%%
%%% The Initial Developer of the Original Code is ProcessOne.
-%%% Portions created by ProcessOne are Copyright 2006-2013, ProcessOne
+%%% Portions created by ProcessOne are Copyright 2006-2014, ProcessOne
%%% All Rights Reserved.''
-%%% This software is copyright 2006-2013, ProcessOne.
+%%% This software is copyright 2006-2014, ProcessOne.
%%%
%%%
-%%% @copyright 2006-2013 ProcessOne
+%%% @copyright 2006-2014 ProcessOne
%%% @author Christophe Romain <christophe.romain@process-one.net>
%%% [http://www.process-one.net/]
%%% @version {@vsn}, {@date} {@time}
diff --git a/src/odbc_queries.erl b/src/odbc_queries.erl
index 29442b472..e0637f840 100644
--- a/src/odbc_queries.erl
+++ b/src/odbc_queries.erl
@@ -5,7 +5,7 @@
%%% Created : by Mickael Remond <mremond@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/p1_fsm.erl b/src/p1_fsm.erl
index 70773e9b8..80f08c609 100644
--- a/src/p1_fsm.erl
+++ b/src/p1_fsm.erl
@@ -14,7 +14,7 @@
%% AB. All Rights Reserved.''
%%
%% The code has been modified and improved by ProcessOne.
-%% Copyright 2007-2013, ProcessOne
+%% Copyright 2007-2014, ProcessOne
%%
%% The change adds the following features:
%% - You can send exit(priority_shutdown) to the p1_fsm process to
diff --git a/src/p1_mnesia.erl b/src/p1_mnesia.erl
index fa308176c..b792472a6 100644
--- a/src/p1_mnesia.erl
+++ b/src/p1_mnesia.erl
@@ -13,10 +13,10 @@
%%%
%%%
%%% The Initial Developer of the Original Code is ProcessOne.
-%%% Portions created by ProcessOne are Copyright 2006-2013, ProcessOne
+%%% Portions created by ProcessOne are Copyright 2006-2014, ProcessOne
%%% All Rights Reserved.''
%%%
-%%% This software is copyright 2006-2013, ProcessOne.
+%%% This software is copyright 2006-2014, ProcessOne.
-module(p1_mnesia).
diff --git a/src/pubsub_db_odbc.erl b/src/pubsub_db_odbc.erl
index ca1318865..320a58c90 100644
--- a/src/pubsub_db_odbc.erl
+++ b/src/pubsub_db_odbc.erl
@@ -11,9 +11,9 @@
%%% under the License.
%%%
%%% The Initial Developer of the Original Code is ProcessOne.
-%%% Portions created by ProcessOne are Copyright 2006-2013, ProcessOne
+%%% Portions created by ProcessOne are Copyright 2006-2014, ProcessOne
%%% All Rights Reserved.''
-%%% This software is copyright 2006-2013, ProcessOne.
+%%% This software is copyright 2006-2014, ProcessOne.
%%%
%%% @author Pablo Polvorin <pablo.polvorin@process-one.net>
%%% @version {@vsn}, {@date} {@time}
diff --git a/src/pubsub_index.erl b/src/pubsub_index.erl
index 1ff5a1e45..9859141df 100644
--- a/src/pubsub_index.erl
+++ b/src/pubsub_index.erl
@@ -13,12 +13,12 @@
%%%
%%%
%%% The Initial Developer of the Original Code is ProcessOne.
-%%% Portions created by ProcessOne are Copyright 2006-2013, ProcessOne
+%%% Portions created by ProcessOne are Copyright 2006-2014, ProcessOne
%%% All Rights Reserved.''
-%%% This software is copyright 2006-2013, ProcessOne.
+%%% This software is copyright 2006-2014, ProcessOne.
%%%
%%%
-%%% @copyright 2006-2013 ProcessOne
+%%% @copyright 2006-2014 ProcessOne
%%% @author Christophe Romain <christophe.romain@process-one.net>
%%% [http://www.process-one.net/]
%%% @version {@vsn}, {@date} {@time}
diff --git a/src/pubsub_subscription.erl b/src/pubsub_subscription.erl
index bb09cdd60..64bb8c2da 100644
--- a/src/pubsub_subscription.erl
+++ b/src/pubsub_subscription.erl
@@ -11,9 +11,9 @@
%%% under the License.
%%%
%%% The Initial Developer of the Original Code is ProcessOne.
-%%% Portions created by ProcessOne are Copyright 2006-2013, ProcessOne
+%%% Portions created by ProcessOne are Copyright 2006-2014, ProcessOne
%%% All Rights Reserved.''
-%%% This software is copyright 2006-2013, ProcessOne.
+%%% This software is copyright 2006-2014, ProcessOne.
%%%
%%% @author Brian Cully <bjc@kublai.com>
%%% @version {@vsn}, {@date} {@time}
diff --git a/src/pubsub_subscription_odbc.erl b/src/pubsub_subscription_odbc.erl
index 55b337c80..f0efcefb5 100644
--- a/src/pubsub_subscription_odbc.erl
+++ b/src/pubsub_subscription_odbc.erl
@@ -11,9 +11,9 @@
%%% under the License.
%%%
%%% The Initial Developer of the Original Code is ProcessOne.
-%%% Portions created by ProcessOne are Copyright 2006-2013, ProcessOne
+%%% Portions created by ProcessOne are Copyright 2006-2014, ProcessOne
%%% All Rights Reserved.''
-%%% This software is copyright 2006-2013, ProcessOne.
+%%% This software is copyright 2006-2014, ProcessOne.
%%%
%%% @author Pablo Polvorin <pablo.polvorin@process-one.net>
%%% @author based on pubsub_subscription.erl by Brian Cully <bjc@kublai.com>
diff --git a/src/randoms.erl b/src/randoms.erl
index 39c106675..db2d20ccd 100644
--- a/src/randoms.erl
+++ b/src/randoms.erl
@@ -5,7 +5,7 @@
%%% Created : 13 Dec 2002 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/scram.erl b/src/scram.erl
index 38992a688..19684cb46 100644
--- a/src/scram.erl
+++ b/src/scram.erl
@@ -5,7 +5,7 @@
%%% Created : 7 Aug 2011 by Stephen Röttger <stephen.roettger@googlemail.com>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/shaper.erl b/src/shaper.erl
index 643fa5b2b..a31ec5560 100644
--- a/src/shaper.erl
+++ b/src/shaper.erl
@@ -5,7 +5,7 @@
%%% Created : 9 Feb 2003 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
@@ -83,8 +83,6 @@ new(Name) ->
[#shaper{maxrate = R}] ->
R;
[] ->
- ?WARNING_MSG("Attempt to initialize an "
- "unspecified shaper '~s'", [Name]),
none
end,
new1(MaxRate).
diff --git a/src/str.erl b/src/str.erl
index 1bd9440df..cd0325e84 100644
--- a/src/str.erl
+++ b/src/str.erl
@@ -5,7 +5,7 @@
%%% Created : 23 Feb 2012 by Evgeniy Khramtsov <ekhramtsov@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/translate.erl b/src/translate.erl
index 9abb12f1f..10199f648 100644
--- a/src/translate.erl
+++ b/src/translate.erl
@@ -5,7 +5,7 @@
%%% Created : 6 Jan 2003 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/treap.erl b/src/treap.erl
index 50c0b9534..9d1d69fc9 100644
--- a/src/treap.erl
+++ b/src/treap.erl
@@ -5,7 +5,7 @@
%%% Created : 22 Apr 2008 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
diff --git a/src/win32_dns.erl b/src/win32_dns.erl
index cbcefb280..d3f25648b 100644
--- a/src/win32_dns.erl
+++ b/src/win32_dns.erl
@@ -5,7 +5,7 @@
%%% Created : 5 Mar 2009 by Geoff Cant
%%%
%%%
-%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%% ejabberd, Copyright (C) 2002-2014 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as