Uploaded image for project: 'Qpid'
  1. Qpid
  2. QPID-8523

[Broker-J] refusing-attach while rejecting consumer does not set required initial-delivery-count field

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Reopened
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: qpid-java-broker-8.0.4
    • Fix Version/s: qpid-java-broker-8.0.6
    • Component/s: Broker-J
    • Labels:
      None

      Description

      Attempting to create a consumer link from e.g. a non-existing address results in refusal of the link, which in case of a consumer is done by sending a 'response' attach with null source to indicate the terminus wasnt created, followed by a detach with the error.

      The broker does send an attach without a source, but it omits the initialDeliveryCount value from the attach, which the spec says is required when role=SENDER ("This MUST NOT be null if role is sender, and it is ignored if the role is receiver."). Protocol libraries validating such required values will run afoul of this, leading to decode error that can bring the connection down unnecessarily.

      From looking at the wire encoding, it appears only the first 3 fields (name, handle, role) of the attach are being set, with the rest unpopulated and thus being equivalent to null or any default they may have.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              robbie Robbie Gemmell
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated: