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