diff options
Diffstat (limited to 'cpp/src')
-rw-r--r-- | cpp/src/Ice/EndpointFactoryManager.cpp | 4 | ||||
-rw-r--r-- | cpp/src/Ice/EndpointFactoryManager.h | 2 | ||||
-rw-r--r-- | cpp/src/Ice/EndpointI.h | 5 | ||||
-rw-r--r-- | cpp/src/Ice/ObjectAdapterI.cpp | 4 | ||||
-rw-r--r-- | cpp/src/Ice/ReferenceFactory.cpp | 7 | ||||
-rw-r--r-- | cpp/src/Ice/TcpEndpointI.cpp | 26 | ||||
-rw-r--r-- | cpp/src/Ice/TcpEndpointI.h | 6 | ||||
-rw-r--r-- | cpp/src/Ice/UdpEndpointI.cpp | 26 | ||||
-rw-r--r-- | cpp/src/Ice/UdpEndpointI.h | 6 | ||||
-rw-r--r-- | cpp/src/Ice/UnknownEndpointI.cpp | 2 | ||||
-rw-r--r-- | cpp/src/Ice/UnknownEndpointI.h | 2 | ||||
-rw-r--r-- | cpp/src/IceSSL/SslEndpointI.cpp | 26 | ||||
-rw-r--r-- | cpp/src/IceSSL/SslEndpointI.h | 6 |
13 files changed, 55 insertions, 67 deletions
diff --git a/cpp/src/Ice/EndpointFactoryManager.cpp b/cpp/src/Ice/EndpointFactoryManager.cpp index 0c11e9170dc..8536c6d0381 100644 --- a/cpp/src/Ice/EndpointFactoryManager.cpp +++ b/cpp/src/Ice/EndpointFactoryManager.cpp @@ -64,7 +64,7 @@ IceInternal::EndpointFactoryManager::get(Short type) const } EndpointIPtr -IceInternal::EndpointFactoryManager::create(const string& str, bool adapterEndp) const +IceInternal::EndpointFactoryManager::create(const string& str) const { IceUtil::Mutex::Lock sync(*this); // TODO: Necessary? @@ -98,7 +98,7 @@ IceInternal::EndpointFactoryManager::create(const string& str, bool adapterEndp) { if(_factories[i]->protocol() == protocol) { - return _factories[i]->create(str.substr(end), adapterEndp); + return _factories[i]->create(str.substr(end)); } } diff --git a/cpp/src/Ice/EndpointFactoryManager.h b/cpp/src/Ice/EndpointFactoryManager.h index 93f44710688..b51c3484bc6 100644 --- a/cpp/src/Ice/EndpointFactoryManager.h +++ b/cpp/src/Ice/EndpointFactoryManager.h @@ -28,7 +28,7 @@ public: void add(const EndpointFactoryPtr&); EndpointFactoryPtr get(::Ice::Short) const; - EndpointIPtr create(const std::string&, bool) const; + EndpointIPtr create(const std::string&) const; EndpointIPtr read(BasicStream*) const; private: diff --git a/cpp/src/Ice/EndpointI.h b/cpp/src/Ice/EndpointI.h index d7ab5450858..18a9c13f571 100644 --- a/cpp/src/Ice/EndpointI.h +++ b/cpp/src/Ice/EndpointI.h @@ -115,10 +115,9 @@ public: // // Expand endpoint out in to separate endpoints for each local - // host if endpoint was configured with no host set. This - // only applies for ObjectAdapter endpoints. + // host if endpoint was configured with no host set. // - virtual std::vector<EndpointIPtr> expand() const = 0; + virtual std::vector<EndpointIPtr> expand(bool) const = 0; // // Return whether the endpoint should be published in proxies diff --git a/cpp/src/Ice/ObjectAdapterI.cpp b/cpp/src/Ice/ObjectAdapterI.cpp index 1932afdb59c..50449cf6c50 100644 --- a/cpp/src/Ice/ObjectAdapterI.cpp +++ b/cpp/src/Ice/ObjectAdapterI.cpp @@ -988,14 +988,14 @@ Ice::ObjectAdapterI::parseEndpoints(const string& str) const } string s = endpts.substr(beg, end - beg); - EndpointIPtr endp = _instance->endpointFactoryManager()->create(s, true); + EndpointIPtr endp = _instance->endpointFactoryManager()->create(s); if(endp == 0) { EndpointParseException ex(__FILE__, __LINE__); ex.str = s; throw ex; } - vector<EndpointIPtr> endps = endp->expand(); + vector<EndpointIPtr> endps = endp->expand(true); endpoints.insert(endpoints.end(), endps.begin(), endps.end()); ++end; diff --git a/cpp/src/Ice/ReferenceFactory.cpp b/cpp/src/Ice/ReferenceFactory.cpp index 94baac6b428..102c75b7559 100644 --- a/cpp/src/Ice/ReferenceFactory.cpp +++ b/cpp/src/Ice/ReferenceFactory.cpp @@ -12,7 +12,7 @@ #include <Ice/LocalException.h> #include <Ice/Instance.h> #include <Ice/IdentityUtil.h> -#include <Ice/Endpoint.h> +#include <Ice/EndpointI.h> #include <Ice/EndpointFactoryManager.h> #include <Ice/RouterInfo.h> #include <Ice/LocatorInfo.h> @@ -435,10 +435,11 @@ IceInternal::ReferenceFactory::create(const string& str) } string es = s.substr(beg, end - beg); - EndpointIPtr endp = _instance->endpointFactoryManager()->create(es, false); + EndpointIPtr endp = _instance->endpointFactoryManager()->create(es); if(endp != 0) { - endpoints.push_back(endp); + vector<EndpointIPtr> endps = endp->expand(false); + endpoints.insert(endpoints.end(), endps.begin(), endps.end()); } else { diff --git a/cpp/src/Ice/TcpEndpointI.cpp b/cpp/src/Ice/TcpEndpointI.cpp index 6959ca408cd..26e2a4317f6 100644 --- a/cpp/src/Ice/TcpEndpointI.cpp +++ b/cpp/src/Ice/TcpEndpointI.cpp @@ -33,7 +33,7 @@ IceInternal::TcpEndpointI::TcpEndpointI(const InstancePtr& instance, const strin { } -IceInternal::TcpEndpointI::TcpEndpointI(const InstancePtr& instance, const string& str, bool adapterEndp) : +IceInternal::TcpEndpointI::TcpEndpointI(const InstancePtr& instance, const string& str) : _instance(instance), _port(0), _timeout(-1), @@ -144,17 +144,10 @@ IceInternal::TcpEndpointI::TcpEndpointI(const InstancePtr& instance, const strin const_cast<string&>(_host) = _instance->defaultsAndOverrides()->defaultHost; if(_host.empty()) { - if(adapterEndp) - { - const_cast<string&>(_host) = "0.0.0.0"; - } - else - { - const_cast<string&>(_host) = getLocalHost(true); - } + const_cast<string&>(_host) = "0.0.0.0"; } } - else if(_host == "*" && adapterEndp) + else if(_host == "*") { const_cast<string&>(_host) = "0.0.0.0"; } @@ -306,7 +299,7 @@ IceInternal::TcpEndpointI::acceptor(EndpointIPtr& endp) const } vector<EndpointIPtr> -IceInternal::TcpEndpointI::expand() const +IceInternal::TcpEndpointI::expand(bool includeLoopback) const { vector<EndpointIPtr> endps; if(_host == "0.0.0.0") @@ -314,8 +307,11 @@ IceInternal::TcpEndpointI::expand() const vector<string> hosts = getLocalHosts(); for(unsigned int i = 0; i < hosts.size(); ++i) { - endps.push_back(new TcpEndpointI(_instance, hosts[i], _port, _timeout, _connectionId, _compress, - hosts.size() == 1 || hosts[i] != "127.0.0.1")); + if(includeLoopback || hosts.size() == 1 || hosts[i] != "127.0.0.1") + { + endps.push_back(new TcpEndpointI(_instance, hosts[i], _port, _timeout, _connectionId, _compress, + hosts.size() == 1 || hosts[i] != "127.0.0.1")); + } } } else @@ -519,9 +515,9 @@ IceInternal::TcpEndpointFactory::protocol() const } EndpointIPtr -IceInternal::TcpEndpointFactory::create(const std::string& str, bool adapterEndp) const +IceInternal::TcpEndpointFactory::create(const std::string& str) const { - return new TcpEndpointI(_instance, str, adapterEndp); + return new TcpEndpointI(_instance, str); } EndpointIPtr diff --git a/cpp/src/Ice/TcpEndpointI.h b/cpp/src/Ice/TcpEndpointI.h index b33b993c676..f3b1762a5ef 100644 --- a/cpp/src/Ice/TcpEndpointI.h +++ b/cpp/src/Ice/TcpEndpointI.h @@ -23,7 +23,7 @@ class TcpEndpointI : public EndpointI public: TcpEndpointI(const InstancePtr&, const std::string&, Ice::Int, Ice::Int, const std::string&, bool, bool); - TcpEndpointI(const InstancePtr&, const std::string&, bool); + TcpEndpointI(const InstancePtr&, const std::string&); TcpEndpointI(BasicStream*); virtual void streamWrite(BasicStream*) const; @@ -41,7 +41,7 @@ public: virtual TransceiverPtr serverTransceiver(EndpointIPtr&) const; virtual ConnectorPtr connector() const; virtual AcceptorPtr acceptor(EndpointIPtr&) const; - virtual std::vector<EndpointIPtr> expand() const; + virtual std::vector<EndpointIPtr> expand(bool) const; virtual bool publish() const; virtual bool equivalent(const TransceiverPtr&) const; virtual bool equivalent(const AcceptorPtr&) const; @@ -82,7 +82,7 @@ public: virtual Ice::Short type() const; virtual std::string protocol() const; - virtual EndpointIPtr create(const std::string&, bool) const; + virtual EndpointIPtr create(const std::string&) const; virtual EndpointIPtr read(BasicStream*) const; virtual void destroy(); diff --git a/cpp/src/Ice/UdpEndpointI.cpp b/cpp/src/Ice/UdpEndpointI.cpp index ae091bbd437..69c9358fd5c 100644 --- a/cpp/src/Ice/UdpEndpointI.cpp +++ b/cpp/src/Ice/UdpEndpointI.cpp @@ -36,7 +36,7 @@ IceInternal::UdpEndpointI::UdpEndpointI(const InstancePtr& instance, const strin { } -IceInternal::UdpEndpointI::UdpEndpointI(const InstancePtr& instance, const string& str, bool adapterEndp) : +IceInternal::UdpEndpointI::UdpEndpointI(const InstancePtr& instance, const string& str) : _instance(instance), _port(0), _protocolMajor(protocolMajor), @@ -264,17 +264,10 @@ IceInternal::UdpEndpointI::UdpEndpointI(const InstancePtr& instance, const strin const_cast<string&>(_host) = _instance->defaultsAndOverrides()->defaultHost; if(_host.empty()) { - if(adapterEndp) - { - const_cast<string&>(_host) = "0.0.0.0"; - } - else - { - const_cast<string&>(_host) = getLocalHost(true); - } + const_cast<string&>(_host) = "0.0.0.0"; } } - else if(_host == "*" && adapterEndp) + else if(_host == "*") { const_cast<string&>(_host) = "0.0.0.0"; } @@ -471,7 +464,7 @@ IceInternal::UdpEndpointI::acceptor(EndpointIPtr& endp) const } vector<EndpointIPtr> -IceInternal::UdpEndpointI::expand() const +IceInternal::UdpEndpointI::expand(bool includeLoopback) const { vector<EndpointIPtr> endps; if(_host == "0.0.0.0") @@ -479,8 +472,11 @@ IceInternal::UdpEndpointI::expand() const vector<string> hosts = getLocalHosts(); for(unsigned int i = 0; i < hosts.size(); ++i) { - endps.push_back(new UdpEndpointI(_instance, hosts[i], _port, _connectionId, _compress, - hosts.size() == 1 || hosts[i] != "127.0.0.1")); + if(includeLoopback || hosts.size() == 1 || hosts[i] != "127.0.0.1") + { + endps.push_back(new UdpEndpointI(_instance, hosts[i], _port, _connectionId, _compress, + hosts.size() == 1 || hosts[i] != "127.0.0.1")); + } } } else @@ -740,9 +736,9 @@ IceInternal::UdpEndpointFactory::protocol() const } EndpointIPtr -IceInternal::UdpEndpointFactory::create(const std::string& str, bool adapterEndp) const +IceInternal::UdpEndpointFactory::create(const std::string& str) const { - return new UdpEndpointI(_instance, str, adapterEndp); + return new UdpEndpointI(_instance, str); } EndpointIPtr diff --git a/cpp/src/Ice/UdpEndpointI.h b/cpp/src/Ice/UdpEndpointI.h index b1bbae23875..465e4063b07 100644 --- a/cpp/src/Ice/UdpEndpointI.h +++ b/cpp/src/Ice/UdpEndpointI.h @@ -23,7 +23,7 @@ class UdpEndpointI : public EndpointI public: UdpEndpointI(const InstancePtr&, const std::string&, Ice::Int, const std::string&, bool, bool); - UdpEndpointI(const InstancePtr&, const std::string&, bool); + UdpEndpointI(const InstancePtr&, const std::string&); UdpEndpointI(BasicStream*); virtual void streamWrite(BasicStream*) const; @@ -41,7 +41,7 @@ public: virtual TransceiverPtr serverTransceiver(EndpointIPtr&) const; virtual ConnectorPtr connector() const; virtual AcceptorPtr acceptor(EndpointIPtr&) const; - virtual std::vector<EndpointIPtr> expand() const; + virtual std::vector<EndpointIPtr> expand(bool) const; virtual bool publish() const; virtual bool equivalent(const TransceiverPtr&) const; virtual bool equivalent(const AcceptorPtr&) const; @@ -86,7 +86,7 @@ public: virtual Ice::Short type() const; virtual std::string protocol() const; - virtual EndpointIPtr create(const std::string&, bool) const; + virtual EndpointIPtr create(const std::string&) const; virtual EndpointIPtr read(BasicStream*) const; virtual void destroy(); diff --git a/cpp/src/Ice/UnknownEndpointI.cpp b/cpp/src/Ice/UnknownEndpointI.cpp index 749bcf16585..2f46404c87f 100644 --- a/cpp/src/Ice/UnknownEndpointI.cpp +++ b/cpp/src/Ice/UnknownEndpointI.cpp @@ -122,7 +122,7 @@ IceInternal::UnknownEndpointI::acceptor(EndpointIPtr& endp) const } vector<EndpointIPtr> -IceInternal::UnknownEndpointI::expand() const +IceInternal::UnknownEndpointI::expand(bool loopback) const { assert(false); vector<EndpointIPtr> ret; diff --git a/cpp/src/Ice/UnknownEndpointI.h b/cpp/src/Ice/UnknownEndpointI.h index 4e5cf9e5fb3..cb654d47051 100644 --- a/cpp/src/Ice/UnknownEndpointI.h +++ b/cpp/src/Ice/UnknownEndpointI.h @@ -37,7 +37,7 @@ public: virtual TransceiverPtr serverTransceiver(EndpointIPtr&) const; virtual ConnectorPtr connector() const; virtual AcceptorPtr acceptor(EndpointIPtr&) const; - virtual std::vector<EndpointIPtr> expand() const; + virtual std::vector<EndpointIPtr> expand(bool) const; virtual bool publish() const; virtual bool equivalent(const TransceiverPtr&) const; virtual bool equivalent(const AcceptorPtr&) const; diff --git a/cpp/src/IceSSL/SslEndpointI.cpp b/cpp/src/IceSSL/SslEndpointI.cpp index 8ef6d52ef06..293b49abe0b 100644 --- a/cpp/src/IceSSL/SslEndpointI.cpp +++ b/cpp/src/IceSSL/SslEndpointI.cpp @@ -33,7 +33,7 @@ IceSSL::SslEndpointI::SslEndpointI(const OpenSSLPluginIPtr& plugin, const string { } -IceSSL::SslEndpointI::SslEndpointI(const OpenSSLPluginIPtr& plugin, const string& str, bool adapterEndp) : +IceSSL::SslEndpointI::SslEndpointI(const OpenSSLPluginIPtr& plugin, const string& str) : _plugin(plugin), _port(0), _timeout(-1), @@ -144,17 +144,10 @@ IceSSL::SslEndpointI::SslEndpointI(const OpenSSLPluginIPtr& plugin, const string const_cast<string&>(_host) = _plugin->getProtocolPluginFacade()->getDefaultHost(); if(_host.empty()) { - if(adapterEndp) - { - const_cast<string&>(_host) = "0.0.0.0"; - } - else - { - const_cast<string&>(_host) = getLocalHost(true); - } + const_cast<string&>(_host) = "0.0.0.0"; } } - else if(_host == "*" && adapterEndp) + else if(_host == "*") { const_cast<string&>(_host) = "0.0.0.0"; } @@ -306,7 +299,7 @@ IceSSL::SslEndpointI::acceptor(EndpointIPtr& endp) const } vector<EndpointIPtr> -IceSSL::SslEndpointI::expand() const +IceSSL::SslEndpointI::expand(bool includeLoopback) const { vector<EndpointIPtr> endps; if(_host == "0.0.0.0") @@ -314,8 +307,11 @@ IceSSL::SslEndpointI::expand() const vector<string> hosts = getLocalHosts(); for(unsigned int i = 0; i < hosts.size(); ++i) { - endps.push_back(new SslEndpointI(_plugin, hosts[i], _port, _timeout, _connectionId, _compress, - hosts.size() == 1 || hosts[i] != "127.0.0.1")); + if(includeLoopback || hosts.size() == 1 || hosts[i] != "127.0.0.1") + { + endps.push_back(new SslEndpointI(_plugin, hosts[i], _port, _timeout, _connectionId, _compress, + hosts.size() == 1 || hosts[i] != "127.0.0.1")); + } } } else @@ -520,9 +516,9 @@ IceSSL::SslEndpointFactory::protocol() const } EndpointIPtr -IceSSL::SslEndpointFactory::create(const std::string& str, bool adapterEndp) const +IceSSL::SslEndpointFactory::create(const std::string& str) const { - return new SslEndpointI(_plugin, str, adapterEndp); + return new SslEndpointI(_plugin, str); } EndpointIPtr diff --git a/cpp/src/IceSSL/SslEndpointI.h b/cpp/src/IceSSL/SslEndpointI.h index 12739dee9f9..87c41b953cb 100644 --- a/cpp/src/IceSSL/SslEndpointI.h +++ b/cpp/src/IceSSL/SslEndpointI.h @@ -25,7 +25,7 @@ public: SslEndpointI(const IceSSL::OpenSSLPluginIPtr&, const std::string&, Ice::Int, Ice::Int, const std::string&, bool, bool); - SslEndpointI(const IceSSL::OpenSSLPluginIPtr&, const std::string&, bool); + SslEndpointI(const IceSSL::OpenSSLPluginIPtr&, const std::string&); SslEndpointI(const IceSSL::OpenSSLPluginIPtr&, IceInternal::BasicStream*); virtual void streamWrite(IceInternal::BasicStream*) const; @@ -43,7 +43,7 @@ public: virtual IceInternal::TransceiverPtr serverTransceiver(IceInternal::EndpointIPtr&) const; virtual IceInternal::ConnectorPtr connector() const; virtual IceInternal::AcceptorPtr acceptor(IceInternal::EndpointIPtr&) const; - virtual std::vector<IceInternal::EndpointIPtr> expand() const; + virtual std::vector<IceInternal::EndpointIPtr> expand(bool) const; virtual bool publish() const; virtual bool equivalent(const IceInternal::TransceiverPtr&) const; virtual bool equivalent(const IceInternal::AcceptorPtr&) const; @@ -85,7 +85,7 @@ public: virtual Ice::Short type() const; virtual std::string protocol() const; - virtual IceInternal::EndpointIPtr create(const std::string&, bool) const; + virtual IceInternal::EndpointIPtr create(const std::string&) const; virtual IceInternal::EndpointIPtr read(IceInternal::BasicStream*) const; virtual void destroy(); |