https://issues.shibboleth.net/jira/browse/SSPCPP-302
authorScott Cantor <cantor.2@osu.edu>
Wed, 18 Aug 2010 00:43:52 +0000 (00:43 +0000)
committerScott Cantor <cantor.2@osu.edu>
Wed, 18 Aug 2010 00:43:52 +0000 (00:43 +0000)
shibsp/remoting/impl/TCPListener.cpp
shibsp/remoting/impl/UnixListener.cpp

index 65e4ec7..b06d0e9 100644 (file)
@@ -86,8 +86,21 @@ namespace shibsp {
 };
 
 TCPListener::TCPListener(const DOMElement* e)
-    : SocketListener(e), m_address(XMLHelper::getAttrString(e, "127.0.0.1", address)), m_port(XMLHelper::getAttrInt(e, 1600, port))
+    : SocketListener(e),
+      m_address(XMLHelper::getAttrString(e, getenv("SHIBSP_LISTENER_ADDRESS"), address)),
+      m_port(XMLHelper::getAttrInt(e, 0, port))
 {
+    if (m_address.empty())
+        m_address = "127.0.0.1";
+
+    if (m_port == 0) {
+        const char* p = getenv("SHIBSP_LISTENER_PORT");
+        if (p && *p)
+            m_port = atoi(p);
+        if (m_port == 0)
+            m_port = 1600;
+    }
+
     int j = 0;
     string sockacl = XMLHelper::getAttrString(e, "127.0.0.1", acl);
     for (unsigned int i = 0;  i < sockacl.length();  i++) {
index 795a2cf..3bd80ff 100644 (file)
@@ -83,8 +83,10 @@ namespace shibsp {
 };
 
 UnixListener::UnixListener(const DOMElement* e)
-    : SocketListener(e), m_address(XMLHelper::getAttrString(e, "shibd.sock", address)), m_bound(false)
+    : SocketListener(e), m_address(XMLHelper::getAttrString(e, getenv("SHIBSP_LISTENER_ADDRESS"), address)), m_bound(false)
 {
+    if (m_address.empty())
+        m_address = "shibd.sock";
     XMLToolingConfig::getConfig().getPathResolver()->resolve(m_address, PathResolver::XMLTOOLING_RUN_FILE);
 }