You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by bi...@apache.org on 2003/05/17 05:21:34 UTC
cvs commit: jakarta-tomcat-connectors/jk/java/org/apache/jk/server JkCoyoteHandler.java
billbarker 2003/05/16 20:21:34
Modified: jk/java/org/apache/jk/common HandlerRequest.java
jk/java/org/apache/jk/server JkCoyoteHandler.java
Log:
Make certain that the SSL-Cert Note gets recycled before processing the request.
It seems that CoyoteRequest Notes aren't like 3.3 Request Notes, so we need to keep track of them.
Fix for Bug #19991.
Reported By: David Rodr�guez Alfayate drodriguez@divisait.com
Revision Changes Path
1.25 +10 -3 jakarta-tomcat-connectors/jk/java/org/apache/jk/common/HandlerRequest.java
Index: HandlerRequest.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/java/org/apache/jk/common/HandlerRequest.java,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -r1.24 -r1.25
--- HandlerRequest.java 7 Feb 2003 23:18:44 -0000 1.24
+++ HandlerRequest.java 17 May 2003 03:21:33 -0000 1.25
@@ -452,6 +452,10 @@
}
}
+ MessageBytes tmpMB2 = (MessageBytes)req.getNote(WorkerEnv.SSL_CERT_NOTE);
+ if(tmpMB2 != null) {
+ tmpMB2.recycle();
+ }
req.setStartTime(System.currentTimeMillis());
JkInputStream jkBody=(JkInputStream)ep.getNote( bodyNote );
if( jkBody==null ) {
@@ -573,10 +577,13 @@
case SC_A_SSL_CERT :
req.scheme().setString( "https" );
// Transform the string into certificate.
- MessageBytes tmpMB2 = new MessageBytes();
- msg.getBytes(tmpMB2);
+ MessageBytes tmpMB2 = (MessageBytes)req.getNote(WorkerEnv.SSL_CERT_NOTE);
+ if(tmpMB2 == null) {
+ tmpMB2 = new MessageBytes();
+ req.setNote(WorkerEnv.SSL_CERT_NOTE, tmpMB2);
+ }
// SSL certificate extraction is costy, moved to JkCoyoteHandler
- req.setNote(WorkerEnv.SSL_CERT_NOTE, tmpMB2);
+ msg.getBytes(tmpMB2);
break;
case SC_A_SSL_CIPHER :
1.41 +1 -1 jakarta-tomcat-connectors/jk/java/org/apache/jk/server/JkCoyoteHandler.java
Index: JkCoyoteHandler.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/java/org/apache/jk/server/JkCoyoteHandler.java,v
retrieving revision 1.40
retrieving revision 1.41
diff -u -r1.40 -r1.41
--- JkCoyoteHandler.java 19 Apr 2003 20:58:56 -0000 1.40
+++ JkCoyoteHandler.java 17 May 2003 03:21:33 -0000 1.41
@@ -423,7 +423,7 @@
// Extract SSL certificate information (if requested)
MessageBytes certString = (MessageBytes)req.getNote(WorkerEnv.SSL_CERT_NOTE);
- if( certString != null ) {
+ if( certString != null && !certString.isNull() ) {
ByteChunk certData = certString.getByteChunk();
ByteArrayInputStream bais =
new ByteArrayInputStream(certData.getBytes(),
---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org