2003-10-31  Casey Marshall  <rsdio@metastatic.org>

	* org/metastatic/jessie: Moved package-private methods into
	provider sub-package.
	
	* org/metastatic/jessie/https/HttpsURLConnection.java:
	Import Jessie from new package.

2003-10-29  Casey Marshall  <rsdio@metastatic.org>

	* org/metastatic/jessie/Util.java
	(trim): new method.

	* org/metastatic/jessie/Signature.java
	(read): use DataInputStream.

	* org/metastatic/jessie/Session.java:
	Formatting fixlets.

	* org/metastatic/jessie/ServerKeyExchange.java
	(read): throw SSLProtocolException for malformed SRP keys.

	* org/metastatic/jessie/SSLSocket.java:
	Use RSA from GNU Crypto.

	* org/metastatic/jessie/SSLRSASignature.java
	(<init>): new constructor that accepts hash parameters.
	(setupSign): save private key.
	(setupVerify): save public key.
	(sign): pad here and use RSA from GNU Crypto.
	(verify): unpad here and use RSA from GNU Crypto.

	* org/metastatic/jessie/ProtocolVersion.java:
	Formatting fixlets.
	(equals): test null, instanceof.
	(hashCode): new method.

	* org/metastatic/jessie/ContentType.java
	(equals): test null, intstanceof.
	(hashCode): new method.

	* org/metastatic/jessie/CipherSuite.java
	(equals): fixed instanceof test.

	* org/metastatic/jessie/RSA.java:
	Obsolete; use classes from GNU Crypto.

2003-10-28  Casey Marshall  <rsdio@metastatic.org>

	* org/metastatic/jessie/XMLSessionContext.java:
	Removed print statements.

	* org/metastatic/jessie/Text.java
	(read): skip packet bytes.

	* org/metastatic/jessie/SecurityParameters.java
	(decrypt): assert that the padding is of correct length for SSLv3.
	(encrypt): only use random amount of padding for >= TLSv1.

	* org/metastatic/jessie/SSLSocket.java:
	Various formatting fixlets.
	(doClientHandshake): check saved sessions for protocol version; call
	RecordOutput.setHandshakeAvail() on every handshake write.
	(doServerHandshake): likewise.

	* org/metastatic/jessie/RecordOutput.java
	(run): don't fragment handshake messages.
	(setHandshakeAvail): new method.

	* org/metastatic/jessie/RSA.java:
	Made class final.
	Various formatting fixlets.

	* org/metastatic/jessie/Handshake.java:
	Made class final.
	(read(in)): throw UOE.
	(read(in,version)): return no. of bytes written.

	* org/metastatic/jessie/Finished.java:
	Made class final.
	(read): use readFully() not read().

	* org/metastatic/jessie/Extensions.java:
	Made class final.

	* org/metastatic/jessie/Extension.java:
	Made class final.
	(<init>): detect nulls and throw NPE.
	(Type): class made final.
	(Type.read): detect and throw EOF.

	* org/metastatic/jessie/EntropyTools.java:
	Made class final.
	Various formatting fixlets.

	* org/metastatic/jessie/DigestOutputStream.java:
	Made class final.
	(write): formatting fixlets.

	* org/metastatic/jessie/DigestInputStream.java:
	Made class final.

	* org/metastatic/jessie/Context.java:
	Made class final.
	(<init>): formatting; removed print statements.

	* org/metastatic/jessie/CompressionMethod.java:
	Made class final.
	(read): detect and throw EOF.

	* org/metastatic/jessie/ClientKeyExchange.java:
	Made class final.
	(toString): return base-16 big integer.

	* org/metastatic/jessie/ClientHello.java:
	Made class final.
	Removed comment.

	* org/metastatic/jessie/CipherSuite.java
	(read): detect EOF and throw it.

	* org/metastatic/jessie/CertificateVerify.java:
	Made class final.

	* org/metastatic/jessie/Certificate.java:
	Made class final.
	(<init>): throw NPE if parameter is null; don't clone array.
	(read): be careful with value returned by read().

	* org/metastatic/jessie/Base64.java:
	Made class final.
	(encode): formatting fixes.

	* org/metastatic/jessie/Alert.java
	(forName): formatting fixes.
	(read): throw EOF when -1 is read.

	* org/metastatic/jessie/Jessie.java.in:
	Modified copyright notice.

	* org/metastatic/jessie/CertificateRequest.java:
	Modified copyright notice.
	(ClientType.read): throw EOF if -1 is read.

	* org/metastatic/jessie/CertificateType.java:
	Modified copyright notice.
	(read): throw EOF if -1 is read.

	* DSS.java: Removed.

2003-10-27  Casey Marshall  <rsdio@metastatic.org>

	* org/metastatic/jessie/Text.java: Removed print statements; added
	comments.

	* org/metastatic/jessie/Signature.java
	(read): parse RSA and DSA keys properly.
	(write): always write length.
	(toString): return base-16 representations.

	* org/metastatic/jessie/Session.java
	(lastAccessedTime): changed type to Date.
	(params): replace InheritableThreadLocal (didn't actually work).
	(clone): new method.
	(access): accomodate change to Date.
	(setLastAccessedTime): likewise.

	* org/metastatic/jessie/ServerKeyExchange.java:
	Formatting fixlets. 

	* org/metastatic/jessie/SecurityParameters.java
	(decrypt): minor bugfixes, formatting, comments.
	(encrypt): pad plaintext correctly, formatting, comments.
	(transformRC4): comments.

	* org/metastatic/jessie/SSLSocket.java
	(doClientHandshake): formatting; prefer '==' over 'equals'
	whenever possible.
	(doServerHandshake): likewise.

	* org/metastatic/jessie/RecordOutput.java
	(run): formatting.
	(setFragmentLength): synchronize over texts.

	* org/metastatic/jessie/RecordInput.java
	(run): formatting fixlets, more debugging statements.

	* org/metastatic/jessie/KeyPool.java
	(getDHKeyPair): formatting fixlet.
	(getRSAKeyPail): formatting fixlet.
	(defaultParams): added DH groups 1 and 2; formatting fixlets.

	* org/metastatic/jessie/Handshake.java
	(read): formatting fixlets.
	(write): pass version to ClientKeyExchange.write().
	(Type.read): throw EOF when -1 is read.

	* org/metastatic/jessie/Extension.java
	(read): read extensions more carefully.
	(write): write type.getEncoded().

	* org/metastatic/jessie/DiffieHellman.java:
	Added GROUP_1 and GROUP_2 constants.

	* org/metastatic/jessie/Context.java
	(<init>): remove print statements.
	Various formatting fixlets.

	* org/metastatic/jessie/ContentType.java
	(read): Throw EOF when reading -1.

	* org/metastatic/jessie/ClientKeyExchange.java
	(read): handle SSLv3 RSA exchange properly.
	(write): throw UOE.
	(write): write SSLv3 RSA exchange properly.

	* org/metastatic/jessie/ClientHello.java
	(read): formatting fixlets.
	(write): use shifts, not multiply. Formatting fixlets.

	* org/metastatic/jessie/CipherSuite.java: Minor formatting fixlets.

	* javax/net/ssl/HostnameVerifier.java: Documentation HTML fix.

	* javax/net/ssl/SSLServerSocketFactory.java:
	Added comments.
	(getDefault): handle factory creation better.

	* javax/net/ssl/SSLSocketFactory.java:
	Added comments.
	(getDefault): handle factory creation better.

	* javax/net/ssl/KeyManagerFactorySpi.java,
	  javax/net/ssl/SSLPermission.java,
	  javax/net/ssl/SSLProtocolException.java,
	  javax/net/ssl/SSLServerSocket.java,
	  javax/net/ssl/SSLSession.java,
	  javax/net/ssl/SSLSessionBindingEvent.java,
	  javax/net/ssl/SSLSessionBindingListener.java,
	  javax/net/ssl/SSLSocket.java,
	  javax/net/ssl/TrustManager.java,
	  javax/net/ssl/TrustManagerFactory.java,
	  javax/net/ssl/X509KeyManager.java,
	  javax/net/ssl/X509TrustManager.java,
	  javax/security/cert/Certificate.java,
	  javax/security/cert/CertificateEncodingException.java,
	  javax/security/cert/CertificateException.java,
	  javax/security/cert/CertificateExpiredException.java,
	  javax/security/cert/CertificateNotYetValidException.java,
	  javax/security/cert/CertificateParsingException.java,
	  javax/security/cert/X509CertBridge.java,
	  javax/security/cert/X509Certificate.java:
	Added comments.

2003-10-24  Casey Marshall  <rsdio@metastatic.org>

	* org/metastatic/jessie/RecordOutput.java: 
	(send): accomodate changes to Session.

	* org/metastatic/jessie/RecordInput.java: 
	(run): accomodate changes to Session.

	* Makefile.am: New target for making apidocs with gjdoc.

	* org/metastatic/jessie/Session.java: 
	(securityParams): keep params in an InheritableThreadLocal.

	* org/metastatic/jessie/SSLSocket.java: 
	(doClientHandshake): modified SRP key exchange, accomodate changes
	in Session class.
	(doServerHandshake): likewise.

	* org/metastatic/jessie/SRPTrustManager.java:
	(getPasswordFile) new method.

	* org/metastatic/jessie/SRPTrustManagerFactory.java:
	(Manager.getPasswordFile): new method.

