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

[Broker-J][WMC] Validation of configured object names is too restrictive in Web Management Console

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • qpid-java-6.1.6, qpid-java-broker-7.0.3, qpid-java-broker-7.0.2, qpid-java-6.0, qpid-java-6.0.1, qpid-java-6.0.2, qpid-java-6.0.3, qpid-java-6.0.4, qpid-java-6.0.5, qpid-java-6.1, qpid-java-6.0.6, qpid-java-6.1.1, qpid-java-6.1.2, qpid-java-6.0.7, qpid-java-6.1.3, qpid-java-6.0.8, qpid-java-6.1.4, qpid-java-broker-7.0.0, qpid-java-6.1.5, qpid-java-broker-7.0.1
    • Broker-J
    • None

    Description

      WMC only allows to create (or edit) configured objects with names consisting only from any mixture of digits, letters, and underscores. This restriction was added into Web Management Console to meet the requirements of AMQP 0-8 protocol. The queue and exchange names in domain definition are defined as name consisting only from digits, letters, and underscores.

      The queue name identifies the queue within the vhost. Queue
      names may consist of any mixture of digits, letters, and
      underscores.

      The exchange name is a client-selected string that identifies
      the exchange for publish methods. Exchange names may consist
      of any mixture of digits, letters, and underscores. Exchange
      names are scoped by the virtual host.

      However, in definitions of declare commands for queue and exchange the AMQP 0-8 specifies a regular expression for the names allowing more characters:

      ^[a-zA-Z0-9-_.:]*$
      

      The same regular expression is defined in specifications for AMQP 0-9 and 0-9-1.

      The names of virtual hosts in specifications for AMQP 0-8 and AMQP 0-9 should match regular expression (as per documentation for connection open)

      ^[a-zA-Z0-9/-_]+$
      

      AMQP 0-10 allows more characters in queue name

      Queue names must have a length
      of between 1 and 255 characters inclusive, must start with a digit, letter or underscores
      ('_') character, and must be otherwise encoded in UTF-8.

      As a minimum, the Web Management Console should allow creation of queues, exchanges with names matching ^[a-zA-Z0-9-_.:]+$. The virtual host names matching regular expression ^[a-zA-Z0-9-_]+\$ should be allowed (i.e. continue to disallow the slash). The names of other configured objects can be unrestricted.

      Alternatively, we can add some sort of AMQP compatibility modes to Web Management Console and management API when required level compatibility can be configured by the user and different validation rules can apply based on required compatibility.

      Attachments

        Activity

          People

            Unassigned Unassigned
            orudyy Alex Rudyy
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: