rpms/voms/EL-4 voms-thread.patch, NONE, 1.1 import.log, 1.5, 1.6 voms.spec, 1.5, 1.6
Mattias Ellert
ellert at fedoraproject.org
Wed Mar 31 17:16:39 UTC 2010
Author: ellert
Update of /cvs/pkgs/rpms/voms/EL-4
In directory cvs01.phx2.fedoraproject.org:/tmp/cvs-serv6037/EL-4
Modified Files:
import.log voms.spec
Added Files:
voms-thread.patch
Log Message:
* Sun Mar 28 2010 Mattias Ellert <mattias.ellert at fysast.uu.se> - 1.9.16.1-2
- Add mutex lock for accessing private data
voms-thread.patch:
api_util.cc | 3 +++
voms_api.cc | 8 +++++++-
2 files changed, 10 insertions(+), 1 deletion(-)
--- NEW FILE voms-thread.patch ---
diff -ur voms-1.9.16.1.orig/src/api/ccapi/api_util.cc voms-1.9.16.1/src/api/ccapi/api_util.cc
--- voms-1.9.16.1.orig/src/api/ccapi/api_util.cc 2010-03-02 17:23:43.000000000 +0100
+++ voms-1.9.16.1/src/api/ccapi/api_util.cc 2010-03-28 10:16:11.177514044 +0200
@@ -59,6 +59,7 @@
static bool readdn(std::ifstream &file, char *buffer, int buflen);
extern std::map<vomsdata*, vomsspace::internal*> privatedata;
+extern pthread_mutex_t privatelock;
static void normalize(std::string &name)
{
@@ -836,7 +837,9 @@
STACK_OF(X509) *cert_chain = NULL;
EVP_PKEY *upkey = NULL;
+ pthread_mutex_lock(&privatelock);
vomsspace::internal *data = privatedata[this];
+ pthread_mutex_unlock(&privatelock);
ucert = data->cert;
cert_chain = data->chain;
diff -ur voms-1.9.16.1.orig/src/api/ccapi/voms_api.cc voms-1.9.16.1/src/api/ccapi/voms_api.cc
--- voms-1.9.16.1.orig/src/api/ccapi/voms_api.cc 2009-10-06 14:14:30.000000000 +0200
+++ voms-1.9.16.1/src/api/ccapi/voms_api.cc 2010-03-28 10:15:37.537514555 +0200
@@ -80,7 +80,7 @@
extern int AC_Init(void);
std::map<vomsdata*, vomsspace::internal*> privatedata;
-
+pthread_mutex_t privatelock = PTHREAD_MUTEX_INITIALIZER;
vomsdata::Initializer::Initializer(Initializer &) {}
vomsdata::Initializer::Initializer()
@@ -171,14 +171,18 @@
duration = 0;
vomsspace::internal *data = new vomsspace::internal();
+ pthread_mutex_lock(&privatelock);
privatedata[this] = data;
+ pthread_mutex_unlock(&privatelock);
}
vomsdata::~vomsdata()
{
+ pthread_mutex_lock(&privatelock);
vomsspace::internal *data = privatedata[this];
(void)privatedata.erase(this);
+ pthread_mutex_unlock(&privatelock);
delete data;
}
@@ -915,7 +919,9 @@
STACK_OF(X509) *cert_chain = NULL;
EVP_PKEY *upkey = NULL;
+ pthread_mutex_lock(&privatelock);
vomsspace::internal *data = privatedata[this];
+ pthread_mutex_unlock(&privatelock);
/* The condition below should never be true. */
if (!data)
Index: import.log
===================================================================
RCS file: /cvs/pkgs/rpms/voms/EL-4/import.log,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -p -r1.5 -r1.6
--- import.log 20 Mar 2010 14:35:17 -0000 1.5
+++ import.log 31 Mar 2010 17:16:38 -0000 1.6
@@ -3,3 +3,4 @@ voms-1_9_12_1-1_el5:EL-4:voms-1.9.12.1-1
voms-1_9_14_2-1_el5:EL-4:voms-1.9.14.2-1.el5.src.rpm:1256141012
voms-1_9_14_3-1_el5:EL-4:voms-1.9.14.3-1.el5.src.rpm:1262268862
voms-1_9_16_1-1_el5:EL-4:voms-1.9.16.1-1.el5.src.rpm:1269095696
+voms-1_9_16_1-2_el5:EL-4:voms-1.9.16.1-2.el5.src.rpm:1270055761
Index: voms.spec
===================================================================
RCS file: /cvs/pkgs/rpms/voms/EL-4/voms.spec,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -p -r1.5 -r1.6
--- voms.spec 20 Mar 2010 14:35:18 -0000 1.5
+++ voms.spec 31 Mar 2010 17:16:38 -0000 1.6
@@ -1,6 +1,6 @@
Name: voms
Version: 1.9.16.1
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: Virtual Organization Membership Service
Group: System Environment/Libraries
@@ -68,6 +68,9 @@ Patch16: %{name}-deps.patch
# Fix uninitialized variable in voms-proxy-init
# https://savannah.cern.ch/bugs/?64632
Patch17: %{name}-db-method.patch
+# Add mutex lock for accessing private data
+# https://savannah.cern.ch/bugs/?65129
+Patch18: %{name}-thread.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: globus-gssapi-gsi-devel%{?_isa}
@@ -178,6 +181,7 @@ administrate it remotely using command l
%patch15 -p1
%patch16 -p1
%patch17 -p1
+%patch18 -p1
# Fix bad permissions (which otherwise end up in the debuginfo package)
find . '(' -name '*.h' -o -name '*.c' -o -name '*.cpp' -o \
@@ -369,6 +373,9 @@ fi
%doc INSTALL.Fedora
%changelog
+* Sun Mar 28 2010 Mattias Ellert <mattias.ellert at fysast.uu.se> - 1.9.16.1-2
+- Add mutex lock for accessing private data
+
* Fri Mar 19 2010 Mattias Ellert <mattias.ellert at fysast.uu.se> - 1.9.16.1-1
- Upstream 1.9.16.1 (CVS tag glite-security-voms_R_1_9_16_1)
- Fix uninitialized variable in voms-proxy-init
More information about the scm-commits
mailing list