diff --git a/SOURCES/pcsc-lite-1.8.8-no-hang-systemd.patch b/SOURCES/pcsc-lite-1.8.8-no-hang-systemd.patch new file mode 100644 index 0000000..2cc7be4 --- /dev/null +++ b/SOURCES/pcsc-lite-1.8.8-no-hang-systemd.patch @@ -0,0 +1,22 @@ +diff -up ./src/winscard_clnt.c.no-hang ./src/winscard_clnt.c +--- ./src/winscard_clnt.c.no-hang 2012-08-25 07:29:44.000000000 -0700 ++++ ./src/winscard_clnt.c 2017-10-30 17:54:07.275158662 -0700 +@@ -124,6 +124,8 @@ static char sharing_shall_block = TRUE; + #define COLOR_MAGENTA "\33[35m" + #define COLOR_NORMAL "\33[0m" + ++#define TIMEOUT_TIME 3 /* time to wait for an answer to the server on first connection (in seconds) */ ++ + #ifdef DO_TRACE + + #include +@@ -558,7 +560,8 @@ static LONG SCardEstablishContextTH(DWOR + return rv; + + /* Read a message from the server */ +- rv = MessageReceive(&veStr, sizeof(veStr), dwClientID); ++ rv = MessageReceiveTimeout(CMD_VERSION, &veStr, sizeof(veStr), ++ dwClientID, TIMEOUT_TIME*1000L); + if (rv != SCARD_S_SUCCESS) + { + Log1(PCSC_LOG_CRITICAL, diff --git a/SPECS/pcsc-lite.spec b/SPECS/pcsc-lite.spec index 0b818b7..709a885 100644 --- a/SPECS/pcsc-lite.spec +++ b/SPECS/pcsc-lite.spec @@ -2,7 +2,7 @@ Name: pcsc-lite Version: 1.8.8 -Release: 6%{?dist} +Release: 7%{?dist} Summary: PC/SC Lite smart card framework and applications Group: System Environment/Daemons @@ -11,10 +11,11 @@ URL: http://pcsclite.alioth.debian.org/ Source0: http://alioth.debian.org/download.php/%{upstream_build}/%{name}-%{version}.tar.bz2 Patch1: pcsc-lite-1.8.8-man-update.patch Patch2: pcsc-lite-1.8.8-maxreaders.patch +Patch3: pcsc-lite-1.8.8-no-hang-systemd.patch BuildRequires: doxygen BuildRequires: graphviz -BuildRequires: systemd-devel +BuildRequires: systemd-devel >= 187 BuildRequires: /usr/bin/pod2man Requires(post): systemd @@ -61,6 +62,7 @@ Requires: %{name}-libs = %{version}-%{release} %setup -q %patch1 -p 0 -b .man-update %patch2 -p 0 -b .maxreaders +%patch3 -p 1 -b .no-hand-systemd # Convert to utf-8 for file in ChangeLog; do @@ -137,6 +139,10 @@ rm $RPM_BUILD_ROOT%{_docdir}/pcsc-lite/README.DAEMON %changelog +* Mon Oct 30 2017 Robert Relyea - 1.8.8-7 +- Don't hang if the daemon is blocked by systemd +- Make sure we have a new enough systemd-devel to have the udev headers + * Mon Jul 6 2015 Robert Relyea - 1.8.8-6 - Increase the number of supported readers