]> granicus.if.org Git - ejabberd/commitdiff
Merge 1925 from trunk.
authorBadlop <badlop@process-one.net>
Mon, 9 Mar 2009 14:44:46 +0000 (14:44 +0000)
committerBadlop <badlop@process-one.net>
Mon, 9 Mar 2009 14:44:46 +0000 (14:44 +0000)
* 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

ChangeLog
src/mod_proxy65/mod_proxy65_service.erl

index a6fab3410ac2cb71a5ad27cf001c38dae14da84d..e708a69e78b6c5fe7baf4035137e7c06b28d8e1b 100644 (file)
--- a/ChangeLog
+++ b/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
index ff05ad32725a14b75ba202b4fd99f555de37e28c..1e1815092e6ad82d2693d66d7c282ef76c03266a 100644 (file)
@@ -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.