summaryrefslogtreecommitdiff
path: root/gnu/javax/net/ssl/provider/SSLServerSocket.java
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/javax/net/ssl/provider/SSLServerSocket.java')
-rw-r--r--gnu/javax/net/ssl/provider/SSLServerSocket.java283
1 files changed, 0 insertions, 283 deletions
diff --git a/gnu/javax/net/ssl/provider/SSLServerSocket.java b/gnu/javax/net/ssl/provider/SSLServerSocket.java
deleted file mode 100644
index ee96b8d1b..000000000
--- a/gnu/javax/net/ssl/provider/SSLServerSocket.java
+++ /dev/null
@@ -1,283 +0,0 @@
-/* SSLServerSocket.java -- SSL server socket.
- Copyright (C) 2006 Free Software Foundation, Inc.
-
-This file is a part of GNU Classpath.
-
-GNU Classpath is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or (at
-your option) any later version.
-
-GNU Classpath is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Classpath; if not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
-USA
-
-Linking this library statically or dynamically with other modules is
-making a combined work based on this library. Thus, the terms and
-conditions of the GNU General Public License cover the whole
-combination.
-
-As a special exception, the copyright holders of this library give you
-permission to link this library with independent modules to produce an
-executable, regardless of the license terms of these independent
-modules, and to copy and distribute the resulting executable under
-terms of your choice, provided that you also meet, for each linked
-independent module, the terms and conditions of the license of that
-module. An independent module is a module which is not derived from
-or based on this library. If you modify this library, you may extend
-this exception to your version of the library, but you are not
-obligated to do so. If you do not wish to do so, delete this
-exception statement from your version. */
-
-
-package gnu.javax.net.ssl.provider;
-
-import java.io.IOException;
-
-import java.net.InetAddress;
-import java.net.Socket;
-
-import java.security.SecureRandom;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.SortedSet;
-import java.util.TreeSet;
-
-import javax.net.ssl.X509KeyManager;
-import javax.net.ssl.X509TrustManager;
-
-import gnu.javax.net.ssl.SRPTrustManager;
-
-class SSLServerSocket extends javax.net.ssl.SSLServerSocket
-{
-
- // Fields.
- // -------------------------------------------------------------------------
-
- private SessionContext sessions;
- private SortedSet enabledProtocols = new TreeSet(SSLSocket.supportedProtocols);
- private List enabledSuites = new ArrayList(SSLSocket.supportedSuites);
- private boolean clientMode = false;
- private boolean needClientAuth = false;
- private boolean wantClientAuth = false;
- private boolean createSessions = true;
- private SRPTrustManager srpTrustManager;
- private X509TrustManager trustManager;
- private X509KeyManager keyManager;
- private SecureRandom random;
-
- // Constructors.
- // -------------------------------------------------------------------------
-
- SSLServerSocket() throws IOException
- {
- super();
- }
-
- SSLServerSocket(int port) throws IOException
- {
- super(port);
- }
-
- SSLServerSocket(int port, int backlog) throws IOException
- {
- super(port, backlog);
- }
-
- SSLServerSocket(int port, int backlog, InetAddress address)
- throws IOException
- {
- super(port, backlog, address);
- }
-
- // SSL methods.
- // -------------------------------------------------------------------------
-
- public String[] getSupportedCipherSuites()
- {
- return (String[]) CipherSuite.availableSuiteNames().toArray(new String[0]);
- }
-
- public String[] getEnabledCipherSuites()
- {
- synchronized (enabledSuites)
- {
- String[] s = new String[enabledSuites.size()];
- int i = 0;
- for (Iterator it = enabledSuites.iterator(); it.hasNext(); )
- s[i++] = it.next().toString();
- return s;
- }
- }
-
- public void setEnabledCipherSuites(String[] suites)
- {
- if (suites == null || suites.length == 0)
- throw new IllegalArgumentException();
- for (int i = 0; i < suites.length; i++)
- if (CipherSuite.forName(suites[i]) == null)
- throw new IllegalArgumentException("unsupported suite: " +
- suites[i]);
- synchronized (enabledSuites)
- {
- enabledSuites.clear();
- for (int i = 0; i < suites.length; i++)
- {
- CipherSuite suite = CipherSuite.forName(suites[i]);
- if (!enabledSuites.contains(suite))
- enabledSuites.add(suite);
- }
- }
- }
-
- public String[] getSupportedProtocols()
- {
- return new String[] { "SSLv3", "TLSv1", "TLSv1.1" };
- }
-
- public String[] getEnabledProtocols()
- {
- synchronized (enabledProtocols)
- {
- String[] s = new String[enabledProtocols.size()];
- int i = 0;
- for (Iterator it = enabledProtocols.iterator(); it.hasNext(); )
- s[i++] = it.next().toString();
- return s;
- }
- }
-
- public void setEnabledProtocols(String[] protocols)
- {
- if (protocols == null || protocols.length == 0)
- throw new IllegalArgumentException();
- for (int i = 0; i < protocols.length; i++)
- {
- if (!(protocols[i].equalsIgnoreCase("SSLv3") ||
- protocols[i].equalsIgnoreCase("TLSv1") ||
- protocols[i].equalsIgnoreCase("TLSv1.1")))
- {
- throw new
- IllegalArgumentException("unsupported protocol: " +
- protocols[i]);
- }
- }
- synchronized (enabledProtocols)
- {
- enabledProtocols.clear();
- for (int i = 0; i < protocols.length; i++)
- {
- if (protocols[i].equalsIgnoreCase("SSLv3"))
- enabledProtocols.add(ProtocolVersion.SSL_3);
- else if (protocols[i].equalsIgnoreCase("TLSv1"))
- enabledProtocols.add(ProtocolVersion.TLS_1);
- else
- enabledProtocols.add(ProtocolVersion.TLS_1_1);
- }
- }
- }
-
- public void setUseClientMode(boolean clientMode)
- {
- this.clientMode = clientMode;
- }
-
- public boolean getUseClientMode()
- {
- return clientMode;
- }
-
- public void setNeedClientAuth(boolean needClientAuth)
- {
- this.needClientAuth = needClientAuth;
- }
-
- public boolean getNeedClientAuth()
- {
- return needClientAuth;
- }
-
- public void setWantClientAuth(boolean wantClientAuth)
- {
- this.wantClientAuth = wantClientAuth;
- }
-
- public boolean getWantClientAuth()
- {
- return wantClientAuth;
- }
-
- // I misspelled this method in javax.net.SSLServerSocket, and that version
- // made it into kaffe 1.1.4.
- public void setEnabledSessionCreation(boolean createSessions)
- {
- setEnableSessionCreation(createSessions);
- }
-
- public void setEnableSessionCreation(boolean createSessions)
- {
- this.createSessions = createSessions;
- }
-
- public boolean getEnableSessionCreation()
- {
- return createSessions;
- }
-
- // Socket methods.
- // -------------------------------------------------------------------------
-
- public Socket accept() throws IOException
- {
- SSLSocket socket = new SSLSocket();
- implAccept(socket);
- socket.setUseClientMode(clientMode);
- socket.setNeedClientAuth(needClientAuth);
- socket.setWantClientAuth(wantClientAuth);
- socket.setEnableSessionCreation(createSessions);
- socket.setSessionContext(sessions);
- socket.setEnabledCipherSuites(new ArrayList(enabledSuites));
- socket.setEnabledProtocols(new TreeSet(enabledProtocols));
- socket.setSRPTrustManager(srpTrustManager);
- socket.setTrustManager(trustManager);
- socket.setKeyManager(keyManager);
- socket.setRandom(random);
- return socket;
- }
-
- // Package methods.
- // -------------------------------------------------------------------------
-
- void setSessionContext(SessionContext sessions)
- {
- this.sessions = sessions;
- }
-
- void setKeyManager(X509KeyManager keyManager)
- {
- this.keyManager = keyManager;
- }
-
- void setTrustManager(X509TrustManager trustManager)
- {
- this.trustManager = trustManager;
- }
-
- void setSRPTrustManager(SRPTrustManager srpTrustManager)
- {
- this.srpTrustManager = srpTrustManager;
- }
-
- void setRandom(SecureRandom random)
- {
- this.random = random;
- }
-}