};
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++) {
};
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);
}