Author: glen                         Date: Sun Apr 15 10:56:00 2012 GMT
Module: packages                      Tag: HEAD
---- Log message:
- do not leak skyped listening socket to spawned skype process

---- Files affected:
packages/bitlbee:
   bitlbee.spec (1.14 -> 1.15) , skyped-FD_CLOEXEC.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: packages/bitlbee/bitlbee.spec
diff -u packages/bitlbee/bitlbee.spec:1.14 packages/bitlbee/bitlbee.spec:1.15
--- packages/bitlbee/bitlbee.spec:1.14  Sun Apr 15 11:35:29 2012
+++ packages/bitlbee/bitlbee.spec       Sun Apr 15 12:55:54 2012
@@ -10,7 +10,7 @@
 Summary(pl.UTF-8):     Bramka pomiędzy IRC-em i innymi sieciami komunikacyjnymi
 Name:          bitlbee
 Version:       3.0.5
-Release:       0.13
+Release:       0.16
 License:       GPL v2+ and MIT
 Group:         Daemons
 Source0:       http://get.bitlbee.org/src/%{name}-%{version}.tar.gz
@@ -18,6 +18,7 @@
 URL:           http://www.bitlbee.org/
 Patch0:                config.patch
 Patch1:                systemd.patch
+Patch2:                skyped-FD_CLOEXEC.patch
 BuildRequires: asciidoc
 BuildRequires: gnutls-devel
 %{?with_otr:BuildRequires:     libotr-devel >= 3.2.0}
@@ -30,9 +31,9 @@
 Requires(pre): /usr/bin/getgid
 Requires(pre): /usr/sbin/groupadd
 Requires(pre): /usr/sbin/useradd
+Requires:      systemd-units >= 37-0.10
 Provides:      group(bitlbee)
 Provides:      user(bitlbee)
-Requires:      systemd-units >= 37-0.10
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %description
@@ -78,6 +79,7 @@
 %setup -q
 %patch0 -p1
 %patch1 -p1
+%patch2 -p1
 
 # fix wrong assumption with $DESTDIR
 %{__sed} -i -e 's,$(shell id -u),0,' Makefile
@@ -180,6 +182,9 @@
 All persons listed below can be reached at <cvs_login>@pld-linux.org
 
 $Log$
+Revision 1.15  2012/04/15 10:55:54  glen
+- do not leak skyped listening socket to spawned skype process
+
 Revision 1.14  2012/04/15 09:35:29  glen
 - purple bcond, for completeness
 

================================================================
Index: packages/bitlbee/skyped-FD_CLOEXEC.patch
diff -u /dev/null packages/bitlbee/skyped-FD_CLOEXEC.patch:1.1
--- /dev/null   Sun Apr 15 12:56:00 2012
+++ packages/bitlbee/skyped-FD_CLOEXEC.patch    Sun Apr 15 12:55:54 2012
@@ -0,0 +1,32 @@
+set FD_CLOEXEC on listening socket
+
+Skype4Py uses os.execlp() to spawn skype if it is not yet started, this leaks
+our listening FD to skype process and can't get it back even if we ourself exit
+meanwhile.
+
+and we can't startup again:
+error: [Errno 98] Address already in use
+
+Signed-off-by: Elan Ruusamäe <[email protected]>
+Tested-by: Elan Ruusamäe <[email protected]>
+--- bitlbee-3.0.5/protocols/skype/skyped.py~   2012-04-15 12:42:34.110550155 
+0300
++++ bitlbee-3.0.5/protocols/skype/skyped.py    2012-04-15 13:50:51.089559368 
+0300
+@@ -31,6 +31,7 @@
+ import hashlib
+ from ConfigParser import ConfigParser, NoOptionError
+ from traceback import print_exception
++from fcntl import fcntl, F_SETFD, FD_CLOEXEC
+ import ssl
+ 
+ __version__ = "0.1.1"
+@@ -184,8 +185,10 @@
+       else:
+               sock = socket.socket()
+       sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
++      fcntl(sock, F_SETFD, FD_CLOEXEC);
+       sock.bind((host, port))
+       sock.listen(1)
++
+       if hasgobject:
+               gobject.io_add_watch(sock, gobject.IO_IN, listener)
+       else:
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/packages/bitlbee/bitlbee.spec?r1=1.14&r2=1.15

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to