[tor-bugs] #6465 [Tor]: Build abstraction layer around TLS

Tor Bug Tracker & Wiki torproject-admin at torproject.org
Tue Oct 9 01:31:05 UTC 2012


#6465: Build abstraction layer around TLS
-----------------------+----------------------------------------------------
 Reporter:  andrea     |          Owner:  andrea            
     Type:  project    |         Status:  needs_review      
 Priority:  major      |      Milestone:  Tor: 0.2.4.x-final
Component:  Tor        |        Version:  Tor: unspecified  
 Keywords:  tor-relay  |         Parent:                    
   Points:             |   Actualpoints:                    
-----------------------+----------------------------------------------------

Comment(by andrea):

 The assert on exit was being caused by connection_or_connect() setting
 tlschan->conn early so some calls it makes work, but then returning NULL
 on a connection_connect() error later on.  When channel_tls_connect()
 calls it, it (wrongly) assumed that tlschan->conn == NULL iff error, so in
 some error cases (host unreachable during connection_connect() in the
 instance I observed), it would leave a channel_tls_t hanging around in
 CHANNEL_STATE_OPENING with a bad pointer to a freed or_connection_t
 forever, and then during channel_free_all() would trigger the assert by
 trying to access that or_connection_t.  Fix is straight forward (check
 return value rather than tlschan->conn in channel_tls_connect()), and
 implemented in bug6465_draft_2.  Changes per code review to follow in that
 branch.

-- 
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/6465#comment:42>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list