diff --git a/common/src/main/java/com/tc/config/schema/setup/sources/ServerConfigurationSource.java b/common/src/main/java/com/tc/config/schema/setup/sources/ServerConfigurationSource.java index 76564c6a4c..f51f7f36e4 100644 --- a/common/src/main/java/com/tc/config/schema/setup/sources/ServerConfigurationSource.java +++ b/common/src/main/java/com/tc/config/schema/setup/sources/ServerConfigurationSource.java @@ -19,7 +19,6 @@ package com.tc.config.schema.setup.sources; import com.tc.config.schema.setup.ConfigurationSetupException; -import com.tc.net.core.SecurityInfo; import com.tc.util.Assert; import com.tc.util.io.ServerURL; @@ -30,17 +29,13 @@ /** * A {@link ConfigurationSource} that reads from a URL. - * - * @see URLConfigurationSourceTest */ public class ServerConfigurationSource implements ConfigurationSource { private final String host; private final int port; - private final SecurityInfo securityInfo; - public ServerConfigurationSource(String host, int port, SecurityInfo securityInfo) { - this.securityInfo = securityInfo; + public ServerConfigurationSource(String host, int port) { Assert.assertNotBlank(host); Assert.assertTrue(port > 0); this.host = host; @@ -50,7 +45,7 @@ public ServerConfigurationSource(String host, int port, SecurityInfo securityInf @Override public InputStream getInputStream(long maxTimeoutMillis) throws IOException, ConfigurationSetupException { try { - ServerURL theURL = new ServerURL(host, port, "/config" , (int)maxTimeoutMillis, securityInfo); + ServerURL theURL = new ServerURL(host, port, "/config" , (int)maxTimeoutMillis); // JDK: 1.4.2 - These settings are proprietary to Sun's implementation of java.net.URL in version 1.4.2 System.setProperty("sun.net.client.defaultConnectTimeout", String.valueOf(maxTimeoutMillis)); diff --git a/common/src/main/java/com/tc/net/core/TCConnectionImpl.java b/common/src/main/java/com/tc/net/core/TCConnectionImpl.java index f06dff8456..56efb000da 100644 --- a/common/src/main/java/com/tc/net/core/TCConnectionImpl.java +++ b/common/src/main/java/com/tc/net/core/TCConnectionImpl.java @@ -27,7 +27,6 @@ import com.tc.net.TCSocketAddress; import com.tc.net.core.event.TCConnectionEventCaller; import com.tc.net.core.event.TCConnectionEventListener; -import com.tc.net.core.security.TCSecurityManager; import com.tc.net.protocol.TCNetworkMessage; import com.tc.net.protocol.TCProtocolAdaptor; import com.tc.net.protocol.transport.WireProtocolGroupMessageImpl; @@ -125,17 +124,15 @@ final class TCConnectionImpl implements TCConnection, TCChannelReader, TCChannel logger.debug("Comms Message Batching " + (MSG_GROUPING_ENABLED ? "enabled" : "disabled")); } - // for creating unconnected client connections TCConnectionImpl(TCConnectionEventListener listener, TCProtocolAdaptor adaptor, TCConnectionManagerImpl managerJDK14, CoreNIOServices nioServiceThread, - SocketParams socketParams, TCSecurityManager securityManager) { - this(listener, adaptor, null, managerJDK14, nioServiceThread, socketParams, securityManager); + SocketParams socketParams, BufferManagerFactory bufferManagerFactory) { + this(listener, adaptor, null, managerJDK14, nioServiceThread, socketParams, bufferManagerFactory); } TCConnectionImpl(TCConnectionEventListener listener, TCProtocolAdaptor adaptor, SocketChannel ch, TCConnectionManagerImpl parent, CoreNIOServices nioServiceThread, - SocketParams socketParams, TCSecurityManager securityManager) { - + SocketParams socketParams, BufferManagerFactory bufferManagerFactory) { Assert.assertNotNull(parent); Assert.assertNotNull(adaptor); @@ -148,11 +145,7 @@ final class TCConnectionImpl implements TCConnection, TCChannelReader, TCChannel this.channel = ch; - if (securityManager != null) { - this.bufferManagerFactory = securityManager.getBufferManagerFactory(); - } else { - this.bufferManagerFactory = new ClearTextBufferManagerFactory(); - } + this.bufferManagerFactory = bufferManagerFactory; if (ch != null) { socketParams.applySocketParams(ch.socket()); diff --git a/common/src/main/java/com/tc/net/core/TCConnectionManagerImpl.java b/common/src/main/java/com/tc/net/core/TCConnectionManagerImpl.java index 05c3416d48..96153b80b4 100644 --- a/common/src/main/java/com/tc/net/core/TCConnectionManagerImpl.java +++ b/common/src/main/java/com/tc/net/core/TCConnectionManagerImpl.java @@ -27,7 +27,6 @@ import com.tc.net.core.event.TCConnectionEventListener; import com.tc.net.core.event.TCListenerEvent; import com.tc.net.core.event.TCListenerEventListener; -import com.tc.net.core.security.TCSecurityManager; import com.tc.net.protocol.ProtocolAdaptorFactory; import com.tc.net.protocol.TCProtocolAdaptor; import com.tc.net.protocol.transport.ConnectionHealthCheckerUtil; @@ -63,25 +62,24 @@ public class TCConnectionManagerImpl implements TCConnectionManager { private final ConnectionEvents connEvents; private final ListenerEvents listenerEvents; private final SocketParams socketParams; - private final TCSecurityManager securityManager; + private final BufferManagerFactory bufferManagerFactory; public TCConnectionManagerImpl() { - this("ConnectionMgr", 0, new HealthCheckerConfigImpl("DefaultConfigForActiveConnections"), null); + this("ConnectionMgr", 0, new HealthCheckerConfigImpl("DefaultConfigForActiveConnections"), new ClearTextBufferManagerFactory()); } - public TCConnectionManagerImpl(String name, int workerCommCount, HealthCheckerConfig healthCheckerConfig, - TCSecurityManager securityManager) { - this.securityManager = securityManager; + public TCConnectionManagerImpl(String name, int workerCommCount, HealthCheckerConfig healthCheckerConfig, BufferManagerFactory bufferManagerFactory) { this.connEvents = new ConnectionEvents(); this.listenerEvents = new ListenerEvents(); this.socketParams = new SocketParams(); this.healthCheckerConfig = healthCheckerConfig; + this.bufferManagerFactory = bufferManagerFactory; this.comm = new TCCommImpl(name, workerCommCount, socketParams); this.comm.start(); } protected TCConnection createConnectionImpl(TCProtocolAdaptor adaptor, TCConnectionEventListener listener) { - return new TCConnectionImpl(listener, adaptor, this, comm.nioServiceThreadForNewConnection(), socketParams, securityManager); + return new TCConnectionImpl(listener, adaptor, this, comm.nioServiceThreadForNewConnection(), socketParams, bufferManagerFactory); } @SuppressWarnings("resource") @@ -106,7 +104,7 @@ protected TCListener createListenerImpl(TCSocketAddress addr, ProtocolAdaptorFac CoreNIOServices commThread = comm.nioServiceThreadForNewListener(); - TCListenerImpl rv = new TCListenerImpl(ssc, factory, getConnectionListener(), this, commThread, securityManager); + TCListenerImpl rv = new TCListenerImpl(ssc, factory, getConnectionListener(), this, commThread, bufferManagerFactory); commThread.registerListener(rv, ssc); diff --git a/common/src/main/java/com/tc/net/core/TCListenerImpl.java b/common/src/main/java/com/tc/net/core/TCListenerImpl.java index ed498f107a..88de9ae575 100644 --- a/common/src/main/java/com/tc/net/core/TCListenerImpl.java +++ b/common/src/main/java/com/tc/net/core/TCListenerImpl.java @@ -25,7 +25,6 @@ import com.tc.net.core.event.TCConnectionEventListener; import com.tc.net.core.event.TCListenerEvent; import com.tc.net.core.event.TCListenerEventListener; -import com.tc.net.core.security.TCSecurityManager; import com.tc.net.protocol.ProtocolAdaptorFactory; import com.tc.net.protocol.TCProtocolAdaptor; import com.tc.util.Assert; @@ -61,14 +60,13 @@ final class TCListenerImpl implements TCListener { private final CopyOnWriteArraySet listeners = new CopyOnWriteArraySet(); private final ProtocolAdaptorFactory factory; private final CoreNIOServices commNIOServiceThread; - private final TCSecurityManager securityManager; + private final BufferManagerFactory bufferManagerFactory; TCListenerImpl(ServerSocketChannel ssc, ProtocolAdaptorFactory factory, TCConnectionEventListener listener, - TCConnectionManagerImpl managerJDK14, CoreNIOServices commNIOServiceThread, - TCSecurityManager securityManager) { - this.securityManager = securityManager; + TCConnectionManagerImpl managerJDK14, CoreNIOServices commNIOServiceThread, BufferManagerFactory bufferManagerFactory) { this.addr = ssc.socket().getInetAddress(); this.port = ssc.socket().getLocalPort(); + this.bufferManagerFactory = bufferManagerFactory; this.sockAddr = new TCSocketAddress(this.addr, this.port); this.factory = factory; this.staticEvent = new TCListenerEvent(this); @@ -85,8 +83,7 @@ protected void stopImpl(Runnable callback) { TCConnectionImpl createConnection(SocketChannel ch, CoreNIOServices nioServiceThread, SocketParams socketParams) throws IOException { TCProtocolAdaptor adaptor = getProtocolAdaptorFactory().getInstance(); - TCConnectionImpl rv = new TCConnectionImpl(listener, adaptor, ch, parent, nioServiceThread, socketParams, - securityManager); + TCConnectionImpl rv = new TCConnectionImpl(listener, adaptor, ch, parent, nioServiceThread, socketParams, bufferManagerFactory); rv.finishConnect(); parent.newConnection(rv); return rv; diff --git a/common/src/main/java/com/tc/net/core/security/Realm.java b/common/src/main/java/com/tc/net/core/security/Realm.java deleted file mode 100644 index 1281f6e30c..0000000000 --- a/common/src/main/java/com/tc/net/core/security/Realm.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * - * The contents of this file are subject to the Terracotta Public License Version - * 2.0 (the "License"); You may not use this file except in compliance with the - * License. You may obtain a copy of the License at - * - * http://terracotta.org/legal/terracotta-public-license. - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for - * the specific language governing rights and limitations under the License. - * - * The Covered Software is Terracotta Core. - * - * The Initial Developer of the Covered Software is - * Terracotta, Inc., a Software AG company - * - */ -package com.tc.net.core.security; - -import java.security.Principal; - -/** - * @author Alex Snaps - */ -public interface Realm { - - /** - * Initialize the realm. This method is called after the whole security - * mechanism is initialized, so the realm has a chance to read its password(s) - * from the key chain using {@link com.tc.security.PwProviderUtil} for instance. - */ - void initialize(); - - Principal authenticate(String username, char[] passwd); -} diff --git a/common/src/main/java/com/tc/net/core/security/TCSecurityManager.java b/common/src/main/java/com/tc/net/core/security/TCSecurityManager.java deleted file mode 100644 index ebdda23831..0000000000 --- a/common/src/main/java/com/tc/net/core/security/TCSecurityManager.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * - * The contents of this file are subject to the Terracotta Public License Version - * 2.0 (the "License"); You may not use this file except in compliance with the - * License. You may obtain a copy of the License at - * - * http://terracotta.org/legal/terracotta-public-license. - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for - * the specific language governing rights and limitations under the License. - * - * The Covered Software is Terracotta Core. - * - * The Initial Developer of the Covered Software is - * Terracotta, Inc., a Software AG company - * - */ - -package com.tc.net.core.security; - -import com.tc.net.core.BufferManagerFactory; -import com.tc.security.PwProvider; - -import java.security.Principal; - -import javax.net.ssl.SSLContext; - -/** - * @author Alex Snaps - */ -public interface TCSecurityManager extends PwProvider { - Principal authenticate(String username, char[] chars); - - boolean isUserInRole(Principal principal, String roleName); - - BufferManagerFactory getBufferManagerFactory(); - - SSLContext getSslContext(); - - String getIntraL2Username(); -} diff --git a/common/src/main/java/com/tc/net/core/security/TCSecurityManagerUtils.java b/common/src/main/java/com/tc/net/core/security/TCSecurityManagerUtils.java deleted file mode 100644 index 404636701a..0000000000 --- a/common/src/main/java/com/tc/net/core/security/TCSecurityManagerUtils.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * - * The contents of this file are subject to the Terracotta Public License Version - * 2.0 (the "License"); You may not use this file except in compliance with the - * License. You may obtain a copy of the License at - * - * http://terracotta.org/legal/terracotta-public-license. - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for - * the specific language governing rights and limitations under the License. - * - * The Covered Software is Terracotta Core. - * - * The Initial Developer of the Covered Software is - * Terracotta, Inc., a Software AG company - * - */ - -package com.tc.net.core.security; - -import com.tc.exception.TCRuntimeException; - -import java.io.UnsupportedEncodingException; -import java.net.URI; -import java.net.URISyntaxException; -import java.net.URLEncoder; - -/** - * TCSecurityManagerUtils - */ -public final class TCSecurityManagerUtils { - - private TCSecurityManagerUtils() { - // Private constructor on static utility class - } - - public static URI createTcURI(String user, String host, int port) { - try { - String userInfo = user != null ? URLEncoder.encode(user, "UTF-8").replace("+", "%20") : null; - return new URI("tc", userInfo, host, port, null, null, null); - } catch (URISyntaxException e) { - throw new IllegalArgumentException("Can't create an URI from the provided arguments!", e); - } catch (UnsupportedEncodingException uee) { - throw new IllegalArgumentException("Can't create an URI from the provided arguments!", uee); - } - } - - @SuppressWarnings("unchecked") - public static Realm createRealm(String realmImplClass, String realmUrl) { - try { - final Class aClass = (Class) Class.forName(realmImplClass); - return aClass.getConstructor(String.class).newInstance(realmUrl); - } catch (Exception e) { - throw new TCRuntimeException("Couldn't create Realm instance of type " + realmImplClass + " with " + realmUrl, e); - } - } -} diff --git a/common/src/main/java/com/tc/net/protocol/tcm/CommunicationsManagerImpl.java b/common/src/main/java/com/tc/net/protocol/tcm/CommunicationsManagerImpl.java index 92ec479f2a..5169ca938f 100644 --- a/common/src/main/java/com/tc/net/protocol/tcm/CommunicationsManagerImpl.java +++ b/common/src/main/java/com/tc/net/protocol/tcm/CommunicationsManagerImpl.java @@ -22,6 +22,8 @@ import org.slf4j.LoggerFactory; import com.tc.exception.TCRuntimeException; +import com.tc.net.core.BufferManagerFactory; +import com.tc.net.core.ClearTextBufferManagerFactory; import com.tc.util.ProductID; import com.tc.net.AddressChecker; import com.tc.net.ClientID; @@ -32,7 +34,6 @@ import com.tc.net.core.TCConnectionManager; import com.tc.net.core.TCConnectionManagerImpl; import com.tc.net.core.TCListener; -import com.tc.net.core.security.TCSecurityManager; import com.tc.net.protocol.NetworkStackHarness; import com.tc.net.protocol.NetworkStackHarnessFactory; import com.tc.net.protocol.transport.ClientConnectionEstablisher; @@ -109,7 +110,6 @@ public class CommunicationsManagerImpl implements CommunicationsManager { private NetworkListener callbackportListener = null; private final TransportHandshakeErrorHandler handshakeErrHandler; private final String commsMgrName; - private final TCSecurityManager securityManager; private final SessionManager sessionManager = new NullSessionManager(); /** @@ -120,7 +120,7 @@ public CommunicationsManagerImpl(String commsMgrName, MessageMonitor monitor, NetworkStackHarnessFactory stackHarnessFactory, ConnectionPolicy connectionPolicy) { this(commsMgrName, monitor, new TCMessageRouterImpl(), stackHarnessFactory, null, connectionPolicy, 0, new DisabledHealthCheckerConfigImpl(), new TransportHandshakeErrorHandlerForL1(), Collections.>emptyMap(), - Collections.emptyMap(), null); + Collections.emptyMap()); } @@ -129,7 +129,7 @@ public CommunicationsManagerImpl(String commsMgrName, MessageMonitor monitor, int workerCommCount) { this(commsMgrName, monitor, new TCMessageRouterImpl(), stackHarnessFactory, null, connectionPolicy, workerCommCount, new DisabledHealthCheckerConfigImpl(), new TransportHandshakeErrorHandlerForL1(), - Collections.>emptyMap(), Collections.emptyMap(), null); + Collections.>emptyMap(), Collections.emptyMap()); } public CommunicationsManagerImpl(String commsMgrName, MessageMonitor monitor, @@ -144,7 +144,18 @@ public CommunicationsManagerImpl(String commsMgrName, MessageMonitor monitor, TC HealthCheckerConfig config, Map> messageTypeClassMapping, Map messageTypeFactoryMapping) { this(commsMgrName, monitor, messageRouter, stackHarnessFactory, null, connectionPolicy, 0, config, - new TransportHandshakeErrorHandlerForL1(), messageTypeClassMapping, messageTypeFactoryMapping, null); + new TransportHandshakeErrorHandlerForL1(), messageTypeClassMapping, messageTypeFactoryMapping); + } + + public CommunicationsManagerImpl(String commsMgrName, MessageMonitor monitor, TCMessageRouter messageRouter, + NetworkStackHarnessFactory stackHarnessFactory, ConnectionPolicy connectionPolicy, + int workerCommCount, HealthCheckerConfig config, ServerID serverID, + TransportHandshakeErrorHandler transportHandshakeErrorHandler, + Map> messageTypeClassMapping, + Map messageTypeFactoryMapping) { + this(commsMgrName, monitor, messageRouter, stackHarnessFactory, null, connectionPolicy, workerCommCount, config, + transportHandshakeErrorHandler, messageTypeClassMapping, ReconnectionRejectedHandlerL2.SINGLETON, new ClearTextBufferManagerFactory()); + this.serverID = serverID; } public CommunicationsManagerImpl(String commsMgrName, MessageMonitor monitor, TCMessageRouter messageRouter, @@ -153,10 +164,9 @@ public CommunicationsManagerImpl(String commsMgrName, MessageMonitor monitor, TC TransportHandshakeErrorHandler transportHandshakeErrorHandler, Map> messageTypeClassMapping, Map messageTypeFactoryMapping, - TCSecurityManager securityManager) { + BufferManagerFactory bufferManagerFactory) { this(commsMgrName, monitor, messageRouter, stackHarnessFactory, null, connectionPolicy, workerCommCount, config, - transportHandshakeErrorHandler, messageTypeClassMapping, ReconnectionRejectedHandlerL2.SINGLETON, - securityManager); + transportHandshakeErrorHandler, messageTypeClassMapping, ReconnectionRejectedHandlerL2.SINGLETON, bufferManagerFactory); this.serverID = serverID; } @@ -166,11 +176,10 @@ public CommunicationsManagerImpl(String commsMgrName, MessageMonitor monitor, TC HealthCheckerConfig healthCheckerConf, TransportHandshakeErrorHandler transportHandshakeErrorHandler, Map> messageTypeClassMapping, - Map messageTypeFactoryMapping, - TCSecurityManager securityManager) { + Map messageTypeFactoryMapping) { this(commsMgrName, monitor, messageRouter, stackHarnessFactory, connMgr, connectionPolicy, workerCommCount, healthCheckerConf, transportHandshakeErrorHandler, messageTypeClassMapping, - ReconnectionRejectedHandlerL1.SINGLETON, securityManager); + ReconnectionRejectedHandlerL1.SINGLETON, new ClearTextBufferManagerFactory()); } /** @@ -178,7 +187,6 @@ public CommunicationsManagerImpl(String commsMgrName, MessageMonitor monitor, TC * actually want to use an explicit connection manager * * @param connMgr the connection manager to use - * @param productId */ public CommunicationsManagerImpl(String commsMgrName, MessageMonitor monitor, TCMessageRouter messageRouter, NetworkStackHarnessFactory stackHarnessFactory, TCConnectionManager connMgr, @@ -187,7 +195,7 @@ public CommunicationsManagerImpl(String commsMgrName, MessageMonitor monitor, TC TransportHandshakeErrorHandler transportHandshakeErrorHandler, Map> messageTypeClassMapping, ReconnectionRejectedHandler reconnectionRejectedHandler, - TCSecurityManager securityManager) { + BufferManagerFactory bufferManagerFactory) { this.commsMgrName = commsMgrName; this.monitor = monitor; this.messageRouter = messageRouter; @@ -200,12 +208,10 @@ public CommunicationsManagerImpl(String commsMgrName, MessageMonitor monitor, TC this.messageTypeClassMapping.putAll(messageTypeClassMapping); this.messageTypeFactoryMapping.putAll(messageTypeFactoryMapping); this.reconnectionRejectedHandler = reconnectionRejectedHandler; - this.securityManager = securityManager; Assert.assertNotNull(commsMgrName); if (null == connMgr) { - this.connectionManager = new TCConnectionManagerImpl(commsMgrName, workerCommCount, healthCheckerConfig, - securityManager); + this.connectionManager = new TCConnectionManagerImpl(commsMgrName, workerCommCount, healthCheckerConfig, bufferManagerFactory); } else { this.connectionManager = connMgr; } @@ -286,8 +292,8 @@ public ClientMessageChannel createClientChannel(ProductID productId, SessionProv connectionManager, timeout, callbackPort, handshakeErrHandler, - reconnectionRejectedHandler, - securityManager); + reconnectionRejectedHandler + ); NetworkStackHarness stackHarness = this.stackHarnessFactory.createClientHarness(transportFactory, rv, new MessageTransportListener[0]); stackHarness.finalizeStack(); @@ -391,7 +397,7 @@ public ServerMessageTransport createNewTransport(ConnectionID connectionId, TCCo this.connectionPolicy, new WireProtocolAdaptorFactoryImpl(), wireProtocolMessageSink, licenseLock, - this.commsMgrName, this.securityManager); + this.commsMgrName); return connectionManager.createListener(addr, stackProvider, Constants.DEFAULT_ACCEPT_QUEUE_DEPTH, resueAddr); } diff --git a/common/src/main/java/com/tc/net/protocol/tcm/MessageTransportFactoryImpl.java b/common/src/main/java/com/tc/net/protocol/tcm/MessageTransportFactoryImpl.java index 2dee75e74a..4dda5327f4 100644 --- a/common/src/main/java/com/tc/net/protocol/tcm/MessageTransportFactoryImpl.java +++ b/common/src/main/java/com/tc/net/protocol/tcm/MessageTransportFactoryImpl.java @@ -20,7 +20,6 @@ import com.tc.net.core.TCConnection; import com.tc.net.core.TCConnectionManager; -import com.tc.net.core.security.TCSecurityManager; import com.tc.net.protocol.transport.ClientConnectionEstablisher; import com.tc.net.protocol.transport.ClientMessageTransport; import com.tc.net.protocol.transport.ConnectionHealthChecker; @@ -44,15 +43,13 @@ public class MessageTransportFactoryImpl implements MessageTransportFactory { private final int callbackport; private final TransportHandshakeErrorHandler defaultHandshakeErrorHandler; private final ReconnectionRejectedHandler reconnectionRejectedHandler; - private final TCSecurityManager securityManager; public MessageTransportFactoryImpl(TransportHandshakeMessageFactory transportMessageFactory, ConnectionHealthChecker connectionHealthChecker, TCConnectionManager connectionManager, - int timeout, int callbackPort, + int timeout, int callbackPort, TransportHandshakeErrorHandler defaultHandshakeErrorHandler, - ReconnectionRejectedHandler reconnectionRejectedBehaviour, - TCSecurityManager securityManager) { + ReconnectionRejectedHandler reconnectionRejectedBehaviour) { this.transportMessageFactory = transportMessageFactory; this.connectionHealthChecker = connectionHealthChecker; this.connectionMgr = connectionManager; @@ -60,7 +57,6 @@ public MessageTransportFactoryImpl(TransportHandshakeMessageFactory transportMes this.callbackport = callbackPort; this.defaultHandshakeErrorHandler = defaultHandshakeErrorHandler; this.reconnectionRejectedHandler = reconnectionRejectedBehaviour; - this.securityManager = securityManager; } @Override @@ -83,7 +79,7 @@ protected ClientMessageTransport createClientMessageTransport(TransportHandshake WireProtocolAdaptorFactory wireProtocolAdaptorFactory, int callbackPortNum) { return new ClientMessageTransport(this.connectionMgr, handshakeErrorHandler, transportMessageFactory, - wireProtocolAdaptorFactory, callbackPortNum, this.timeout, reconnectionRejectedHandler, securityManager); + wireProtocolAdaptorFactory, callbackPortNum, this.timeout, reconnectionRejectedHandler); } @Override diff --git a/common/src/main/java/com/tc/net/protocol/transport/ClientConnectionEstablisher.java b/common/src/main/java/com/tc/net/protocol/transport/ClientConnectionEstablisher.java index fcc40df2ee..7a10ddf953 100644 --- a/common/src/main/java/com/tc/net/protocol/transport/ClientConnectionEstablisher.java +++ b/common/src/main/java/com/tc/net/protocol/transport/ClientConnectionEstablisher.java @@ -145,7 +145,7 @@ NetworkStackID connectTryAllOnce(ClientMessageTransport cmt) throws TCTimeoutExc try { return cmt.open(info); } catch (TransportRedirect redirect) { - ConnectionInfo add = new ConnectionInfo(redirect.getHostname(), redirect.getPort(), info.getSecurityInfo()); + ConnectionInfo add = new ConnectionInfo(redirect.getHostname(), redirect.getPort()); info = null; if (this.connAddressProvider.add(add)) { info = add; @@ -236,7 +236,7 @@ void reconnect(ClientMessageTransport cmt) throws MaxConnectionsExceededExceptio cmt.reopen(target); connected = cmt.getConnectionId().isValid(); } catch (TransportRedirect redirect) { - ConnectionInfo add = new ConnectionInfo(redirect.getHostname(), redirect.getPort(), target.getSecurityInfo()); + ConnectionInfo add = new ConnectionInfo(redirect.getHostname(), redirect.getPort()); target = null; if (this.connAddressProvider.add(add)) { target = add; diff --git a/common/src/main/java/com/tc/net/protocol/transport/ClientMessageTransport.java b/common/src/main/java/com/tc/net/protocol/transport/ClientMessageTransport.java index e87e761df5..f1da470af3 100644 --- a/common/src/main/java/com/tc/net/protocol/transport/ClientMessageTransport.java +++ b/common/src/main/java/com/tc/net/protocol/transport/ClientMessageTransport.java @@ -30,7 +30,6 @@ import com.tc.net.core.TCConnection; import com.tc.net.core.TCConnectionManager; import com.tc.net.core.event.TCConnectionEvent; -import com.tc.net.core.security.TCSecurityManager; import com.tc.net.protocol.NetworkLayer; import com.tc.net.protocol.NetworkStackID; import com.tc.net.protocol.TCNetworkMessage; @@ -62,7 +61,6 @@ public class ClientMessageTransport extends MessageTransportBase { private final AtomicBoolean isOpening = new AtomicBoolean(false); private final int callbackPort; private final int timeout; - private final TCSecurityManager securityManager; private ConnectionInfo connectionInfo; public ClientMessageTransport(TCConnectionManager clientConnectionEstablisher, @@ -70,7 +68,7 @@ public ClientMessageTransport(TCConnectionManager clientConnectionEstablisher, TransportHandshakeMessageFactory messageFactory, WireProtocolAdaptorFactory wireProtocolAdaptorFactory, int callbackPort, int timeout) { this(clientConnectionEstablisher, handshakeErrorHandler, messageFactory, wireProtocolAdaptorFactory, callbackPort, timeout, - ReconnectionRejectedHandlerL1.SINGLETON, null); + ReconnectionRejectedHandlerL1.SINGLETON); } /** @@ -81,15 +79,13 @@ public ClientMessageTransport(TCConnectionManager connectionManager, TransportHandshakeErrorHandler handshakeErrorHandler, TransportHandshakeMessageFactory messageFactory, WireProtocolAdaptorFactory wireProtocolAdaptorFactory, int callbackPort, int timeout, - ReconnectionRejectedHandler reconnectionRejectedHandler, - TCSecurityManager securityManager) { + ReconnectionRejectedHandler reconnectionRejectedHandler) { super(MessageTransportState.STATE_START, handshakeErrorHandler, messageFactory, false, LoggerFactory.getLogger(ClientMessageTransport.class)); this.wireProtocolAdaptorFactory = wireProtocolAdaptorFactory; this.connectionManager = connectionManager; this.callbackPort = callbackPort; this.timeout = timeout; - this.securityManager = securityManager; } /** @@ -341,12 +337,6 @@ private TCFuture sendSyn() { this.waitForSynAckResult = targetFuture; // get the stack layer list and pass it in short stackLayerFlags = getCommunicationStackFlags(this); - if (getConnectionId().isSecured() && getConnectionId().getPassword() == null) { - // Re-init the password - getConnectionId().setPassword(securityManager.getPasswordForTC(getConnectionId().getUsername(), - connectionInfo.getHostname(), - connectionInfo.getPort())); - } TransportHandshakeMessage syn = this.messageFactory.createSyn(getConnectionId(), getConnection(), stackLayerFlags, this.callbackPort); // send syn message diff --git a/common/src/main/java/com/tc/net/protocol/transport/ServerStackProvider.java b/common/src/main/java/com/tc/net/protocol/transport/ServerStackProvider.java index 7dbea6a986..ce74104f6a 100644 --- a/common/src/main/java/com/tc/net/protocol/transport/ServerStackProvider.java +++ b/common/src/main/java/com/tc/net/protocol/transport/ServerStackProvider.java @@ -23,7 +23,6 @@ import com.tc.net.ClientID; import com.tc.net.core.TCConnection; -import com.tc.net.core.security.TCSecurityManager; import com.tc.net.protocol.IllegalReconnectException; import com.tc.net.protocol.NetworkLayer; import com.tc.net.protocol.NetworkStackHarness; @@ -37,10 +36,9 @@ import com.tc.net.protocol.tcm.msgs.CommsMessageFactory; import com.tc.operatorevent.NodeNameProvider; import com.tc.util.Assert; -import com.tc.util.ProductID; + import java.io.IOException; -import java.security.Principal; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -62,7 +60,6 @@ public class ServerStackProvider implements NetworkStackProvider, MessageTranspo private final ConnectionPolicy connectionPolicy; private final WireProtocolAdaptorFactory wireProtocolAdaptorFactory; private final WireProtocolMessageSink wireProtoMsgsink; - private final TCSecurityManager securityManager; private final MessageTransportFactory messageTransportFactory; private final List transportListeners = new ArrayList(); private final ReentrantLock licenseLock; @@ -78,22 +75,21 @@ public ServerStackProvider(Set initialConnectionIDs, NetworkStackHarne WireProtocolAdaptorFactory wireProtocolAdaptorFactory, ReentrantLock licenseLock) { this(initialConnectionIDs, null, harnessFactory, channelFactory, messageTransportFactory, handshakeMessageFactory, connectionIdFactory, connectionPolicy, wireProtocolAdaptorFactory, null, licenseLock, - CommunicationsManager.COMMSMGR_SERVER, null); + CommunicationsManager.COMMSMGR_SERVER); } - public ServerStackProvider(Set initialConnectionIDs, NodeNameProvider activeProvider, NetworkStackHarnessFactory harnessFactory, + public ServerStackProvider(Set initialConnectionIDs, NodeNameProvider activeProvider, NetworkStackHarnessFactory harnessFactory, ServerMessageChannelFactory channelFactory, MessageTransportFactory messageTransportFactory, TransportHandshakeMessageFactory handshakeMessageFactory, ConnectionIDFactory connectionIdFactory, ConnectionPolicy connectionPolicy, WireProtocolAdaptorFactory wireProtocolAdaptorFactory, WireProtocolMessageSink wireProtoMsgSink, ReentrantLock licenseLock, - String commsMgrName, TCSecurityManager securityManager) { + String commsMgrName) { this.messageTransportFactory = messageTransportFactory; this.connectionPolicy = connectionPolicy; this.wireProtocolAdaptorFactory = wireProtocolAdaptorFactory; this.wireProtoMsgsink = wireProtoMsgSink; - this.securityManager = securityManager; Assert.assertNotNull(harnessFactory); this.harnessFactory = harnessFactory; this.channelFactory = channelFactory; @@ -378,22 +374,6 @@ private void handleSyn(SynMessage syn) throws RejectReconnectionException, Produ this.isHandshakeError = true; return; } - Principal principal = null; - if (connectionId.isSecured()) { - if (securityManager == null) { - logger.error("Security is enabled here on the server, but we didn't get credentials on the handshake!"); - this.isHandshakeError = true; - return; - } else { - if ((principal = securityManager.authenticate(connectionId.getUsername(), connectionId.getPassword())) == null) { - logger.error("Authentication failed for user " + connectionId.getUsername() - + " with pw (" + connectionId.getPassword().length + "): " + new String(connectionId.getPassword())); - this.isHandshakeError = true; - return; - } - } - } - // todo store principal ? sendSynAck(connectionId, syn.getSource(), isMaxConnectionReached); } diff --git a/common/src/main/java/com/tc/security/PwProvider.java b/common/src/main/java/com/tc/security/PwProvider.java deleted file mode 100644 index 896efb726c..0000000000 --- a/common/src/main/java/com/tc/security/PwProvider.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * - * The contents of this file are subject to the Terracotta Public License Version - * 2.0 (the "License"); You may not use this file except in compliance with the - * License. You may obtain a copy of the License at - * - * http://terracotta.org/legal/terracotta-public-license. - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for - * the specific language governing rights and limitations under the License. - * - * The Covered Software is Terracotta Core. - * - * The Initial Developer of the Covered Software is - * Terracotta, Inc., a Software AG company - * - */ - -package com.tc.security; - -import java.net.URI; - -/** -* @author Alex Snaps -*/ -public interface PwProvider { - char[] getPasswordFor(URI uri); - - char[] getPasswordForTC(String user, String host, int port); -} diff --git a/common/src/main/java/com/tc/security/PwProviderUtil.java b/common/src/main/java/com/tc/security/PwProviderUtil.java deleted file mode 100644 index 1d386f8439..0000000000 --- a/common/src/main/java/com/tc/security/PwProviderUtil.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * - * The contents of this file are subject to the Terracotta Public License Version - * 2.0 (the "License"); You may not use this file except in compliance with the - * License. You may obtain a copy of the License at - * - * http://terracotta.org/legal/terracotta-public-license. - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for - * the specific language governing rights and limitations under the License. - * - * The Covered Software is Terracotta Core. - * - * The Initial Developer of the Covered Software is - * Terracotta, Inc., a Software AG company - * - */ - -package com.tc.security; - -import java.net.URI; -import java.util.concurrent.atomic.AtomicReference; - -/** - * @author Alex Snaps - */ -public class PwProviderUtil { - - private static AtomicReference backend = new AtomicReference(); - - public static char[] getPasswordTo(URI uri) { - final PwProvider tcSecurityManager = backend.get(); - if(tcSecurityManager == null) { - throw new IllegalStateException("We haven't had a BackEnd set yet!"); - } - return tcSecurityManager.getPasswordFor(uri); - } - - public static void setBackEnd(PwProvider securityManager) { - if(!PwProviderUtil.backend.compareAndSet(null, securityManager)) { - throw new IllegalStateException("BackEnd was already set!"); - } - } - - public static PwProvider getProvider() { - return backend.get(); - } -} diff --git a/common/src/main/java/com/tc/util/io/ServerURL.java b/common/src/main/java/com/tc/util/io/ServerURL.java index 86d6dd4386..a299c677f2 100644 --- a/common/src/main/java/com/tc/util/io/ServerURL.java +++ b/common/src/main/java/com/tc/util/io/ServerURL.java @@ -21,7 +21,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.tc.net.core.SecurityInfo; import com.tc.security.TCAuthenticationException; import com.tc.security.TCAuthorizationException; @@ -39,17 +38,15 @@ public class ServerURL { private final URL theURL; private final int timeout; - private final SecurityInfo securityInfo; - public ServerURL(String host, int port, String file, SecurityInfo securityInfo) throws MalformedURLException { - this(host, port, file, -1, securityInfo); + public ServerURL(String host, int port, String file) throws MalformedURLException { + this(host, port, file, -1); } - public ServerURL(String host, int port, String file, int timeout, SecurityInfo securityInfo) + public ServerURL(String host, int port, String file, int timeout) throws MalformedURLException { this.timeout = timeout; - this.securityInfo = securityInfo; - this.theURL = new URL(securityInfo.isSecure() ? "https" : "http", host, port, file); + this.theURL = new URL("http", host, port, file); } public InputStream openStream() throws IOException { @@ -62,13 +59,9 @@ public InputStream openStream() throws IOException { int responseCode = ((HttpURLConnection) urlConnection).getResponseCode(); switch (responseCode) { case 401: - throw new TCAuthenticationException("Authentication error connecting to " + urlConnection.getURL() - + " - invalid credentials (tried user " + securityInfo.getUsername() - + ")", e); + throw new TCAuthenticationException("Authentication error connecting to " + urlConnection.getURL(), e); case 403: - throw new TCAuthorizationException("Authorization error connecting to " + urlConnection.getURL() - + " - does the user '" + securityInfo.getUsername() - + "' have the required roles?", e); + throw new TCAuthorizationException("Authorization error connecting to " + urlConnection.getURL(), e); default: } } @@ -96,8 +89,4 @@ public String toString() { return theURL.toString(); } - public String getUsername() { - return securityInfo.isSecure() ? securityInfo.getUsername() : null; - } - } \ No newline at end of file diff --git a/common/src/test/java/com/tc/net/core/DetachedTest.java b/common/src/test/java/com/tc/net/core/DetachedTest.java index 0e4f4625aa..af61fb0e10 100644 --- a/common/src/test/java/com/tc/net/core/DetachedTest.java +++ b/common/src/test/java/com/tc/net/core/DetachedTest.java @@ -46,7 +46,7 @@ public void testReadAndWriteFromClosedPipeSocket() throws Throwable { NullProtocolAdaptor adaptor = new NullProtocolAdaptor(); SocketParams socketParams = new SocketParams(); CoreNIOServices coreNIOServices = new CoreNIOServices("mock core nio thread", null, socketParams); - TCConnectionImpl tcConnection = new TCConnectionImpl(null, adaptor, socketChannel, connectionManager, coreNIOServices, socketParams, null); + TCConnectionImpl tcConnection = new TCConnectionImpl(null, adaptor, socketChannel, connectionManager, coreNIOServices, socketParams, new ClearTextBufferManagerFactory()); try { tcConnection.finishConnect(); // detach the connection -> this creates the pipe socket, then close it diff --git a/common/src/test/java/com/tc/net/core/NoReconnectThreadTest.java b/common/src/test/java/com/tc/net/core/NoReconnectThreadTest.java index 3100a11b9b..f63c3b26b1 100644 --- a/common/src/test/java/com/tc/net/core/NoReconnectThreadTest.java +++ b/common/src/test/java/com/tc/net/core/NoReconnectThreadTest.java @@ -115,8 +115,8 @@ public void testConnectionEstablisherThreadExit() throws Exception { new ServerID(), new TransportHandshakeErrorNullHandler(), Collections.>emptyMap(), - Collections.emptyMap(), - null); + Collections.emptyMap() + ); NetworkListener listener = serverCommsMgr.createListener(new TCSocketAddress(0), true, new DefaultConnectionIdFactory()); listener.start(Collections.emptySet()); @@ -179,8 +179,8 @@ public void testConnectionEstablisherThreadExitAfterOOO() throws Exception { new ServerID(), new TransportHandshakeErrorNullHandler(), Collections.>emptyMap(), - Collections.emptyMap(), - null); + Collections.emptyMap() + ); NetworkListener listener = serverCommsMgr.createListener(new TCSocketAddress(0), true, new DefaultConnectionIdFactory()); listener.start(Collections.emptySet()); diff --git a/common/src/test/java/com/tc/net/core/OOOReconnectTimeoutTest.java b/common/src/test/java/com/tc/net/core/OOOReconnectTimeoutTest.java index 9d0e3866d8..0f5ddb1d92 100644 --- a/common/src/test/java/com/tc/net/core/OOOReconnectTimeoutTest.java +++ b/common/src/test/java/com/tc/net/core/OOOReconnectTimeoutTest.java @@ -108,7 +108,7 @@ public void testWorkerCommDistributionAfterReconnect() throws Exception { new ServerID(), new TransportHandshakeErrorNullHandler(), Collections.>emptyMap(), - Collections.emptyMap(), null); + Collections.emptyMap()); NetworkListener listener = commsMgr.createListener(new TCSocketAddress(0), true, new DefaultConnectionIdFactory()); listener.start(Collections.emptySet()); diff --git a/common/src/test/java/com/tc/net/core/TCConnectionImplTest.java b/common/src/test/java/com/tc/net/core/TCConnectionImplTest.java index 938bbb44d7..c1b7c026c3 100644 --- a/common/src/test/java/com/tc/net/core/TCConnectionImplTest.java +++ b/common/src/test/java/com/tc/net/core/TCConnectionImplTest.java @@ -21,48 +21,22 @@ import com.tc.net.TCSocketAddress; import com.tc.net.core.event.TCConnectionEvent; import com.tc.net.core.event.TCConnectionEventListener; -import com.tc.net.core.security.TCSecurityManager; import com.tc.net.protocol.TCProtocolAdaptor; import com.tc.util.PortChooser; import java.io.IOException; import java.net.ServerSocket; -import java.nio.channels.SocketChannel; import java.util.concurrent.atomic.AtomicBoolean; import static junit.framework.TestCase.fail; -import org.junit.After; -import org.junit.AfterClass; -import org.junit.Before; -import org.junit.BeforeClass; import org.junit.Test; import static org.mockito.Matchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; /** * */ public class TCConnectionImplTest { - public TCConnectionImplTest() { - } - - @BeforeClass - public static void setUpClass() { - } - - @AfterClass - public static void tearDownClass() { - } - - @Before - public void setUp() { - } - - @After - public void tearDown() { - } - @Test public void testFinishConnection() throws Exception { int port = new PortChooser().chooseRandomPort(); @@ -73,23 +47,12 @@ public void testFinishConnection() throws Exception { TCConnectionManagerImpl mgr = new TCConnectionManagerImpl(); CoreNIOServices nioServiceThread = mock(CoreNIOServices.class); SocketParams socketParams = new SocketParams(); - TCSecurityManager securityManager = mock(TCSecurityManager.class); - when(securityManager.getBufferManagerFactory()).thenReturn(new BufferManagerFactory() { - @Override - public BufferManager createBufferManager(SocketChannel socketChannel, boolean client) { - if (createManager.get()) { - return new ClearTextBufferManager(socketChannel); - } else { - return null; - } - } - }); - TCConnection conn = new TCConnectionImpl(listener, adaptor, mgr, nioServiceThread, socketParams, securityManager); + TCConnection conn = new TCConnectionImpl(listener, adaptor, mgr, nioServiceThread, socketParams, new ClearTextBufferManagerFactory()); TCSocketAddress addr = new TCSocketAddress("localhost", port); conn.connect(addr, 0); verify(listener).connectEvent(any(TCConnectionEvent.class)); - conn = new TCConnectionImpl(listener, adaptor, mgr, nioServiceThread, socketParams, securityManager); + conn = new TCConnectionImpl(listener, adaptor, mgr, nioServiceThread, socketParams, mock(BufferManagerFactory.class)); createManager.set(false); try { diff --git a/common/src/test/java/com/tc/net/core/TCConnectionManagerTest.java b/common/src/test/java/com/tc/net/core/TCConnectionManagerTest.java index 7602cc3127..1ef9d5a317 100644 --- a/common/src/test/java/com/tc/net/core/TCConnectionManagerTest.java +++ b/common/src/test/java/com/tc/net/core/TCConnectionManagerTest.java @@ -192,7 +192,7 @@ public void testActiveClientConnections() throws Exception { public void testInActiveClientConnections() throws Exception { HealthCheckerConfig hcConfig = new HealthCheckerConfigImpl(1000, 1000, 5, "testInActiveClientConnections", false); - this.serverConnMgr = new TCConnectionManagerImpl("TestConnMgr", 0, hcConfig, null); + this.serverConnMgr = new TCConnectionManagerImpl("TestConnMgr", 0, hcConfig, new ClearTextBufferManagerFactory()); this.lsnr = this.serverConnMgr.createListener(new TCSocketAddress(0), new ProtocolAdaptorFactory() { @Override public TCProtocolAdaptor getInstance() { diff --git a/common/src/test/java/com/tc/net/core/TCWorkerCommManagerTest.java b/common/src/test/java/com/tc/net/core/TCWorkerCommManagerTest.java index 755516783f..2e339b9e35 100644 --- a/common/src/test/java/com/tc/net/core/TCWorkerCommManagerTest.java +++ b/common/src/test/java/com/tc/net/core/TCWorkerCommManagerTest.java @@ -317,7 +317,7 @@ public void testWorkerCommDistributionAfterReconnect() throws Exception { new ServerID(), new TransportHandshakeErrorNullHandler(), Collections.>emptyMap(), - Collections.emptyMap(), null); + Collections.emptyMap()); NetworkListener listener = commsMgr.createListener(new TCSocketAddress(0), true, new DefaultConnectionIdFactory()); listener.start(Collections.emptySet()); diff --git a/common/src/test/java/com/tc/net/protocol/transport/ConnectionHealthCheckReverseCallbackTest.java b/common/src/test/java/com/tc/net/protocol/transport/ConnectionHealthCheckReverseCallbackTest.java index a1b62c48f8..3e260d4f5b 100755 --- a/common/src/test/java/com/tc/net/protocol/transport/ConnectionHealthCheckReverseCallbackTest.java +++ b/common/src/test/java/com/tc/net/protocol/transport/ConnectionHealthCheckReverseCallbackTest.java @@ -108,7 +108,7 @@ protected void setUp() throws Exception { serverConnMgr, new NullConnectionPolicy(), 0, serverHC, new TransportHandshakeErrorNullHandler(), Collections.>emptyMap(), - Collections.emptyMap(), null); + Collections.emptyMap()); String host = "localhost"; serverComms.addClassMapping(TCMessageType.PING_MESSAGE, PingMessage.class); diff --git a/connection-loader/src/main/java/com/terracotta/connection/TerracottaInternalClientImpl.java b/connection-loader/src/main/java/com/terracotta/connection/TerracottaInternalClientImpl.java index 59a3c80d3d..f3f8672d2c 100644 --- a/connection-loader/src/main/java/com/terracotta/connection/TerracottaInternalClientImpl.java +++ b/connection-loader/src/main/java/com/terracotta/connection/TerracottaInternalClientImpl.java @@ -19,7 +19,6 @@ package com.terracotta.connection; import com.tc.config.schema.setup.ConfigurationSetupException; -import com.tc.net.core.SecurityInfo; import com.tc.object.ClientEntityManager; import com.tc.object.DistributedObjectClient; import com.tc.object.DistributedObjectClientFactory; @@ -63,10 +62,7 @@ private DistributedObjectClientFactory buildClientCreator(TerracottaClientStripe } return new DistributedObjectClientFactory(stripeConnectionConfig.getStripeMemberUris(), - new StandardClientBuilder(product), - null, // no security features - new SecurityInfo(false, null), // no security info - props); + new StandardClientBuilder(product), props); } @Override diff --git a/connection-loader/src/main/java/com/terracotta/diagnostic/DiagnosticClientBuilder.java b/connection-loader/src/main/java/com/terracotta/diagnostic/DiagnosticClientBuilder.java index 0560dd30d2..4ebc818393 100644 --- a/connection-loader/src/main/java/com/terracotta/diagnostic/DiagnosticClientBuilder.java +++ b/connection-loader/src/main/java/com/terracotta/diagnostic/DiagnosticClientBuilder.java @@ -22,9 +22,9 @@ import com.tc.async.api.StageManager; import com.tc.cluster.ClusterInternalEventsGun; +import com.tc.net.core.BufferManagerFactory; import com.tc.util.ProductID; import com.tc.management.TCClient; -import com.tc.net.core.security.TCSecurityManager; import com.tc.net.protocol.NetworkStackHarnessFactory; import com.tc.net.protocol.tcm.ClientMessageChannel; import com.tc.net.protocol.tcm.CommunicationsManager; @@ -64,10 +64,10 @@ public CommunicationsManager createCommunicationsManager(MessageMonitor monitor, HealthCheckerConfig aConfig, Map> messageTypeClassMapping, ReconnectionRejectedHandler reconnectionRejectedHandler, - TCSecurityManager securityManager) { + BufferManagerFactory bufferManagerFactory) { return new CommunicationsManagerImpl(CommunicationsManager.COMMSMGR_CLIENT, monitor, messageRouter, stackHarnessFactory, null, connectionPolicy, 0, new DisabledHealthCheckerConfigImpl() /* ignore health check settings */, new TransportHandshakeErrorHandlerForL1(), messageTypeClassMapping, - reconnectionRejectedHandler, securityManager); + reconnectionRejectedHandler, bufferManagerFactory); } @Override diff --git a/connection-loader/src/main/java/com/terracotta/diagnostic/DiagnosticClientImpl.java b/connection-loader/src/main/java/com/terracotta/diagnostic/DiagnosticClientImpl.java index 0741aa4eaa..a9b5650dba 100644 --- a/connection-loader/src/main/java/com/terracotta/diagnostic/DiagnosticClientImpl.java +++ b/connection-loader/src/main/java/com/terracotta/diagnostic/DiagnosticClientImpl.java @@ -19,11 +19,9 @@ package com.terracotta.diagnostic; import com.tc.config.schema.setup.ConfigurationSetupException; -import com.tc.net.core.SecurityInfo; import com.tc.object.ClientEntityManager; import com.tc.object.DistributedObjectClient; import com.tc.object.DistributedObjectClientFactory; -import com.tc.util.ProductID; import com.terracotta.connection.TerracottaInternalClient; import com.terracotta.connection.client.TerracottaClientStripeConnectionConfig; @@ -51,10 +49,7 @@ public DiagnosticClientImpl(TerracottaClientStripeConnectionConfig stripeConnect private DistributedObjectClientFactory buildClientCreator(TerracottaClientStripeConnectionConfig stripeConnectionConfig, Properties props) { return new DistributedObjectClientFactory(stripeConnectionConfig.getStripeMemberUris(), - new DiagnosticClientBuilder(), - null, // no security features - new SecurityInfo(false, null), // no security info - props); + new DiagnosticClientBuilder(), props); } public synchronized void init() throws TimeoutException, InterruptedException, ConfigurationSetupException { diff --git a/dso-l1/src/main/java/com/tc/client/ClientFactory.java b/dso-l1/src/main/java/com/tc/client/ClientFactory.java index 96f9275a37..90948c09fa 100644 --- a/dso-l1/src/main/java/com/tc/client/ClientFactory.java +++ b/dso-l1/src/main/java/com/tc/client/ClientFactory.java @@ -19,7 +19,6 @@ package com.tc.client; import com.tc.lang.TCThreadGroup; -import com.tc.net.core.security.TCSecurityManager; import com.tc.object.ClientBuilder; import com.tc.object.DistributedObjectClient; import com.tc.object.config.ClientConfig; @@ -33,10 +32,9 @@ public class ClientFactory { public static DistributedObjectClient createClient(ClientConfig config, ClientBuilder builder, TCThreadGroup threadGroup, PreparedComponentsFromL2Connection connectionComponents, ClusterInternal cluster, - TCSecurityManager securityManager, String uuid, String name) { return new DistributedObjectClient(config, builder, threadGroup, connectionComponents, - cluster, null, + cluster, uuid, name); } } diff --git a/dso-l1/src/main/java/com/tc/config/schema/setup/ClientConfigurationSetupManager.java b/dso-l1/src/main/java/com/tc/config/schema/setup/ClientConfigurationSetupManager.java index 11b77ef7d8..cb65a7aa84 100644 --- a/dso-l1/src/main/java/com/tc/config/schema/setup/ClientConfigurationSetupManager.java +++ b/dso-l1/src/main/java/com/tc/config/schema/setup/ClientConfigurationSetupManager.java @@ -21,7 +21,6 @@ import com.tc.config.schema.CommonL1Config; import com.tc.config.schema.L2ConfigForL1; -import com.tc.net.core.SecurityInfo; import java.util.Arrays; import java.util.Collections; @@ -35,16 +34,14 @@ public class ClientConfigurationSetupManager implements L1ConfigurationSetupManager { private final String[] args; private L2ConfigForL1.L2Data[] l2Data; - private final SecurityInfo securityInfo; // For historical reasons, we need to serialize the list of member URIs. private final String legacyStripeConfigText; - public ClientConfigurationSetupManager(List stripeMemberUris, String[] args, String[] hosts, int[] ports, SecurityInfo securityInfo) { + public ClientConfigurationSetupManager(List stripeMemberUris, String[] args, String[] hosts, int[] ports) { this.args = args; - this.securityInfo = securityInfo; l2Data = new L2ConfigForL1.L2Data[hosts.length]; for(int i = 0; i < hosts.length; i++) { - l2Data[i] = new L2ConfigForL1.L2Data(hosts[i], ports[i], securityInfo != null ? securityInfo.isSecure() : false); + l2Data[i] = new L2ConfigForL1.L2Data(hosts[i], ports[i], false); } // Build the legacyStripeConfigText. @@ -61,7 +58,7 @@ public ClientConfigurationSetupManager(List stripeMemberUris, String[] a public void addServer(String host, int port) { l2Data = Arrays.copyOf(l2Data, l2Data.length + 1); - l2Data[l2Data.length - 1] = new L2ConfigForL1.L2Data(host, port, securityInfo != null ? securityInfo.isSecure() : false); + l2Data[l2Data.length - 1] = new L2ConfigForL1.L2Data(host, port, false); } @Override @@ -99,11 +96,6 @@ public L2Data[] l2Data() { }; } - @Override - public SecurityInfo getSecurityInfo() { - return securityInfo; - } - @Override public Map getOverrideTCProperties() { return Collections.emptyMap(); diff --git a/dso-l1/src/main/java/com/tc/config/schema/setup/ClientConfigurationSetupManagerFactory.java b/dso-l1/src/main/java/com/tc/config/schema/setup/ClientConfigurationSetupManagerFactory.java index f6e338d92a..063405f565 100644 --- a/dso-l1/src/main/java/com/tc/config/schema/setup/ClientConfigurationSetupManagerFactory.java +++ b/dso-l1/src/main/java/com/tc/config/schema/setup/ClientConfigurationSetupManagerFactory.java @@ -22,8 +22,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.tc.net.core.SecurityInfo; - import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -43,7 +41,7 @@ public ClientConfigurationSetupManagerFactory(String[] args, List stripe this.stripeMemberUris = stripeMemberUris; } - public L1ConfigurationSetupManager getL1TVSConfigurationSetupManager(SecurityInfo securityInfo) throws ConfigurationSetupException { + public L1ConfigurationSetupManager getL1TVSConfigurationSetupManager() throws ConfigurationSetupException { int memberCount = stripeMemberUris.size(); String[] hosts = new String[memberCount]; int[] ports = new int[memberCount]; @@ -66,6 +64,6 @@ public L1ConfigurationSetupManager getL1TVSConfigurationSetupManager(SecurityInf } index++; } - return new ClientConfigurationSetupManager(this.stripeMemberUris, args, hosts, ports, securityInfo); + return new ClientConfigurationSetupManager(this.stripeMemberUris, args, hosts, ports); } } diff --git a/dso-l1/src/main/java/com/tc/config/schema/setup/L1ConfigurationSetupManager.java b/dso-l1/src/main/java/com/tc/config/schema/setup/L1ConfigurationSetupManager.java index 875a73d328..80dd89d888 100644 --- a/dso-l1/src/main/java/com/tc/config/schema/setup/L1ConfigurationSetupManager.java +++ b/dso-l1/src/main/java/com/tc/config/schema/setup/L1ConfigurationSetupManager.java @@ -20,7 +20,7 @@ import com.tc.config.schema.CommonL1Config; import com.tc.config.schema.L2ConfigForL1; -import com.tc.net.core.SecurityInfo; + import java.util.Map; /** @@ -39,7 +39,5 @@ public interface L1ConfigurationSetupManager { L2ConfigForL1 l2Config(); - SecurityInfo getSecurityInfo(); - Map getOverrideTCProperties(); } diff --git a/dso-l1/src/main/java/com/tc/object/ClientBuilder.java b/dso-l1/src/main/java/com/tc/object/ClientBuilder.java index 680ba35af7..07591f875f 100644 --- a/dso-l1/src/main/java/com/tc/object/ClientBuilder.java +++ b/dso-l1/src/main/java/com/tc/object/ClientBuilder.java @@ -22,7 +22,7 @@ import com.tc.async.api.StageManager; import com.tc.management.TCClient; -import com.tc.net.core.security.TCSecurityManager; +import com.tc.net.core.BufferManagerFactory; import com.tc.net.protocol.NetworkStackHarnessFactory; import com.tc.net.protocol.tcm.ClientMessageChannel; import com.tc.net.protocol.tcm.CommunicationsManager; @@ -55,7 +55,7 @@ CommunicationsManager createCommunicationsManager(MessageMonitor monitor, HealthCheckerConfig hcConfig, Map> messageTypeClassMapping, ReconnectionRejectedHandler reconnectionRejectedBehaviour, - TCSecurityManager securityManager); + BufferManagerFactory bufferManagerFactory); ClientHandshakeManager createClientHandshakeManager(Logger logger, ClientHandshakeMessageFactory chmf, diff --git a/dso-l1/src/main/java/com/tc/object/DistributedObjectClient.java b/dso-l1/src/main/java/com/tc/object/DistributedObjectClient.java index 84a7607f7c..24856ccd00 100644 --- a/dso-l1/src/main/java/com/tc/object/DistributedObjectClient.java +++ b/dso-l1/src/main/java/com/tc/object/DistributedObjectClient.java @@ -39,8 +39,8 @@ import com.tc.entity.VoltronEntityReceivedResponseImpl; import com.tc.entity.VoltronEntityResponse; import com.tc.entity.VoltronEntityRetiredResponseImpl; -import com.tc.exception.TCRuntimeException; import com.tc.lang.TCThreadGroup; +import com.tc.net.core.ClearTextBufferManagerFactory; import com.tc.util.ProductID; import com.tc.logging.CallbackOnExitHandler; import com.tc.logging.CallbackOnExitState; @@ -51,7 +51,6 @@ import com.tc.net.MaxConnectionsExceededException; import com.tc.net.TCSocketAddress; import com.tc.net.core.ConnectionInfo; -import com.tc.net.core.security.TCSecurityManager; import com.tc.net.protocol.NetworkStackHarnessFactory; import com.tc.net.protocol.PlainNetworkStackHarnessFactory; import com.tc.net.protocol.delivery.OOONetworkStackHarnessFactory; @@ -149,8 +148,6 @@ public class DistributedObjectClient implements TCClient { private Stage clusterEventsStage; - private final TCSecurityManager securityManager; - private final String uuid; private final String name; @@ -169,17 +166,16 @@ public class DistributedObjectClient implements TCClient { public DistributedObjectClient(ClientConfig config, TCThreadGroup threadGroup, PreparedComponentsFromL2Connection connectionComponents, ClusterInternal cluster) { - this(config, new StandardClientBuilder(ProductID.PERMANENT), threadGroup, connectionComponents, cluster, null, + this(config, new StandardClientBuilder(ProductID.PERMANENT), threadGroup, connectionComponents, cluster, UUID.NULL_ID.toString(), ""); } public DistributedObjectClient(ClientConfig config, ClientBuilder builder, TCThreadGroup threadGroup, PreparedComponentsFromL2Connection connectionComponents, - ClusterInternal cluster, TCSecurityManager securityManager, + ClusterInternal cluster, String uuid, String name) { Assert.assertNotNull(config); this.config = config; - this.securityManager = securityManager; this.connectionComponents = connectionComponents; this.cluster = cluster; this.threadGroup = threadGroup; @@ -194,13 +190,6 @@ public DistributedObjectClient(ClientConfig config, ClientBuilder builder, TCThr communicationStageManager = seda.getStageManager(); } - private void validateSecurityConfig() { - if (config.getSecurityInfo().isSecure() && securityManager == null) { throw new TCRuntimeException( - "client configured as secure but was constructed without securityManager"); } - if (!config.getSecurityInfo().isSecure() && securityManager != null) { throw new TCRuntimeException( - "client not configured as secure but was constructed with securityManager"); } - } - private ReconnectConfig getReconnectPropertiesFromServer() { ReconnectConfig reconnectConfig = new ReconnectConfig() { @@ -246,8 +235,6 @@ public Stage getClusterEventsStage() { } public synchronized void start() { - validateSecurityConfig(); - final TCProperties tcProperties = TCPropertiesImpl.getProperties(); final int maxSize = tcProperties.getInt(TCPropertiesConsts.L1_SEDA_STAGE_SINK_CAPACITY); @@ -287,7 +274,8 @@ public void callbackOnExit(CallbackOnExitState state) { 1, hc, getMessageTypeClassMapping(), - ReconnectionRejectedHandlerL1.SINGLETON, securityManager); + ReconnectionRejectedHandlerL1.SINGLETON, + new ClearTextBufferManagerFactory()); DSO_LOGGER.debug("Created CommunicationsManager."); @@ -435,17 +423,7 @@ private void openChannel() throws InterruptedException { while (!clientStopped.isSet()) { try { DSO_LOGGER.debug("Trying to open channel...."); - final char[] pw; - final String username; - if (config.getSecurityInfo().hasCredentials()) { - Assert.assertNotNull(securityManager); - username = config.getSecurityInfo().getUsername(); - pw = securityManager.getPasswordForTC(config.getSecurityInfo().getUsername(), hostname, port); - } else { - pw = null; - username = null; - } - this.channel.open(infos, username, pw); + this.channel.open(infos); DSO_LOGGER.debug("Channel open"); break; } catch (final TCTimeoutException tcte) { diff --git a/dso-l1/src/main/java/com/tc/object/DistributedObjectClientFactory.java b/dso-l1/src/main/java/com/tc/object/DistributedObjectClientFactory.java index 3f3fb5045c..24e9edfcf6 100644 --- a/dso-l1/src/main/java/com/tc/object/DistributedObjectClientFactory.java +++ b/dso-l1/src/main/java/com/tc/object/DistributedObjectClientFactory.java @@ -25,13 +25,9 @@ import com.tc.config.schema.setup.L1ConfigurationSetupManager; import com.tc.lang.L1ThrowableHandler; import com.tc.lang.TCThreadGroup; -import com.tc.net.core.SecurityInfo; -import com.tc.net.core.security.TCSecurityManager; import com.tc.object.config.ClientConfig; import com.tc.object.config.ClientConfigImpl; import com.tc.object.config.PreparedComponentsFromL2Connection; -import com.tc.properties.TCProperties; -import com.tc.properties.TCPropertiesImpl; import com.tc.util.UUID; import com.tc.cluster.ClusterInternal; @@ -47,17 +43,12 @@ public class DistributedObjectClientFactory { private final List stripeMemberUris; private final ClientBuilder builder; - private final TCSecurityManager securityManager; - private final SecurityInfo securityInfo; private final Properties properties; - public DistributedObjectClientFactory(List stripeMemberUris, ClientBuilder builder, TCSecurityManager securityManager, - SecurityInfo securityInfo, + public DistributedObjectClientFactory(List stripeMemberUris, ClientBuilder builder, Properties properties) { this.stripeMemberUris = stripeMemberUris; this.builder = builder; - this.securityManager = securityManager; - this.securityInfo = securityInfo; this.properties = properties; } @@ -66,7 +57,7 @@ public DistributedObjectClient create() throws InterruptedException, Configurati ClientConfigurationSetupManagerFactory factory = new ClientConfigurationSetupManagerFactory(null, this.stripeMemberUris); - L1ConfigurationSetupManager config = factory.getL1TVSConfigurationSetupManager(securityInfo); + L1ConfigurationSetupManager config = factory.getL1TVSConfigurationSetupManager(); final PreparedComponentsFromL2Connection connectionComponents; try { @@ -95,7 +86,7 @@ public Void call() throws Exception { String name = this.properties.getProperty(ConnectionPropertyNames.CONNECTION_NAME, ""); - DistributedObjectClient client = ClientFactory.createClient(configHelper, builder, group, connectionComponents, cluster, securityManager, + DistributedObjectClient client = ClientFactory.createClient(configHelper, builder, group, connectionComponents, cluster, uuid, name); diff --git a/dso-l1/src/main/java/com/tc/object/StandardClientBuilder.java b/dso-l1/src/main/java/com/tc/object/StandardClientBuilder.java index e5e950cdfc..81d738bdea 100644 --- a/dso-l1/src/main/java/com/tc/object/StandardClientBuilder.java +++ b/dso-l1/src/main/java/com/tc/object/StandardClientBuilder.java @@ -21,9 +21,9 @@ import org.slf4j.Logger; import com.tc.async.api.StageManager; +import com.tc.net.core.BufferManagerFactory; import com.tc.util.ProductID; import com.tc.management.TCClient; -import com.tc.net.core.security.TCSecurityManager; import com.tc.net.protocol.NetworkStackHarnessFactory; import com.tc.net.protocol.tcm.ClientMessageChannel; import com.tc.net.protocol.tcm.CommunicationsManager; @@ -68,10 +68,10 @@ public CommunicationsManager createCommunicationsManager(MessageMonitor monitor, HealthCheckerConfig aConfig, Map> messageTypeClassMapping, ReconnectionRejectedHandler reconnectionRejectedHandler, - TCSecurityManager securityManager) { + BufferManagerFactory bufferManagerFactory) { return new CommunicationsManagerImpl(CommunicationsManager.COMMSMGR_CLIENT, monitor, messageRouter, stackHarnessFactory, null, connectionPolicy, 0, aConfig, new TransportHandshakeErrorHandlerForL1(), messageTypeClassMapping, - reconnectionRejectedHandler, securityManager); + reconnectionRejectedHandler, bufferManagerFactory); } @Override diff --git a/dso-l1/src/main/java/com/tc/object/config/ClientConfig.java b/dso-l1/src/main/java/com/tc/object/config/ClientConfig.java index 0ed1b735cc..ba5f293c22 100644 --- a/dso-l1/src/main/java/com/tc/object/config/ClientConfig.java +++ b/dso-l1/src/main/java/com/tc/object/config/ClientConfig.java @@ -19,7 +19,6 @@ package com.tc.object.config; import com.tc.config.schema.CommonL1Config; -import com.tc.net.core.SecurityInfo; public interface ClientConfig extends DSOMBeanConfig { @@ -27,5 +26,4 @@ public interface ClientConfig extends DSOMBeanConfig { CommonL1Config getCommonL1Config(); - SecurityInfo getSecurityInfo(); } diff --git a/dso-l1/src/main/java/com/tc/object/config/ClientConfigImpl.java b/dso-l1/src/main/java/com/tc/object/config/ClientConfigImpl.java index 46f8cb6f7b..3870567c6b 100644 --- a/dso-l1/src/main/java/com/tc/object/config/ClientConfigImpl.java +++ b/dso-l1/src/main/java/com/tc/object/config/ClientConfigImpl.java @@ -24,7 +24,6 @@ import com.tc.config.schema.CommonL1Config; import com.tc.config.schema.setup.L1ConfigurationSetupManager; -import com.tc.net.core.SecurityInfo; import com.tc.properties.ReconnectConfig; import com.tc.properties.TCPropertiesConsts; import com.tc.properties.TCPropertiesImpl; @@ -59,11 +58,6 @@ public CommonL1Config getCommonL1Config() { return configSetupManager.commonL1Config(); } - @Override - public SecurityInfo getSecurityInfo() { - return configSetupManager.getSecurityInfo(); - } - @Override public String toString() { return ""; diff --git a/dso-l1/src/main/java/com/tc/object/config/ConnectionInfoConfig.java b/dso-l1/src/main/java/com/tc/object/config/ConnectionInfoConfig.java index 0f27353a3d..b1d5db6241 100644 --- a/dso-l1/src/main/java/com/tc/object/config/ConnectionInfoConfig.java +++ b/dso-l1/src/main/java/com/tc/object/config/ConnectionInfoConfig.java @@ -23,10 +23,7 @@ import com.tc.config.schema.L2ConfigForL1.L2Data; import com.tc.net.core.ConnectionInfo; -import com.tc.net.core.SecurityInfo; -import java.io.UnsupportedEncodingException; -import java.net.URLDecoder; import java.util.Arrays; /** @@ -37,14 +34,10 @@ public class ConnectionInfoConfig { private final ConnectionInfo[] connectionInfos; public ConnectionInfoConfig(L2Data[] l2sData) { - this(l2sData, new SecurityInfo()); + this.connectionInfos = createValueFrom(l2sData); } - public ConnectionInfoConfig(L2Data[] l2sData, SecurityInfo securityInfo) { - this.connectionInfos = createValueFrom(l2sData, securityInfo); - } - - private ConnectionInfo[] createValueFrom(L2Data[] l2sData, SecurityInfo securityInfo) { + private ConnectionInfo[] createValueFrom(L2Data[] l2sData) { ConnectionInfo[] out; String serversProperty = System.getProperty("tc.server"); @@ -69,27 +62,13 @@ private ConnectionInfo[] createValueFrom(L2Data[] l2sData, SecurityInfo security } } - boolean secure = false; - String urlUsername = null; - int userSeparatorIndex = host.indexOf('@'); - if (userSeparatorIndex > -1) { - secure = true; - urlUsername = host.substring(0, userSeparatorIndex); - try { - urlUsername = URLDecoder.decode(urlUsername, "UTF-8"); - } catch (UnsupportedEncodingException uee) { - // cannot happen - } - host = host.substring(userSeparatorIndex + 1); - } - - out[i] = new ConnectionInfo(host, tsaPort, new SecurityInfo(secure, urlUsername)); + out[i] = new ConnectionInfo(host, tsaPort); } } else { out = new ConnectionInfo[l2sData.length]; for (int i = 0; i < out.length; ++i) { - out[i] = new ConnectionInfo(l2sData[i].host(), l2sData[i].tsaPort(), l2sData[i].getGroupId(), securityInfo); + out[i] = new ConnectionInfo(l2sData[i].host(), l2sData[i].tsaPort(), l2sData[i].getGroupId()); } } diff --git a/dso-l1/src/main/java/com/tc/object/config/PreparedComponentsFromL2Connection.java b/dso-l1/src/main/java/com/tc/object/config/PreparedComponentsFromL2Connection.java index 1d2e94b479..2596760901 100644 --- a/dso-l1/src/main/java/com/tc/object/config/PreparedComponentsFromL2Connection.java +++ b/dso-l1/src/main/java/com/tc/object/config/PreparedComponentsFromL2Connection.java @@ -39,6 +39,6 @@ public ConnectionInfoConfig createConnectionInfoConfigItem() { for (L2Data l2 : l2s) { l2.setGroupId(0); } - return new ConnectionInfoConfig(l2s, config.getSecurityInfo()); + return new ConnectionInfoConfig(l2s); } } diff --git a/dso-l1/src/test/java/com/tc/config/schema/setup/ClientConfigurationSetupManagerFactoryTest.java b/dso-l1/src/test/java/com/tc/config/schema/setup/ClientConfigurationSetupManagerFactoryTest.java index d6406e94da..3c7487cfa0 100644 --- a/dso-l1/src/test/java/com/tc/config/schema/setup/ClientConfigurationSetupManagerFactoryTest.java +++ b/dso-l1/src/test/java/com/tc/config/schema/setup/ClientConfigurationSetupManagerFactoryTest.java @@ -23,8 +23,6 @@ import java.util.List; import java.util.Vector; -import com.tc.net.core.SecurityInfo; - import org.junit.Assert; import org.junit.Test; @@ -35,18 +33,15 @@ public class ClientConfigurationSetupManagerFactoryTest { public static final String HOST = "localhost"; public static final int PORT = 1234; - public static final String USER = "TestUser"; @Test public void testGetL1TVSConfigurationSetupManager() throws Exception { ClientConfigurationSetupManagerFactory clientConfigurationSetupManagerFactory = new ClientConfigurationSetupManagerFactory(new String[0], Collections.singletonList(HOST + ":" + PORT)); - L1ConfigurationSetupManager l1ConfigurationSetupManager = clientConfigurationSetupManagerFactory.getL1TVSConfigurationSetupManager(new SecurityInfo(true, USER)); + L1ConfigurationSetupManager l1ConfigurationSetupManager = clientConfigurationSetupManagerFactory.getL1TVSConfigurationSetupManager(); Assert.assertNotNull(l1ConfigurationSetupManager); Assert.assertEquals(HOST, l1ConfigurationSetupManager.l2Config().l2Data()[0].host()); Assert.assertEquals(PORT, l1ConfigurationSetupManager.l2Config().l2Data()[0].tsaPort()); - Assert.assertEquals(USER, l1ConfigurationSetupManager.getSecurityInfo().getUsername()); - Assert.assertEquals(true, l1ConfigurationSetupManager.getSecurityInfo().isSecure()); } @Test @@ -55,23 +50,19 @@ public void testGetL1TVSConfigurationSetupManagerMultiUrl() throws Exception { stripeMemberUris.add(HOST + ":" + PORT); stripeMemberUris.add(HOST + ":" + PORT); ClientConfigurationSetupManagerFactory clientConfigurationSetupManagerFactory = new ClientConfigurationSetupManagerFactory(new String[0], stripeMemberUris); - L1ConfigurationSetupManager l1ConfigurationSetupManager = clientConfigurationSetupManagerFactory.getL1TVSConfigurationSetupManager(new SecurityInfo(true, USER)); + L1ConfigurationSetupManager l1ConfigurationSetupManager = clientConfigurationSetupManagerFactory.getL1TVSConfigurationSetupManager(); Assert.assertNotNull(l1ConfigurationSetupManager); Assert.assertEquals(HOST, l1ConfigurationSetupManager.l2Config().l2Data()[0].host()); Assert.assertEquals(PORT, l1ConfigurationSetupManager.l2Config().l2Data()[0].tsaPort()); - Assert.assertEquals(USER, l1ConfigurationSetupManager.getSecurityInfo().getUsername()); - Assert.assertEquals(true, l1ConfigurationSetupManager.getSecurityInfo().isSecure()); Assert.assertEquals(HOST, l1ConfigurationSetupManager.l2Config().l2Data()[1].host()); Assert.assertEquals(PORT, l1ConfigurationSetupManager.l2Config().l2Data()[1].tsaPort()); - Assert.assertEquals(USER, l1ConfigurationSetupManager.getSecurityInfo().getUsername()); - Assert.assertEquals(true, l1ConfigurationSetupManager.getSecurityInfo().isSecure()); } @Test (expected = ConfigurationSetupException.class) public void testGetL1TVSConfigurationSetupManagerFailure() throws Exception { ClientConfigurationSetupManagerFactory clientConfigurationSetupManagerFactory = new ClientConfigurationSetupManagerFactory(new String[0], Collections.singletonList(HOST + PORT)); - clientConfigurationSetupManagerFactory.getL1TVSConfigurationSetupManager(new SecurityInfo(true, USER)); + clientConfigurationSetupManagerFactory.getL1TVSConfigurationSetupManager(); } } \ No newline at end of file diff --git a/dso-l1/src/test/java/com/tc/object/DistributedObjectClientTest.java b/dso-l1/src/test/java/com/tc/object/DistributedObjectClientTest.java index 2b959a1d25..6ecb1dbc45 100644 --- a/dso-l1/src/test/java/com/tc/object/DistributedObjectClientTest.java +++ b/dso-l1/src/test/java/com/tc/object/DistributedObjectClientTest.java @@ -26,7 +26,6 @@ import com.tc.lang.TestThrowableHandler; import com.tc.management.TCClient; import com.tc.net.core.ConnectionInfo; -import com.tc.net.core.SecurityInfo; import com.tc.net.protocol.tcm.ClientMessageChannel; import com.tc.net.protocol.tcm.CommunicationsManager; import com.tc.object.config.ClientConfigImpl; @@ -41,7 +40,6 @@ import java.util.Map; import java.util.concurrent.TimeUnit; import junit.framework.TestCase; -import org.mockito.Matchers; import org.mockito.Mockito; import static org.mockito.Mockito.when; import org.slf4j.LoggerFactory; @@ -81,13 +79,6 @@ public L2ConfigForL1 l2Config() { return Mockito.mock(L2ConfigForL1.class); } - @Override - public SecurityInfo getSecurityInfo() { - SecurityInfo si = Mockito.mock(SecurityInfo.class); - Mockito.when(si.isSecure()).thenReturn(Boolean.FALSE); - return si; - } - @Override public Map getOverrideTCProperties() { return Collections.emptyMap(); @@ -152,13 +143,6 @@ public L2ConfigForL1 l2Config() { return Mockito.mock(L2ConfigForL1.class); } - @Override - public SecurityInfo getSecurityInfo() { - SecurityInfo si = Mockito.mock(SecurityInfo.class); - Mockito.when(si.isSecure()).thenReturn(Boolean.FALSE); - return si; - } - @Override public Map getOverrideTCProperties() { return Collections.emptyMap(); @@ -176,7 +160,7 @@ public Map getOverrideTCProperties() { public ClientMessageChannel createClientMessageChannel(CommunicationsManager commMgr, SessionProvider sessionProvider, int socketConnectTimeout, TCClient client) { ClientMessageChannel channel = Mockito.mock(ClientMessageChannel.class); try { - Mockito.when(channel.open(Mockito.anyCollection(), Matchers.anyString(), Matchers.any(char[].class))).thenThrow(new RuntimeException("bad connection")); + Mockito.when(channel.open(Mockito.anyCollection())).thenThrow(new RuntimeException("bad connection")); } catch (Exception exp) { } @@ -185,7 +169,7 @@ public ClientMessageChannel createClientMessageChannel(CommunicationsManager com } }; - DistributedObjectClient client = new DistributedObjectClient(new ClientConfigImpl(manager), builder, threadGroup, l2connection, cluster, null, null, null); + DistributedObjectClient client = new DistributedObjectClient(new ClientConfigImpl(manager), builder, threadGroup, l2connection, cluster, null, null); client.start(); Assert.assertTrue(threadGroup.activeCount() > 0); long start = System.currentTimeMillis(); diff --git a/dso-l2/src/main/java/com/tc/config/schema/setup/StandardXMLFileConfigurationCreator.java b/dso-l2/src/main/java/com/tc/config/schema/setup/StandardXMLFileConfigurationCreator.java index 4c4c41f82f..0f8c1e91fa 100644 --- a/dso-l2/src/main/java/com/tc/config/schema/setup/StandardXMLFileConfigurationCreator.java +++ b/dso-l2/src/main/java/com/tc/config/schema/setup/StandardXMLFileConfigurationCreator.java @@ -33,7 +33,6 @@ import com.tc.config.schema.setup.sources.ServerConfigurationSource; import com.tc.config.schema.setup.sources.URLConfigurationSource; import com.tc.logging.TCLogging; -import com.tc.net.core.SecurityInfo; import com.tc.properties.TCPropertiesConsts; import com.tc.properties.TCPropertiesImpl; import com.tc.util.Assert; @@ -45,8 +44,6 @@ import java.io.File; import java.io.IOException; import java.io.InputStream; -import java.io.UnsupportedEncodingException; -import java.net.URLDecoder; import java.util.concurrent.TimeUnit; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -176,25 +173,11 @@ protected ConfigurationSource[] getConfigurationSources(String configrationSpec) private ConfigurationSource attemptToCreateServerSource(String text) { Matcher matcher = SERVER_PATTERN.matcher(text); if (matcher.matches()) { - boolean secure = false; - String username = null; String host = matcher.group(1); - int userSeparatorIndex = host.indexOf('@'); - if (userSeparatorIndex > -1) { - username = host.substring(0, userSeparatorIndex); - try { - username = URLDecoder.decode(username, "UTF-8"); - } catch (UnsupportedEncodingException uee) { - // cannot happen - } - secure = true; - host = host.substring(userSeparatorIndex + 1); - } - final SecurityInfo securityInfo = new SecurityInfo(secure, username); String portText = matcher.group(2); try { - return new ServerConfigurationSource(host.trim(), Integer.parseInt(portText.trim()), securityInfo); + return new ServerConfigurationSource(host.trim(), Integer.parseInt(portText.trim())); } catch (Exception e) {/**/ } } diff --git a/dso-l2/src/main/java/com/tc/net/groups/TCGroupManagerImpl.java b/dso-l2/src/main/java/com/tc/net/groups/TCGroupManagerImpl.java index 2d6c7c5be8..095bbf5023 100755 --- a/dso-l2/src/main/java/com/tc/net/groups/TCGroupManagerImpl.java +++ b/dso-l2/src/main/java/com/tc/net/groups/TCGroupManagerImpl.java @@ -41,9 +41,9 @@ import com.tc.net.NodeID; import com.tc.net.ServerID; import com.tc.net.TCSocketAddress; +import com.tc.net.core.BufferManagerFactory; +import com.tc.net.core.ClearTextBufferManagerFactory; import com.tc.net.core.ConnectionInfo; -import com.tc.net.core.SecurityInfo; -import com.tc.net.core.security.TCSecurityManager; import com.tc.net.protocol.NetworkStackHarnessFactory; import com.tc.net.protocol.PlainNetworkStackHarnessFactory; import com.tc.net.protocol.delivery.L2ReconnectConfigImpl; @@ -122,7 +122,6 @@ public class TCGroupManagerImpl implements GroupManager, C private final ReconnectConfig l2ReconnectConfig; private final String version; - private final TCSecurityManager securityManager; private final ServerID thisNodeID; private final int groupPort; private final ConnectionPolicy connectionPolicy; @@ -142,6 +141,7 @@ public class TCGroupManagerImpl implements GroupManager, C private final boolean isUseOOOLayer; private final AtomicBoolean alreadyJoined = new AtomicBoolean(false); private final WeightGeneratorFactory weightGeneratorFactory; + private final BufferManagerFactory bufferManagerFactory; private CommunicationsManager communicationsManager; private NetworkListener groupListener; @@ -157,17 +157,18 @@ public class TCGroupManagerImpl implements GroupManager, C * Setup a communication manager which can establish channel from either sides. */ public TCGroupManagerImpl(L2ConfigurationSetupManager configSetupManager, StageManager stageManager, - ServerID thisNodeID, Node thisNode, NodesStore nodesStore, TCSecurityManager securityManager, WeightGeneratorFactory weightGenerator) { - this(configSetupManager, new NullConnectionPolicy(), stageManager, thisNodeID, thisNode, nodesStore, securityManager, weightGenerator); + ServerID thisNodeID, Node thisNode, NodesStore nodesStore, + WeightGeneratorFactory weightGenerator, BufferManagerFactory bufferManagerFactory) { + this(configSetupManager, new NullConnectionPolicy(), stageManager, thisNodeID, thisNode, nodesStore, weightGenerator, bufferManagerFactory); } public TCGroupManagerImpl(L2ConfigurationSetupManager configSetupManager, ConnectionPolicy connectionPolicy, StageManager stageManager, ServerID thisNodeID, Node thisNode, NodesStore nodesStore, - TCSecurityManager securityManager, WeightGeneratorFactory weightGenerator) { + WeightGeneratorFactory weightGenerator, BufferManagerFactory bufferManagerFactory) { this.connectionPolicy = connectionPolicy; this.stageManager = stageManager; this.thisNodeID = thisNodeID; - this.securityManager = securityManager; + this.bufferManagerFactory = bufferManagerFactory; this.l2ReconnectConfig = new L2ReconnectConfigImpl(); this.isUseOOOLayer = l2ReconnectConfig.getReconnectEnabled(); this.version = getVersion(); @@ -211,10 +212,10 @@ public boolean isNodeConnected(NodeID sid) { * for testing purpose only. Tester needs to do setDiscover(). */ public TCGroupManagerImpl(ConnectionPolicy connectionPolicy, String hostname, int port, int groupPort, - StageManager stageManager, TCSecurityManager securityManager, WeightGeneratorFactory weightGenerator) { + StageManager stageManager, WeightGeneratorFactory weightGenerator) { this.connectionPolicy = connectionPolicy; this.stageManager = stageManager; - this.securityManager = securityManager; + this.bufferManagerFactory = new ClearTextBufferManagerFactory(); this.l2ReconnectConfig = new L2ReconnectConfigImpl(); this.isUseOOOLayer = l2ReconnectConfig.getReconnectEnabled(); this.groupPort = groupPort; @@ -244,8 +245,8 @@ private void init(TCSocketAddress socketAddress) { new HealthCheckerConfigImpl(tcProperties .getPropertiesFor(TCPropertiesConsts.L2_L2_HEALTH_CHECK_CATEGORY), "TCGroupManager"), thisNodeID, new TransportHandshakeErrorHandlerForGroupComm(), - messageTypeClassMapping, Collections.emptyMap(), - securityManager); + messageTypeClassMapping, Collections.emptyMap(), bufferManagerFactory + ); groupListener = communicationsManager.createListener(socketAddress, true, new DefaultConnectionIdFactory()); // Listen to channel creation/removal @@ -591,8 +592,8 @@ public GroupResponse sendAllAndWaitForResponse(AbstractGro return groupResponse; } - private void openChannel(ConnectionInfo info, ChannelEventListener listener, String username, char[] password) - throws TCTimeoutException, UnknownHostException, MaxConnectionsExceededException, IOException, + private void openChannel(ConnectionInfo info, ChannelEventListener listener) + throws TCTimeoutException, MaxConnectionsExceededException, IOException, CommStackMismatchException { if (isStopped.get()) return; @@ -610,25 +611,15 @@ public Sequence newSequence() { ClientMessageChannel channel = communicationsManager.createClientChannel(ProductID.SERVER, sessionProvider, 10000 /* timeout */); channel.addListener(listener); - channel.open(Collections.singleton(info), username, password); + channel.open(Collections.singleton(info)); handshake(channel); return; } public void openChannel(String hostname, int port, ChannelEventListener listener) throws TCTimeoutException, - UnknownHostException, MaxConnectionsExceededException, IOException, CommStackMismatchException { - final String username = (securityManager == null) ? null : securityManager.getIntraL2Username(); - final char[] password; - final SecurityInfo securityInfo; - if (isSecured()) { - securityInfo = new SecurityInfo(true, securityManager.getIntraL2Username()); - password = securityManager.getPasswordForTC(securityInfo.getUsername(), hostname, port); - } else { - password = null; - securityInfo = new SecurityInfo(); - } - openChannel(new ConnectionInfo(hostname, port, securityInfo), listener, username, password); + MaxConnectionsExceededException, IOException, CommStackMismatchException { + openChannel(new ConnectionInfo(hostname, port), listener); } private boolean isSecured() { diff --git a/dso-l2/src/main/java/com/tc/objectserver/impl/DistributedObjectServer.java b/dso-l2/src/main/java/com/tc/objectserver/impl/DistributedObjectServer.java index 9d00b0479f..f9bb057edb 100644 --- a/dso-l2/src/main/java/com/tc/objectserver/impl/DistributedObjectServer.java +++ b/dso-l2/src/main/java/com/tc/objectserver/impl/DistributedObjectServer.java @@ -22,6 +22,8 @@ import com.tc.async.api.EventHandlerException; import com.tc.logging.TCLogging; +import com.tc.net.core.BufferManagerFactory; +import com.tc.net.core.ClearTextBufferManagerFactory; import com.tc.objectserver.api.EntityManager; import com.tc.services.MappedStateCollector; import com.tc.services.PlatformConfigurationImpl; @@ -108,7 +110,6 @@ import com.tc.net.NodeID; import com.tc.net.ServerID; import com.tc.net.TCSocketAddress; -import com.tc.net.core.security.TCSecurityManager; import com.tc.net.groups.AbstractGroupMessage; import com.tc.net.groups.GroupEventsListener; import com.tc.net.groups.GroupException; @@ -509,8 +510,8 @@ public synchronized void start() throws IOException, LocationNotCreatedException final MessageMonitor mm = MessageMonitorImpl.createMonitor(TCPropertiesImpl.getProperties(), logger); final TCMessageRouter messageRouter = new TCMessageRouterImpl(); - - TCSecurityManager mgr = new PluggableSecurityManager(this.serviceRegistry.subRegistry(platformConsumerID)); + + BufferManagerFactory bufferManagerFactory = getBufferManagerFactory(platformServiceRegistry); this.communicationsManager = new CommunicationsManagerImpl(CommunicationsManager.COMMSMGR_SERVER, mm, messageRouter, networkStackHarnessFactory, @@ -520,7 +521,8 @@ public synchronized void start() throws IOException, LocationNotCreatedException this.thisServerNodeID, new TransportHandshakeErrorNullHandler(), getMessageTypeClassMappings(), Collections.emptyMap(), - mgr); + bufferManagerFactory + ); final SampledCumulativeCounterConfig sampledCumulativeCounterConfig = new SampledCumulativeCounterConfig(1, 300, @@ -670,7 +672,8 @@ public Class getServiceType() { this.groupCommManager = this.serverBuilder.createGroupCommManager(this.configSetupManager, stageManager, this.thisServerNodeID, - this.stripeIDStateManager, mgr, this.globalWeightGeneratorFactory); + this.stripeIDStateManager, this.globalWeightGeneratorFactory, + bufferManagerFactory); L2StateChangeHandler stateHandler = new L2StateChangeHandler(createStageController(monitoringShimService), eventCollector); final Stage stateChange = stageManager.createStage(ServerConfigurationContext.L2_STATE_CHANGE_STAGE, StateChangedEvent.class, stateHandler, 1, maxStageSize); @@ -787,7 +790,20 @@ public void handleEvent(ReplicationMessageAck context) throws EventHandlerExcept startDiagnosticListener(); setLoggerOnExit(); } - + + private BufferManagerFactory getBufferManagerFactory(ServiceRegistry platformRegistry) { + BufferManagerFactory bufferManagerFactory = null; + try { + bufferManagerFactory = platformRegistry.getService(new BasicServiceConfiguration<>(BufferManagerFactory.class)); + } catch (ServiceException e) { + Assert.fail("Multiple BufferManagerFactory implementations found!"); + } + if (bufferManagerFactory == null) { + bufferManagerFactory = new ClearTextBufferManagerFactory(); + } + return bufferManagerFactory; + } + private Sink createPlatformInformationStages(StageManager stageManager, int maxStageSize, LocalMonitoringProducer monitoringSupport) { Stage stage = stageManager.createStage(ServerConfigurationContext.PLATFORM_INFORMATION_REQUEST, PlatformInfoRequest.class, new PlatformInfoRequestHandler(groupCommManager, monitoringSupport).getEventHandler(), 1, maxStageSize); diff --git a/dso-l2/src/main/java/com/tc/objectserver/impl/PluggableSecurityManager.java b/dso-l2/src/main/java/com/tc/objectserver/impl/PluggableSecurityManager.java deleted file mode 100644 index 2adc03db97..0000000000 --- a/dso-l2/src/main/java/com/tc/objectserver/impl/PluggableSecurityManager.java +++ /dev/null @@ -1,88 +0,0 @@ -/* - * - * The contents of this file are subject to the Terracotta Public License Version - * 2.0 (the "License"); You may not use this file except in compliance with the - * License. You may obtain a copy of the License at - * - * http://terracotta.org/legal/terracotta-public-license. - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for - * the specific language governing rights and limitations under the License. - * - * The Covered Software is Terracotta Core. - * - * The Initial Developer of the Covered Software is - * Terracotta, Inc., a Software AG company - * - */ -package com.tc.objectserver.impl; - -import com.tc.net.core.BufferManagerFactory; -import com.tc.net.core.ClearTextBufferManagerFactory; -import com.tc.net.core.security.TCSecurityManager; -import com.tc.util.Assert; - -import java.net.URI; -import java.security.Principal; -import javax.net.ssl.SSLContext; -import org.terracotta.entity.BasicServiceConfiguration; -import org.terracotta.entity.ServiceException; -import org.terracotta.entity.ServiceRegistry; - -/** - * - */ -public class PluggableSecurityManager implements TCSecurityManager { - - private final BufferManagerFactory buffers; - - public PluggableSecurityManager(ServiceRegistry registry) { - BufferManagerFactory factory = null; - try { - factory = registry.getService(new BasicServiceConfiguration<>(BufferManagerFactory.class)); - } catch (ServiceException e) { - Assert.fail("Multiple BufferManagerFactory implementations found!"); - } - if (factory == null) { - factory = new ClearTextBufferManagerFactory(); - } - buffers = factory; - } - - @Override - public Principal authenticate(String username, char[] chars) { - throw new UnsupportedOperationException("Not supported yet."); - } - - @Override - public boolean isUserInRole(Principal principal, String roleName) { - throw new UnsupportedOperationException("Not supported yet."); - } - - @Override - public BufferManagerFactory getBufferManagerFactory() { - return buffers; - } - - @Override - public SSLContext getSslContext() { - throw new UnsupportedOperationException("Not supported yet."); - } - - @Override - public String getIntraL2Username() { - return null; - } - - @Override - public char[] getPasswordFor(URI uri) { - throw new UnsupportedOperationException("Not supported yet."); - } - - @Override - public char[] getPasswordForTC(String user, String host, int port) { - throw new UnsupportedOperationException("Not supported yet."); - } - -} diff --git a/dso-l2/src/main/java/com/tc/objectserver/impl/ServerBuilder.java b/dso-l2/src/main/java/com/tc/objectserver/impl/ServerBuilder.java index 5aa794842d..d656af51d8 100644 --- a/dso-l2/src/main/java/com/tc/objectserver/impl/ServerBuilder.java +++ b/dso-l2/src/main/java/com/tc/objectserver/impl/ServerBuilder.java @@ -28,7 +28,7 @@ import com.tc.l2.ha.WeightGeneratorFactory; import com.tc.l2.state.StateManager; import com.tc.net.ServerID; -import com.tc.net.core.security.TCSecurityManager; +import com.tc.net.core.BufferManagerFactory; import com.tc.net.groups.AbstractGroupMessage; import com.tc.net.groups.GroupManager; import com.tc.net.groups.StripeIDStateManager; @@ -47,7 +47,8 @@ public interface ServerBuilder extends PostInit { GroupManager createGroupCommManager(L2ConfigurationSetupManager configManager, StageManager stageManager, ServerID serverNodeID, - StripeIDStateManager stripeStateManager, TCSecurityManager mgr, WeightGeneratorFactory weightGeneratorFactory); + StripeIDStateManager stripeStateManager, WeightGeneratorFactory weightGeneratorFactory, + BufferManagerFactory bufferManagerFactory); ServerConfigurationContext createServerConfigurationContext(StageManager stageManager, DSOChannelManager channelManager, ChannelStatsImpl channelStats, diff --git a/dso-l2/src/main/java/com/tc/objectserver/impl/StandardServerBuilder.java b/dso-l2/src/main/java/com/tc/objectserver/impl/StandardServerBuilder.java index e707fca669..016dc20359 100644 --- a/dso-l2/src/main/java/com/tc/objectserver/impl/StandardServerBuilder.java +++ b/dso-l2/src/main/java/com/tc/objectserver/impl/StandardServerBuilder.java @@ -19,7 +19,6 @@ package com.tc.objectserver.impl; import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.terracotta.entity.BasicServiceConfiguration; import org.terracotta.entity.ServiceException; import org.terracotta.entity.ServiceRegistry; @@ -33,7 +32,7 @@ import com.tc.l2.ha.WeightGeneratorFactory; import com.tc.l2.state.StateManager; import com.tc.net.ServerID; -import com.tc.net.core.security.TCSecurityManager; +import com.tc.net.core.BufferManagerFactory; import com.tc.net.groups.AbstractGroupMessage; import com.tc.net.groups.GroupManager; import com.tc.net.groups.StripeIDStateManager; @@ -65,8 +64,10 @@ public StandardServerBuilder(HaConfig haConfig, Logger logger) { @Override public GroupManager createGroupCommManager(L2ConfigurationSetupManager configManager, StageManager stageManager, ServerID serverNodeID, - StripeIDStateManager stripeStateManager, TCSecurityManager mgr, WeightGeneratorFactory weightGeneratorFactory) { - return new TCGroupManagerImpl(configManager, stageManager, serverNodeID, this.haConfig.getThisNode(), this.haConfig.getNodesStore(), mgr, weightGeneratorFactory); + StripeIDStateManager stripeStateManager, WeightGeneratorFactory weightGeneratorFactory, + BufferManagerFactory bufferManagerFactory) { + return new TCGroupManagerImpl(configManager, stageManager, serverNodeID, this.haConfig.getThisNode(), + this.haConfig.getNodesStore(), weightGeneratorFactory, bufferManagerFactory); } @Override diff --git a/dso-l2/src/test/java/com/tc/l2/state/StateManagerImplTest.java b/dso-l2/src/test/java/com/tc/l2/state/StateManagerImplTest.java index 83cd277eaf..7cde433bc3 100644 --- a/dso-l2/src/test/java/com/tc/l2/state/StateManagerImplTest.java +++ b/dso-l2/src/test/java/com/tc/l2/state/StateManagerImplTest.java @@ -76,7 +76,7 @@ public void setUp() throws Exception { Sink stageChangeSinkMock = mock(Sink.class); ClusterStatePersistor clusterStatePersistorMock = mock(ClusterStatePersistor.class); stageManagers[i] = new StageManagerImpl(new ThreadGroup("test"), new QueueFactory<>()); - groupManagers[i] = new TCGroupManagerImpl(new NullConnectionPolicy(), LOCALHOST, ports[i], groupPorts[i], stageManagers[i], null, weightGeneratorFactory); + groupManagers[i] = new TCGroupManagerImpl(new NullConnectionPolicy(), LOCALHOST, ports[i], groupPorts[i], stageManagers[i], weightGeneratorFactory); stateManagers[i] = new StateManagerImpl(tcLogger, groupManagers[i], stageChangeSinkMock, stageManagers[i], NUM_OF_SERVERS, 5, weightGeneratorFactory, clusterStatePersistorMock); Sink stateMessageSink = stageManagers[i].createStage(ServerConfigurationContext.L2_STATE_MESSAGE_HANDLER_STAGE, L2StateMessage.class, new L2StateMessageHandler(), 1, 1).getSink(); diff --git a/dso-l2/src/test/java/com/tc/net/groups/TCGroupManagerImplTest.java b/dso-l2/src/test/java/com/tc/net/groups/TCGroupManagerImplTest.java index 322352ff17..cff69cdc38 100755 --- a/dso-l2/src/test/java/com/tc/net/groups/TCGroupManagerImplTest.java +++ b/dso-l2/src/test/java/com/tc/net/groups/TCGroupManagerImplTest.java @@ -35,7 +35,6 @@ import com.tc.lang.ThrowableHandlerImpl; import com.tc.net.NodeID; import com.tc.net.ServerID; -import com.tc.net.core.security.TCSecurityManager; import com.tc.net.protocol.tcm.ChannelEvent; import com.tc.net.protocol.tcm.ChannelEventListener; import com.tc.net.protocol.tcm.MessageChannel; @@ -106,7 +105,7 @@ private void setupGroups(int n) throws Exception { nodes[i] = new Node(LOCALHOST, ports[i], groupPorts[i]); } for (int i = 0; i < n; ++i) { - groups[i] = new TCGroupManagerImpl(new NullConnectionPolicy(), LOCALHOST, ports[i], groupPorts[i], stages.createStageManager(), null, RandomWeightGenerator.createTestingFactory(2)); + groups[i] = new TCGroupManagerImpl(new NullConnectionPolicy(), LOCALHOST, ports[i], groupPorts[i], stages.createStageManager(), RandomWeightGenerator.createTestingFactory(2)); groups[i].setDiscover(new TCGroupMemberDiscoveryStatic(groups[i], nodes[i])); groupEventListeners[i] = new TestGroupEventListener(groups[i]); groups[i].registerForGroupEvents(groupEventListeners[i]); @@ -601,7 +600,7 @@ public long getWeight() { }); TCGroupManagerImpl tcGroupManager = spy(new TCGroupManagerImpl(new NullConnectionPolicy(), "localhost", portChooser.chooseRandomPort(), portChooser.chooseRandomPort(), - mock(StageManager.class, RETURNS_MOCKS.get()), mock(TCSecurityManager.class), weightGeneratorFactory) { + mock(StageManager.class, RETURNS_MOCKS.get()), weightGeneratorFactory) { @Override protected String getVersion() { return "4.2.0"; diff --git a/dso-l2/src/test/java/com/tc/net/groups/TCGroupManagerNodeJoinedTest.java b/dso-l2/src/test/java/com/tc/net/groups/TCGroupManagerNodeJoinedTest.java index 0d50d19765..a354dbcc12 100755 --- a/dso-l2/src/test/java/com/tc/net/groups/TCGroupManagerNodeJoinedTest.java +++ b/dso-l2/src/test/java/com/tc/net/groups/TCGroupManagerNodeJoinedTest.java @@ -126,7 +126,7 @@ private void nodesSetupAndJoined(int nodes) throws Exception { for (int i = 0; i < nodes; ++i) { TCGroupManagerImpl gm = new TCGroupManagerImpl(new NullConnectionPolicy(), allNodes[i].getHost(), - allNodes[i].getPort(), allNodes[i].getGroupPort(), stages.createStageManager(), null, RandomWeightGenerator.createTestingFactory(2)); + allNodes[i].getPort(), allNodes[i].getGroupPort(), stages.createStageManager(), RandomWeightGenerator.createTestingFactory(2)); gm.setDiscover(new TCGroupMemberDiscoveryStatic(gm, allNodes[i])); groupManagers[i] = gm; @@ -179,7 +179,7 @@ public void nodesSetupAndJoinedAfterCloseMember(int nodes) throws Exception { for (int i = 0; i < nodes; ++i) { StageManager stageManager = new StageManagerImpl(threadGroup, new QueueFactory()); TCGroupManagerImpl gm = new TCGroupManagerImpl(new NullConnectionPolicy(), allNodes[i].getHost(), - allNodes[i].getPort(), allNodes[i].getGroupPort(), stages.createStageManager(), null, RandomWeightGenerator.createTestingFactory(2)); + allNodes[i].getPort(), allNodes[i].getGroupPort(), stages.createStageManager(), RandomWeightGenerator.createTestingFactory(2)); gm.setDiscover(new TCGroupMemberDiscoveryStatic(gm, allNodes[i])); groupManagers[i] = gm; @@ -245,7 +245,7 @@ public void nodesSetupAndJoined_DEV3101(int nodes) throws Exception { for (int i = 0; i < nodes; ++i) { TCGroupManagerImpl gm = new TCGroupManagerImpl(new NullConnectionPolicy(), allNodes[i].getHost(), - allNodes[i].getPort(), allNodes[i].getGroupPort(), stages.createStageManager(), null, RandomWeightGenerator.createTestingFactory(2)); + allNodes[i].getPort(), allNodes[i].getGroupPort(), stages.createStageManager(), RandomWeightGenerator.createTestingFactory(2)); gm.setDiscover(new TCGroupMemberDiscoveryStatic(gm, allNodes[i])); groupManagers[i] = gm; diff --git a/dso-l2/src/test/java/com/tc/net/groups/TCGroupMessageWrapperTest.java b/dso-l2/src/test/java/com/tc/net/groups/TCGroupMessageWrapperTest.java index 8af06608be..1db3f3b84d 100755 --- a/dso-l2/src/test/java/com/tc/net/groups/TCGroupMessageWrapperTest.java +++ b/dso-l2/src/test/java/com/tc/net/groups/TCGroupMessageWrapperTest.java @@ -22,7 +22,6 @@ import com.tc.l2.msg.ClusterStateMessage; import com.tc.l2.msg.L2StateMessage; import com.tc.l2.state.Enrollment; -import com.tc.net.ClientID; import com.tc.net.ServerID; import com.tc.net.TCSocketAddress; import com.tc.net.core.ConnectionInfo; @@ -42,7 +41,6 @@ import com.tc.net.protocol.tcm.TCMessageSink; import com.tc.net.protocol.tcm.TCMessageType; import com.tc.net.protocol.tcm.UnsupportedMessageTypeException; -import com.tc.net.protocol.transport.ConnectionID; import com.tc.net.protocol.transport.DefaultConnectionIdFactory; import com.tc.net.protocol.transport.DisabledHealthCheckerConfigImpl; import com.tc.net.protocol.transport.NullConnectionPolicy; @@ -87,12 +85,12 @@ protected void setUp() throws Exception { new PlainNetworkStackHarnessFactory(), null, new NullConnectionPolicy(), 0, new DisabledHealthCheckerConfigImpl(), new TransportHandshakeErrorNullHandler(), Collections.emptyMap(), - Collections.emptyMap(), null); + Collections.emptyMap()); serverComms = new CommunicationsManagerImpl("TestCommsMgr-Server", monitor, new TCMessageRouterImpl(), new PlainNetworkStackHarnessFactory(), null, new NullConnectionPolicy(), 0, new DisabledHealthCheckerConfigImpl(), new TransportHandshakeErrorNullHandler(), Collections.emptyMap(), - Collections.emptyMap(), null); + Collections.emptyMap()); } @Override diff --git a/tc-messaging/src/main/java/com/tc/net/core/ConnectionInfo.java b/tc-messaging/src/main/java/com/tc/net/core/ConnectionInfo.java index 57ba1ef8b8..0d234763ab 100644 --- a/tc-messaging/src/main/java/com/tc/net/core/ConnectionInfo.java +++ b/tc-messaging/src/main/java/com/tc/net/core/ConnectionInfo.java @@ -26,27 +26,17 @@ public class ConnectionInfo implements java.io.Serializable { private final String hostname; private final int port; private final int server; - private final SecurityInfo securityInfo; public ConnectionInfo(String hostname, int port) { - this(hostname, port, new SecurityInfo()); - } - - public ConnectionInfo(String hostname, int port, SecurityInfo securityInfo) { - this(hostname, port, 0, securityInfo); + this(hostname, port, 0); } public ConnectionInfo(String hostname, int port, int server) { - this(hostname, port, server, new SecurityInfo()); - } - - public ConnectionInfo(String hostname, int port, int server, SecurityInfo securityInfo) { Assert.assertNotNull(hostname); Assert.assertTrue(port >= 0); this.hostname = hostname; this.port = port; this.server = server; - this.securityInfo = securityInfo; } public String getHostname() { @@ -83,7 +73,4 @@ public String toString() { return (s == null ? (s = hostname + ":" + port) : s); } - public SecurityInfo getSecurityInfo() { - return securityInfo; - } } diff --git a/tc-messaging/src/main/java/com/tc/net/core/SecurityInfo.java b/tc-messaging/src/main/java/com/tc/net/core/SecurityInfo.java deleted file mode 100644 index fd2e183374..0000000000 --- a/tc-messaging/src/main/java/com/tc/net/core/SecurityInfo.java +++ /dev/null @@ -1,75 +0,0 @@ -/* - * - * The contents of this file are subject to the Terracotta Public License Version - * 2.0 (the "License"); You may not use this file except in compliance with the - * License. You may obtain a copy of the License at - * - * http://terracotta.org/legal/terracotta-public-license. - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for - * the specific language governing rights and limitations under the License. - * - * The Covered Software is Terracotta Core. - * - * The Initial Developer of the Covered Software is - * Terracotta, Inc., a Software AG company - * - */ - -package com.tc.net.core; - -/** - * @author Alex Snaps - */ -public class SecurityInfo { - - private final boolean secure; - private final String username; - - public SecurityInfo() { - this(false, null); - } - - public SecurityInfo(boolean secure, String username) { - this.secure = secure; - this.username = username; - } - - public boolean isSecure() { - return secure; - } - - public String getUsername() { - return username; - } - - @Override - public String toString() { - return "SecurityInfo{" + - "secure=" + secure + - ", username='" + username + '\'' + - '}'; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - - final SecurityInfo that = (SecurityInfo)o; - - return secure == that.secure && !(username != null ? !username.equals(that.username) : that.username != null); - } - - @Override - public int hashCode() { - int result = (secure ? 1 : 0); - result = 31 * result + (username != null ? username.hashCode() : 0); - return result; - } - - public boolean hasCredentials() { - return username != null; - } -}