On 06/05/2013 06:45 AM, Robert Segall wrote:

I suspect you see here two issues, which are quite separate, and should
not be mixed:

- the client does a close without an SSL shutdown. Should not happen,
but it does quite often.

I will push on the client. Are there "known to be correct" SSL client libraries at which I can point people?

- the TCP stack (not Pound) attempts several retries. This is normal
behaviour and works as expected.

Agreed.

I think the most pragmatic fix is to make sure the firewall passes the
RST packet to the Pound machine (which I suspect it does not). This will
ensure that no retries are attempted and your firewall log should stay
clean.

I would hope the firewall is passing the RST. However, since the Big Bad Internet (tm) sits between the client+firewall and the service, there is a (perhaps small but) measurable probability that the RST will be lost somewhere along the way. At that point, unless the firewall generates RSTs on its own, the as expected retransmissions of the service's close notify messages will continue.

One question that has been at the back of my mind, one that may sit between SSL and TCP. What *should* a server do if the TCP connection is closed (ie the server code or library it calls) gets a read return of zero) before an SSL Close Notify is received on the TCP connection? Should it go ahead and send a Close Notify of its own, or should it (being pragmatic I suppose?) assume the client isn't waiting around for a Close Notify anyway and just go ahead and close() the TCP connection? (And optionally log a Nasty Message (tm) calling-out the IP address/name of the client as misbehaving)

rick

--
To unsubscribe send an email with subject unsubscribe to [email protected].
Please contact [email protected] for questions.

Reply via email to