diff options
author | Evgeniy Khramtsov <xramtsov@gmail.com> | 2009-02-27 03:22:40 +0000 |
---|---|---|
committer | Evgeniy Khramtsov <xramtsov@gmail.com> | 2009-02-27 03:22:40 +0000 |
commit | b766109f66232a5b895e9a698516b888f55588a4 (patch) | |
tree | 2fe85bf51891072c75131b46c8b9fcfe5423b525 /src/mod_proxy65 | |
parent | cosmetic changes (diff) |
* src/mod_proxy65/mod_proxy65_service.erl: if an ip option is not defined, the module takes an IP address of a local hostname.
SVN Revision: 1925
Diffstat (limited to 'src/mod_proxy65')
-rw-r--r-- | src/mod_proxy65/mod_proxy65_service.erl | 32 |
1 files changed, 14 insertions, 18 deletions
diff --git a/src/mod_proxy65/mod_proxy65_service.erl b/src/mod_proxy65/mod_proxy65_service.erl index ee11e3db0..901b5261c 100644 --- a/src/mod_proxy65/mod_proxy65_service.erl +++ b/src/mod_proxy65/mod_proxy65_service.erl @@ -215,26 +215,22 @@ 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)}], #state{myhost = MyHost, - serverhost = ServerHost, - name = Name, - port = Port, - ip = IP, - 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 + serverhost = ServerHost, + name = Name, + port = Port, + ip = IP, + stream_addr = StreamAddr, + acl = ACL}. + +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. |