Index: /trunk/FACT++/src/DimSetup.cc
===================================================================
--- /trunk/FACT++/src/DimSetup.cc	(revision 11573)
+++ /trunk/FACT++/src/DimSetup.cc	(revision 11574)
@@ -158,7 +158,7 @@
 //!     Address of the Dim-dns
 //!
-void Dim::Setup(const std::string &dns)
+void Dim::Setup(const std::string &dns, const std::string &host)
 {
-    const string loc = Dim::GetLocalIp().c_str();
+    const string loc = host.empty() ? Dim::GetLocalIp() : host;
 
     setenv("DIM_DNS_NODE",  dns.c_str(), 1);
Index: /trunk/FACT++/src/DimSetup.h
===================================================================
--- /trunk/FACT++/src/DimSetup.h	(revision 11573)
+++ /trunk/FACT++/src/DimSetup.h	(revision 11574)
@@ -8,5 +8,5 @@
     //std::string GetLocalIp(const std::string &dns="192.168.0.255");
     std::string GetLocalIp(const std::string &dns="14.0.0.1");
-    void Setup(const std::string &dns);
+    void Setup(const std::string &dns, const std::string &host="");
 }
 
Index: /trunk/FACT++/src/biasctrl.cc
===================================================================
--- /trunk/FACT++/src/biasctrl.cc	(revision 11573)
+++ /trunk/FACT++/src/biasctrl.cc	(revision 11574)
@@ -644,5 +644,6 @@
     po::options_description config("Program options");
     config.add_options()
-        ("dns",       var<string>("localhost"), "Dim nameserver host name (Overwites DIM_DNS_NODE environment variable)")
+        ("dns",       var<string>("localhost"),       "Dim nameserver (overwites DIM_DNS_NODE environment variable)")
+        ("host",      var<string>(""),                "Address with which the Dim nameserver can connect to this host (overwites DIM_HOST_NODE environment variable)")
         ("log,l",     var<string>(n), "Write log-file")
         ("no-dim,d",  po_bool(),      "Disable dim services")
@@ -659,5 +660,6 @@
         ;
 
-    conf.AddEnv("dns", "DIM_DNS_NODE");
+    conf.AddEnv("dns",  "DIM_DNS_NODE");
+    conf.AddEnv("host", "DIM_HOST_NODE");
 
     conf.AddOptions(config);
@@ -742,5 +744,5 @@
     }
 
-    Dim::Setup(conf.Get<string>("dns"));
+    Dim::Setup(conf.Get<string>("dns"), conf.Get<string>("host"));
 
     //try
Index: /trunk/FACT++/src/chatclient.cc
===================================================================
--- /trunk/FACT++/src/chatclient.cc	(revision 11573)
+++ /trunk/FACT++/src/chatclient.cc	(revision 11574)
@@ -3,4 +3,5 @@
 #include "Configuration.h"
 #include "ChatClient.h"
+#include "DimSetup.h"
 
 using namespace std;
@@ -30,10 +31,12 @@
     po::options_description config("Program options");
     config.add_options()
-        ("dns",       var<string>("localhost"), "Dim nameserver host name (Overwites DIM_DNS_NODE environment variable)")
+        ("dns",       var<string>("localhost"),       "Dim nameserver (overwites DIM_DNS_NODE environment variable)")
+        ("host",      var<string>(""),                "Address with which the Dim nameserver can connect to this host (overwites DIM_HOST_NODE environment variable)")
         ("log,l",     var<string>(n), "Write log-file")
         ("console,c", var<int>(),     "Use console (0=shell, 1=simple buffered, X=simple unbuffered)")
         ;
 
-    conf.AddEnv("dns", "DIM_DNS_NODE");
+    conf.AddEnv("dns",  "DIM_DNS_NODE");
+    conf.AddEnv("host", "DIM_HOST_NODE");
 
     conf.AddOptions(config);
@@ -103,6 +106,5 @@
     }
 
-    // To allow overwriting of DIM_DNS_NODE set 0 to 1
-    setenv("DIM_DNS_NODE", conf.Get<string>("dns").c_str(), 1);
+    Dim::Setup(conf.Get<string>("dns"), conf.Get<string>("host"));
 
     if (conf.Get<int>("console")==0)
Index: /trunk/FACT++/src/chatserv.cc
===================================================================
--- /trunk/FACT++/src/chatserv.cc	(revision 11573)
+++ /trunk/FACT++/src/chatserv.cc	(revision 11574)
@@ -16,9 +16,11 @@
     po::options_description config("Program options");
     config.add_options()
-        ("dns",       var<string>("localhost"), "Dim nameserver host name (Overwites DIM_DNS_NODE environment variable)")
+        ("dns",       var<string>("localhost"),       "Dim nameserver (overwites DIM_DNS_NODE environment variable)")
+        ("host",      var<string>(""),                "Address with which the Dim nameserver can connect to this host (overwites DIM_HOST_NODE environment variable)")
         ("log,l",     var<string>(n), "Write log-file")
         ;
 
-    conf.AddEnv("dns", "DIM_DNS_NODE");
+    conf.AddEnv("dns",  "DIM_DNS_NODE");
+    conf.AddEnv("host", "DIM_HOST_NODE");
 
     conf.AddOptions(config);
@@ -104,5 +106,5 @@
     }
 
-    Dim::Setup(conf.Get<string>("dns"));
+    Dim::Setup(conf.Get<string>("dns"), conf.Get<string>("host"));
 
     WindowLog log;
Index: /trunk/FACT++/src/datalogger.cc
===================================================================
--- /trunk/FACT++/src/datalogger.cc	(revision 11573)
+++ /trunk/FACT++/src/datalogger.cc	(revision 11574)
@@ -2449,5 +2449,6 @@
     po::options_description configp("Program options");
     configp.add_options()
-        ("dns",       var<string>("localhost"),  "Dim nameserver host name (Overwites DIM_DNS_NODE environment variable)")
+        ("dns",       var<string>("localhost"),       "Dim nameserver (overwites DIM_DNS_NODE environment variable)")
+        ("host",      var<string>(""),                "Address with which the Dim nameserver can connect to this host (overwites DIM_HOST_NODE environment variable)")
         ("log,l",     var<string>(n), "Write log-file")
         ("console,c", var<int>(),     "Use console (0=shell, 1=simple buffered, X=simple unbuffered)")
@@ -2470,5 +2471,6 @@
         ;
 
-    conf.AddEnv("dns", "DIM_DNS_NODE");
+    conf.AddEnv("dns",  "DIM_DNS_NODE");
+    conf.AddEnv("host", "DIM_HOST_NODE");
 
     conf.AddOptions(configp);
@@ -2509,5 +2511,5 @@
     }
 
-    Dim::Setup(conf.Get<string>("dns"));
+    Dim::Setup(conf.Get<string>("dns"), conf.Get<string>("host"));
 
 //    try
Index: /trunk/FACT++/src/dimctrl.cc
===================================================================
--- /trunk/FACT++/src/dimctrl.cc	(revision 11573)
+++ /trunk/FACT++/src/dimctrl.cc	(revision 11574)
@@ -40,5 +40,6 @@
     po::options_description config("Program options");
     config.add_options()
-        ("dns",       var<string>("localhost"), "Dim nameserver host name (Overwites DIM_DNS_NODE environment variable)")
+        ("dns",       var<string>("localhost"),       "Dim nameserver (overwites DIM_DNS_NODE environment variable)")
+        ("host",      var<string>(""),                "Address with which the Dim nameserver can connect to this host (overwites DIM_HOST_NODE environment variable)")
         ("log,l",     var<string>(n), "Write log-file")
         ("console,c", var<int>(0),    "Use console (0=shell, 1=simple buffered, X=simple unbuffered)")
@@ -48,5 +49,6 @@
         ;
 
-    conf.AddEnv("dns", "DIM_DNS_NODE");
+    conf.AddEnv("dns",  "DIM_DNS_NODE");
+    conf.AddEnv("host", "DIM_HOST_NODE");
 
     conf.AddOptions(config);
@@ -113,5 +115,5 @@
     }
 
-    Dim::Setup(conf.Get<string>("dns"));
+    Dim::Setup(conf.Get<string>("dns"), conf.Get<string>("host"));
 
     if (conf.Get<int>("console")==0)
Index: /trunk/FACT++/src/drivectrl.cc
===================================================================
--- /trunk/FACT++/src/drivectrl.cc	(revision 11573)
+++ /trunk/FACT++/src/drivectrl.cc	(revision 11574)
@@ -942,5 +942,6 @@
     po::options_description config("Program options");
     config.add_options()
-        ("dns",       var<string>("localhost"), "Dim nameserver host name (Overwites DIM_DNS_NODE environment variable)")
+        ("dns",       var<string>("localhost"),       "Dim nameserver (overwites DIM_DNS_NODE environment variable)")
+        ("host",      var<string>(""),                "Address with which the Dim nameserver can connect to this host (overwites DIM_HOST_NODE environment variable)")
         ("log,l",     var<string>(n), "Write log-file")
         ("no-dim,d",  po_switch(),    "Disable dim services")
@@ -957,5 +958,6 @@
         ;
 
-    conf.AddEnv("dns", "DIM_DNS_NODE");
+    conf.AddEnv("dns",  "DIM_DNS_NODE");
+    conf.AddEnv("host", "DIM_HOST_NODE");
 
     conf.AddOptions(config);
@@ -1040,5 +1042,5 @@
     }
 
-    Dim::Setup(conf.Get<string>("dns"));
+    Dim::Setup(conf.Get<string>("dns"), conf.Get<string>("host"));
 
     //try
Index: /trunk/FACT++/src/fadctrl.cc
===================================================================
--- /trunk/FACT++/src/fadctrl.cc	(revision 11573)
+++ /trunk/FACT++/src/fadctrl.cc	(revision 11574)
@@ -2065,5 +2065,6 @@
     po::options_description config("Program options");
     config.add_options()
-        ("dns",       var<string>("localhost"),       "Dim nameserver host name (Overwites DIM_DNS_NODE environment variable)")
+        ("dns",       var<string>("localhost"),       "Dim nameserver (overwites DIM_DNS_NODE environment variable)")
+        ("host",      var<string>(""),                "Address with which the Dim nameserver can connect to this host (overwites DIM_HOST_NODE environment variable)")
         ("log,l",     var<string>(n), "Write log-file")
 //        ("no-dim,d",  po_switch(),    "Disable dim services")
@@ -2124,5 +2125,6 @@
         ;
 
-    conf.AddEnv("dns", "DIM_DNS_NODE");
+    conf.AddEnv("dns",  "DIM_DNS_NODE");
+    conf.AddEnv("host", "DIM_HOST_NODE");
 
     conf.AddOptions(config);
@@ -2187,5 +2189,5 @@
     }
 
-    Dim::Setup(conf.Get<string>("dns"));
+    Dim::Setup(conf.Get<string>("dns"), conf.Get<string>("host"));
 
 //    try
Index: /trunk/FACT++/src/fscctrl.cc
===================================================================
--- /trunk/FACT++/src/fscctrl.cc	(revision 11573)
+++ /trunk/FACT++/src/fscctrl.cc	(revision 11574)
@@ -613,5 +613,6 @@
     po::options_description config("Program options");
     config.add_options()
-        ("dns",       var<string>("localhost"), "Dim nameserver host name (Overwites DIM_DNS_NODE environment variable)")
+        ("dns",       var<string>("localhost"),       "Dim nameserver (overwites DIM_DNS_NODE environment variable)")
+        ("host",      var<string>(""),                "Address with which the Dim nameserver can connect to this host (overwites DIM_HOST_NODE environment variable)")
         ("log,l",     var<string>(n), "Write log-file")
         ("no-dim,d",  po_bool(),      "Disable dim services")
@@ -628,5 +629,6 @@
         ;
 
-    conf.AddEnv("dns", "DIM_DNS_NODE");
+    conf.AddEnv("dns",  "DIM_DNS_NODE");
+    conf.AddEnv("host", "DIM_HOST_NODE");
 
     conf.AddOptions(config);
@@ -711,5 +713,5 @@
     }
 
-    Dim::Setup(conf.Get<string>("dns"));
+    Dim::Setup(conf.Get<string>("dns"), conf.Get<string>("host"));
 
     //try
Index: /trunk/FACT++/src/ftmctrl.cc
===================================================================
--- /trunk/FACT++/src/ftmctrl.cc	(revision 11573)
+++ /trunk/FACT++/src/ftmctrl.cc	(revision 11574)
@@ -2423,6 +2423,6 @@
     po::options_description config("Program options");
     config.add_options()
-        ("dns",       var<string>("localhost"), "Dim nameserver host name (Overwites DIM_DNS_NODE environment variable)")
-        ("log,l",     var<string>(n), "Write log-file")
+        ("dns",       var<string>("localhost"),       "Dim nameserver (overwites DIM_DNS_NODE environment variable)")
+        ("host",      var<string>(""),                "Address with which the Dim nameserver can connect to this host (overwites DIM_HOST_NODE environment variable)")
         ("no-dim,d",  po_bool(),      "Disable dim services")
         ("console,c", var<int>(),     "Use console (0=shell, 1=simple buffered, X=simple unbuffered)")
@@ -2481,5 +2481,6 @@
         ;
 
-    conf.AddEnv("dns", "DIM_DNS_NODE");
+    conf.AddEnv("dns",  "DIM_DNS_NODE");
+    conf.AddEnv("host", "DIM_HOST_NODE");
 
     conf.AddOptions(config);
@@ -2565,5 +2566,5 @@
     }
 
-    Dim::Setup(conf.Get<string>("dns"));
+    Dim::Setup(conf.Get<string>("dns"), conf.Get<string>("host"));
 
     //try
Index: /trunk/FACT++/src/mcp.cc
===================================================================
--- /trunk/FACT++/src/mcp.cc	(revision 11573)
+++ /trunk/FACT++/src/mcp.cc	(revision 11574)
@@ -515,5 +515,6 @@
     po::options_description config("Program options");
     config.add_options()
-        ("dns",       var<string>("localhost"), "Dim nameserver host name (Overwites DIM_DNS_NODE environment variable)")
+        ("dns",       var<string>("localhost"),       "Dim nameserver (overwites DIM_DNS_NODE environment variable)")
+        ("host",      var<string>(""),                "Address with which the Dim nameserver can connect to this host (overwites DIM_HOST_NODE environment variable)")
         ("log,l",     var<string>(n), "Write log-file")
 //        ("no-dim,d",  po_bool(),      "Disable dim services")
@@ -530,5 +531,6 @@
         ;
 */
-    conf.AddEnv("dns", "DIM_DNS_NODE");
+    conf.AddEnv("dns",  "DIM_DNS_NODE");
+    conf.AddEnv("host", "DIM_HOST_NODE");
 
     conf.AddOptions(config);
@@ -613,5 +615,5 @@
     }
 
-    Dim::Setup(conf.Get<string>("dns"));
+    Dim::Setup(conf.Get<string>("dns"), conf.Get<string>("host"));
 
     //try
Index: /trunk/FACT++/src/scheduler.cc
===================================================================
--- /trunk/FACT++/src/scheduler.cc	(revision 11573)
+++ /trunk/FACT++/src/scheduler.cc	(revision 11574)
@@ -805,5 +805,6 @@
     po::options_description config("Configuration");
     config.add_options()
-        ("dns",       var<string>("localhost"),  "Dim nameserver host name (Overwites DIM_DNS_NODE environment variable)")
+        ("dns",       var<string>("localhost"),       "Dim nameserver (overwites DIM_DNS_NODE environment variable)")
+        ("host",      var<string>(""),                "Address with which the Dim nameserver can connect to this host (overwites DIM_HOST_NODE environment variable)")
         ("log,l",     var<string>(n), "Write log-file")
         ("no-dim,d",  po_switch(),    "Disable dim services")
@@ -842,5 +843,7 @@
     p.add("schedule", 1); // The first positional options
 
-    conf.AddEnv("dns", "DIM_DNS_NODE");
+    conf.AddEnv("dns",  "DIM_DNS_NODE");
+    conf.AddEnv("host", "DIM_HOST_NODE");
+
     conf.AddOptions(config);
     conf.AddOptions(control);
@@ -902,5 +905,5 @@
     }
 
-    Dim::Setup(conf.Get<string>("dns"));
+    Dim::Setup(conf.Get<string>("dns"), conf.Get<string>("host"));
 
 //    try
