Uploaded image for project: 'Openfire (ARCHIVED)'
  1. JM-624

Allow external components to bind more than one domain

    Details

    • Type: New Feature
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects versions: 2.5.1
    • Fix versions: 2.6.0
    • Components: Core
    • Labels:
      None

      Description

      JEP-114 (http://www.jabber.org/jeps/jep-0114.html) only allows one domain to be registered by an external component. The domain is specified in the TO attribute of the intial stream header. Therefore, if an external component needs to bind many domains then the component will need to establish many connections with the server.

      Based on Jabberd2 component proto-JEP (http://jabberd.jabberstudio.org/dev/docs/component.shtml#sect-id2593096) we can extend our current implementation to let an external component using one connection to bind many domains.

      This is the spec we are following:

      . Components will still have to send in the TO attrinbute of the stream header the initial domain for the component.
      . Components can bind more domains by sending <bind> stanzas
      . New domains have to be under the intial domain. Eg. Initial domain=aim.myserver.com, extra domain should be = conference.aim.myserver.com. Otherwise a forbidden error will be returned
      . The server will send a disco request to the new domain and if the component supports disco at the new domain then the new domain will be listed in the disco#items of the server

      Example 1. Component sends stream header to server
      <stream:stream
      xmlns='jabber:component:accept'
      xmlns:stream='http://etherx.jabber.org/streams'
      to='aim.myserver.com'>

      Example of successful binding:
      C: <bind name='conference.aim.myserver.com'/>
      S: <bind/>

      Example of failed binding:
      C: <bind name='conference.aim.myserver.com'/>
      S: <bind name='conference.aim.myserver.com'/>
      S: <error type='cancel'>
      S: <conflict xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
      S: </error>
      S: <bind/>

      Possible errors are:
      Code Meaning
      400 The "name" attribute is missing or invalid
      403 The component is not authorised to bind using this name and/or options
      409 The name that is already bound

        Attachments

          Activity

            People

            • Assignee:
              Gaston Dombiak
              Reporter:
              Gaston Dombiak
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: