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

[Java Broker] incorrect handling of missing sasl mechanism during 0-10 connection establishment

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 0.18
    • Fix Version/s: 0.19
    • Component/s: Broker-J
    • Labels:
      None

      Description

      A user recently asked for assistance (see mail thread: http://mail-archives.apache.org/mod_mbox/qpid-users/201210.mbox/%3C1351193413.33603.YahooMailNeo%40web161402.mail.bf1.yahoo.com%3E) in getting C++ clients working properly with the Java broker, and Java clients working properly with the C++ broker. In the discussion it seemed to become clear that the issue related to the (lack of) installed cyrus-sasl pacakges affecting the supported sasl mechanisms for the C++ client and broker.

      In the case of C++ client -> Java broker this resulted in attempt to initiate a connection without specifying any Sasl mechanism. Instead of handling this by killing the connection with a clear reason, the broker was instead incorrectly sending a ConnectionTune reply and then subsequently killing the connection (apparently silently and without clear reason) as a side effect of a NullPointerException resulting from the previous lack of Sasl mechanism.

      The broker handling of the missing Sasl mechanism should be improved such that the it doesnt incorrectly send the ConnectionTune and instead kills the connection immediately for the explicit reason that no mechnanism was specified.

      The C++ client behaviour that leads to this situation will be addessed via QPID-4407

        Attachments

          Activity

            People

            • Assignee:
              rgodfrey Rob Godfrey
              Reporter:
              gemmellr Robbie Gemmell
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: