Esempio n. 1
0
 def connect(self, server=None, proxy=None, ssl=None, use_srv=None):
     """ Make a tcp/ip connection, protect it with tls/ssl if possible and start XMPP stream.
         Returns None or 'tcp' or 'tls', depending on the result."""
     if not server: server = (self.Server, self.Port)
     if proxy: sock = transports.HTTPPROXYsocket(proxy, server, use_srv)
     else: sock = transports.TCPsocket(server, use_srv)
     connected = sock.PlugIn(self)
     if not connected:
         sock.PlugOut()
         return
     self._Server, self._Proxy = server, proxy
     self.connected = 'tcp'
     if (ssl is None and self.Connection.getPort() in (5223, 443)) or ssl:
         try:  # FIXME. This should be done in transports.py
             transports.TLS().PlugIn(self, now=1)
             self.connected = 'ssl'
         except socket.sslerror:
             return
     dispatcher.Dispatcher().PlugIn(self)
     while self.Dispatcher.Stream._document_attrs is None:
         if not self.Process(1): return
     if self.Dispatcher.Stream._document_attrs.has_key(
             'version'
     ) and self.Dispatcher.Stream._document_attrs['version'] == '1.0':
         while not self.Dispatcher.Stream.features and self.Process(1):
             pass  # If we get version 1.0 stream the features tag MUST BE presented
     return self.connected
Esempio n. 2
0
 def connect(self, server=None, proxy=None):
     if not server: server = (self.Server, self.Port)
     if proxy:
         connected = transports.HTTPPROXYsocket(proxy, server).PlugIn(self)
     else:
         connected = transports.TCPsocket(server).PlugIn(self)
     if not connected: return
     self._Server, self._Proxy = server, proxy
     self.connected = 'tcp'
     if self.Connection.getPort() == 5223:
         transports.TLS().PlugIn(self, now=1)
         self.connected = 'tls'
     dispatcher.Dispatcher().PlugIn(self)
     while self.Dispatcher.Stream._document_attrs is None:
         self.Process(1)
     return self.connected