summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* 2006-07-18 Casey Marshall <csm@gnu.org>ssl-nio-branchCasey Marshall2006-07-1815-112/+369
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnu/javax/net/ssl/provider/ClientHandshake.java (implHandleInput, implHandleOutput): fix PSK exchange handling. (ClientDHGen.full): new field. (ClientDHGen.implRun): run full key exchange if `full' is true. (ClientDHGen.serverKey): new method. (RSAGen.full): new field. (RSAGen.implRun): run full key exchange if `full' is true. * gnu/javax/net/ssl/provider/ClientDHE_PSKParameters.java (params): slice the buffer. * gnu/javax/net/ssl/provider/ServerDHE_PSKParameters.java (<init>): use `dhParams,' not `buffer.' (params): slice the buffer. * gnu/javax/net/ssl/provider/ServerKeyExchange.java (length): handle case where parameters or signature are null. * gnu/javax/net/ssl/provider/ClientRSA_PSKParameters.java (version): removed. (<init>): don't take version argument. (<init>): don't take version argument; take buffer argument. (secret): pass TLS_1 to EncryptedPreMasterSecret constructor. * gnu/javax/net/ssl/provider/CipherSuite.java (isResolved): new field. (<init>, <init>): set `isResolved.' (resolve): add PSK cipher suite detection. (isResolved): new method. * gnu/javax/net/ssl/provider/ServerHandshake.java (serverKey): new field. (chooseSuites): choose NONE key exchanges, too; omit unresolved cipher suites. (implHandleInput, implHandleOutput): fix PSK handling. (checkKeyExchange): update for NONE and PSK exchanges. (CertLoader.implRun): grab our private key here. (RSAKeyExchange.implRun): initialize RSA cipher with our private key. (RSA_PSKExchange.implRun): likewise. * gnu/javax/net/ssl/provider/ExchangeKeys.java (<init>): duplicate and order the buffer; handle null argument. * gnu/javax/net/ssl/provider/ClientKeyExchange.java (exchangeKeys): handle NONE exchange. * gnu/javax/net/ssl/provider/SSLContextImpl.java (engineInit): handle PSK key managers properly. * gnu/javax/net/ssl/provider/SSLEngineImpl.java (<init>): remove debug logging. * gnu/javax/net/ssl/provider/ServerDHParams.java (<init>): duplicate and order the buffer. * gnu/javax/crypto/RSACipherImpl.java (doFinal): allow short input. (rsaDecrypt): ensure there's a leading zero. * gnu/javax/net/ssl/provider/EmptyExchangeKeys.java: new file.
* 2006-07-14 Casey Marshall <csm@gnu.org>Casey Marshall2006-07-153-3/+11
| | | | | | | | * gnu/java/net/protocol/http/HTTPConnection.java (getSocket): enable TLSv1.1. * gnu/java/security/action/GetPropertyAction.java: implement PrivilegedAction<String>. (run): return String.
* 2006-07-14 Casey Marshall <csm@gnu.org>Casey Marshall2006-07-1542-483/+2524
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnu/classpath/debug/Component.java (SSL_DELEGATED_TASK): new constant. * gnu/classpath/debug/SystemLogger.java (getSystemLogger): new class method. * gnu/javax/crypto/RSACipherImpl.java (logger): make instance of SystemLogger. (doFinal): use `EME_PKCS1_V1_5' to pad/unpad. * gnu/javax/net/ssl/AbstractSessionContext.java (getSession): new method. * gnu/javax/net/ssl/PreSharedKeyManager.java: new file. * gnu/javax/net/ssl/PreSharedKeyManagerParameters.java: new file. * gnu/javax/net/ssl/provider/AbstractHandshake.java: move delegated task classes to the end. (handleInput): don't stop processing current input if tasks are scheduled. (DHE_PSKGen): new class. * gnu/javax/net/ssl/provider/CertificateStatusRequest.java (buffer): make non-final. (<init>): new "builder" constructor. (buffer): new method. * gnu/javax/net/ssl/provider/CertificateURL.java (buffer): make non-final. (<init>): new "builder" constructor. (buffer): new method. (URLAndOptionalHash): implement Builder. (URLAndOptionalHash.<init>): set buffer order to BIG_ENDIAN. (URLAndOptionalHash.<init>, URLAndOptionalHash.<init>): new "builder" constructors. (URLAndOptionalHash.buffer): new method. * gnu/javax/net/ssl/provider/CipherSuite.java: replace DIFFIE_HELLMAN with qualified algorithm. (TLS_PSK_WITH_RC4_128_SHA, TLS_PSK_WITH_3DES_EDE_CBC_SHA, TLS_PSK_WITH_AES_128_CBC_SHA, TLS_PSK_WITH_AES_256_CBC_SHA, TLS_DHE_PSK_WITH_RC4_128_SHA, TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA, TLS_DHE_PSK_WITH_AES_128_CBC_SHA, TLS_DHE_PSK_WITH_AES_256_CBC_SHA, TLS_RSA_PSK_WITH_RC4_128_SHA, TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA, TLS_RSA_PSK_WITH_AES_128_CBC_SHA, TLS_RSA_PSK_WITH_AES_256_CBC_SHA): new constants. * gnu/javax/net/ssl/provider/ClientDHE_PSKParameters.java: new file. * gnu/javax/net/ssl/provider/ClientHandshake.java (maxFragmentLengthSent, truncatedHMacSent, sentVersion): new fields. (implHandleInput): handle hello extensions; handle PSK key exchange. (implHandleOutput): send extensions if configured; handle PSK key exchange. (enableExtensions, maxFragmentLength, truncatedHMac, getPSKIdentity): new methods. (RSAGen.implRun): use the protocol version we sent in the generated secret, not the agreed version. * gnu/javax/net/ssl/provider/ClientHello.java: remove unused imports. (disableExtensions): new field. (length): use `disableExtensions' field. (extensions): fix telling if there are extensions. * gnu/javax/net/ssl/provider/ClientHelloBuilder.java (setExtensions): fix. (setDisableExtensions): new method. * gnu/javax/net/ssl/provider/ClientKeyExchange.java (exchangeKeys): handle PSK exchange. * gnu/javax/net/ssl/provider/ClientPSKParameters.java: new file. * gnu/javax/net/ssl/provider/ClientRSA_PSKParameters.java: new file. * gnu/javax/net/ssl/provider/EncryptedPreMasterSecret.java (toString): include hexdump output. * gnu/javax/net/ssl/provider/Extension.java: implement Builder. (buffer): mark non-final. (<init>): make public. (<init>): new "builder" constructor. (length): include length of the extension type. (buffer): new method. (Value): implement Builder. * gnu/javax/net/ssl/provider/ExtensionList.java: implement Builder. (<init>): new "builder" constructor. (get): fix. (length): return total length, including length field. * gnu/javax/net/ssl/provider/InputSecurityParameters.java (decrypt): handle stream ciphers (with no padding) properly. * gnu/javax/net/ssl/provider/Jessie.java (<init>): add JessiePSK key manager factory. * gnu/javax/net/ssl/provider/KeyExchangeAlgorithm.java (DIFFIE_HELLMAN): removed. (DH_DSS, DH_RSA, DH_anon, DHE_DSS, DHE_RSA, PSK, DHE_PSK, RSA_PSK): new enum constants. * gnu/javax/net/ssl/provider/MaxFragmentLength.java (buffer): new method. * gnu/javax/net/ssl/provider/OutputSecurityParameters.java (encrypt): don't use `doFinal.' * gnu/javax/net/ssl/provider/PreSharedKeyManagerFactoryImpl.java: new file. * gnu/javax/net/ssl/provider/SSLContextImpl.java (pskManager): new field. (engineInit): initialize PSK manager, if specified. * gnu/javax/net/ssl/provider/SSLEngineImpl.java (unwrap): debug logging; don't log warnings on closure alerts. * gnu/javax/net/ssl/provider/SSLSocketImpl.java (SocketOutputStream.write): throw an exception if the handshake threw one in another thread; clear the output buffer after writing the record. (doHandshake): fix this; capture exceptions thrown here, for other threads. * gnu/javax/net/ssl/provider/ServerDHE_PSKParameters.java: new file. * gnu/javax/net/ssl/provider/ServerDHParams.java (algorithm): mark deprecated (it's difficult to support this properly). * gnu/javax/net/ssl/provider/ServerHandshake.java (chooseSuites): select suites based on key exchange algorithm. (implHandleInput): handle key exchange better; handle PSK exchange. (implHandleOutput): likewise. (CertLoader.implRun): just use key exchange name directly. (RSA_PSKExchange): new class. * gnu/javax/net/ssl/provider/ServerKeyExchange.java (params): handle PSK exchange algorithms. (signature): likewise. * gnu/javax/net/ssl/provider/ServerNameList.java (buffer): make non-final. (<init>): new "builder" constructor. (buffer): new method. (ServerName.buffer): make non-final. (ServerName.<init>): new "builder" constructor. (ServerName.length): return total length, including type and length fields. (ServerName.buffer): new method. * gnu/javax/net/ssl/provider/ServerPSKParameters.java: new file. * gnu/javax/net/ssl/provider/ServerRSA_PSKParameters.java: new file. * gnu/javax/net/ssl/provider/TruncatedHMAC.java (buffer): new method. * gnu/javax/net/ssl/provider/TrustedAuthorities.java (<init>): set buffer order to BIG_ENDIAN. (buffer): new method. * gnu/javax/net/ssl/provider/UnresolvedExtensionValue.java (buffer): new method. * gnu/javax/net/ssl/provider/Util.java (wrapBuffer, wrapBuffer): new methods. (WrappedBuffer): new class. * gnu/javax/net/ssl/provider/X509KeyManagerFactory.java (getAliases): add RSA_PSK.
* 2006-07-12 Casey Marshall <csm@gnu.org>Casey Marshall2006-07-122-0/+69
| | | | | * gnu/javax/security/auth/callback/CertificateCallback.java: new file.
* 2006-07-12 Casey Marshall <csm@gnu.org>Casey Marshall2006-07-1223-467/+3507
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnu/javax/net/ssl/provider/AbstractHandshake.java (engine, inParams, outParams, tasks, serverRandom, clientRandom, compression): new fields. (<init>): take an SSLEngineImpl parameter; init `tasks.' (handleInput): return NEED_TASK if we have tasks. (getInputParams, getOutputParams): implement here; mark final. (getTask): new method. (checkKeyExchange): new method. (reallocateBuffer): use `compact.' (diffieHellmanPhase1, diffieHellmanPhase2): removed. (DHPhase, CertVerifier): new classes. (generateMasterSecret): add asserts. (setupSecurityParameters): new method. * gnu/javax/net/ssl/provider/Certificate.java (certificates): fix reading multiple certificates. * gnu/javax/net/ssl/provider/ClientCertificateTypeList.java: implement Iterable<ClientCertificateType>. (iterator): new method. * gnu/javax/net/ssl/provider/ClientDiffieHellmanPublic.java: make public; implement Builder. (<init>): make public. (<init>): new constructor. (wrap): new method. (buffer): new method. (publicValue): make public; use `rewind.' (setPublicValue): use `Util.trim;' use `rewind.' (length): return proper length. * gnu/javax/net/ssl/provider/ClientHandshake.java: new file. * gnu/javax/net/ssl/provider/ClientKeyExchange.java: remove unused imports; make public, non-final. (buffer): make protected, non-final. (suite, version): make protected. (<init>): make public. (length): return 0 for NONE key exchange algorithm. * gnu/javax/net/ssl/provider/ClientKeyExchangeBuilder.java: new file. * gnu/javax/net/ssl/provider/DelegatedTask.java: new file. * gnu/javax/net/ssl/provider/DiffieHellman.java (getParams): use AccessController instead of Util. * gnu/javax/net/ssl/provider/EncryptedPreMasterSecret.java: make public; implement Builder. (<init>): make public. (<init>): new constructor. (buffer): new method. (encryptedSecret): make public; fix SSLv3 handling. (setEncryptedSecret): make public; rewind the buffer after putting the value. (length): fix length computation. * gnu/javax/net/ssl/provider/ExchangeKeys.java: make public. (buffer): make protected, non-final. (<init>): made public; don't check null. * gnu/javax/net/ssl/provider/Jessie.java (<init>): add "SSL" alias. * gnu/javax/net/ssl/provider/ServerHandshake.java: clean up unused imports. (engine, compression, clientRandom, serverRandom, clientSessionID, inParams, outParams, keyAgreement): moved to superclass. (genDH, certVerifier, certLoader, keyExchangeTask): new fields. (<init>): pass engine to superclass constructor. (implHandleInput): throw `AlertException' when it makes sense; run long-running tasks as delegated tasks; return NEED_TASK if we scheduled a delegated task. (implHandleOutput): generate keys for continued sessions; run long-running tasks as delegated tasks; return NEED_TASK if we scheduled a delegated task. (status): also return NEED_TASK as appropriate. (getInputParams, getOutputParams): removed. (checkKeyExchange): new method. (genDiffieHellman): removed. (signParams): throw exceptions. (CertLoader, GenDH, RSAKeyExchange): new classes. * gnu/javax/net/ssl/provider/SSLContextImpl.java (engineGetServerSocketFactory): implement. (engineGetSocketFactory): implement. (defaultRandom): use AccessController instead of Util. * gnu/javax/net/ssl/provider/SSLEngineImpl.java (<init>): use `defaultSuites.' (defaultSuites): new method. (startHandshake): start client handshake in client mode. (getDelegatedTask): implement. (unwrap, wrap): send alert if we catch an AlertException during handshaking. * gnu/javax/net/ssl/provider/SSLServerSocketFactoryImpl.java: new file. * gnu/javax/net/ssl/provider/SSLServerSocketImpl.java: new file. * gnu/javax/net/ssl/provider/SSLSocketFactoryImpl.java: new file. * gnu/javax/net/ssl/provider/SSLSocketImpl.java: new file. * gnu/javax/net/ssl/provider/X509TrustManagerFactory.java (sep, JSSE_CERTS, CA_CERTS, engineInit): use AccessController, not Util. (checkTrusted): don't require revocation checking. * java/util/Collections.java (CheckedMap.entrySet): casting hack. * java/util/concurrent/CopyOnWriteArrayList.java: new file.
* 2006-07-09 Casey Marshall <csm@gnu.org>Casey Marshall2006-07-097-24/+89
| | | | | | | | | | | | | | | * gnu/java/io/ByteBufferOutputStream.java (write): new method. (buffer): use flip() and slice() to get the buffer. (toString): new method. * gnu/java/security/Engine.java: merge mwringe's case-insensitive algorithm name patch. * gnu/javax/crypto/jce/GnuCrypto.java (<init>): qualify PrivilegedAction. * gnu/javax/crypto/key/dh/GnuDHPrivateKey.java (toString): new method. * gnu/javax/crypto/key/dh/GnuDHPublicKey.java (toString): new method. * java/security/Security.java: qualify generic types.
* Updating .classpath for build path changes.Casey Marshall2006-07-091-1/+2
|
* 2006-07-09 Casey Marshall <csm@gnu.org>Casey Marshall2006-07-0929-478/+1482
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnu/javax/net/ssl/AbstractSessionContext.java (newInstance): return `AbstractSessionContext.' (getSession): check if the session is null. * gnu/javax/net/ssl/Session.java (packetBufferSize): removed. (<init>): initialize `applicationBufferSize.' (getPacketBufferSize): return application buffer size, plus 2048. * gnu/javax/net/ssl/provider/AbstractHandshake.java (PAD1, PAD2): new constants. (handleInput): implement; call `implHandleOutput,' and hash messages as they are consumed. (implHandleInput): new abstract method. (handleOutput): fix hashing of produced bytes. (status, handleV2Hello): new abstract methods. (pollHandshake): don't hash the input here; add logging. (hasMessage): add logging. (reallocateBuffer): shift the existing contents down in the buffer, if it is, on the whole, large enough for new input. (genV2CertificateVerify): renamed... (genV3CertificateVerify): to this, which is correct. (generateKeys): fix PRF setup; generate an IV for 1.1; add logging. (generateFinished): add logging; update with correct padding. (generateMasterSecret): add logging; fix PRF initialization. * gnu/javax/net/ssl/provider/CipherSuite.java (mac): use mac algorithm name "HMac-SHA1". * gnu/javax/net/ssl/provider/ClientHello.java: make extendable. * gnu/javax/net/ssl/provider/ClientHelloBuilder.java: new file. * gnu/javax/net/ssl/provider/ClientHelloV2.java (<init>): order the input buffer BIG_ENDIAN. (cipherSpecs): made public; use qualified return type. * gnu/javax/net/ssl/provider/Debug.java: new file. * gnu/javax/net/ssl/provider/Extension.java (<init>): order the input buffer BIG_ENDIAN. (length): return the total length, including the length field. (toString): add prefix to value. * gnu/javax/net/ssl/provider/ExtensionList.java (<init>): order the input buffer BIG_ENDIAN. * gnu/javax/net/ssl/provider/InputSecurityParameters.java (logger): new constant. (suite): new field. (<init>): also take a `CipherSuite' argument. (decrypt): use `update,' not `doFinal' for decryption; add debug logging; fix mac computation; fix copying fragment to output. (cipherSuite): return `suite' field. * gnu/javax/net/ssl/provider/Jessie.java (<init>): add "TLSv1.1-RSA" signature. * gnu/javax/net/ssl/provider/OutputSecurityParameters.java (logger): new constant. (suite): new field. (<init>): take additional `CipherSuite' argument. (encrypt): add debug logging; fix mac computation; various little fixes. (suite): new method. * gnu/javax/net/ssl/provider/ProtocolVersion.java (forName): also recognize "TLSv1.1". * gnu/javax/net/ssl/provider/Random.java (copy): fix copying the internal buffer. * gnu/javax/net/ssl/provider/Record.java (<init>): order the input buffer BIG_ENDIAN. (toString): include length in output. * gnu/javax/net/ssl/provider/SSLContextImpl.java (serverContext, clientContext): declare both as `AbstractSessionContext.' * gnu/javax/net/ssl/provider/SSLEngineImpl.java (logger): make an instance of `SystemLogger.' (mode): declare as a Mode. (Mode): new enum. (<init>): add logging; initialize `enabledProtocols' and `enabledSuites.' (beginHandshake): debug logging; handle Mode enum. (closeOutbound): prepare `lastAlert' to carry the close alert. (isInboundDone, isOutboundDone): implement. (setUseClientMode): use Mode enum. (unwrap): fix V2 hello handling; optimize calls when the cipher suite is TLS_NULL_WITH_NULL_NULL; add debug logging; handle closue alerts properly; fix record length reporting. (wrap): set `outClosed' if we are sending a closure alert here; delay changing output security params until we emit the change notification; optimize initial handshake; fix input buffer consumption; handle end of handshake. * gnu/javax/net/ssl/provider/SSLRSASignatureImpl.java: new file. * gnu/javax/net/ssl/provider/ServerDHParams.java (buffer): set position to 0 in the buffer we return. * gnu/javax/net/ssl/provider/ServerHandshake.java (version, suite): removed. (chooseSuite): make non-static; only choose a cipher suite that we have a compatible certificate for. (chooseCompression): use properties to enable/disable zlib. (doHash): say no if we are handling a V2 hello. (handleInput): rename to... (implHandleInput): this; only handle a single handshake message in this method (handleInput from the superclass will call us repeatedly to drain the input buffer); various other fixes. (implHandleOutput): debug logging; temporarily disable packing more than one handshake per record; various little fixes. (status, handleV2Hello): new methods. (genDiffieHellman): use static parameters from the DiffieHellman class. (signParams): use correct signature algorithm. * gnu/javax/net/ssl/provider/ServerHello.java (totalLength): removed. (disableExtensions): new field. (length): don't query extensions if `disableExtensions' is true. * gnu/javax/net/ssl/provider/ServerHelloBuilder.java (setDisableExtensions): new method. * gnu/javax/net/ssl/provider/ServerNameList.java: various parsing fixes. * gnu/javax/net/ssl/provider/SessionImpl.java (<init>): new constructor. (setApplicationBufferSize): new method. (setPacketBufferSize): new method. * gnu/javax/net/ssl/provider/SignatureAlgorithm.java (getAlgorithm): new method. * gnu/javax/net/ssl/provider/Util.java: make public; mark security-sensitive methods deprecated. * gnu/javax/net/ssl/provider/X509KeyManagerFactory.java (chooseAliases): handle DSA; handle unrecognized signature algorithms.
* Adding JSR 166 sources from generics-branch.Casey Marshall2006-07-0479-0/+32726
|
* Adding obsolete Jessie files to standard.omit; the branch should beCasey Marshall2006-06-301-0/+35
| | | | | buildable now outside of Eclipse (but with the batch compiler installed as ecj, of course).
* Missed files from previous checkin.Casey Marshall2006-06-305-0/+789
|
* 2006-06-28 Casey Marshall <csm@gnu.org>Casey Marshall2006-06-294-11/+29
| | | | | | | * jessie-tests/testCertificate.java: update for Builder interface and API changes. * jessie-tests/testServerHello.java: likewise. * jessie-tests/testServerKeyExchange.java: likewise.
* 2006-06-28 Casey Marshall <csm@gnu.org>Casey Marshall2006-06-292-0/+99
| | | | * gnu/javax/crypto/key/GnuPBEKey.java: new file.
* 2006-06-28 Casey Marshall <csm@gnu.org>Casey Marshall2006-06-2933-1248/+3411
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnu/javax/net/ssl/provider/AbstractHandshake.java: implement numerous "common" methods in server and client handshakes. * gnu/javax/net/ssl/provider/AlertException.java: made public; add cause constructors. * gnu/javax/net/ssl/provider/Builder.java: new file. * gnu/javax/net/ssl/provider/Certificate.java: make subclassable. * gnu/javax/net/ssl/provider/CertificateBuilder.java: new file. * gnu/javax/net/ssl/provider/CertificateRequest.java: make subclassable. * gnu/javax/net/ssl/provider/CertificateRequestBuilder.java: new file. * gnu/javax/net/ssl/provider/CipherSuite.java: remove dependence on protocol version. * gnu/javax/net/ssl/provider/ClientHello.java (hasExtensions): new method. * gnu/javax/net/ssl/provider/ClientHelloV2.java (cipherSpecs): genericize collections. * gnu/javax/net/ssl/provider/ClientKeyExchange.java: make version argument explicit, instead of implied by the cipher suite. * gnu/javax/net/ssl/provider/Constructed.java: expand JavaDocs. * gnu/javax/net/ssl/provider/Finished.java: accept TLS 1.1 version numbers, too. * gnu/javax/net/ssl/provider/Handshake.java: make version explicit, instead of implied by the cipher suite. * gnu/javax/net/ssl/provider/InputSecurityParameters.java: made public. (suite): removed. (session): new field (replaces/encapsulates `suite'). (<init>): made public; take a SessionImpl, not a CipherSuite. (decrypt, decrypt, decrypt): add support for growable buffers AND a fixed-size array of buffers (we use the former internally; the latter is used to implement the scatter/gather model of SSLEngine. * gnu/javax/net/ssl/provider/Jessie.java: update algorithms. * gnu/javax/net/ssl/provider/MacAlgorithm.java: just specify NULL/MD5/SHA, not version-specific algorithms. * gnu/javax/net/ssl/provider/OutputSecurityParameters.java: replace suite with session; support scatter/gather operation. * gnu/javax/net/ssl/provider/ProtocolVersion.java: implement Comparable<ProtocolVersion>. * gnu/javax/net/ssl/provider/Random.java: implement Builder. (buffer): new method. * gnu/javax/net/ssl/provider/SSLContextImpl.java: new file. * gnu/javax/net/ssl/provider/SSLEngineImpl.java: numerous changes; largely implemented now. * gnu/javax/net/ssl/provider/SSLv3HMacMD5Impl.java: new file. * gnu/javax/net/ssl/provider/SSLv3HMacSHAImpl.java: new file. * gnu/javax/net/ssl/provider/ServerDHParams.java: implement Builder. (<init>): new constructor that takes known parameters. (buffer): new method. * gnu/javax/net/ssl/provider/ServerHandshake.java: numerous changes; largely implemented now. * gnu/javax/net/ssl/provider/ServerHello.java: make subclassable. * gnu/javax/net/ssl/provider/ServerHelloBuilder.java: new file. * gnu/javax/net/ssl/provider/ServerKeyExchange.java: make subclassable. * gnu/javax/net/ssl/provider/ServerKeyExchangeBuilder.java: new file. * gnu/javax/net/ssl/provider/SessionImpl.java: expanded. * gnu/javax/net/ssl/provider/Signature.java: implement Builder. (<init>): new method, that takes a pre-computed signature. (buffer): new method. * gnu/javax/net/ssl/provider/SimpleSessionContext.java: new file. * gnu/javax/net/ssl/provider/X509KeyManagerFactory.java: genericize Collections usage. (Manager): extend X509ExtendedKeyManager; genericize fields. (Manager.chooseEngineClientAlias): new method. (Manager.chooseEngineServerAlias): new method. * gnu/javax/net/ssl/provider/X509TrustManagerFactory.java (sep): new constant; use it instead of constantly calling getProperty. (init): genericize lists. (Manager.trusted): removed. (Manager.anchors): new field (replacement for above). (<init>): handle changes to fields. (getAcceptedIssuers): use `anchors.toArray().' (checkTrusted): use a PKIX CertPathVerifier.
* 2006-06-28 Casey Marshall <csm@gnu.org>Casey Marshall2006-06-284-71/+290
| | | | | | | | | | | | | | | | | | * gnu/javax/net/ssl/AbstractSessionContext.java: renamed from `SessionStore.' Implement SessionContext. * gnu/javax/net/ssl/PrivateCredentials.java: genericize collections. * gnu/javax/net/ssl/Session.java (packetBufferSize): new field. (values): genericize. (random): make transient. (truncatedMac, context): new fields. (getLocalPrincipal, getPacketBufferSize, getPeerPrincipal) (getSessionContext): implement. (isTruncatedMac): new method. (repair, privateData, setPrivateData): new abstract methods. (PrivateData.serialVersionUID): new constant. * gnu/javax/net/ssl/SessionStore.java: renamed to `AbstractSessionContext.'
* Updating for new build rules.Casey Marshall2006-06-281-1/+1
|
* 2006-06-28 Casey Marshall <csm@gnu.org>Casey Marshall2006-06-283-2/+68
| | | | | | | * gnu/java/security/Requires.java: new annotation. * gnu/java/security/action/GetSecurityPropertyAction.java: implement PrivilegedAction<String>. (run): return String.
* 2006-06-28 Casey Marshall <csm@gnu.org>Casey Marshall2006-06-282-0/+114
| | | | * gnu/java/io/ByteBufferOutputStream.java: new file.
* 2006-06-28 Casey Marshall <csm@gnu.org>Casey Marshall2006-06-282-6/+32
| | | | | | | | | * gnu/classpath/debug/SystemLogger.java: extend Logger. (SYSTEM): declare as instance of SystemLogger; set it to such an instance. (<clinit>): removed debug lines. (<init>): new method. (logv): new method.
* 2006-06-28 Casey Marshall <csm@gnu.org>Casey Marshall2006-06-283-0/+41
| | | | | * java/security/Signature.java (update): new method. * java/security/SignatureSpi.java (engineUpdate): new method.
* 2006-06-10 Casey Marshall <csm@gnu.org>Casey Marshall2006-06-113-2/+193
| | | | | | | * jessie-tests/testClientHello.java: update for extensions changes. * jessie-tests/testExtensionList.java: likewise. * jessie-tests/testServerHello.java: likewise.
* 2006-06-10 Casey Marshall <csm@gnu.org>Casey Marshall2006-06-1113-35/+1213
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnu/javax/net/ssl/provider/ServerHello.java (extensions): return an ExtensionList. (setExtensionsLength): set the length in the buffer. (toString): print out individual extensions. * gnu/javax/net/ssl/provider/Extension.java (valueBytes): new method. (valueBuffer): new method. (value): return an Extenion.Value. (toString): print out extension value. (Value): new abstract inner class. * gnu/javax/net/ssl/provider/ClientHello.java (extensions): return an ExtensionList. (setExtensionListLength): set the length in the buffer. (toString): print out extensions. * gnu/javax/net/ssl/provider/ServerHandshake.java (chooseSuite, chooseCompression): use generics and foreach loops. * gnu/javax/net/ssl/provider/ExtensionList.java: new class. * gnu/javax/net/ssl/provider/MaxFragmentLength.java: new class. * gnu/javax/net/ssl/provider/CertificateURL.java: new class. * gnu/javax/net/ssl/provider/UnresolvedExtensionValue.java: new class. * gnu/javax/net/ssl/provider/TruncatedHMAC.java: new class. * gnu/javax/net/ssl/provider/ServerNameList.java: new class. * gnu/javax/net/ssl/provider/TrustedAuthorities.java: new class. * gnu/javax/net/ssl/provider/CertificateStatusType.java: new class. * gnu/javax/net/ssl/provider/CertificateStatusRequest.java: new class.
* 2006-06-05 Casey Marshall <csm@gnu.org>Casey Marshall2006-06-064-4/+317
| | | | | | | | | * gnu/javax/net/ssl/provider/Extension.java: add Javadoc. (length): return the length of the extension value. (setLength, setType, setValue, setValue): new methods. * gnu/javax/net/ssl/provider/ExtensionList.java: new file. * jessie-tests/run-tests.sh: add testExtensionList. * jessie-tests/testExtensionList.java: new file.
* 2006-06-05 Casey Marshall <csm@gnu.org>Casey Marshall2006-06-064-3/+30
| | | | | | | | | | | | * gnu/javax/net/ssl/provider/CipherSuiteList.java: implement Iterable<CipherSuite>. (iterator): new method. * gnu/javax/net/ssl/provider/CompressionMethodList.java: implement Iterable<CompressionMethod>. (iterator): new method. * gnu/javax/net/ssl/provider/X500PrincipalList.java: implement Iterable<X500Principal>. (iterator): new method.
* 2006-06-05 C. Scott Marshall <csm@gnu.org>Casey Marshall2006-06-063-0/+36
| | | | | * java/security/MessageDigest.java (update): new method. * java/security/MessageDigestSpi.java (engineUpdate): new method.
* 2006-06-03 C. Scott Marshall <csm@gnu.org>Casey Marshall2006-06-034-4/+45
| | | | | | * gnu/javax/net/ssl/provider/ServerHelloDone.java: made public. * jessie-tests/run-tests.sh: add `testServerHelloDone.' * jessie-tests/testServerHelloDone.java: new test.
* Updating Eclipse configuration to install classpath in `install-root,' not ↵Casey Marshall2006-06-035-10/+33
| | | | | | `install.' Also, omit obsolete Jessie files from the build for now.
* Added new objects; updated others to use NIO classes.Casey Marshall2006-06-0349-2361/+6185
|
* 2006-06-03 Casey Marshall <csm@gnu.org> New files for public GNU ↵Casey Marshall2006-06-036-0/+780
| | | | extension API.
* Add test files.Casey Marshall2006-06-0314-0/+810
|
* 2006-06-03 Casey Marshall <csm@gnu.org> Update javax/net/ssl to support ↵Casey Marshall2006-06-0310-0/+1041
| | | | 1.5 API.
* 2006-06-03 Casey Marshall <csm@gnu.org>Casey Marshall2006-06-032-0/+31
| | | | | * javax/crypto/Mac.java (update): new method. * javax/crypto/MacSpi.java (engineUpdate): new method.
* 2006-05-29 Andrew John Hughes <gnu_andrew@member.fsf.org>Andrew John Hughes2006-05-29117-3441/+6105
| | | | * Merge of HEAD to generics-branch (2006-05-20 to 2006-05-29)
* 2006-05-20 Andrew John Hughes <gnu_andrew@member.fsf.org>Andrew John Hughes2006-05-20273-5567/+27261
| | | | | * Merge of HEAD to generics for 0.91 to 2006/05/20.
* * java/text/MessageFormat.java (format): Now varargs.Tom Tromey2006-05-152-1/+5
|
* * java/lang/Thread.java (State): Fixed typo.Tom Tromey2006-05-152-1/+5
|
* 2006-05-15 Mark Wielaard <mark@klomp.org>generics-0_91-releaseMark Wielaard2006-05-1543-318/+898
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * configure.ac (VERSION): Set to 0.91-generics. 2006-05-15 Mark Wielaard <mark@klomp.org> * NEWS: Add release date and VMClassLoader.getBootPackages() changes. 2006-05-15 Christian Thalinger <twisti@complang.tuwien.ac.at> * README: Added CACAO to list of VMs. 2006-05-14 Mark Wielaard <mark@klomp.org> * native/jni/java-net/javanet.c (_javanet_accept): Don't use C++ comments. 2006-05-14 Chris Burdess <dog@gnu.org> * gnu/xml/dom/DomNode.java: Permit comments and PIs in doctype nodes to be preserved during cloneNode. 2006-05-14 Mark Wielaard <mark@klomp.org> PR 27459 * native/jni/java-net/javanet.c (_javanet_accept): Reset the inherited timeout on socket. 2006-05-14 Lillian Angel <langel@redhat.com> * java/util/SimpleTimeZone.java: Reverted patch. (SimpleTimeZone): Throw exception if startMonth == endMonth. (SimpleTimeZone): Likewise. (checkRule): Rewritten to properly check all values (more efficently). This code is now more stable, at least less buggy than before. Fixed API documentation. (setStartRule): Moved checkRule call to end. (setStartRule): Likewise. (setEndRule): Likewise. (setEndRule): Likewise. 2006-05-14 Audrius Meskauskas <AudriusA@Bioinformatics.org> * javax/swing/tree/DefaultTreeSelectionModel.java (leadRow): Initialise to -1. 2006-05-14 Robert Schuster <robertschuster@fsfe.org> PR classpath/27595 * javax/swing/text/AbstractDocument.java: (insertString): Flipped if-expression and its blocks. (remove): Dito. (replace): Flipped if-expression and its blocks, added note, invoke insertString and remove instead of insertStringImpl and removeImpl. 2006-05-13 Tom Tromey <tromey@redhat.com> * java/nio/ByteBufferImpl.java (compact): Always set position. 2006-05-11 Mark Wielaard <mark@klomp.org> * java/util/logging/Logger.java (global): Initialize inside static PrivilegedAction. 2006-05-11 Mark Wielaard <mark@klomp.org> * java/awt/geom/GeneralPath.java (WIND_EVEN_ODD, WIND_NON_ZERO): Fully qualify PathIterator constants 2006-05-10 Roman Kennke <kennke@aicas.com> PR classpath/27481 * javax/swing/plaf/basic/BasicInternalFrameUI.java (installDefaults): Set background of content pane to null, if no custom color has been installed by the application yet. 2006-05-10 Roman Kennke <kennke@aicas.com> PR classpath/27481 * javax/swing/JRootPane.java (createContentPane): Don't set background to null. 2006-05-09 Robert Schuster <robertschuster@fsfe.org> PR classpath/24216 * javax/swing/text/AbstractDocument.java: (insertString): Added more documentation, added argument check. (remove): Added more documentation. (removeImpl): Added argument check. (replace): Added more documentation, added argument check. 2006-05-08 Lillian Angel <langel@redhat.com> * java/net/URLClassLoader.java (JarURLLoader): Added check to make sure the INDEX.LIST file exists. 2006-05-08 Roman Kennke <kennke@aicas.com> PR classpath/27481 * javax/swing/JRootPane.java (createContentPane): Set background of the content pane to null, so that the content pane inherits its background from the root pane. 2006-05-08 Roman Kennke <kennke@aicas.com> PR classpath/27480 * javax/swing/ButtonGroup.java (add): Check if new button is selected and if so, deselect other buttons in the group. 2006-05-08 Lillian Angel <langel@redhat.com> PR 27444 * java/net/URLClassLoader.java (JarURLLoader): Added code to go through META-INF/INDEX.LIST file to load all jars listed. 2006-05-08 Roman Kennke <kennke@aicas.com> PR classpath/27461 * javax/swing/ImageIcon.java (ImageIcon(URL)): Set description to URL.toString(). 2006-05-08 Roman Kennke <kennke@aicas.com> PR classpath/27482 * javax/swing/JTable.java (IconCellRenderer.getTableCellRendererComponent): Set icon to null when cell value is null. 2006-05-08 Roman Kennke <kennke@aicas.com> PR classpath/27484 * javax/swing/DefaultDesktopManager.java (closeFrame): Don't perform default close action on the frame to prevent endless loop. 2006-05-08 Roman Kennke <kennke@aicas.com> PR classpath/27485 * javax/swing/table/DefaultTableModel.java (addExtraRows): New helper method. (checkSize): New helper method. (setRowCount): Use addExtraRows helper method. (addColumn): Use addExtraRows helper method. (getColumnName): Check and adjust size if necessary using checkSize(). 2006-05-08 Roman Kennke <kennke@aicas.com> PR classpath/27486 * javax/swing/JTable.java (setValueAt): Allow setting values even when table is editable. 2006-05-07 Andrew John Hughes <gnu_andrew@member.fsf.org> PR classpath/27435: * java/util/zip/DeflaterEngine.java: (deflateFast(boolean,boolean)): Empty buffer when full. 2006-05-07 Sven de Marothy <sven@physto.se> Fixed PR27343 * java/util/Calendar.java (setTimeZone): Force recalculation. 2006-05-07 Sven de Marothy <sven@physto.se> Fixed PR27463 * javax/swing/plaf/metal/MetalInternalFrameTitlePane.java (propertyChange): Handle FRAME_ICON_PROPERTY property. 2006-05-06 Sven de Marothy <sven@physto.se> Fixed PR27454 * gnu/java/awt/peer/gtk/GtkImage: (drawPixels,drawPixelsScaled): Check for zero image sizes. 2006-05-07 Andrew John Hughes <gnu_andrew@member.fsf.org> PR classpath/27311: * gnu/java/text/StringFormatBuffer.java: (toString()): Implemented so we can see the contents. * java/text/DecimalFormat.java: (formatInternal(double,StringFormatBuffer,FieldPosition)): Don't calculate the exponent when the number is 0 or less. Also, use log10 instead of log now it's available. 2006-05-07 Sven de Marothy <sven@physto.se> Fixed PR27455 * gnu/java/awt/peer/GLightweightPeer.java (mouseEntered): Remove. * java/awt/Component.java (processMouseEvent): Do lightweight cursor handling. * javax/swing/plaf/basic/BasicTableHeaderUI.java (endResizing,mouseMoved): Save and reset original cursor, not the default one. 2006-05-07 Roman Kennke <kennke@aicas.com> * gnu/java/awt/java2d/RasterGraphics.java: New file. 2006-05-07 Roman Kennke <kennke@aicas.com> * gnu/java/awt/java2d/AbstractGraphics2D.java (fillShape): Determine user space bounds of shape and feed them into the actual rendering pipeline. (rawSetPixel): Made non-abstract for now. Maybe remove later. (rawSetForeground): Likewise. (getDestinationColorModel): Removed. (getDeviceBounds): Made non-abstract. Provide useful default impl. (rawFillShape): Handle paint context. (fillScanline): Implement painting and compositing. (fillShapeAntialias): Handle paint context. (fillScanlineAA): Implemented preliminary antialiasing based on composite context. Not working yet. (fillScanlineAlpha): Removed. (init): Fetch destination raster. (getDestinationRaster): New abstract method. (updateRaster): New backend method. 2006-05-07 Roman Kennke <kennke@aicas.com> * gnu/java/awt/java2d/AlphaCompositeContext.java (compose): Fixed loops, conditions and logic to make compositing work correctly. 2006-05-05 Roman Kennke <kennke@aicas.com> * java/awt/image/ColorModel.java (getNormalizedComponents): Implemented. 2006-05-05 Roman Kennke <kennke@aicas.com> * javax/swing/plaf/basic/BasicRadioButtonUI.java (paint): Query the button model for it's state, not the button itself. 2006-05-05 Roman Kennke <kennke@aicas.com> * javax/swing/JTable.java (tableChanged): Sync selection model with table model changes. 2006-05-04 Roman Kennke <kennke@aicas.com> * javax/swing/plaf/basic/BasicButtonListener.java (mouseEntered): Fixed conditions for changing states. 2006-05-04 Roman Kennke <kennke@aicas.com> * javax/swing/JOptionPane.java (AccessibleJOptionPane.getAccessibleRole): Implemented method. 2006-05-04 Roman Kennke <kennke@aicas.com> * javax/swing/JLabel.java (AccessibleJLabel.getSelectedText): Return null instead of "". (AccessibleJLabel.getSelectionStart): Added comment why return -1 is correct here. (AccessibleJLabel.getSelectionEnd): Added comment why return -1 is correct here. (AccessibleJLabel.getCharacterAttribute): Added comment about what to do here. (AccessibleJLabel.getCharCount): Added comment about what to do here. (AccessibleJLabel.getCharacterBounds): Tagged as not implemented. (AccessibleJLabel.getIndexAtPoint): Tagged as not implemented. (paramString): Return super.paramString() here, this provides a more meaningful output. 2006-05-04 Roman Kennke <kennke@aicas.com> * javax/swing/JComponent.java (paint): Added null check to avoid NPE when clip == null. 2006-05-04 Roman Kennke <kennke@aicas.com> * javax/swing/AbstractButton.java (addImpl): New method. Installs an OverlayLayout if no other layout has been installed before. (setLayout): New method. Detect if a client app installs a custom layout. 2006-05-04 Roman Kennke <kennke@aicas.com> * javax/swing/table/DefaultTableCellModel.java (noFocusBorder): Fixed width of empty border to 1. (getTableCellRendererComponent): Don't change the colors for focuses cells. Fixed border for focused cells. 2006-05-04 Roman Kennke <kennke@aicas.com> * javax/swing/JTable.java (moveToCellBeingEdited): Adjust bounding box of editing component to exactly cover the grid. * javax/swing/plaf/basic/BasicTableUI.java (paint): Paint grid to the bottom and right of the cells instead of left and top. Adjust bounding box of cells accordingly. * javax/swing/plaf/metal/MetalLookAndFeel.java (initComponentDefaults): Fixed color of JTable selection border. * javax/swing/plaf/metal/OceanTheme.java (addCustomEntriesToTable): Fixed color of JTable selection border. 2006-05-04 Raif S. Naffah <raif@swiftdsl.com.au> * tools/gnu/classpath/tools/keytool/ExportCmd.java (setup): Use _alias instead of alias. 2006-05-04 Lillian Angel <langel@redhat.com> * javax/swing/JLabel.java (JLabel): Pass in an empty string for the text parameter. (JLabel): Likewise. (JLabel): Likewise. 2006-05-05 Audrius Meskauskas <AudriusA@Bioinformatics.org> * javax/swing/plaf/basic/BasicTreeUI.java (paint): Return early if there are no visible nodes to paint.
* 2006-05-03 Andrew John Hughes <gnu_andrew@member.fsf.org>Andrew John Hughes2006-05-0369-1242/+10572
| | | | | * Merge of HEAD --> generics-branch for the period 2005/05/01 to 2005/05/03 (branch of 0.91 for release)
* 2006-05-01 Andrew John Hughes <gnu_andrew@member.fsf.org>Andrew John Hughes2006-05-01237-2072/+21230
| | | | | * Merge HEAD-->generics-branch for the period 2006-04-13 to 2006-05-01.
* * javax/swing/JComboBox.java (AccessibleJComboBox): Now public.Tom Tromey2006-04-254-3/+11
| | | | | | | * javax/swing/tree/VariableHeightLayoutCache.java (getVisiblePathsFrom): Genericized. * javax/swing/tree/FixedHeightLayoutCache.java (getVisiblePathsFrom): Genericized.
* 2006-04-23 Jeroen Frijters <jeroen@frijters.net>Jeroen Frijters2006-04-232-0/+16
| | | | | * java/lang/Package.java: Added compatibility constructor to ease VM interface migration.
* 2006-04-23 Jeroen Frijters <jeroen@frijters.net>Jeroen Frijters2006-04-233-43/+32
| | | | | | * java/lang/Class.java (getEnumConstants): Implemented without delegating to VMClass. * vm/reference/java/lang/VMClass.java (getEnumConstants): Removed.
* Corrected the date on my last entry.Jeroen Frijters2006-04-231-1/+1
|
* 2006-04-21 Jeroen Frijters <jeroen@frijters.net>Jeroen Frijters2006-04-235-79/+28
| | | | | | | | | | | * java/lang/ClassLoader.java (definePackage): Added argument to Package constructor. * java/lang/Package.java (Package): Added ClassLoader argument. (loader): New field. (getDeclaredAnnotations): Implemented without help from VMPackage. * vm/reference/java/lang/VMClassLoader.java (static): Added argument to Package constructor. * vm/reference/java/lang/VMPackage.java: Removed.
* 2006-04-21 Jeroen Frijters <jeroen@frijters.net>Jeroen Frijters2006-04-212-2/+32
| | | | | | | * java/lang/reflect/AccessibleObject.java: Implemented AnnotatedElement. (getAnnotation, getAnnotations, getDeclaredAnnotations, isAnnotationPresent): New methods.
* 2006-04-17 Andrew John Hughes <gnu_andrew@member.fsf.org>Andrew John Hughes2006-04-172-0/+85
| | | | * java/lang/Enum.java: Documented.
* 2006-04-17 Andrew John Hughes <gnu_andrew@member.fsf.org>Andrew John Hughes2006-04-174-7/+21
| | | | | | | | | | | | | * gnu/java/lang/InstrumentationImpl.java: Moved from java.lang. * java/lang/InstrumentationImpl.java: Removed. * vm/reference/gnu/java/lang/VMInstrumentationImpl.java: Moved from java.lang. * vm/reference/java/lang/VMClassLoader.java: Corrected reference to InstrumentationImpl. * vm/reference/java/lang/VMInstrumentationImpl.java: Removed.
* 2006-04-17 Andrew John Hughes <gnu_andrew@member.fsf.org>Andrew John Hughes2006-04-172-0/+91
| | | | | * java/lang/annotation/Annotation.java: Documented.
* * javax/swing/tree/DefaultTreeSelectionModel.java (getListeners):Tom Tromey2006-04-143-2/+9
| | | | | | Genericized. * javax/swing/tree/AbstractLayoutCache.java (getVisiblePathsFrom): Genericized.
* 2006-04-13 Andrew John Hughes <gnu_andrew@member.fsf.org>Andrew John Hughes2006-04-14387-7207/+22451
| | | | * Merge of HEAD --> generics-branch from 2006/03/26 to 2006/04/13.