Package tigase.socks5

Class Socks5ProxyComponent

  • All Implemented Interfaces:
    tigase.cluster.api.ClusteredComponentIfc, tigase.conf.Configurable, tigase.disco.XMPPService, tigase.kernel.beans.config.ConfigurationChangedAware, tigase.kernel.beans.Initializable, tigase.kernel.beans.RegistrarBean, tigase.net.IOServiceListener<Socks5IOService<?>>, tigase.server.MessageReceiver, tigase.server.PacketWriterWithTimeout, tigase.server.ServerComponent, tigase.stats.StatisticsContainer, tigase.stats.StatisticsContainerIfc, tigase.vhosts.VHostListener

    @Bean(name="socks5",
          parent=tigase.kernel.core.Kernel.class,
          active=false)
    @ConfigType(DefaultMode)
    public class Socks5ProxyComponent
    extends Socks5ConnectionManager
    implements tigase.cluster.api.ClusteredComponentIfc, tigase.kernel.beans.Initializable
    Class description
    Version:
    Enter version here..., 13/02/16
    Author:
    Andrzej Wójcik
    • Field Summary

      • Fields inherited from class tigase.server.AbstractMessageReceiver

        HOUR, INCOMING_FILTERS_PROP_KEY, INCOMING_FILTERS_PROP_VAL, MAX_QUEUE_SIZE_PROP_KEY, MAX_QUEUE_SIZE_PROP_VAL, maxInQueueSize, maxOutQueueSize, maxQueueSize, MINUTE, OUTGOING_FILTERS_PROP_KEY, OUTGOING_FILTERS_PROP_VAL, PACKET_DELIVERY_RETRY_COUNT_PROP_KEY, SCHEDULER_THREADS_PROP_KEY, SECOND
      • Fields inherited from class tigase.server.BasicComponent

        admins, ALL_PROP_KEY, COMMAND_PROP_NODE, scriptCommands, scriptEngineManager, SCRIPTS_DIR_PROP_DEF, SCRIPTS_DIR_PROP_KEY, trusted, vHostManager
      • Fields inherited from interface tigase.conf.Configurable

        ADMINS_PROP_KEY, AMP_CLASS_NAME, AMP_CLUST_CLASS_NAME, AUTH_DOMAIN_POOL_CLASS, AUTH_REPO_DOMAINS_PROP_KEY, AUTH_REPO_PARAMS_NODE, AUTH_REPO_POOL_CLASS, AUTH_REPO_URL_PROP_KEY, BOSH_CLUST_COMP_CLASS_NAME, BOSH_COMP_CLASS_NAME, C2S_CLUST_COMP_CLASS_NAME, C2S_COMP_CLASS_NAME, CL_COMP_CLASS_NAME, CLUSTER_CONECT, CLUSTER_CONTR_CLASS_NAME, CLUSTER_LISTEN, CLUSTER_MODE, CLUSTER_NODES, CLUSTER_NODES_PROP_KEY, COMP_PROT_CLASS_NAME, COMPONENT_ID_PROP_KEY, DEF_AMP_NAME, DEF_BOSH_NAME, DEF_C2S_NAME, DEF_CL_COMP_NAME, DEF_CLUST_CONTR_NAME, DEF_COMP_PROT_NAME, DEF_EVENTBUS_NAME, DEF_EXT_COMP_NAME, DEF_HOSTNAME_PROP_KEY, DEF_MONITOR_NAME, DEF_S2S_NAME, DEF_SM_NAME, DEF_STATS_NAME, DEF_VHOST_MAN_NAME, DEF_WS2S_NAME, DERBY_REPO_CLASS_PROP_VAL, DERBY_REPO_URL_PROP_VAL, DRUPAL_REPO_URL_PROP_VAL, DRUPALWP_REPO_CLASS_PROP_VAL, DUMMY_REPO_CLASS_PROP_VAL, EVENTBUS_CLASS_NAME, EXT_COMP_CLASS_NAME, GEN_ADMINS, GEN_AUTH_DB, GEN_AUTH_DB_URI, GEN_COMP_CLASS, GEN_COMP_NAME, GEN_CONF, GEN_CONFIG, GEN_CONFIG_ALL, GEN_CONFIG_COMP, GEN_CONFIG_CS, GEN_CONFIG_DEF, GEN_CONFIG_SM, GEN_DEBUG, GEN_DEBUG_PACKAGES, GEN_EXT_COMP, GEN_MAX_QUEUE_SIZE, GEN_SCRIPT_DIR, GEN_SM_PLUGINS, GEN_SREC_ADMINS, GEN_SREC_DB, GEN_SREC_DB_URI, GEN_TEST, GEN_TRUSTED, GEN_USER_DB, GEN_USER_DB_URI, GEN_USER_DB_URI_PROP_KEY, GEN_VIRT_HOSTS, HOSTNAMES_PROP_KEY, LIBRESOURCE_REPO_CLASS_PROP_VAL, LIBRESOURCE_REPO_URL_PROP_VAL, MONITOR_CLASS_NAME, MONITOR_CLUST_CLASS_NAME, MONITORING, MYSQL_REPO_CLASS_PROP_VAL, MYSQL_REPO_URL_PROP_VAL, PGSQL_REPO_CLASS_PROP_VAL, PGSQL_REPO_URL_PROP_VAL, ROUTER_COMP_CLASS_NAME, S2S_CLUST_COMP_CLASS_NAME, S2S_COMP_CLASS_NAME, SHARED_AUTH_REPO_PARAMS_PROP_KEY, SHARED_AUTH_REPO_PROP_KEY, SHARED_USER_REPO_PARAMS_PROP_KEY, SHARED_USER_REPO_PROP_KEY, SM_CLUST_COMP_CLASS_NAME, SM_COMP_CLASS_NAME, STANZA_WHITE_CHAR_ACK, STANZA_XMPP_ACK, STATS_CLASS_NAME, STRINGPREP_PROCESSOR, TIGASE_AUTH_REPO_CLASS_PROP_VAL, TIGASE_AUTH_REPO_URL_PROP_VAL, TIGASE_CUSTOM_AUTH_REPO_CLASS_PROP_VAL, TRUSTED_PROP_KEY, USER_DOMAIN_POOL_CLASS, USER_REPO_DOMAINS_PROP_KEY, USER_REPO_PARAMS_NODE, USER_REPO_POOL_CLASS, USER_REPO_POOL_SIZE, USER_REPO_POOL_SIZE_PROP_KEY, USER_REPO_URL_PROP_KEY, VHOST_MAN_CLASS_NAME, VHOST_MAN_CLUST_CLASS_NAME, WS2S_CLASS_NAME, WS2S_CLUST_CLASS_NAME, XML_REPO_CLASS_PROP_VAL, XML_REPO_URL_PROP_VAL, XMPP_STANZA_ACK
      • Fields inherited from interface tigase.disco.XMPPService

        CMD_FEATURES, DEF_FEATURES, INFO_XMLNS, ITEMS_XMLNS
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void everyHour()  
      protected int[] getDefaultPorts()
      Returns array of default ports
      String getDiscoCategory()
      Returns disco category
      String getDiscoCategoryType()
      Returns disco category type
      String getDiscoDescription()
      Returns disco description
      protected tigase.xmpp.jid.JID getFirstClusterNode​(tigase.xmpp.jid.JID userJid)
      Returns first node of cluster
      Socks5Repository getSock5Repository()
      Return Socks5 repository
      void initialize()  
      void nodeConnected​(String node)
      Handle connection of other node of cluster
      void nodeDisconnected​(String node)
      Handle disconnection of other node of cluster
      void processPacket​(tigase.server.Packet packet)  
      protected boolean sendToNextNode​(tigase.server.Packet packet)
      Send to next node if there is any available
      protected boolean sendToNextNode​(tigase.xmpp.jid.JID fromNode, Set<tigase.xmpp.jid.JID> visitedNodes, Map<String,​String> data, tigase.server.Packet packet)
      Send to next node if there is any available
      boolean serviceStopped​(Socks5IOService<?> serv)
      Handle service after stopping
      void setClusterController​(tigase.cluster.api.ClusterControllerIfc cl_controller)  
      void socketDataProcessed​(Socks5IOService service)
      Process stream after each time data from socket is processed
      • Methods inherited from class tigase.server.AbstractMessageReceiver

        addOutPacket, addOutPacketNB, addOutPackets, addOutPacketWithTimeout, addOutPacketWithTimeout, addPacket, addPacketNB, addPackets, addRegexRouting, addTimerTask, addTimerTask, addTimerTask, addTimerTaskWithTimeout, addTimerTaskWithTimeout, beanConfigurationChanged, clearRegexRoutings, everySecond, getMaxQueueSize, getRegexRoutings, getResourceForPacketWithTimeout, hashCodeForPacket, isInRegexRoutings, newPacketId, processingInThreads, processingOutThreads, processOutPacket, processPacket, release, removeRegexRouting, schedulerThreads, setCompId, setIncomingFilters, setName, setOutogingFilters, setParent, setSchedulerThreads_size
      • Methods inherited from class tigase.server.BasicComponent

        addComponentDomain, canCallCommand, canCallCommand, checkCommandAcl, checkCommandAcl, createScriptEngineManager, getComponentId, getComponentInfo, getDefaults, getDefHostName, getDefVHostItem, getDiscoExtensionsForm, getDiscoFeatures, getDiscoFeatures, getDiscoInfo, getDiscoItems, getName, getNodesConnected, getNodesConnectedWithLocal, getScriptCommands, getScriptItems, getServiceEntity, getServiceEntityCaps, getVHostItem, handlesLocalDomains, handlesNameSubdomains, handlesNonLocalDomains, initBindings, isAdmin, isInitializationComplete, isLocalDomain, isLocalDomainOrComponent, isNonAdminCommands, isSubdomain, isTrusted, isTrusted, onNodeConnected, onNodeDisconnected, processScriptCommand, removeComponentDomain, removeServiceDiscoveryItem, setAdmins, setCommandsACL, setProperties, setScriptsBaseDir, setVHostManager, updateServiceDiscoveryItem, updateServiceDiscoveryItem, updateServiceDiscoveryItem, updateServiceEntity
      • Methods inherited from interface tigase.server.MessageReceiver

        getDefHostName
      • Methods inherited from interface tigase.server.ServerComponent

        getComponentId, getComponentInfo, getName, initializationCompleted, isInitializationComplete, processPacket, release, setName
      • Methods inherited from interface tigase.stats.StatisticsContainerIfc

        getName
    • Constructor Detail

      • Socks5ProxyComponent

        public Socks5ProxyComponent()
    • Method Detail

      • everyHour

        public void everyHour()
        Overrides:
        everyHour in class tigase.server.AbstractMessageReceiver
      • nodeConnected

        public void nodeConnected​(String node)
        Handle connection of other node of cluster
        Specified by:
        nodeConnected in interface tigase.cluster.api.ClusteredComponentIfc
        Overrides:
        nodeConnected in class tigase.server.BasicComponent
        Parameters:
        node -
      • nodeDisconnected

        public void nodeDisconnected​(String node)
        Handle disconnection of other node of cluster
        Specified by:
        nodeDisconnected in interface tigase.cluster.api.ClusteredComponentIfc
        Overrides:
        nodeDisconnected in class tigase.server.BasicComponent
        Parameters:
        node -
      • processPacket

        public void processPacket​(tigase.server.Packet packet)
        Specified by:
        processPacket in class tigase.server.AbstractMessageReceiver
      • getDiscoCategory

        public String getDiscoCategory()
        Returns disco category
        Overrides:
        getDiscoCategory in class tigase.server.BasicComponent
        Returns:
      • getDiscoCategoryType

        public String getDiscoCategoryType()
        Returns disco category type
        Overrides:
        getDiscoCategoryType in class tigase.server.BasicComponent
        Returns:
      • getDiscoDescription

        public String getDiscoDescription()
        Returns disco description
        Overrides:
        getDiscoDescription in class tigase.server.BasicComponent
        Returns:
      • getSock5Repository

        public Socks5Repository getSock5Repository()
        Return Socks5 repository
        Returns:
      • initialize

        public void initialize()
        Specified by:
        initialize in interface tigase.kernel.beans.Initializable
        Overrides:
        initialize in class tigase.server.BasicComponent
      • setClusterController

        public void setClusterController​(tigase.cluster.api.ClusterControllerIfc cl_controller)
        Specified by:
        setClusterController in interface tigase.cluster.api.ClusteredComponentIfc
        Overrides:
        setClusterController in class tigase.server.BasicComponent
      • sendToNextNode

        protected boolean sendToNextNode​(tigase.xmpp.jid.JID fromNode,
                                         Set<tigase.xmpp.jid.JID> visitedNodes,
                                         Map<String,​String> data,
                                         tigase.server.Packet packet)
                                  throws tigase.util.stringprep.TigaseStringprepException
        Send to next node if there is any available
        Parameters:
        fromNode -
        visitedNodes -
        data -
        packet -
        Returns:
        Throws:
        tigase.util.stringprep.TigaseStringprepException
      • sendToNextNode

        protected boolean sendToNextNode​(tigase.server.Packet packet)
        Send to next node if there is any available
        Parameters:
        packet -
        Returns:
      • getFirstClusterNode

        protected tigase.xmpp.jid.JID getFirstClusterNode​(tigase.xmpp.jid.JID userJid)
        Returns first node of cluster
        Parameters:
        userJid -
        Returns: