Skip to content

Commit

Permalink
Merge 1925 from trunk.
Browse files Browse the repository at this point in the history
* src/mod_proxy65/mod_proxy65_service.erl: if an ip option is not
defined, the module takes an IP address of a local
hostname (thanks to Evgeniy Khramtsov)

SVN Revision: 1978
  • Loading branch information
badlop committed Mar 9, 2009
1 parent a614508 commit 10b22b5
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 11 deletions.
6 changes: 6 additions & 0 deletions ChangeLog
@@ -1,3 +1,9 @@
2009-03-09 Badlop <badlop@process-one.net>

* src/mod_proxy65/mod_proxy65_service.erl: if an ip option is not
defined, the module takes an IP address of a local
hostname (thanks to Evgeniy Khramtsov)

2009-03-07 Badlop <badlop@process-one.net>

* src/ejabberd_c2s.erl: Enforce privacy rules also for
Expand Down
18 changes: 7 additions & 11 deletions src/mod_proxy65/mod_proxy65_service.erl
Expand Up @@ -197,9 +197,9 @@ parse_options(ServerHost, Opts) ->
ACL = gen_mod:get_opt(access, Opts, all),
Name = gen_mod:get_opt(name, Opts, "SOCKS5 Bytestreams"),
IP = case gen_mod:get_opt(ip, Opts, none) of
none -> get_proxy_or_domainip(ServerHost, MyHost);
Addr -> Addr
end,
none -> get_my_ip();
Addr -> Addr
end,
StrIP = inet_parse:ntoa(IP),
StreamAddr = [{"jid", MyHost}, {"host", StrIP}, {"port", integer_to_list(Port)}],
{IP, #state{myhost = MyHost,
Expand All @@ -209,13 +209,9 @@ parse_options(ServerHost, Opts) ->
stream_addr = StreamAddr,
acl = ACL}}.

%% Return the IP of the proxy host, or if not found, the ip of the xmpp domain
get_proxy_or_domainip(ServerHost, MyHost) ->
case inet:getaddr(MyHost, inet) of
get_my_ip() ->
{ok, MyHostName} = inet:gethostname(),
case inet:getaddr(MyHostName, inet) of
{ok, Addr} -> Addr;
{error, _} ->
case inet:getaddr(ServerHost, inet) of
{ok, Addr} -> Addr;
{error, _} -> {127,0,0,1}
end
{error, _} -> {127,0,0,1}
end.

0 comments on commit 10b22b5

Please sign in to comment.