|
From: <ls...@us...> - 2007-06-25 09:47:17
|
Revision: 3307
http://jnode.svn.sourceforge.net/jnode/?rev=3307&view=rev
Author: lsantha
Date: 2007-06-25 02:36:18 -0700 (Mon, 25 Jun 2007)
Log Message:
-----------
Openjdk integration.
Added Paths:
-----------
trunk/core/src/openjdk/javax/javax/net/
trunk/core/src/openjdk/javax/javax/net/ssl/
trunk/core/src/openjdk/javax/javax/net/ssl/SSLContext.java
trunk/core/src/openjdk/javax/javax/net/ssl/SSLContextSpi.java
trunk/core/src/openjdk/javax/javax/net/ssl/SSLParameters.java
trunk/core/src/openjdk/javax/javax/net/ssl/SSLSocket.java
trunk/core/src/openjdk/javax/javax/security/auth/kerberos/
trunk/core/src/openjdk/javax/javax/security/auth/kerberos/KerberosKey.java
trunk/core/src/openjdk/javax/javax/security/auth/kerberos/KerberosTicket.java
trunk/core/src/openjdk/javax/javax/security/auth/kerberos/KeyImpl.java
trunk/core/src/openjdk/javax/javax/security/auth/login/Configuration.java
trunk/core/src/openjdk/javax/javax/security/auth/login/LoginContext.java
trunk/core/src/openjdk/javax/javax/security/sasl/
trunk/core/src/openjdk/javax/javax/security/sasl/Sasl.java
trunk/core/src/openjdk/javax/javax/xml/
trunk/core/src/openjdk/javax/javax/xml/bind/
trunk/core/src/openjdk/javax/javax/xml/bind/Binder.java
trunk/core/src/openjdk/javax/javax/xml/bind/ContextFinder.java
trunk/core/src/openjdk/javax/javax/xml/bind/DatatypeConverter.java
trunk/core/src/openjdk/javax/javax/xml/bind/DatatypeConverterInterface.java
trunk/core/src/openjdk/javax/javax/xml/bind/Element.java
trunk/core/src/openjdk/javax/javax/xml/bind/JAXBContext.java
trunk/core/src/openjdk/javax/javax/xml/bind/JAXBElement.java
trunk/core/src/openjdk/javax/javax/xml/bind/JAXBException.java
trunk/core/src/openjdk/javax/javax/xml/bind/JAXBIntrospector.java
trunk/core/src/openjdk/javax/javax/xml/bind/MarshalException.java
trunk/core/src/openjdk/javax/javax/xml/bind/Marshaller.java
trunk/core/src/openjdk/javax/javax/xml/bind/Messages.java
trunk/core/src/openjdk/javax/javax/xml/bind/Messages.properties
trunk/core/src/openjdk/javax/javax/xml/bind/NotIdentifiableEvent.java
trunk/core/src/openjdk/javax/javax/xml/bind/ParseConversionEvent.java
trunk/core/src/openjdk/javax/javax/xml/bind/PrintConversionEvent.java
trunk/core/src/openjdk/javax/javax/xml/bind/PropertyException.java
trunk/core/src/openjdk/javax/javax/xml/bind/SchemaOutputResolver.java
trunk/core/src/openjdk/javax/javax/xml/bind/TypeConstraintException.java
trunk/core/src/openjdk/javax/javax/xml/bind/UnmarshalException.java
trunk/core/src/openjdk/javax/javax/xml/bind/Unmarshaller.java
trunk/core/src/openjdk/javax/javax/xml/bind/UnmarshallerHandler.java
trunk/core/src/openjdk/javax/javax/xml/bind/ValidationEvent.java
trunk/core/src/openjdk/javax/javax/xml/bind/ValidationEventHandler.java
trunk/core/src/openjdk/javax/javax/xml/bind/ValidationEventLocator.java
trunk/core/src/openjdk/javax/javax/xml/bind/ValidationException.java
trunk/core/src/openjdk/javax/javax/xml/bind/Validator.java
trunk/core/src/openjdk/javax/javax/xml/bind/annotation/
trunk/core/src/openjdk/javax/javax/xml/bind/annotation/DomHandler.java
trunk/core/src/openjdk/javax/javax/xml/bind/annotation/W3CDomHandler.java
trunk/core/src/openjdk/javax/javax/xml/bind/annotation/XmlAccessOrder.java
trunk/core/src/openjdk/javax/javax/xml/bind/annotation/XmlAccessType.java
trunk/core/src/openjdk/javax/javax/xml/bind/annotation/XmlAccessorOrder.java
trunk/core/src/openjdk/javax/javax/xml/bind/annotation/XmlAccessorType.java
trunk/core/src/openjdk/javax/javax/xml/bind/annotation/XmlAnyAttribute.java
trunk/core/src/openjdk/javax/javax/xml/bind/annotation/XmlAnyElement.java
trunk/core/src/openjdk/javax/javax/xml/bind/annotation/XmlAttachmentRef.java
trunk/core/src/openjdk/javax/javax/xml/bind/annotation/XmlAttribute.java
trunk/core/src/openjdk/javax/javax/xml/bind/annotation/XmlElement.java
trunk/core/src/openjdk/javax/javax/xml/bind/annotation/XmlElementDecl.java
trunk/core/src/openjdk/javax/javax/xml/bind/annotation/XmlElementRef.java
trunk/core/src/openjdk/javax/javax/xml/bind/annotation/XmlElementRefs.java
trunk/core/src/openjdk/javax/javax/xml/bind/annotation/XmlElementWrapper.java
trunk/core/src/openjdk/javax/javax/xml/bind/annotation/XmlElements.java
trunk/core/src/openjdk/javax/javax/xml/bind/annotation/XmlEnum.java
trunk/core/src/openjdk/javax/javax/xml/bind/annotation/XmlEnumValue.java
trunk/core/src/openjdk/javax/javax/xml/bind/annotation/XmlID.java
trunk/core/src/openjdk/javax/javax/xml/bind/annotation/XmlIDREF.java
trunk/core/src/openjdk/javax/javax/xml/bind/annotation/XmlInlineBinaryData.java
trunk/core/src/openjdk/javax/javax/xml/bind/annotation/XmlList.java
trunk/core/src/openjdk/javax/javax/xml/bind/annotation/XmlMimeType.java
trunk/core/src/openjdk/javax/javax/xml/bind/annotation/XmlMixed.java
trunk/core/src/openjdk/javax/javax/xml/bind/annotation/XmlNs.java
trunk/core/src/openjdk/javax/javax/xml/bind/annotation/XmlNsForm.java
trunk/core/src/openjdk/javax/javax/xml/bind/annotation/XmlRegistry.java
trunk/core/src/openjdk/javax/javax/xml/bind/annotation/XmlRootElement.java
trunk/core/src/openjdk/javax/javax/xml/bind/annotation/XmlSchema.java
trunk/core/src/openjdk/javax/javax/xml/bind/annotation/XmlSchemaType.java
trunk/core/src/openjdk/javax/javax/xml/bind/annotation/XmlSchemaTypes.java
trunk/core/src/openjdk/javax/javax/xml/bind/annotation/XmlTransient.java
trunk/core/src/openjdk/javax/javax/xml/bind/annotation/XmlType.java
trunk/core/src/openjdk/javax/javax/xml/bind/annotation/XmlValue.java
trunk/core/src/openjdk/javax/javax/xml/bind/annotation/adapters/
trunk/core/src/openjdk/javax/javax/xml/bind/annotation/adapters/CollapsedStringAdapter.java
trunk/core/src/openjdk/javax/javax/xml/bind/annotation/adapters/HexBinaryAdapter.java
trunk/core/src/openjdk/javax/javax/xml/bind/annotation/adapters/NormalizedStringAdapter.java
trunk/core/src/openjdk/javax/javax/xml/bind/annotation/adapters/XmlAdapter.java
trunk/core/src/openjdk/javax/javax/xml/bind/annotation/adapters/XmlJavaTypeAdapter.java
trunk/core/src/openjdk/javax/javax/xml/bind/annotation/adapters/XmlJavaTypeAdapters.java
trunk/core/src/openjdk/javax/javax/xml/bind/annotation/adapters/package.html
trunk/core/src/openjdk/javax/javax/xml/bind/annotation/package.html
trunk/core/src/openjdk/javax/javax/xml/bind/attachment/
trunk/core/src/openjdk/javax/javax/xml/bind/attachment/AttachmentMarshaller.java
trunk/core/src/openjdk/javax/javax/xml/bind/attachment/AttachmentUnmarshaller.java
trunk/core/src/openjdk/javax/javax/xml/bind/attachment/package.html
trunk/core/src/openjdk/javax/javax/xml/bind/helpers/
trunk/core/src/openjdk/javax/javax/xml/bind/helpers/AbstractMarshallerImpl.java
trunk/core/src/openjdk/javax/javax/xml/bind/helpers/AbstractUnmarshallerImpl.java
trunk/core/src/openjdk/javax/javax/xml/bind/helpers/DefaultValidationEventHandler.java
trunk/core/src/openjdk/javax/javax/xml/bind/helpers/Messages.java
trunk/core/src/openjdk/javax/javax/xml/bind/helpers/Messages.properties
trunk/core/src/openjdk/javax/javax/xml/bind/helpers/NotIdentifiableEventImpl.java
trunk/core/src/openjdk/javax/javax/xml/bind/helpers/ParseConversionEventImpl.java
trunk/core/src/openjdk/javax/javax/xml/bind/helpers/PrintConversionEventImpl.java
trunk/core/src/openjdk/javax/javax/xml/bind/helpers/ValidationEventImpl.java
trunk/core/src/openjdk/javax/javax/xml/bind/helpers/ValidationEventLocatorImpl.java
trunk/core/src/openjdk/javax/javax/xml/bind/helpers/package.html
trunk/core/src/openjdk/javax/javax/xml/bind/package.html
trunk/core/src/openjdk/javax/javax/xml/bind/util/
trunk/core/src/openjdk/javax/javax/xml/bind/util/JAXBResult.java
trunk/core/src/openjdk/javax/javax/xml/bind/util/JAXBSource.java
trunk/core/src/openjdk/javax/javax/xml/bind/util/Messages.java
trunk/core/src/openjdk/javax/javax/xml/bind/util/Messages.properties
trunk/core/src/openjdk/javax/javax/xml/bind/util/ValidationEventCollector.java
trunk/core/src/openjdk/javax/javax/xml/bind/util/package.html
trunk/core/src/openjdk/javax/javax/xml/crypto/
trunk/core/src/openjdk/javax/javax/xml/crypto/AlgorithmMethod.java
trunk/core/src/openjdk/javax/javax/xml/crypto/Data.java
trunk/core/src/openjdk/javax/javax/xml/crypto/KeySelector.java
trunk/core/src/openjdk/javax/javax/xml/crypto/KeySelectorException.java
trunk/core/src/openjdk/javax/javax/xml/crypto/KeySelectorResult.java
trunk/core/src/openjdk/javax/javax/xml/crypto/MarshalException.java
trunk/core/src/openjdk/javax/javax/xml/crypto/NoSuchMechanismException.java
trunk/core/src/openjdk/javax/javax/xml/crypto/NodeSetData.java
trunk/core/src/openjdk/javax/javax/xml/crypto/OctetStreamData.java
trunk/core/src/openjdk/javax/javax/xml/crypto/URIDereferencer.java
trunk/core/src/openjdk/javax/javax/xml/crypto/URIReference.java
trunk/core/src/openjdk/javax/javax/xml/crypto/URIReferenceException.java
trunk/core/src/openjdk/javax/javax/xml/crypto/XMLCryptoContext.java
trunk/core/src/openjdk/javax/javax/xml/crypto/XMLStructure.java
trunk/core/src/openjdk/javax/javax/xml/crypto/dom/
trunk/core/src/openjdk/javax/javax/xml/crypto/dom/DOMCryptoContext.java
trunk/core/src/openjdk/javax/javax/xml/crypto/dom/DOMStructure.java
trunk/core/src/openjdk/javax/javax/xml/crypto/dom/DOMURIReference.java
trunk/core/src/openjdk/javax/javax/xml/crypto/dom/package.html
trunk/core/src/openjdk/javax/javax/xml/crypto/dsig/
trunk/core/src/openjdk/javax/javax/xml/crypto/dsig/CanonicalizationMethod.java
trunk/core/src/openjdk/javax/javax/xml/crypto/dsig/DigestMethod.java
trunk/core/src/openjdk/javax/javax/xml/crypto/dsig/Manifest.java
trunk/core/src/openjdk/javax/javax/xml/crypto/dsig/Reference.java
trunk/core/src/openjdk/javax/javax/xml/crypto/dsig/SignatureMethod.java
trunk/core/src/openjdk/javax/javax/xml/crypto/dsig/SignatureProperties.java
trunk/core/src/openjdk/javax/javax/xml/crypto/dsig/SignatureProperty.java
trunk/core/src/openjdk/javax/javax/xml/crypto/dsig/SignedInfo.java
trunk/core/src/openjdk/javax/javax/xml/crypto/dsig/Transform.java
trunk/core/src/openjdk/javax/javax/xml/crypto/dsig/TransformException.java
trunk/core/src/openjdk/javax/javax/xml/crypto/dsig/TransformService.java
trunk/core/src/openjdk/javax/javax/xml/crypto/dsig/XMLObject.java
trunk/core/src/openjdk/javax/javax/xml/crypto/dsig/XMLSignContext.java
trunk/core/src/openjdk/javax/javax/xml/crypto/dsig/XMLSignature.java
trunk/core/src/openjdk/javax/javax/xml/crypto/dsig/XMLSignatureException.java
trunk/core/src/openjdk/javax/javax/xml/crypto/dsig/XMLSignatureFactory.java
trunk/core/src/openjdk/javax/javax/xml/crypto/dsig/XMLValidateContext.java
trunk/core/src/openjdk/javax/javax/xml/crypto/dsig/dom/
trunk/core/src/openjdk/javax/javax/xml/crypto/dsig/dom/DOMSignContext.java
trunk/core/src/openjdk/javax/javax/xml/crypto/dsig/dom/DOMValidateContext.java
trunk/core/src/openjdk/javax/javax/xml/crypto/dsig/dom/package.html
trunk/core/src/openjdk/javax/javax/xml/crypto/dsig/keyinfo/
trunk/core/src/openjdk/javax/javax/xml/crypto/dsig/keyinfo/KeyInfo.java
trunk/core/src/openjdk/javax/javax/xml/crypto/dsig/keyinfo/KeyInfoFactory.java
trunk/core/src/openjdk/javax/javax/xml/crypto/dsig/keyinfo/KeyName.java
trunk/core/src/openjdk/javax/javax/xml/crypto/dsig/keyinfo/KeyValue.java
trunk/core/src/openjdk/javax/javax/xml/crypto/dsig/keyinfo/PGPData.java
trunk/core/src/openjdk/javax/javax/xml/crypto/dsig/keyinfo/RetrievalMethod.java
trunk/core/src/openjdk/javax/javax/xml/crypto/dsig/keyinfo/X509Data.java
trunk/core/src/openjdk/javax/javax/xml/crypto/dsig/keyinfo/X509IssuerSerial.java
trunk/core/src/openjdk/javax/javax/xml/crypto/dsig/keyinfo/package.html
trunk/core/src/openjdk/javax/javax/xml/crypto/dsig/package.html
trunk/core/src/openjdk/javax/javax/xml/crypto/dsig/spec/
trunk/core/src/openjdk/javax/javax/xml/crypto/dsig/spec/C14NMethodParameterSpec.java
trunk/core/src/openjdk/javax/javax/xml/crypto/dsig/spec/DigestMethodParameterSpec.java
trunk/core/src/openjdk/javax/javax/xml/crypto/dsig/spec/ExcC14NParameterSpec.java
trunk/core/src/openjdk/javax/javax/xml/crypto/dsig/spec/HMACParameterSpec.java
trunk/core/src/openjdk/javax/javax/xml/crypto/dsig/spec/SignatureMethodParameterSpec.java
trunk/core/src/openjdk/javax/javax/xml/crypto/dsig/spec/TransformParameterSpec.java
trunk/core/src/openjdk/javax/javax/xml/crypto/dsig/spec/XPathFilter2ParameterSpec.java
trunk/core/src/openjdk/javax/javax/xml/crypto/dsig/spec/XPathFilterParameterSpec.java
trunk/core/src/openjdk/javax/javax/xml/crypto/dsig/spec/XPathType.java
trunk/core/src/openjdk/javax/javax/xml/crypto/dsig/spec/XSLTTransformParameterSpec.java
trunk/core/src/openjdk/javax/javax/xml/crypto/dsig/spec/package.html
trunk/core/src/openjdk/javax/javax/xml/crypto/package.html
trunk/core/src/openjdk/javax/javax/xml/soap/
trunk/core/src/openjdk/javax/javax/xml/soap/AttachmentPart.java
trunk/core/src/openjdk/javax/javax/xml/soap/Detail.java
trunk/core/src/openjdk/javax/javax/xml/soap/DetailEntry.java
trunk/core/src/openjdk/javax/javax/xml/soap/FactoryFinder.java
trunk/core/src/openjdk/javax/javax/xml/soap/MessageFactory.java
trunk/core/src/openjdk/javax/javax/xml/soap/MimeHeader.java
trunk/core/src/openjdk/javax/javax/xml/soap/MimeHeaders.java
trunk/core/src/openjdk/javax/javax/xml/soap/Name.java
trunk/core/src/openjdk/javax/javax/xml/soap/Node.java
trunk/core/src/openjdk/javax/javax/xml/soap/SAAJMetaFactory.java
trunk/core/src/openjdk/javax/javax/xml/soap/SAAJResult.java
trunk/core/src/openjdk/javax/javax/xml/soap/SOAPBody.java
trunk/core/src/openjdk/javax/javax/xml/soap/SOAPBodyElement.java
trunk/core/src/openjdk/javax/javax/xml/soap/SOAPConnection.java
trunk/core/src/openjdk/javax/javax/xml/soap/SOAPConnectionFactory.java
trunk/core/src/openjdk/javax/javax/xml/soap/SOAPConstants.java
trunk/core/src/openjdk/javax/javax/xml/soap/SOAPElement.java
trunk/core/src/openjdk/javax/javax/xml/soap/SOAPElementFactory.java
trunk/core/src/openjdk/javax/javax/xml/soap/SOAPEnvelope.java
trunk/core/src/openjdk/javax/javax/xml/soap/SOAPException.java
trunk/core/src/openjdk/javax/javax/xml/soap/SOAPFactory.java
trunk/core/src/openjdk/javax/javax/xml/soap/SOAPFault.java
trunk/core/src/openjdk/javax/javax/xml/soap/SOAPFaultElement.java
trunk/core/src/openjdk/javax/javax/xml/soap/SOAPHeader.java
trunk/core/src/openjdk/javax/javax/xml/soap/SOAPHeaderElement.java
trunk/core/src/openjdk/javax/javax/xml/soap/SOAPMessage.java
trunk/core/src/openjdk/javax/javax/xml/soap/SOAPPart.java
trunk/core/src/openjdk/javax/javax/xml/soap/Text.java
trunk/core/src/openjdk/javax/javax/xml/soap/package.html
trunk/core/src/openjdk/javax/javax/xml/stream/
trunk/core/src/openjdk/javax/javax/xml/stream/EventFilter.java
trunk/core/src/openjdk/javax/javax/xml/stream/FactoryConfigurationError.java
trunk/core/src/openjdk/javax/javax/xml/stream/FactoryFinder.java
trunk/core/src/openjdk/javax/javax/xml/stream/Location.java
trunk/core/src/openjdk/javax/javax/xml/stream/SecuritySupport.java
trunk/core/src/openjdk/javax/javax/xml/stream/StreamFilter.java
trunk/core/src/openjdk/javax/javax/xml/stream/XMLEventFactory.java
trunk/core/src/openjdk/javax/javax/xml/stream/XMLEventReader.java
trunk/core/src/openjdk/javax/javax/xml/stream/XMLEventWriter.java
trunk/core/src/openjdk/javax/javax/xml/stream/XMLInputFactory.java
trunk/core/src/openjdk/javax/javax/xml/stream/XMLOutputFactory.java
trunk/core/src/openjdk/javax/javax/xml/stream/XMLReporter.java
trunk/core/src/openjdk/javax/javax/xml/stream/XMLResolver.java
trunk/core/src/openjdk/javax/javax/xml/stream/XMLStreamConstants.java
trunk/core/src/openjdk/javax/javax/xml/stream/XMLStreamException.java
trunk/core/src/openjdk/javax/javax/xml/stream/XMLStreamReader.java
trunk/core/src/openjdk/javax/javax/xml/stream/XMLStreamWriter.java
trunk/core/src/openjdk/javax/javax/xml/stream/events/
trunk/core/src/openjdk/javax/javax/xml/stream/events/Attribute.java
trunk/core/src/openjdk/javax/javax/xml/stream/events/Characters.java
trunk/core/src/openjdk/javax/javax/xml/stream/events/Comment.java
trunk/core/src/openjdk/javax/javax/xml/stream/events/DTD.java
trunk/core/src/openjdk/javax/javax/xml/stream/events/EndDocument.java
trunk/core/src/openjdk/javax/javax/xml/stream/events/EndElement.java
trunk/core/src/openjdk/javax/javax/xml/stream/events/EntityDeclaration.java
trunk/core/src/openjdk/javax/javax/xml/stream/events/EntityReference.java
trunk/core/src/openjdk/javax/javax/xml/stream/events/Namespace.java
trunk/core/src/openjdk/javax/javax/xml/stream/events/NotationDeclaration.java
trunk/core/src/openjdk/javax/javax/xml/stream/events/ProcessingInstruction.java
trunk/core/src/openjdk/javax/javax/xml/stream/events/StartDocument.java
trunk/core/src/openjdk/javax/javax/xml/stream/events/StartElement.java
trunk/core/src/openjdk/javax/javax/xml/stream/events/XMLEvent.java
trunk/core/src/openjdk/javax/javax/xml/stream/util/
trunk/core/src/openjdk/javax/javax/xml/stream/util/EventReaderDelegate.java
trunk/core/src/openjdk/javax/javax/xml/stream/util/StreamReaderDelegate.java
trunk/core/src/openjdk/javax/javax/xml/stream/util/XMLEventAllocator.java
trunk/core/src/openjdk/javax/javax/xml/stream/util/XMLEventConsumer.java
trunk/core/src/openjdk/javax/javax/xml/transform/
trunk/core/src/openjdk/javax/javax/xml/transform/stax/
trunk/core/src/openjdk/javax/javax/xml/transform/stax/StAXResult.java
trunk/core/src/openjdk/javax/javax/xml/transform/stax/StAXSource.java
trunk/core/src/openjdk/javax/javax/xml/transform/stax/package.html
trunk/core/src/openjdk/javax/javax/xml/ws/
trunk/core/src/openjdk/javax/javax/xml/ws/AsyncHandler.java
trunk/core/src/openjdk/javax/javax/xml/ws/Binding.java
trunk/core/src/openjdk/javax/javax/xml/ws/BindingProvider.java
trunk/core/src/openjdk/javax/javax/xml/ws/BindingType.java
trunk/core/src/openjdk/javax/javax/xml/ws/Dispatch.java
trunk/core/src/openjdk/javax/javax/xml/ws/Endpoint.java
trunk/core/src/openjdk/javax/javax/xml/ws/Holder.java
trunk/core/src/openjdk/javax/javax/xml/ws/LogicalMessage.java
trunk/core/src/openjdk/javax/javax/xml/ws/ProtocolException.java
trunk/core/src/openjdk/javax/javax/xml/ws/Provider.java
trunk/core/src/openjdk/javax/javax/xml/ws/RequestWrapper.java
trunk/core/src/openjdk/javax/javax/xml/ws/Response.java
trunk/core/src/openjdk/javax/javax/xml/ws/ResponseWrapper.java
trunk/core/src/openjdk/javax/javax/xml/ws/Service.java
trunk/core/src/openjdk/javax/javax/xml/ws/ServiceMode.java
trunk/core/src/openjdk/javax/javax/xml/ws/WebEndpoint.java
trunk/core/src/openjdk/javax/javax/xml/ws/WebFault.java
trunk/core/src/openjdk/javax/javax/xml/ws/WebServiceClient.java
trunk/core/src/openjdk/javax/javax/xml/ws/WebServiceContext.java
trunk/core/src/openjdk/javax/javax/xml/ws/WebServiceException.java
trunk/core/src/openjdk/javax/javax/xml/ws/WebServicePermission.java
trunk/core/src/openjdk/javax/javax/xml/ws/WebServiceProvider.java
trunk/core/src/openjdk/javax/javax/xml/ws/WebServiceRef.java
trunk/core/src/openjdk/javax/javax/xml/ws/WebServiceRefs.java
trunk/core/src/openjdk/javax/javax/xml/ws/handler/
trunk/core/src/openjdk/javax/javax/xml/ws/handler/Handler.java
trunk/core/src/openjdk/javax/javax/xml/ws/handler/HandlerResolver.java
trunk/core/src/openjdk/javax/javax/xml/ws/handler/LogicalHandler.java
trunk/core/src/openjdk/javax/javax/xml/ws/handler/LogicalMessageContext.java
trunk/core/src/openjdk/javax/javax/xml/ws/handler/MessageContext.java
trunk/core/src/openjdk/javax/javax/xml/ws/handler/PortInfo.java
trunk/core/src/openjdk/javax/javax/xml/ws/handler/package.html
trunk/core/src/openjdk/javax/javax/xml/ws/handler/soap/
trunk/core/src/openjdk/javax/javax/xml/ws/handler/soap/SOAPHandler.java
trunk/core/src/openjdk/javax/javax/xml/ws/handler/soap/SOAPMessageContext.java
trunk/core/src/openjdk/javax/javax/xml/ws/handler/soap/package.html
trunk/core/src/openjdk/javax/javax/xml/ws/http/
trunk/core/src/openjdk/javax/javax/xml/ws/http/HTTPBinding.java
trunk/core/src/openjdk/javax/javax/xml/ws/http/HTTPException.java
trunk/core/src/openjdk/javax/javax/xml/ws/http/package.html
trunk/core/src/openjdk/javax/javax/xml/ws/package.html
trunk/core/src/openjdk/javax/javax/xml/ws/soap/
trunk/core/src/openjdk/javax/javax/xml/ws/soap/SOAPBinding.java
trunk/core/src/openjdk/javax/javax/xml/ws/soap/SOAPFaultException.java
trunk/core/src/openjdk/javax/javax/xml/ws/soap/package.html
trunk/core/src/openjdk/javax/javax/xml/ws/spi/
trunk/core/src/openjdk/javax/javax/xml/ws/spi/FactoryFinder.java
trunk/core/src/openjdk/javax/javax/xml/ws/spi/Provider.java
trunk/core/src/openjdk/javax/javax/xml/ws/spi/ServiceDelegate.java
trunk/core/src/openjdk/javax/javax/xml/ws/spi/package.html
Added: trunk/core/src/openjdk/javax/javax/net/ssl/SSLContext.java
===================================================================
--- trunk/core/src/openjdk/javax/javax/net/ssl/SSLContext.java (rev 0)
+++ trunk/core/src/openjdk/javax/javax/net/ssl/SSLContext.java 2007-06-25 09:36:18 UTC (rev 3307)
@@ -0,0 +1,423 @@
+/*
+ * Copyright 1999-2006 Sun Microsystems, Inc. All Rights Reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * This code 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
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package javax.net.ssl;
+
+import java.security.*;
+import java.util.*;
+
+import sun.security.jca.GetInstance;
+
+/**
+ * Instances of this class represent a secure socket protocol
+ * implementation which acts as a factory for secure socket
+ * factories or <code>SSLEngine</code>s. This class is initialized
+ * with an optional set of key and trust managers and source of
+ * secure random bytes.
+ *
+ * @since 1.4
+ * @version 1.37, 05/05/07
+ */
+public class SSLContext {
+ private final Provider provider;
+
+ private final SSLContextSpi contextSpi;
+
+ private final String protocol;
+
+ /**
+ * Creates an SSLContext object.
+ *
+ * @param contextSpi the delegate
+ * @param provider the provider
+ * @param protocol the protocol
+ */
+ protected SSLContext(SSLContextSpi contextSpi, Provider provider,
+ String protocol) {
+ this.contextSpi = contextSpi;
+ this.provider = provider;
+ this.protocol = protocol;
+ }
+
+ private static SSLContext defaultContext;
+
+ /**
+ * Returns the default SSL context.
+ *
+ * <p>If a default context was set using the {@link #setDefault
+ * SSLContext.setDefault()} method, it is returned. Otherwise, the first
+ * call of this method triggers the call
+ * <code>SSLContext.getInstance("Default")</code>.
+ * If successful, that object is made the default SSL context and returned.
+ *
+ * <p>The default context is immediately
+ * usable and does not require {@linkplain #init initialization}.
+ *
+ * @return the default SSL context
+ * @throws NoSuchAlgorithmException if the
+ * {@link SSLContext#getInstance SSLContext.getInstance()} call fails
+ * @since 1.6
+ */
+ public static synchronized SSLContext getDefault()
+ throws NoSuchAlgorithmException {
+ if (defaultContext == null) {
+ defaultContext = SSLContext.getInstance("Default");
+ }
+ return defaultContext;
+ }
+
+ /**
+ * Sets the default SSL context. It will be returned by subsequent calls
+ * to {@link #getDefault}. The default context must be immediately usable
+ * and not require {@linkplain #init initialization}.
+ *
+ * @param context the SSLContext
+ * @throws NullPointerException if context is null
+ * @throws SecurityException if a security manager exists and its
+ * <code>checkPermission</code> method does not allow
+ * <code>SSLPermission("setDefaultSSLContext")</code>
+ * @since 1.6
+ */
+ public static synchronized void setDefault(SSLContext context) {
+ if (context == null) {
+ throw new NullPointerException();
+ }
+ SecurityManager sm = System.getSecurityManager();
+ if (sm != null) {
+ sm.checkPermission(new SSLPermission("setDefaultSSLContext"));
+ }
+ defaultContext = context;
+ }
+
+ /**
+ * Returns a <code>SSLContext</code> object that implements the
+ * specified secure socket protocol.
+ *
+ * <p> This method traverses the list of registered security Providers,
+ * starting with the most preferred Provider.
+ * A new SSLContext object encapsulating the
+ * SSLContextSpi implementation from the first
+ * Provider that supports the specified protocol is returned.
+ *
+ * <p> Note that the list of registered providers may be retrieved via
+ * the {@link Security#getProviders() Security.getProviders()} method.
+ *
+ * @param protocol the standard name of the requested protocol.
+ * See Appendix A in the <a href=
+ * "{@docRoot}/../technotes/guides/security/jsse/JSSERefGuide.html#AppA">
+ * Java Secure Socket Extension Reference Guide </a>
+ * for information about standard protocol names.
+ *
+ * @return the new <code>SSLContext</code> object.
+ *
+ * @exception NoSuchAlgorithmException if no Provider supports a
+ * TrustManagerFactorySpi implementation for the
+ * specified protocol.
+ *
+ * @see java.security.Provider
+ */
+ public static SSLContext getInstance(String protocol)
+ throws NoSuchAlgorithmException {
+ GetInstance.Instance instance = GetInstance.getInstance
+ ("SSLContext", SSLContextSpi.class, protocol);
+ return new SSLContext((SSLContextSpi)instance.impl, instance.provider,
+ protocol);
+ }
+
+ /**
+ * Returns a <code>SSLContext</code> object that implements the
+ * specified secure socket protocol.
+ *
+ * <p> A new SSLContext object encapsulating the
+ * SSLContextSpi implementation from the specified provider
+ * is returned. The specified provider must be registered
+ * in the security provider list.
+ *
+ * <p> Note that the list of registered providers may be retrieved via
+ * the {@link Security#getProviders() Security.getProviders()} method.
+ *
+ * @param protocol the standard name of the requested protocol.
+ * See Appendix A in the <a href=
+ * "{@docRoot}/../technotes/guides//security/jsse/JSSERefGuide.html#AppA">
+ * Java Secure Socket Extension Reference Guide </a>
+ * for information about standard protocol names.
+ *
+ * @param provider the name of the provider.
+ *
+ * @return the new <code>SSLContext</code> object.
+ *
+ * @throws NoSuchAlgorithmException if a SSLContextSpi
+ * implementation for the specified protocol is not
+ * available from the specified provider.
+ *
+ * @throws NoSuchProviderException if the specified provider is not
+ * registered in the security provider list.
+ *
+ * @throws IllegalArgumentException if the provider name is null or empty.
+ *
+ * @see java.security.Provider
+ */
+ public static SSLContext getInstance(String protocol, String provider)
+ throws NoSuchAlgorithmException, NoSuchProviderException {
+ GetInstance.Instance instance = GetInstance.getInstance
+ ("SSLContext", SSLContextSpi.class, protocol, provider);
+ return new SSLContext((SSLContextSpi)instance.impl, instance.provider,
+ protocol);
+ }
+
+ /**
+ * Returns a <code>SSLContext</code> object that implements the
+ * specified secure socket protocol.
+ *
+ * <p> A new SSLContext object encapsulating the
+ * SSLContextSpi implementation from the specified Provider
+ * object is returned. Note that the specified Provider object
+ * does not have to be registered in the provider list.
+ *
+ * @param protocol the standard name of the requested protocol.
+ * See Appendix A in the <a href=
+ * "{@docRoot}/../technotes/guides/security/jsse/JSSERefGuide.html#AppA">
+ * Java Secure Socket Extension Reference Guide </a>
+ * for information about standard protocol names.
+ *
+ * @param provider an instance of the provider.
+ *
+ * @return the new <code>SSLContext</code> object.
+ *
+ * @throws NoSuchAlgorithmException if a KeyManagerFactorySpi
+ * implementation for the specified protocol is not available
+ * from the specified Provider object.
+ *
+ * @throws IllegalArgumentException if the provider name is null.
+ *
+ * @see java.security.Provider
+ */
+ public static SSLContext getInstance(String protocol, Provider provider)
+ throws NoSuchAlgorithmException {
+ GetInstance.Instance instance = GetInstance.getInstance
+ ("SSLContext", SSLContextSpi.class, protocol, provider);
+ return new SSLContext((SSLContextSpi)instance.impl, instance.provider,
+ protocol);
+ }
+
+ /**
+ * Returns the protocol name of this <code>SSLContext</code> object.
+ *
+ * <p>This is the same name that was specified in one of the
+ * <code>getInstance</code> calls that created this
+ * <code>SSLContext</code> object.
+ *
+ * @return the protocol name of this <code>SSLContext</code> object.
+ */
+ public final String getProtocol() {
+ return this.protocol;
+ }
+
+ /**
+ * Returns the provider of this <code>SSLContext</code> object.
+ *
+ * @return the provider of this <code>SSLContext</code> object
+ */
+ public final Provider getProvider() {
+ return this.provider;
+ }
+
+ /**
+ * Initializes this context. Either of the first two parameters
+ * may be null in which case the installed security providers will
+ * be searched for the highest priority implementation of the
+ * appropriate factory. Likewise, the secure random parameter may
+ * be null in which case the default implementation will be used.
+ * <P>
+ * Only the first instance of a particular key and/or trust manager
+ * implementation type in the array is used. (For example, only
+ * the first javax.net.ssl.X509KeyManager in the array will be used.)
+ *
+ * @param km the sources of authentication keys or null
+ * @param tm the sources of peer authentication trust decisions or null
+ * @param random the source of randomness for this generator or null
+ * @throws KeyManagementException if this operation fails
+ */
+ public final void init(KeyManager[] km, TrustManager[] tm,
+ SecureRandom random)
+ throws KeyManagementException {
+ contextSpi.engineInit(km, tm, random);
+ }
+
+ /**
+ * Returns a <code>SocketFactory</code> object for this
+ * context.
+ *
+ * @return the <code>SocketFactory</code> object
+ * @throws IllegalStateException if the SSLContextImpl requires
+ * initialization and the <code>init()</code> has not been called
+ */
+ public final SSLSocketFactory getSocketFactory() {
+ return contextSpi.engineGetSocketFactory();
+ }
+
+ /**
+ * Returns a <code>ServerSocketFactory</code> object for
+ * this context.
+ *
+ * @return the <code>ServerSocketFactory</code> object
+ * @throws IllegalStateException if the SSLContextImpl requires
+ * initialization and the <code>init()</code> has not been called
+ */
+ public final SSLServerSocketFactory getServerSocketFactory() {
+ return contextSpi.engineGetServerSocketFactory();
+ }
+
+ /**
+ * Creates a new <code>SSLEngine</code> using this context.
+ * <P>
+ * Applications using this factory method are providing no hints
+ * for an internal session reuse strategy. If hints are desired,
+ * {@link #createSSLEngine(String, int)} should be used
+ * instead.
+ * <P>
+ * Some cipher suites (such as Kerberos) require remote hostname
+ * information, in which case this factory method should not be used.
+ *
+ * @return the <code>SSLEngine</code> object
+ * @throws UnsupportedOperationException if the underlying provider
+ * does not implement the operation.
+ * @throws IllegalStateException if the SSLContextImpl requires
+ * initialization and the <code>init()</code> has not been called
+ * @since 1.5
+ */
+ public final SSLEngine createSSLEngine() {
+ try {
+ return contextSpi.engineCreateSSLEngine();
+ } catch (AbstractMethodError e) {
+ UnsupportedOperationException unsup =
+ new UnsupportedOperationException(
+ "Provider: " + getProvider() +
+ " doesn't support this operation");
+ unsup.initCause(e);
+ throw unsup;
+ }
+ }
+
+ /**
+ * Creates a new <code>SSLEngine</code> using this context using
+ * advisory peer information.
+ * <P>
+ * Applications using this factory method are providing hints
+ * for an internal session reuse strategy.
+ * <P>
+ * Some cipher suites (such as Kerberos) require remote hostname
+ * information, in which case peerHost needs to be specified.
+ *
+ * @param peerHost the non-authoritative name of the host
+ * @param peerPort the non-authoritative port
+ * @return the new <code>SSLEngine</code> object
+ * @throws UnsupportedOperationException if the underlying provider
+ * does not implement the operation.
+ * @throws IllegalStateException if the SSLContextImpl requires
+ * initialization and the <code>init()</code> has not been called
+ * @since 1.5
+ */
+ public final SSLEngine createSSLEngine(String peerHost, int peerPort) {
+ try {
+ return contextSpi.engineCreateSSLEngine(peerHost, peerPort);
+ } catch (AbstractMethodError e) {
+ UnsupportedOperationException unsup =
+ new UnsupportedOperationException(
+ "Provider: " + getProvider() +
+ " does not support this operation");
+ unsup.initCause(e);
+ throw unsup;
+ }
+ }
+
+ /**
+ * Returns the server session context, which represents the set of
+ * SSL sessions available for use during the handshake phase of
+ * server-side SSL sockets.
+ * <P>
+ * This context may be unavailable in some environments, in which
+ * case this method returns null. For example, when the underlying
+ * SSL provider does not provide an implementation of SSLSessionContext
+ * interface, this method returns null. A non-null session context
+ * is returned otherwise.
+ *
+ * @return server session context bound to this SSL context
+ */
+ public final SSLSessionContext getServerSessionContext() {
+ return contextSpi.engineGetServerSessionContext();
+ }
+
+ /**
+ * Returns the client session context, which represents the set of
+ * SSL sessions available for use during the handshake phase of
+ * client-side SSL sockets.
+ * <P>
+ * This context may be unavailable in some environments, in which
+ * case this method returns null. For example, when the underlying
+ * SSL provider does not provide an implementation of SSLSessionContext
+ * interface, this method returns null. A non-null session context
+ * is returned otherwise.
+ *
+ * @return client session context bound to this SSL context
+ */
+ public final SSLSessionContext getClientSessionContext() {
+ return contextSpi.engineGetClientSessionContext();
+ }
+
+ /**
+ * Returns a copy of the SSLParameters indicating the default
+ * settings for this SSL context.
+ *
+ * <p>The parameters will always have the ciphersuites and protocols
+ * arrays set to non-null values.
+ *
+ * @return a copy of the SSLParameters object with the default settings
+ * @throws UnsupportedOperationException if the default SSL parameters
+ * could not be obtained.
+ * @since 1.6
+ */
+ public final SSLParameters getDefaultSSLParameters() {
+ return contextSpi.engineGetDefaultSSLParameters();
+ }
+
+ /**
+ * Returns a copy of the SSLParameters indicating the supported
+ * settings for this SSL context.
+ *
+ * <p>The parameters will always have the ciphersuites and protocols
+ * arrays set to non-null values.
+ *
+ * @return a copy of the SSLParameters object with the supported
+ * settings
+ * @throws UnsupportedOperationException if the supported SSL parameters
+ * could not be obtained.
+ * @since 1.6
+ */
+ public final SSLParameters getSupportedSSLParameters() {
+ return contextSpi.engineGetSupportedSSLParameters();
+ }
+
+}
Added: trunk/core/src/openjdk/javax/javax/net/ssl/SSLContextSpi.java
===================================================================
--- trunk/core/src/openjdk/javax/javax/net/ssl/SSLContextSpi.java (rev 0)
+++ trunk/core/src/openjdk/javax/javax/net/ssl/SSLContextSpi.java 2007-06-25 09:36:18 UTC (rev 3307)
@@ -0,0 +1,201 @@
+/*
+ * Copyright 1999-2005 Sun Microsystems, Inc. All Rights Reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * This code 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
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package javax.net.ssl;
+
+import java.util.*;
+import java.security.*;
+
+/**
+ * This class defines the <i>Service Provider Interface</i> (<b>SPI</b>)
+ * for the <code>SSLContext</code> class.
+ *
+ * <p> All the abstract methods in this class must be implemented by each
+ * cryptographic service provider who wishes to supply the implementation
+ * of a particular SSL context.
+ *
+ * @since 1.4
+ * @see SSLContext
+ * @version 1.23
+ */
+public abstract class SSLContextSpi {
+ /**
+ * Initializes this context.
+ *
+ * @param km the sources of authentication keys
+ * @param tm the sources of peer authentication trust decisions
+ * @param sr the source of randomness
+ * @throws KeyManagementException if this operation fails
+ * @see SSLContext#init(KeyManager [], TrustManager [], SecureRandom)
+ */
+ protected abstract void engineInit(KeyManager[] km, TrustManager[] tm,
+ SecureRandom sr) throws KeyManagementException;
+
+ /**
+ * Returns a <code>SocketFactory</code> object for this
+ * context.
+ *
+ * @return the <code>SocketFactory</code> object
+ * @throws IllegalStateException if the SSLContextImpl requires
+ * initialization and the <code>engineInit()</code>
+ * has not been called
+ * @see javax.net.ssl.SSLContext#getSocketFactory()
+ */
+ protected abstract SSLSocketFactory engineGetSocketFactory();
+
+ /**
+ * Returns a <code>ServerSocketFactory</code> object for
+ * this context.
+ *
+ * @return the <code>ServerSocketFactory</code> object
+ * @throws IllegalStateException if the SSLContextImpl requires
+ * initialization and the <code>engineInit()</code>
+ * has not been called
+ * @see javax.net.ssl.SSLContext#getServerSocketFactory()
+ */
+ protected abstract SSLServerSocketFactory engineGetServerSocketFactory();
+
+ /**
+ * Creates a new <code>SSLEngine</code> using this context.
+ * <P>
+ * Applications using this factory method are providing no hints
+ * for an internal session reuse strategy. If hints are desired,
+ * {@link #engineCreateSSLEngine(String, int)} should be used
+ * instead.
+ * <P>
+ * Some cipher suites (such as Kerberos) require remote hostname
+ * information, in which case this factory method should not be used.
+ *
+ * @return the <code>SSLEngine</code> Object
+ * @throws IllegalStateException if the SSLContextImpl requires
+ * initialization and the <code>engineInit()</code>
+ * has not been called
+ *
+ * @see SSLContext#createSSLEngine()
+ *
+ * @since 1.5
+ */
+ protected abstract SSLEngine engineCreateSSLEngine();
+
+ /**
+ * Creates a <code>SSLEngine</code> using this context.
+ * <P>
+ * Applications using this factory method are providing hints
+ * for an internal session reuse strategy.
+ * <P>
+ * Some cipher suites (such as Kerberos) require remote hostname
+ * information, in which case peerHost needs to be specified.
+ *
+ * @param host the non-authoritative name of the host
+ * @param port the non-authoritative port
+ * @return the <code>SSLEngine</code> Object
+ * @throws IllegalStateException if the SSLContextImpl requires
+ * initialization and the <code>engineInit()</code>
+ * has not been called
+ *
+ * @see SSLContext#createSSLEngine(String, int)
+ *
+ * @since 1.5
+ */
+ protected abstract SSLEngine engineCreateSSLEngine(String host, int port);
+
+ /**
+ * Returns a server <code>SSLSessionContext</code> object for
+ * this context.
+ *
+ * @return the <code>SSLSessionContext</code> object
+ * @see javax.net.ssl.SSLContext#getServerSessionContext()
+ */
+ protected abstract SSLSessionContext engineGetServerSessionContext();
+
+ /**
+ * Returns a client <code>SSLSessionContext</code> object for
+ * this context.
+ *
+ * @return the <code>SSLSessionContext</code> object
+ * @see javax.net.ssl.SSLContext#getClientSessionContext()
+ */
+ protected abstract SSLSessionContext engineGetClientSessionContext();
+
+ private SSLSocket getDefaultSocket() {
+ try {
+ SSLSocketFactory factory = engineGetSocketFactory();
+ return (SSLSocket)factory.createSocket();
+ } catch (java.io.IOException e) {
+ throw new UnsupportedOperationException("Could not obtain parameters", e);
+ }
+ }
+
+ /**
+ * Returns a copy of the SSLParameters indicating the default
+ * settings for this SSL context.
+ *
+ * <p>The parameters will always have the ciphersuite and protocols
+ * arrays set to non-null values.
+ *
+ * <p>The default implementation obtains the parameters from an
+ * SSLSocket created by calling the
+ * {@linkplain javax.net.SocketFactory#createSocket
+ * SocketFactory.createSocket()} method of this context's SocketFactory.
+ *
+ * @return a copy of the SSLParameters object with the default settings
+ * @throws UnsupportedOperationException if the default SSL parameters
+ * could not be obtained.
+ *
+ * @since 1.6
+ */
+ protected SSLParameters engineGetDefaultSSLParameters() {
+ SSLSocket socket = getDefaultSocket();
+ return socket.getSSLParameters();
+ }
+
+ /**
+ * Returns a copy of the SSLParameters indicating the maximum supported
+ * settings for this SSL context.
+ *
+ * <p>The parameters will always have the ciphersuite and protocols
+ * arrays set to non-null values.
+ *
+ * <p>The default implementation obtains the parameters from an
+ * SSLSocket created by calling the
+ * {@linkplain javax.net.SocketFactory#createSocket
+ * SocketFactory.createSocket()} method of this context's SocketFactory.
+ *
+ * @return a copy of the SSLParameters object with the maximum supported
+ * settings
+ * @throws UnsupportedOperationException if the supported SSL parameters
+ * could not be obtained.
+ *
+ * @since 1.6
+ */
+ protected SSLParameters engineGetSupportedSSLParameters() {
+ SSLSocket socket = getDefaultSocket();
+ SSLParameters params = new SSLParameters();
+ params.setCipherSuites(socket.getSupportedCipherSuites());
+ params.setProtocols(socket.getSupportedProtocols());
+ return params;
+ }
+
+}
Added: trunk/core/src/openjdk/javax/javax/net/ssl/SSLParameters.java
===================================================================
--- trunk/core/src/openjdk/javax/javax/net/ssl/SSLParameters.java (rev 0)
+++ trunk/core/src/openjdk/javax/javax/net/ssl/SSLParameters.java 2007-06-25 09:36:18 UTC (rev 3307)
@@ -0,0 +1,181 @@
+/*
+ * Copyright 2005 Sun Microsystems, Inc. All Rights Reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * This code 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
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package javax.net.ssl;
+
+/**
+ * Encapsulates parameters for an SSL/TLS connection. The parameters
+ * are the list of ciphersuites to be accepted in an SSL/TLS handshake,
+ * the list of protocols to be allowed, and whether SSL/TLS servers should
+ * request or require client authentication.
+ *
+ * <p>SSLParameters can be created via the constructors in this class.
+ * Objects can also be obtained using the <code>getSSLParameters()</code>
+ * methods in
+ * {@link SSLSocket#getSSLParameters SSLSocket} and
+ * {@link SSLEngine#getSSLParameters SSLEngine} or the
+ * {@link SSLContext#getDefaultSSLParameters getDefaultSSLParameters()} and
+ * {@link SSLContext#getSupportedSSLParameters getSupportedSSLParameters()}
+ * methods in <code>SSLContext</code>.
+ *
+ * <P>SSLParameters can be applied to a connection via the methods
+ * {@link SSLSocket#setSSLParameters SSLSocket.setSSLParameters()} and
+ * {@link SSLEngine#setSSLParameters SSLEngine.getSSLParameters()}.
+ *
+ * @see SSLSocket
+ * @see SSLEngine
+ * @see SSLContext
+ *
+ * @since 1.6
+ */
+public class SSLParameters {
+
+ private String[] cipherSuites;
+ private String[] protocols;
+ private boolean wantClientAuth;
+ private boolean needClientAuth;
+
+ /**
+ * Constructs SSLParameters.
+ *
+ * <p>The cipherSuites and protocols values are set to <code>null</code>,
+ * wantClientAuth and needClientAuth are set to <code>false</code>.
+ */
+ public SSLParameters() {
+ // empty
+ }
+
+ /**
+ * Constructs SSLParameters from the specified array of ciphersuites.
+ * Calling this constructor is equivalent to calling the no-args
+ * constructor followed by
+ * <code>setCipherSuites(cipherSuites);</code>.
+ *
+ * @param cipherSuites the array of ciphersuites (or null)
+ */
+ public SSLParameters(String[] cipherSuites) {
+ setCipherSuites(cipherSuites);
+ }
+
+ /**
+ * Constructs SSLParameters from the specified array of ciphersuites
+ * and protocols.
+ * Calling this constructor is equivalent to calling the no-args
+ * constructor followed by
+ * <code>setCipherSuites(cipherSuites); setProtocols(protocols);</code>.
+ *
+ * @param cipherSuites the array of ciphersuites (or null)
+ * @param protocols the array of protocols (or null)
+ */
+ public SSLParameters(String[] cipherSuites, String[] protocols) {
+ setCipherSuites(cipherSuites);
+ setProtocols(protocols);
+ }
+
+ private static String[] clone(String[] s) {
+ return (s == null) ? null : s.clone();
+ }
+
+ /**
+ * Returns a copy of the array of ciphersuites or null if none
+ * have been set.
+ *
+ * @return a copy of the array of ciphersuites or null if none
+ * have been set.
+ */
+ public String[] getCipherSuites() {
+ return clone(cipherSuites);
+ }
+
+ /**
+ * Sets the array of ciphersuites.
+ *
+ * @param cipherSuites the array of ciphersuites (or null)
+ */
+ public void setCipherSuites(String[] cipherSuites) {
+ this.cipherSuites = clone(cipherSuites);
+ }
+
+ /**
+ * Returns a copy of the array of protocols or null if none
+ * have been set.
+ *
+ * @return a copy of the array of protocols or null if none
+ * have been set.
+ */
+ public String[] getProtocols() {
+ return clone(protocols);
+ }
+
+ /**
+ * Sets the array of protocols.
+ *
+ * @param protocols the array of protocols (or null)
+ */
+ public void setProtocols(String[] protocols) {
+ this.protocols = clone(protocols);
+ }
+
+ /**
+ * Returns whether client authentication should be requested.
+ *
+ * @return whether client authentication should be requested.
+ */
+ public boolean getWantClientAuth() {
+ return wantClientAuth;
+ }
+
+ /**
+ * Sets whether client authentication should be requested. Calling
+ * this method clears the <code>needClientAuth</code> flag.
+ *
+ * @param wantClientAuth whether client authentication should be requested
+ */
+ public void setWantClientAuth(boolean wantClientAuth) {
+ this.wantClientAuth = wantClientAuth;
+ this.needClientAuth = false;
+ }
+
+ /**
+ * Returns whether client authentication should be required.
+ *
+ * @return whether client authentication should be required.
+ */
+ public boolean getNeedClientAuth() {
+ return needClientAuth;
+ }
+
+ /**
+ * Sets whether client authentication should be required. Calling
+ * this method clears the <code>wantClientAuth</code> flag.
+ *
+ * @param needClientAuth whether client authentication should be required
+ */
+ public void setNeedClientAuth(boolean needClientAuth) {
+ this.wantClientAuth = false;
+ this.needClientAuth = needClientAuth;
+ }
+
+}
Added: trunk/core/src/openjdk/javax/javax/net/ssl/SSLSocket.java
===================================================================
--- trunk/core/src/openjdk/javax/javax/net/ssl/SSLSocket.java (rev 0)
+++ trunk/core/src/openjdk/javax/javax/net/ssl/SSLSocket.java 2007-06-25 09:36:18 UTC (rev 3307)
@@ -0,0 +1,616 @@
+/*
+ * Copyright 1997-2007 Sun Microsystems, Inc. All Rights Reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * This code 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
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+
+package javax.net.ssl;
+
+import java.io.IOException;
+import java.net.*;
+import java.util.Enumeration;
+import java.util.Vector;
+
+
+/**
+ * This class extends <code>Socket</code>s and provides secure
+ * socket using protocols such as the "Secure
+ * Sockets Layer" (SSL) or IETF "Transport Layer Security" (TLS) protocols.
+ * <P>
+ * Such sockets are normal stream sockets, but they
+ * add a layer of security protections over the underlying network transport
+ * protocol, such as TCP. Those protections include: <UL>
+ *
+ * <LI> <em>Integrity Protection</em>. SSL protects against
+ * modification of messages by an active wiretapper.
+ *
+ * <LI> <em>Authentication</em>. In most modes, SSL provides
+ * peer authentication. Servers are usually authenticated,
+ * and clients may be authenticated as requested by servers.
+ *
+ * <LI> <em>Confidentiality (Privacy Protection)</em>. In most
+ * modes, SSL encrypts data being sent between client and server.
+ * This protects the confidentiality of data, so that passive
+ * wiretappers won't see sensitive data such as financial
+ * information or personal information of many kinds.
+ *
+ * </UL>
+ *
+ * <P>These kinds of protection are specified by a "cipher suite", which
+ * is a combination of cryptographic algorithms used by a given SSL connection.
+ * During the negotiation process, the two endpoints must agree on
+ * a ciphersuite that is available in both environments.
+ * If there is no such suite in common, no SSL connection can
+ * be established, and no data can be exchanged.
+ *
+ * <P> The cipher suite used is established by a negotiation process
+ * called "handshaking". The goal of this
+ * process is to create or rejoin a "session", which may protect many
+ * connections over time. After handshaking has completed, you can access
+ * session attributes by using the <em>getSession</em> method.
+ * The initial handshake on this connection can be initiated in
+ * one of three ways: <UL>
+ *
+ * <LI> calling <code>startHandshake</code> which explicitly
+ * begins handshakes, or
+ * <LI> any attempt to read or write application data on
+ * this socket causes an implicit handshake, or
+ * <LI> a call to <code>getSession</code> tries to set up a session
+ * if there is no currently valid session, and
+ * an implicit handshake is done.
+ * </UL>
+ *
+ * <P>If handshaking fails for any reason, the <code>SSLSocket</code>
+ * is closed, and no futher communications can be done.
+ *
+ * <P>There are two groups of cipher suites which you will need to know
+ * about when managing cipher suites: <UL>
+ *
+ * <LI> <em>Supported</em> cipher suites: all the suites which are
+ * supported by the SSL implementation. This list is reported
+ * using <em>getSupportedCipherSuites</em>.
+ *
+ * <LI> <em>Enabled</em> cipher suites, which may be fewer
+ * than the full set of supported suites. This group is
+ * set using the <em>setEnabledCipherSuites</em> method, and
+ * queried using the <em>getEnabledCipherSuites</em> method.
+ * Initially, a default set of cipher suites will be enabled on
+ * a new socket that represents the minimum suggested configuration.
+ *
+ * </UL>
+ *
+ * <P> Implementation defaults require that only cipher
+ * suites which authenticate servers and provide confidentiality
+ * be enabled by default.
+ * Only if both sides explicitly agree to unauthenticated and/or
+ * non-private (unencrypted) communications will such a ciphersuite be
+ * selected.
+ *
+ * <P>When <code>SSLSocket</code>s are first created, no handshaking
+ * is done so that applications may first set their communication
+ * preferences: what cipher suites to use, whether the socket should be
+ * in client or server mode, etc.
+ * However, security is always provided by the time that application data
+ * is sent over the connection.
+ *
+ * <P> You may register to receive event notification of handshake
+ * completion. This involves
+ * the use of two additional classes. <em>HandshakeCompletedEvent</em>
+ * objects are passed to <em>HandshakeCompletedListener</em> instances,
+ * which are registered by users of this API.
+ *
+ * <code>SSLSocket</code>s are created by <code>SSLSocketFactory</code>s,
+ * or by <code>accept</code>ing a connection from a
+ * <code>SSLServerSocket</code>.
+ *
+ * <P>A SSL socket must choose to operate in the client or server mode.
+ * This will determine who begins the handshaking process, as well
+ * as which messages should be sent by each party. Each
+ * connection must have one client and one server, or handshaking
+ * will not progress properly. Once the initial handshaking has started, a
+ * socket can not switch between client and server modes, even when
+ * performing renegotiations.
+ *
+ * @see java.net.Socket
+ * @see SSLServerSocket
+ * @see SSLSocketFactory
+ *
+ * @since 1.4
+ * @version 1.37
+ * @author David Brownell
+ */
+public abstract class SSLSocket extends Socket
+{
+ /**
+ * Used only by subclasses.
+ * Constructs an uninitialized, unconnected TCP socket.
+ */
+ protected SSLSocket()
+ { super(); }
+
+
+ /**
+ * Used only by subclasses.
+ * Constructs a TCP connection to a named host at a specified port.
+ * This acts as the SSL client.
+ * <p>
+ * If there is a security manager, its <code>checkConnect</code>
+ * method is called with the host address and <code>port</code>
+ * as its arguments. This could result in a SecurityException.
+ *
+ * @param host name of the host with which to connect, or
+ * <code>null</code> for the loopback address.
+ * @param port number of the server's port
+ * @throws IOException if an I/O error occurs when creating the socket
+ * @throws SecurityException if a security manager exists and its
+ * <code>checkConnect</code> method doesn't allow the operation.
+ * @throws UnknownHostException if the host is not known
+ * @throws IllegalArgumentException if the port parameter is outside the
+ * specified range of valid port values, which is between 0 and
+ * 65535, inclusive.
+ * @see SecurityManager#checkConnect
+ */
+ protected SSLSocket(String host, int port)
+ th...
[truncated message content] |