Package tigase.socks5

Class Socks5ProxyComponent

java.lang.Object
tigase.server.BasicComponent
tigase.server.AbstractMessageReceiver
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
  • Nested Class Summary

    Nested classes/interfaces inherited from class tigase.server.BasicComponent

    tigase.server.BasicComponent.ServerInfoVHostItemExtension

    Nested classes/interfaces inherited from interface tigase.server.PacketWriterWithTimeout

    tigase.server.PacketWriterWithTimeout.Handler
  • 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
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
     
    protected int[]
    Returns array of default ports
    Returns disco category
    Returns disco category type
    Returns disco description
    protected tigase.xmpp.jid.JID
    getFirstClusterNode(tigase.xmpp.jid.JID userJid)
    Returns first node of cluster
    Return Socks5 repository
    void
     
    void
    Handle connection of other node of cluster
    void
    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
    Handle service after stopping
    void
    setClusterController(tigase.cluster.api.ClusterControllerIfc cl_controller)
     
    void
    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 class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    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 Details

    • Socks5ProxyComponent

      public Socks5ProxyComponent()
  • Method Details

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

      public boolean serviceStopped(Socks5IOService<?> serv)
      Description copied from class: AbstractConnectionManager
      Handle service after stopping
      Specified by:
      serviceStopped in interface tigase.net.IOServiceListener<Socks5IOService<?>>
      Overrides:
      serviceStopped in class Socks5ConnectionManager
    • socketDataProcessed

      public void socketDataProcessed(Socks5IOService service)
      Description copied from class: Socks5ConnectionManager
      Process stream after each time data from socket is processed
      Overrides:
      socketDataProcessed in class Socks5ConnectionManager
      Parameters:
      service - is a Socks5IOService
    • 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:
    • getDefaultPorts

      protected int[] getDefaultPorts()
      Returns array of default ports
      Specified by:
      getDefaultPorts in class AbstractConnectionManager<Socks5IOService<?>>
      Returns:
    • getFirstClusterNode

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