aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey Shchepin <alexey@process-one.net>2007-03-13 16:01:39 +0000
committerAlexey Shchepin <alexey@process-one.net>2007-03-13 16:01:39 +0000
commitc917642b7f098c01f623efdc7b8a9fdc8d33fb53 (patch)
treee78b236a17ac1ed070cbcdc5aa1eb13a286b147b
parent* src/ejabberd_service.erl: Add extra info in the log about which (diff)
* src/ejabberd_service.erl: Added shaper_rule option, changed
service connection log message SVN Revision: 744
-rw-r--r--ChangeLog15
-rw-r--r--src/ejabberd.cfg.example2
-rw-r--r--src/ejabberd_service.erl13
3 files changed, 18 insertions, 12 deletions
diff --git a/ChangeLog b/ChangeLog
index ce13238bc..8354d542a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2007-03-13 Alexey Shchepin <alexey@sevcom.net>
+
+ * src/ejabberd_service.erl: Added shaper_rule option, changed
+ service connection log message
+
2007-03-13 Mickael Remond <mickael.remond@process-one.net>
* src/ejabberd_service.erl: Add extra info in the log about which
@@ -10,17 +15,19 @@
* src/web/ejabberd_http.erl: Support for binaries in ejabberd HTTP
server (Thanks to Massimiliano Mirra) (EJAB-197).
- * src/configure.ac: autoconf improvements (thanks to Tony Finch) (EJAB-204).
+ * src/configure.ac: autoconf improvements (thanks to Tony Finch)
+ (EJAB-204).
* src/aclocal.m4: Likewise.
* src/odbc/ejabberd_odbc.erl: ejabberd admin can now choose the
- relational database port to user from ejabberd configuration
- file (EJAB-195).
+ relational database port to user from ejabberd configuration file
+ (EJAB-195).
* src/doc/guide.tex: Likewise.
2007-03-02 Mickael Remond <mickael.remond@process-one.net>
- * src/mod_muc/mod_muc_log.erl: Fix wrong return on check access log.
+ * src/mod_muc/mod_muc_log.erl: Fix wrong return on check access
+ log.
2007-03-01 Alexey Shchepin <alexey@sevcom.net>
diff --git a/src/ejabberd.cfg.example b/src/ejabberd.cfg.example
index 2ef4550cc..654313355 100644
--- a/src/ejabberd.cfg.example
+++ b/src/ejabberd.cfg.example
@@ -131,7 +131,7 @@
{max_stanza_size, 131072}
]},
{5280, ejabberd_http, [http_poll, web_admin]},
- {8888, ejabberd_service, [{access, all},
+ {8888, ejabberd_service, [{access, all}, {shaper_rule, fast},
{hosts, ["icq.localhost", "sms.localhost"],
[{password, "secret"}]}]}
]}.
diff --git a/src/ejabberd_service.erl b/src/ejabberd_service.erl
index 6ebea37cd..0d635b512 100644
--- a/src/ejabberd_service.erl
+++ b/src/ejabberd_service.erl
@@ -35,7 +35,6 @@
-record(state, {socket, sockmod, streamid,
hosts, password, access}).
--record(socket_state, {sockmod, socket, receiver}).
%-define(DBGFSM, true).
@@ -95,12 +94,7 @@ socket_type() ->
%% {stop, StopReason}
%%----------------------------------------------------------------------
init([{SockMod, Socket}, Opts]) ->
- ?INFO_MSG("External service connected on receiver ~p,~n~p:~n~p~n",
- [Socket#socket_state.receiver,
- Socket#socket_state.socket,
- {erlang:port_info(Socket#socket_state.socket),
- inet:sockname(Socket#socket_state.socket),
- inet:peername(Socket#socket_state.socket)}]),
+ ?INFO_MSG("(~w) External service connected", [Socket]),
Access = case lists:keysearch(access, 1, Opts) of
{value, {_, A}} -> A;
_ -> all
@@ -130,6 +124,11 @@ init([{SockMod, Socket}, Opts]) ->
false
end
end,
+ Shaper = case lists:keysearch(shaper_rule, 1, Opts) of
+ {value, {_, S}} -> S;
+ _ -> none
+ end,
+ SockMod:change_shaper(Socket, Shaper),
{ok, wait_for_stream, #state{socket = Socket,
sockmod = SockMod,
streamid = new_id(),