[INN] #77: Collect nnrpd idle timer stat with a TLS connection

INN rra at stanford.edu
Sun Dec 14 20:20:15 UTC 2008

#77: Collect nnrpd idle timer stat with a TLS connection
 Reporter:  iulius  |       Owner:  eagle
     Type:  defect  |      Status:  new  
 Priority:  low     |   Milestone:       
Component:  nnrpd   |     Version:  2.4.4
 Severity:  minor   |    Keywords:       
 According to Kachun Lee:

 "It seems that the SSL_read cannot be mixed with select() as in the
 current code.  SSL communicates in its own data blocks and hand shaking.
 The do_readline using SSL_read could return, but still with a partial line
 in the SSL_read buffer.  Then the server SSL routine would sit there
 waiting for completion of that data block while nnrpd sat at the select()
 routine waiting for more data from the server.

 Here, we decide to just bypass the select() wait.  Unlike innd with
 multiple threads, the select on nnrpd is just waiting on a single file
 descriptor, so it is not really essential with blocked read like SSL_read.
 Using an alarm signal around SSL_read for non active timeout, SSL works
 without dead locks.  However, without the select() wait, the IDLE timer
 stat won't be collected..."

 [7755] and [7836], fixing a bug, introduced that defect.

Ticket URL: <http://inn-new.eyrie.org/trac/ticket/77>
INN <http://www.eyrie.org/~eagle/software/inn/>

More information about the inn-bugs mailing list