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]