Class ClientStanzaHandler

java.lang.Object
org.jivesoftware.openfire.net.StanzaHandler
org.jivesoftware.openfire.net.ClientStanzaHandler
Direct Known Subclasses:
WebSocketClientStanzaHandler

public class ClientStanzaHandler extends StanzaHandler
Handler of XML stanzas sent by clients connected directly to the server. Received packet will have their FROM attribute overridden to avoid spoofing.

By default, the hostname specified in the stream header sent by clients will not be validated. When validated the TO attribute of the stream header has to match the server name or a valid subdomain. If the value of the 'to' attribute is not valid then a host-unknown error will be returned. To enable the validation set the system property xmpp.client.validate.host to true.

Author:
Gaston Dombiak
  • Constructor Details

  • Method Details

    • processUnknowPacket

      protected boolean processUnknowPacket(org.dom4j.Element doc)
    • getNamespace

      protected org.dom4j.Namespace getNamespace()
    • validateHost

      protected boolean validateHost()
    • validateJIDs

      protected boolean validateJIDs()
    • createSession

      protected void createSession(String serverName, org.xmlpull.v1.XmlPullParser xpp, Connection connection) throws org.xmlpull.v1.XmlPullParserException
      Throws:
      org.xmlpull.v1.XmlPullParserException
    • processIQ

      protected void processIQ(org.xmpp.packet.IQ packet) throws UnauthorizedException
      Description copied from class: StanzaHandler
      Process the received IQ packet. Registered PacketInterceptor will be invoked before and after the packet was routed.

      Subclasses may redefine this method for different reasons such as modifying the sender of the packet to avoid spoofing, rejecting the packet or even process the packet in another thread.

      Overrides:
      processIQ in class StanzaHandler
      Parameters:
      packet - the received packet.
      Throws:
      UnauthorizedException - if service is not available to sender.
    • processPresence

      protected void processPresence(org.xmpp.packet.Presence packet) throws UnauthorizedException
      Description copied from class: StanzaHandler
      Process the received Presence packet. Registered PacketInterceptor will be invoked before and after the packet was routed.

      Subclasses may redefine this method for different reasons such as modifying the sender of the packet to avoid spoofing, rejecting the packet or even process the packet in another thread.

      Overrides:
      processPresence in class StanzaHandler
      Parameters:
      packet - the received packet.
      Throws:
      UnauthorizedException - if service is not available to sender.
    • processMessage

      protected void processMessage(org.xmpp.packet.Message packet) throws UnauthorizedException
      Description copied from class: StanzaHandler
      Process the received Message packet. Registered PacketInterceptor will be invoked before and after the packet was routed.

      Subclasses may redefine this method for different reasons such as modifying the sender of the packet to avoid spoofing, rejecting the packet or even process the packet in another thread.

      Overrides:
      processMessage in class StanzaHandler
      Parameters:
      packet - the received packet.
      Throws:
      UnauthorizedException - if service is not available to sender.
    • startTLS

      protected void startTLS() throws Exception
      Throws:
      Exception