You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Attila Kun (Jira)" <ji...@apache.org> on 2020/09/01 13:17:00 UTC
[jira] [Created] (PROTON-2275) idle_timeout connection option not
working for SSL connections on Windows
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: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org