1. 15 Feb, 2016 5 commits
    • Guus der Kinderen's avatar
      OF-1089: Send IQ result only after messages · 53083dc8
      Guus der Kinderen authored
      IQ result should be the last stanza. This way, clients know that the
      last archived message has arrived.
      53083dc8
    • Dave Cridland's avatar
      Merge pull request #539 from guusdk/OF-1087 · 45394287
      Dave Cridland authored
      OF-1087: Default namespace handling in BOSH.
      45394287
    • Guus der Kinderen's avatar
      OF-1087: Do not add empty-string prefixed namespaces · e4b7a75b
      Guus der Kinderen authored
      In dom4j, the default namespace of an element cannot be set by adding
      a namespace that has an empty-string prefix. Although the string
      representation of the element will be correct, that namespace is not
      being recognized as the default namespace of the element (instead, it
      is a namespace like any other prefixed namespace, to be used in child
      elements).
      e4b7a75b
    • Guus der Kinderen's avatar
      OF-1087: Whitespace does not take into account element boundary. · 12eba2f8
      Guus der Kinderen authored
      The original code depends on a whitespace to be present within the limits
      of the element. This is not safe (eg: <message><foo/></message> fails).
      Instead, the closing characters ( > or /> ) of the first element should
      be used, as that's guaranteed to be present.
      12eba2f8
    • Guus der Kinderen's avatar
      OF-1087: BOSH namespace fix · 543ce079
      Guus der Kinderen authored
      A change introduced in Openfire 3.10.3 (OF-938) changed how the BOSH
      implementation would add default namespace definitions where applicable.
      This new implementation depends on a space from being present in the
      outer stanza. The 'fin' element that's transmitted here is wrapped in
      a message stanza without any attributes ( <message><fin ... ) which
      caused the namespace to be injected in the fin element (where the first
      space was).
      
      This commit adds a 'to' attribute to the wrapping message stanza, to
      allow for users to work around the problem without having to update
      Openfire itself.
      
      The BOSH implementation will be adjusted to account for this in another
      commit.
      543ce079
  2. 11 Feb, 2016 1 commit
  3. 10 Feb, 2016 6 commits
  4. 09 Feb, 2016 2 commits
    • Derek McLean's avatar
      Cannot join room in a cluster after an availability update. · 1a5781c9
      Derek McLean authored
      When a room occupant sends an availability update to a host in an
      Openfire cluster, other users cannot join the room from other hosts in
      the cluster. The availability update causes the other hosts to lose an
      occupant's role and affiliation. New occupants encounter an NPE when
      joining and are prevented from joining the room. Specifically, the NPE
      occurs when Openfire attempts to send initial presences for current
      occupants.
      
      Remote hosts in the cluster lose the occupant's association because the
      local room simply broadcasts the presence packet for the occupant's
      availability update. Because it is from the client, this packet does not
      have the occupant's role or affiliation. The remote hosts treat the
      presence packet as the occupant's presence without modification.
      
      This fix changes the order in which Openfire handles an availability
      update. First, it updates its local view of an occupant's presence. This
      populates the correct association. Then, it broadcasts the updated
      presence to remote hosts in the cluster.
      1a5781c9
    • Chung's avatar
      Fix unicode read on input · 9ae64f50
      Chung authored
      In the current read scheme for Openfire, it is possible that due
      to variable width encoding that we sometimes only create a
      string with a partial character.
      
      This breaks the message text and causes encoding issues when read.
      
      This change modifies the way the characters are
      read to use an bytearrayoutputstream and
      only do the string conversion once.
      
      Since we only do the string creation once after the full
      buffer is read, we no longer have encoding
      issues with broken unicode characters.
      9ae64f50
  5. 05 Feb, 2016 1 commit
    • dchinmay's avatar
      NullPointerException in RoutingTableImpl. · cc9aaa91
      dchinmay authored
      In #routeToComponent, it is first checked if the component is being hosted in the local JVM. If it was not found, then all nodes in the ComponentsCache are checked to find if the component is hosted by one of those. In this process, the local routing table is again searched for the component, because it may have been added after the previous check. However, after this search, there is no null check done for the searched route. This results in an NPE when the component was not found locally and the #process(packet) method is called on the object. 
      
      This also prevents the code from searching other nodes that may have been in the nodes set. Added a null check to prevent this scenario.
      cc9aaa91
  6. 04 Feb, 2016 1 commit
  7. 02 Feb, 2016 2 commits
  8. 01 Feb, 2016 1 commit
  9. 27 Jan, 2016 2 commits
  10. 26 Jan, 2016 4 commits
  11. 25 Jan, 2016 15 commits