Changeset 7535

Show
Ignore:
Timestamp:
11/25/06 12:50:31 (2 years ago)
Author:
asterix
Message:

[sgala] IPV6 support for connection fith server. see #1969

Location:
trunk
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • trunk/ChangeLog

    r7458 r7535  
    1 Gajim 0.11 (XX October 2006) 
     1Gajim 0.11 (XX December 2006) 
    22  * New build system, using GNU autotools. See README.html 
    33  * Support for link-local messaging via Zeroconf using Avahi (XEP-0174) 
    44  * Automatically connect and disconnect to accounts according to network availability (if Network Manager is present) 
    5   * GNOME Keyring Support (if GNOME keyring is available, manage passwords and save them in an encrypted file). 
     5  * IPV6 support to connect to server 
     6  * GNOME Keyring Support (if GNOME keyring is available, manage passwords and save them in an encrypted file) 
    67  * Introducing View Menu (GNOME HIG) 
    78  * Ability to now hide the Transports group 
     
    3435  * New translations: Croatian, Esperanto 
    3536 
    36   * FIXME : Ad-Hoc for 0.11 ?  
    37   * FIXME : does that work ? not tested : Metacontacts across accounts (#1596) 
     37  * Ad-Hoc commands 
     38  * Metacontacts across accounts (#1596) 
    3839  * Gajim now requires Python 2.4 to run 
    3940 
  • trunk/src/common/xmpp/transports_nb.py

    r7443 r7535  
    107107                self.state = 0 
    108108                try: 
    109                         self._sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
    110                         self._sock.setblocking(False) 
     109                        for ai in socket.getaddrinfo(server[0],server[1],socket.AF_UNSPEC,socket.SOCK_STREAM): 
     110                                try: 
     111                                        self._sock=socket.socket(*ai[:3]) 
     112                                        self._sock.setblocking(False) 
     113                                        self._server=ai[4] 
     114                                        break 
     115                                except: 
     116                                        if sys.exc_value[0] == errno.EINPROGRESS: 
     117                                                break 
     118                                        #for all errors, we try other addresses 
     119                                        continue 
    111120                except: 
    112121                        sys.exc_clear() 
  • trunk/src/common/xmpp/transports.py

    r5207 r7535  
    9696        """ Try to connect. Returns non-empty string on success. """ 
    9797        try: 
    98             if not server: server=self._server 
    99             self._sock=socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
    100             self._sock.connect(server) 
    101             self._send=self._sock.sendall 
    102             self._recv=self._sock.recv 
    103             self.DEBUG("Successfully connected to remote host %s"%`server`,'start') 
    104             return 'ok' 
     98            if not server: 
     99                server=self._server 
     100            for ai in socket.getaddrinfo(server[0],server[1],socket.AF_UNSPEC,socket.SOCK_STREAM): 
     101                try: 
     102                    self._sock=socket.socket(*ai[:3]) 
     103                    self._sock.connect(ai[4]) 
     104                    self._send=self._sock.sendall 
     105                    self._recv=self._sock.recv 
     106                    self.DEBUG("Successfully connected to remote host %s"%`server`,'start') 
     107                    return 'ok' 
     108                except: continue 
    105109        except: pass 
    106110