packages: bitlbee/bitlbee.spec, bitlbee/skyped-FD_CLOEXEC.patch (NEW)=?UTF-8?Q?=20?=- do ...

glen glen at pld-linux.org
Sun Apr 15 12:56:00 CEST 2012


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 <glen at delfi.ee>
+Tested-by: Elan Ruusamäe <glen at delfi.ee>
+--- 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



More information about the pld-cvs-commit mailing list