Attila Kun created PROTON-2275:
----------------------------------

             Summary: idle_timeout connection option not working for SSL 
connections on Windows
                 Key: PROTON-2275
                 URL: https://issues.apache.org/jira/browse/PROTON-2275
             Project: Qpid Proton
          Issue Type: Bug
          Components: proton-c
         Environment: Windows client connecting to SSL broker
            Reporter: Attila Kun


Steps to reproduce:
 # Connect your receiver to an SSL-capable broker. The receiver has to be 
running on Windows.
 # Set the {{idle_timeout}} connection option to e.g. 2 seconds in your 
{{proton::messaging_handler}} instance.
 # In the {{on_message}} callback, sleep for longer than {{idle_timeout}}. This 
should trigger the {{on_transport_error}} callback with a 
{{amqp:resource-limit-exceeded: local-idle-timeout}} expired error. On Windows 
this does not happen.

I saw that the above scenario worked correctly when connecting to a non-SSL 
broker but failed with an SSL broker. I looked at the difference between the 
two code paths and found that for the same input ({{transport->output_buffer}} 
being empty and {{transport->close_sent == true}}) [transport.c returns 
PN_EOS|https://github.com/apache/qpid-proton/blob/0.31.0/c/src/core/transport.c#L2722]
 while [schannel.c returned 
0|https://github.com/apache/qpid-proton/blob/0.31.0/c/src/ssl/schannel.c#L1850].
 After ensuring that schannel.c matches the behaviour of transport.c, the 
problem went away.

Suggested fix: https://github.com/apache/qpid-proton/pull/255



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to