[jabberpy/f16] 670881 - IPv6 support for jabberpy (cherry picked from commit 7805663d9e7ca6ba15b480c9cc5c1407f63056

Milan Zazrivec mzazrive at fedoraproject.org
Fri Sep 23 09:49:40 UTC 2011


commit b62691b39fd52899146cd0a3987a5c68ca5cac70
Author: Milan Zazrivec <mzazrivec at redhat.com>
Date:   Fri Sep 23 11:35:43 2011 +0200

    670881 - IPv6 support for jabberpy
    (cherry picked from commit 7805663d9e7ca6ba15b480c9cc5c1407f63056bb)

 jabberpy-ipv6.patch |   45 +++++++++++++++++++++++++++++++++++++++++++++
 jabberpy.spec       |    7 ++++++-
 2 files changed, 51 insertions(+), 1 deletions(-)
---
diff --git a/jabberpy-ipv6.patch b/jabberpy-ipv6.patch
new file mode 100644
index 0000000..7b3e122
--- /dev/null
+++ b/jabberpy-ipv6.patch
@@ -0,0 +1,45 @@
+--- jabber/xmlstream.py	2011-04-07 11:13:18.000000000 +0200
++++ jabber/xmlstream.py	2011-06-22 14:37:49.369669567 +0200
+@@ -458,13 +458,34 @@ 
+             self._setupComms()
+             return
+ 
+-        self._sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+-        try:
+-            if self._proxy: self._sock.connect((self._proxy['host'], self._proxy['port']))
+-            else: self._sock.connect((self._hostIP, self._port))
+-        except socket.error, e:
+-            self.DEBUG("socket error: "+str(e),DBG_CONN_ERROR)
+-            raise
++        if self._proxy:
++            results = socket.getaddrinfo(self._proxy['host'],
++                self._proxy['port'], socket.AF_UNSPEC, socket.SOCK_STREAM)
++        else:
++            results = socket.getaddrinfo(self._hostIP, self._port,
++                socket.AF_UNSPEC, socket.SOCK_STREAM)
++
++        for r in results:
++            af, socktype, proto, canonname, sa = r
++            try:
++                self._sock = socket.socket(af, socktype, proto)
++            except socket.error, msg:
++                self._sock = None
++                continue
++            try:
++                if self._proxy:
++                    self._sock.connect((self._proxy['host'], self._proxy['port']))
++                else:
++                    self._sock.connect((self._hostIP, self._port))
++            except socket.error, e:
++                self._sock.close()
++                self._sock = None
++                self.DEBUG("socket error: "+str(e),DBG_CONN_ERROR)
++                continue
++            break
++
++        if self._sock is None:
++            raise socket.error("Unable to connect to the host and port specified")
+ 
+         if self._connection == TCP_SSL:
+             try:
+
diff --git a/jabberpy.spec b/jabberpy.spec
index e22a96e..76742b5 100644
--- a/jabberpy.spec
+++ b/jabberpy.spec
@@ -2,7 +2,7 @@
 Name:          jabberpy
 Version:       0.5
 # Used like this because upstream releases like 0.5-0
-Release:       0.22%{?dist}
+Release:       0.23%{?dist}
 Summary:       Python xmlstream and jabber IM protocol libs
 
 Group:         Development/Libraries
@@ -11,6 +11,7 @@ URL:           http://sourceforge.net/projects/jabberpy/
 Source0:       http://downloads.sf.net/sourceforge/%{name}/%{name}-%{version}-0.tar.gz
 Patch0:        jabberpy-no-init.patch
 Patch1:        jabberpy-clean-sockets.patch
+Patch2:        jabberpy-ipv6.patch
 
 BuildRoot:     %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 BuildArch:     noarch
@@ -29,6 +30,7 @@ based applications with Python.
 chmod -x examples/*.py
 %patch0 -p1 -b .no-init
 %patch1 -p1 -b .clean-sockets
+%patch2 -p0 -b .ipv6
 
 %build
 %{__python} setup.py  build
@@ -47,6 +49,9 @@ rm -rf $RPM_BUILD_ROOT
 
 
 %changelog
+* Fri Sep 23 2011 Milan Zazrivec <mzazrivec at redhat.com> 0.5-0.23
+- 670881 - IPv6 support for jabberpy
+
 * Wed Feb 09 2011 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 0.5-0.22
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
 


More information about the scm-commits mailing list