aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey Shchepin <alexey@process-one.net>2007-02-22 05:03:51 +0000
committerAlexey Shchepin <alexey@process-one.net>2007-02-22 05:03:51 +0000
commit6dc78ef0b5a9fd9198c3e7eedbb1092b5e87026d (patch)
treed4b319bde7cd23f3d090498cb10c146cb7dad429
parent* src/ejabberd_c2s.erl: Init shaper with a default value first (diff)
* src/mod_proxy65/mod_proxy65_sm.erl: Cluster support (thanks to
Evgeniy Khramtsov) * src/mod_proxy65/mod_proxy65_stream.erl: Code cleanup (thanks to Evgeniy Khramtsov) * src/mod_proxy65/mod_proxy65.hrl: Fixed typo (thanks to Evgeniy Khramtsov) SVN Revision: 736
Diffstat (limited to '')
-rw-r--r--ChangeLog11
-rw-r--r--src/mod_proxy65/mod_proxy65.hrl2
-rw-r--r--src/mod_proxy65/mod_proxy65_sm.erl1
-rw-r--r--src/mod_proxy65/mod_proxy65_stream.erl9
4 files changed, 17 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index 732436543..370a95bb0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2007-02-22 Alexey Shchepin <alexey@sevcom.net>
+
+ * src/mod_proxy65/mod_proxy65_sm.erl: Cluster support (thanks to
+ Evgeniy Khramtsov)
+
+ * src/mod_proxy65/mod_proxy65_stream.erl: Code cleanup (thanks to
+ Evgeniy Khramtsov)
+
+ * src/mod_proxy65/mod_proxy65.hrl: Fixed typo (thanks to Evgeniy
+ Khramtsov)
+
2007-02-20 Alexey Shchepin <alexey@sevcom.net>
* src/ejabberd_c2s.erl: Init shaper with a default value first
diff --git a/src/mod_proxy65/mod_proxy65.hrl b/src/mod_proxy65/mod_proxy65.hrl
index e01912383..eeab6804d 100644
--- a/src/mod_proxy65/mod_proxy65.hrl
+++ b/src/mod_proxy65/mod_proxy65.hrl
@@ -27,7 +27,7 @@
%% RFC 1928 replies
-define(SUCCESS, 0).
--define(ERR_GENERAL_FAILURE, 0).
+-define(ERR_GENERAL_FAILURE, 1).
-define(ERR_NOT_ALLOWED, 2).
-define(ERR_NETWORK_UNREACHABLE, 3).
-define(ERR_HOST_UNREACHABLE, 4).
diff --git a/src/mod_proxy65/mod_proxy65_sm.erl b/src/mod_proxy65/mod_proxy65_sm.erl
index e799432f3..7ddfd2c89 100644
--- a/src/mod_proxy65/mod_proxy65_sm.erl
+++ b/src/mod_proxy65/mod_proxy65_sm.erl
@@ -55,6 +55,7 @@ start_link(Host, Opts) ->
init([Opts]) ->
mnesia:create_table(bytestream, [{ram_copies, [node()]},
{attributes, record_info(fields, bytestream)}]),
+ mnesia:add_table_copy(bytestream, node(), ram_copies),
MaxConnections = gen_mod:get_opt(max_connections, Opts, infinity),
{ok, #state{max_connections=MaxConnections}}.
diff --git a/src/mod_proxy65/mod_proxy65_stream.erl b/src/mod_proxy65/mod_proxy65_stream.erl
index 1f4a75dd8..1a1503384 100644
--- a/src/mod_proxy65/mod_proxy65_stream.erl
+++ b/src/mod_proxy65/mod_proxy65_stream.erl
@@ -51,8 +51,7 @@
sha1, %% SHA1 key
host, %% virtual host
auth_type, %% authentication type: anonymous or plain
- shaper, %% Shaper name
- active = false %% Activity flag
+ shaper %% Shaper name
}).
%% Unused callbacks
@@ -83,9 +82,9 @@ init([Socket, Host, Opts]) ->
shaper = Shaper,
timer = TRef}}.
-terminate(_Reason, _StateName, #state{sha1=SHA1,active=Flag}) ->
+terminate(_Reason, StateName, #state{sha1=SHA1}) ->
catch mod_proxy65_sm:unregister_stream(SHA1),
- if Flag==true ->
+ if StateName == stream_established ->
?INFO_MSG("Bytestream terminated", []);
true ->
ok
@@ -199,7 +198,7 @@ handle_info({activate, PeerPid, PeerSocket, IJid, TJid},
Host = StateData#state.host,
MaxRate = find_maxrate(Shaper, IJid, TJid, Host),
spawn_link(?MODULE, relay, [MySocket, PeerSocket, MaxRate]),
- {next_state, stream_established, StateData#state{active=true}};
+ {next_state, stream_established, StateData};
%% Socket closed
handle_info({tcp_closed, _Socket}, _StateName, StateData) ->