Class ServerStanzaHandler


  • public class ServerStanzaHandler
    extends StanzaHandler
    Handler of XML stanzas sent by remote servers. Remote servers that send stanzas with no TO or FROM will get their connections closed. Moreover, remote servers that try to send stanzas from a not validated domain will also get their connections closed.

    Server-to-server communication requires two TCP connections between the servers where one is used for sending packets whilst the other connection is used for receiving packets. The connection used for receiving packets will use a ServerStanzaHandler since the other connection will not receive packets.

    Author:
    Gaston Dombiak, Alex Gidman, Matthew Vivian
    • Field Detail

      • SKIP_JID_VALIDATION

        public static final SystemProperty<Boolean> SKIP_JID_VALIDATION
        Controls if JIDs that are in the addresses of stanzas supplied by remote domains are validated.
    • Constructor Detail

      • ServerStanzaHandler

        public ServerStanzaHandler​(PacketRouter router,
                                   Connection connection,
                                   boolean directTLS)
    • Method Detail

      • 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.