directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vinod Panicker (JIRA)" <j...@apache.org>
Subject [jira] Created: (DIRMINA-123) Race condition in AbstractIoFilterChain
Date Mon, 14 Nov 2005 12:35:34 GMT
Race condition in AbstractIoFilterChain
---------------------------------------

         Key: DIRMINA-123
         URL: http://issues.apache.org/jira/browse/DIRMINA-123
     Project: Directory MINA
        Type: Bug
    Versions: 0.9    
    Reporter: Vinod Panicker
 Assigned to: Trustin Lee 


There is a race condition that occurs due to filter handling in AbstractIoFilterChain.  The
bug manifested itself when using the client side of the SSLFilter impl. In the register method
below - 

    private void register( Entry prevEntry, String name, IoFilter filter ) throws Exception
    {
        Entry newEntry = new Entry( prevEntry, prevEntry.nextEntry, name, filter );

        filter.init( this, newEntry.nextFilter );
        
        prevEntry.nextEntry.prevEntry = newEntry;
        prevEntry.nextEntry = newEntry;
        name2entry.put( name, newEntry );
        filter2entry.put( filter, newEntry );
    }

filter.init causes the ssl client HELLO to be sent to the server.  If the client and server
are on a fast network, the server response comes before the filter has been "put", causing
it to be handed to the IoHandler.

Solution is to init the filter after putting it on the session.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


Mime
View raw message