Return-Path: Delivered-To: apmail-directory-commits-archive@www.apache.org Received: (qmail 91537 invoked from network); 23 Apr 2005 00:20:48 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 23 Apr 2005 00:20:48 -0000 Received: (qmail 44834 invoked by uid 500); 23 Apr 2005 00:21:17 -0000 Delivered-To: apmail-directory-commits-archive@directory.apache.org Received: (qmail 44781 invoked by uid 500); 23 Apr 2005 00:21:16 -0000 Mailing-List: contact commits-help@directory.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@directory.apache.org Delivered-To: mailing list commits@directory.apache.org Received: (qmail 44767 invoked by uid 99); 23 Apr 2005 00:21:16 -0000 X-ASF-Spam-Status: No, hits=0.2 required=10.0 tests=NO_REAL_NAME X-Spam-Check-By: apache.org Received: from minotaur.apache.org (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.28) with SMTP; Fri, 22 Apr 2005 17:21:16 -0700 Received: (qmail 91511 invoked by uid 65534); 23 Apr 2005 00:20:46 -0000 Message-ID: <20050423002046.91510.qmail@minotaur.apache.org> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Subject: svn commit: r164306 - /directory/network/trunk/src/java/org/apache/mina/io/filter/SSLFilter.java Date: Sat, 23 Apr 2005 00:20:45 -0000 To: commits@directory.apache.org From: trustin@apache.org X-Mailer: svnmailer-1.0.0-dev X-Virus-Checked: Checked X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: trustin Date: Fri Apr 22 17:20:45 2005 New Revision: 164306 URL: http://svn.apache.org/viewcvs?rev=3D164306&view=3Drev Log: I made a silly mistake on SSLFilter! :( Modified: directory/network/trunk/src/java/org/apache/mina/io/filter/SSLFilter.ja= va Modified: directory/network/trunk/src/java/org/apache/mina/io/filter/SSLFil= ter.java URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apa= che/mina/io/filter/SSLFilter.java?rev=3D164306&r1=3D164305&r2=3D164306&view= =3Ddiff =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- directory/network/trunk/src/java/org/apache/mina/io/filter/SSLFilter.ja= va (original) +++ directory/network/trunk/src/java/org/apache/mina/io/filter/SSLFilter.ja= va Fri Apr 22 17:20:45 2005 @@ -240,8 +240,8 @@ debug.print( "encrypt: " + buf ); } sslHandler.encrypt( buf.buf() ); - ByteBuffer encryptedBuffer =3D - ByteBuffer.wrap( sslHandler.getOutNetBuffer() = ); + ByteBuffer encryptedBuffer =3D copy( sslHandler + .getOutNetBuffer() ); =20 if( debug !=3D null ) { @@ -284,8 +284,7 @@ if( sslHandler.getAppBuffer().hasRemaining() ) { // forward read app data - ByteBuffer readBuffer =3D - ByteBuffer.wrap( sslHandler.getAppBuffer() ); + ByteBuffer readBuffer =3D copy( sslHandler.getAppBuffer() ); if( debug !=3D null ) { debug.print( "app data read: " + readBuffer + " (" + readB= uffer.getHexDump() + ')' ); @@ -320,8 +319,7 @@ debug.print( "write outNetBuffer: " + sslHandler.getOutNetBuffer() ); } - ByteBuffer writeBuffer =3D - ByteBuffer.wrap( sslHandler.getOutNetBuffer() ); + ByteBuffer writeBuffer =3D copy( sslHandler.getOutNetBuffer() = ); if( debug !=3D null ) { debug.print( "session write: " + writeBuffer ); @@ -350,8 +348,8 @@ debug.print( "write outNetBuffer2: " + sslHandler.getOutNetBuffer() ); } - ByteBuffer writeBuffer2 =3D - ByteBuffer.wrap ( sslHandler.getOutNetBuffer() ); + ByteBuffer writeBuffer2 =3D copy( sslHandler + .getOutNetBuffer() ); session.write( writeBuffer2, null ); } } @@ -363,6 +361,21 @@ sslHandler.setWritingEncryptedData( false ); } } + } + + /** + * Creates a new Mina byte buffer that is a deep copy of the remaining= bytes + * in the given buffer (between index buf.position() and buf.limit()) + * + * @param src the buffer to copy + * @return the new buffer, ready to read from + */ + private static ByteBuffer copy( java.nio.ByteBuffer src ) + { + ByteBuffer copy =3D ByteBuffer.allocate( src.remaining() ); + copy.put( src ); + copy.flip(); + return copy; } =20 // Utilities to mainpulate SSLHandler based on IoSession