Ejemplo n.º 1
0
 def __init__(self,user,password,resource):
     """ Caches username, password and resource for auth. """
     PlugIn.__init__(self)
     self.DBG_LINE='gen_auth'
     self.user=user
     self.password=password
     self.resource=resource
Ejemplo n.º 2
0
 def __init__(self):
     PlugIn.__init__(self)
     DBG_LINE = "dispatcher"
     self.handlers = {}
     self._expected = {}
     self._defaultHandler = None
     self._pendingExceptions = []
     self._eventHandler = None
     self._cycleHandlers = []
     self._exported_methods = [
         self.Process,
         self.RegisterHandler,
         self.RegisterDefaultHandler,
         self.RegisterEventHandler,
         self.UnregisterCycleHandler,
         self.RegisterCycleHandler,
         self.RegisterHandlerOnce,
         self.UnregisterHandler,
         self.RegisterProtocol,
         self.WaitForResponse,
         self.SendAndWaitForResponse,
         self.send,
         self.disconnect,
         self.SendAndCallForResponse,
     ]
Ejemplo n.º 3
0
 def __init__(self, browser):
     """Initialises class and sets up local variables"""
     PlugIn.__init__(self)
     DBG_LINE='commands'
     self._exported_methods=[]
     self._handlers={'':{}}
     self._browser = browser
Ejemplo n.º 4
0
 def __init__(self, endpoint, server=None, port=None, use_srv=True, wait=80,
         hold=4, requests=5, headers=None, PIPELINE=True, GZIP=True):
     PlugIn.__init__(self)
     self.DBG_LINE = 'bosh'
     self._exported_methods = [
         self.send, self.receive, self.disconnect,
     ]
     url = urlparse(endpoint)
     self._http_host = url.hostname
     self._http_path = url.path
     if url.port:
         self._http_port = url.port
     elif url.scheme == 'https':
         self._http_port = 443
     else:
         self._http_port = 80
     self._http_proto = url.scheme
     self._server = server
     self._port = port
     self.use_srv = use_srv
     self.Sid = None
     self._rid = 0
     self.wait = wait
     self.hold = hold
     self.requests = requests
     self._pipeline = None
     self.PIPELINE = PIPELINE
     if self.PIPELINE:
         self._respobjs = []
     else:
         self._respobjs = {}
     self.headers = headers or self.default_headers
     self.GZIP = GZIP
Ejemplo n.º 5
0
 def __init__(self):
     """ Init internal variables. """
     PlugIn.__init__(self)
     self.DBG_LINE = 'roster'
     self._data = {}
     self.set = None
     self._exported_methods = [self.getRoster]
Ejemplo n.º 6
0
 def __init__(self, browser):
     """Initialises class and sets up local variables"""
     PlugIn.__init__(self)
     DBG_LINE = 'commands'
     self._exported_methods = []
     self._handlers = {'': {}}
     self._browser = browser
Ejemplo n.º 7
0
 def __init__(self):
     """ Init internal variables. """
     PlugIn.__init__(self)
     self.DBG_LINE='roster'
     self._data = {}
     self.set=None
     self._exported_methods=[self.getRoster]
Ejemplo n.º 8
0
	def __init__(self, user, password, resource, on_auth):
		''' Caches username, password and resource for auth. '''
		PlugIn.__init__(self)
		self.DBG_LINE ='gen_auth'
		self.user = user
		self.password= password
		self.resource = resource
		self.on_auth = on_auth
Ejemplo n.º 9
0
    def __init__(self, server=None, use_srv=True):
        """ Cache connection point 'server'. 'server' is the tuple of (host, port)
            absolutely the same as standard tcp socket uses. """
        PlugIn.__init__(self)
        self.DBG_LINE = 'socket'
        self._exported_methods = [self.send, self.disconnect]

        self._server = server
Ejemplo n.º 10
0
    def __init__(self, server=None, use_srv=True):
        """ Cache connection point 'server'. 'server' is the tuple of (host, port)
            absolutely the same as standard tcp socket uses. """
        PlugIn.__init__(self)
        self.DBG_LINE='socket'
        self._exported_methods=[self.send,self.disconnect]

        self._server = server
Ejemplo n.º 11
0
 def __init__(self,jid=''):
     """Set up the class"""
     PlugIn.__init__(self)
     DBG_LINE='command'
     self.sessioncount = 0
     self.sessions = {}
     # Disco information for command list pre-formatted as a tuple
     self.discoinfo = {'ids':[{'category':'automation','type':'command-node','name':self.description}],'features': self.discofeatures}
     self._jid = jid
Ejemplo n.º 12
0
 def __init__(self,jid=''):
     """Set up the class"""
     PlugIn.__init__(self)
     DBG_LINE='command'
     self.sessioncount = 0
     self.sessions = {}
     # Disco information for command list pre-formatted as a tuple
     self.discoinfo = {'ids':[{'category':'automation','type':'command-node','name':self.description}],'features': self.discofeatures}
     self._jid = jid
Ejemplo n.º 13
0
 def __init__(self, server=None, use_srv=True):
     """ Cache connection point 'server'. 'server' is the tuple of (host, port)
         absolutely the same as standard tcp socket uses. However library will lookup for 
         ('_xmpp-client._tcp.' + host) SRV record in DNS and connect to the found (if it is)
         server instead
     """
     PlugIn.__init__(self)
     self.DBG_LINE = 'socket'
     self._exported_methods = [self.send, self.disconnect]
     self._server, self.use_srv = server, use_srv
Ejemplo n.º 14
0
 def __init__(self, server=None, use_srv=True):
     """ Cache connection point 'server'. 'server' is the tuple of (host, port)
         absolutely the same as standard tcp socket uses. However library will lookup for
         ('_xmpp-client._tcp.' + host) SRV record in DNS and connect to the found (if it is)
         server instead
     """
     PlugIn.__init__(self)
     self.DBG_LINE='socket'
     self._exported_methods=[self.send,self.disconnect]
     self._server, self.use_srv = server, use_srv
Ejemplo n.º 15
0
 def __init__(self, jid=""):
     """Set up the class"""
     PlugIn.__init__(self)
     DBG_LINE = "command"
     self.sessioncount = 0
     self.sessions = {}
     # Disco information for command list pre-formatted as a tuple
     self.discoinfo = {
         "ids": [{"category": "automation", "type": "command-node", "name": self.description}],
         "features": self.discofeatures,
     }
     self._jid = jid
Ejemplo n.º 16
0
 def __init__(self):
     PlugIn.__init__(self)
     DBG_LINE='dispatcher'
     self.handlers={}
     self._expected={}
     self._defaultHandler=None
     self._eventHandler=None
     self._cycleHandlers=[]
     self._exported_methods=[self.Process,self.RegisterHandler,self.RegisterDefaultHandler,\
     self.RegisterEventHandler,self.UnregisterCycleHandler,self.RegisterCycleHandler,\
     self.RegisterHandlerOnce,self.UnregisterHandler,self.RegisterProtocol,\
     self.WaitForResponse,self.SendAndWaitForResponse,self.send,self.disconnect]
Ejemplo n.º 17
0
 def __init__(self,
              endpoint,
              server=None,
              port=None,
              use_srv=True,
              wait=80,
              hold=4,
              requests=5,
              headers=None,
              PIPELINE=True,
              GZIP=True):
     PlugIn.__init__(self)
     self.DBG_LINE = 'bosh'
     self._exported_methods = [
         self.send,
         self.receive,
         self.disconnect,
     ]
     url = urlparse(endpoint)
     self._http_host = url.hostname
     self._http_path = url.path
     if url.port:
         self._http_port = url.port
     elif url.scheme == 'https':
         self._http_port = 443
     else:
         self._http_port = 80
     self._http_proto = url.scheme
     self._server = server
     self._port = port
     self.use_srv = use_srv
     self.Sid = None
     self._rid = 0
     self.wait = 80
     self.hold = hold
     self.requests = requests
     self._pipeline = None
     self.PIPELINE = PIPELINE
     if self.PIPELINE:
         self._respobjs = []
     else:
         self._respobjs = {}
     self.headers = headers or self.default_headers
     self.GZIP = GZIP
Ejemplo n.º 18
0
	def __init__(self, on_connect = None, on_connect_failure = None, server=None, use_srv = True):
		''' Cache connection point 'server'. 'server' is the tuple of (host, port)
			absolutely the same as standard tcp socket uses. 
			on_connect - called when we connect to the socket
			on_connect_failure  - called if there was error connecting to socket
			'''
		IdleObject.__init__(self)
		PlugIn.__init__(self)
		self.DBG_LINE='socket'
		self._exported_methods=[self.send, self.disconnect, self.onreceive, self.set_send_timeout, 
			self.start_disconnect, self.set_timeout, self.remove_timeout]
		self._server = server
		self.on_connect  = on_connect
		self.on_connect_failure = on_connect_failure
		self.on_receive = None
		self.on_disconnect = None
		self.printed_error = False
		
		#  0 - not connected
		#  1 - connected
		# -1 - about to disconnect (when we wait for final events to complete)
		# -2 - disconnected
		self.state = 0
		
		# queue with messages to be send 
		self.sendqueue = []
		
		# bytes remained from the last send message
		self.sendbuff = ''
		
		# time to wait for SOME stanza to come and then send keepalive
		self.sendtimeout = 0
		
		# in case we want to something different than sending keepalives
		self.on_timeout = None
		
		# writable, readable  -  keep state of the last pluged flags
		# This prevents replug of same object with the same flags
		self.writable = True
		self.readable = False
		self.ais = None
Ejemplo n.º 19
0
    def __init__(self, server=None, use_srv=True):
        """ Cache connection point 'server'. 'server' is the tuple of (host, port)
            absolutely the same as standard tcp socket uses. """
        PlugIn.__init__(self)
        self.DBG_LINE = 'socket'
        self._exported_methods = [self.send, self.disconnect]

        # SRV resolver
        if use_srv and (HAVE_DNSPYTHON or HAVE_PYDNS):
            host, port = server
            possible_queries = ['_xmpp-client._tcp.' + host]

            for query in possible_queries:
                try:
                    if HAVE_DNSPYTHON:
                        answers = [x for x in dns.resolver.query(query, 'SRV')]
                        if answers:
                            host = str(answers[0].target)
                            port = int(answers[0].port)
                            break
                    elif HAVE_PYDNS:
                        # ensure we haven't cached an old configuration
                        DNS.ParseResolvConf()
                        response = DNS.Request().req(query, qtype='SRV')
                        answers = response.answers
                        if len(answers) > 0:
                            # ignore the priority and weight for now
                            _, _, port, host = answers[0]['data']
                            del _
                            port = int(port)
                            break
                except:
                    #TODO: use self.DEBUG()
                    print 'An error occurred while looking up %s' % query
            server = (host, port)
        # end of SRV resolver

        self._server = server
Ejemplo n.º 20
0
    def __init__(self, server=None, use_srv=True):
        """ Cache connection point 'server'. 'server' is the tuple of (host, port)
            absolutely the same as standard tcp socket uses. """
        PlugIn.__init__(self)
        self.DBG_LINE='socket'
        self._exported_methods=[self.send,self.disconnect]

        # SRV resolver
        if use_srv and (HAVE_DNSPYTHON or HAVE_PYDNS):
            host, port = server
            possible_queries = ['_xmpp-client._tcp.' + host]

            for query in possible_queries:
                try:
                    if HAVE_DNSPYTHON:
                        answers = [x for x in dns.resolver.query(query, 'SRV')]
                        if answers:
                            host = str(answers[0].target)
                            port = int(answers[0].port)
                            break
                    elif HAVE_PYDNS:
                        # ensure we haven't cached an old configuration
                        DNS.ParseResolvConf()
                        response = DNS.Request().req(query, qtype='SRV')
                        answers = response.answers
                        if len(answers) > 0:
                            # ignore the priority and weight for now
                            _, _, port, host = answers[0]['data']
                            del _
                            port = int(port)
                            break
                except:
                    #TODO: use self.DEBUG()
                    print 'An error occurred while looking up %s' % query
            server = (host, port)
        # end of SRV resolver

        self._server = server
Ejemplo n.º 21
0
 def __init__(self, server=None):
     PlugIn.__init__(self)
     self.DBG_LINE='socket'
     self._exported_methods=[self.send,self.disconnect]
     self._server = server
Ejemplo n.º 22
0
 def __init__(self):
     PlugIn.__init__(self)
     self.DBG_LINE = 'roster'
     self._data = {}
     self.set = None
     self._exported_methods = [self.getRoster]
Ejemplo n.º 23
0
 def __init__(self):
     """Initialises internal variables. Used internally."""
     PlugIn.__init__(self)
     DBG_LINE = 'browser'
     self._exported_methods = []
     self._handlers = {'': {}}
Ejemplo n.º 24
0
 def __init__(self, username, password):
     PlugIn.__init__(self)
     self.DBG_LINE = 'SASL_auth'
     self.username = username
     self.password = password
     self.startsasl = None
Ejemplo n.º 25
0
 def __init__(self):
     """Initialises internal variables. Used internally."""
     PlugIn.__init__(self)
     DBG_LINE='browser'
     self._exported_methods=[]
     self._handlers={'':{}}
Ejemplo n.º 26
0
 def __init__(self, user, password, resource):
     PlugIn.__init__(self)
     self.DBG_LINE = "gen_auth"
     self.user = user
     self.password = password
     self.resource = resource
Ejemplo n.º 27
0
 def __init__(self, server=None):
     PlugIn.__init__(self)
     self.DBG_LINE = 'socket'
     self._exported_methods = [self.send, self.disconnect]
     self._server = server
Ejemplo n.º 28
0
 def __init__(self,username,password):
     PlugIn.__init__(self)
     self.username=username
     self.password=password
Ejemplo n.º 29
0
 def __init__(self, username, password):
     PlugIn.__init__(self)
     self.DBG_LINE = "SASL_auth"
     self.username = username
     self.password = password
     self.startsasl = None
Ejemplo n.º 30
0
 def __init__(self, sasl):
     PlugIn.__init__(self)
     self.DBG_LINE='bind'
     self.bound=None
     self.needsUnregister=None
     self.sasl = sasl
Ejemplo n.º 31
0
 def __init__(self):
     PlugIn.__init__(self)
     self.DBG_LINE='bind'
     self.bound=None
Ejemplo n.º 32
0
	def __init__(self,username,password, on_sasl):
		PlugIn.__init__(self)
		self.username=username
		self.password=password
		self.on_sasl = on_sasl
		self.realm = None
Ejemplo n.º 33
0
 def __init__(self,user,password,resource):
     PlugIn.__init__(self)
     self.DBG_LINE='gen_auth'
     self.user=user
     self.password=password
     self.resource=resource
Ejemplo n.º 34
0
 def __init__(self):
     PlugIn.__init__(self)
     DBG_LINE = 'browser'
     self._exported_methods = []
     self._handlers = {'': {}}
Ejemplo n.º 35
0
 def __init__(self):
     PlugIn.__init__(self)
     self.DBG_LINE='roster'
     self._data = {}
     self.set=None
     self._exported_methods=[self.getRoster]