mirror of
https://github.com/processone/ejabberd
synced 2025-10-04 18:29:20 +02:00
Merge 1925 from trunk.
* 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
This commit is contained in:
parent
a6145084f1
commit
10b22b52ef
2 changed files with 13 additions and 11 deletions
|
@ -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
|
||||
|
|
|
@ -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,
|
||||
|
@ -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.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue