This version is a maintenance release containing 20 bugfixes and improvements. http://secunia.com/advisories/34340/
50 lines
1.6 KiB
Text
50 lines
1.6 KiB
Text
$NetBSD: patch-ah,v 1.2 2009/03/22 10:39:44 martti Exp $
|
|
|
|
Modified to use IPv6/v4 patch (https://support.process-one.net/browse/EJAB-389)
|
|
|
|
--- src/mod_proxy65/mod_proxy65_service.erl.orig 2009-03-12 08:41:02.000000000 +0000
|
|
+++ src/mod_proxy65/mod_proxy65_service.erl 2009-03-22 10:27:50.000000000 +0000
|
|
@@ -52,6 +52,7 @@
|
|
name,
|
|
stream_addr,
|
|
port,
|
|
+ ip,
|
|
acl
|
|
}).
|
|
|
|
@@ -69,14 +70,14 @@
|
|
gen_server:start_link({local, Proc}, ?MODULE, [Host, Opts], []).
|
|
|
|
init([Host, Opts]) ->
|
|
- {IP, State} = parse_options(Host, Opts),
|
|
- NewOpts = [Host, {ip, IP} | Opts],
|
|
- ejabberd_listener:add_listener(State#state.port, mod_proxy65_stream, NewOpts),
|
|
+ State = parse_options(Host, Opts),
|
|
+ NewOpts = [Host | Opts],
|
|
+ ejabberd_listener:add_listener({State#state.port, State#state.ip}, mod_proxy65_stream, NewOpts),
|
|
ejabberd_router:register_route(State#state.myhost),
|
|
{ok, State}.
|
|
|
|
-terminate(_Reason, #state{myhost=MyHost, port=Port}) ->
|
|
- catch ejabberd_listener:delete_listener(Port),
|
|
+terminate(_Reason, #state{myhost=MyHost, port=Port, ip=IP}) ->
|
|
+ catch ejabberd_listener:delete_listener({Port, IP}),
|
|
ejabberd_router:unregister_route(MyHost),
|
|
ok.
|
|
|
|
@@ -202,12 +203,13 @@
|
|
end,
|
|
StrIP = inet_parse:ntoa(IP),
|
|
StreamAddr = [{"jid", MyHost}, {"host", StrIP}, {"port", integer_to_list(Port)}],
|
|
- {IP, #state{myhost = MyHost,
|
|
+ #state{myhost = MyHost,
|
|
serverhost = ServerHost,
|
|
name = Name,
|
|
port = Port,
|
|
+ ip = IP,
|
|
stream_addr = StreamAddr,
|
|
- acl = ACL}}.
|
|
+ acl = ACL}.
|
|
|
|
get_my_ip() ->
|
|
{ok, MyHostName} = inet:gethostname(),
|