- upstream patches to avoid calling netstat for random data
This commit is contained in:
parent
4746ec66a3
commit
eded0595cb
64
nss-unix_rand.patch
Normal file
64
nss-unix_rand.patch
Normal file
@ -0,0 +1,64 @@
|
||||
Index: mozilla/security/nss/lib/freebl/unix_rand.c
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/security/nss/lib/freebl/unix_rand.c,v
|
||||
retrieving revision 1.25
|
||||
retrieving revision 1.28
|
||||
diff -u -r1.25 -r1.28
|
||||
--- mozilla/security/nss/lib/freebl/unix_rand.c 25 Jul 2007 22:54:35 -0000 1.25
|
||||
+++ mozilla/security/nss/lib/freebl/unix_rand.c 3 Dec 2007 21:07:01 -0000 1.28
|
||||
@@ -866,7 +866,8 @@
|
||||
/* if the child hasn't exited, kill it -- we're done with its output */
|
||||
while ((rv = waitpid(pid, &status, WNOHANG)) == -1 && errno == EINTR)
|
||||
;
|
||||
- if (rv == 0 && kill(pid, SIGKILL) == 0) {
|
||||
+ if (rv == 0) {
|
||||
+ kill(pid, SIGKILL);
|
||||
while ((rv = waitpid(pid, &status, 0)) == -1 && errno == EINTR)
|
||||
;
|
||||
}
|
||||
@@ -921,15 +922,6 @@
|
||||
};
|
||||
#endif
|
||||
|
||||
-#ifdef DO_PS
|
||||
-For now it is considered that it is too expensive to run the ps command
|
||||
-for the small amount of entropy it provides.
|
||||
-#if defined(__sun) && (!defined(__svr4) && !defined(SVR4)) || defined(bsdi) || defined(LINUX)
|
||||
- static char ps_cmd[] = "ps aux";
|
||||
-#else
|
||||
- static char ps_cmd[] = "ps -el";
|
||||
-#endif
|
||||
-#endif /* DO_PS */
|
||||
#if defined(BSDI)
|
||||
static char netstat_ni_cmd[] = "netstat -nis";
|
||||
#else
|
||||
@@ -980,9 +972,12 @@
|
||||
* in a pthreads environment. Therefore, we call safe_popen last and on
|
||||
* BSD/OS we do not call safe_popen when we succeeded in getting data
|
||||
* from /dev/urandom.
|
||||
+ *
|
||||
+ * Bug 174993: LINUX provides /dev/urandom, don't fork netstat
|
||||
+ * if data has been gathered successfully
|
||||
*/
|
||||
|
||||
-#ifdef BSDI
|
||||
+#if defined(BSDI) || defined(LINUX)
|
||||
if (bytes)
|
||||
return;
|
||||
#endif
|
||||
@@ -1010,15 +1005,6 @@
|
||||
}
|
||||
#endif
|
||||
|
||||
-#ifdef DO_PS
|
||||
- fp = safe_popen(ps_cmd);
|
||||
- if (fp != NULL) {
|
||||
- while ((bytes = fread(buf, 1, sizeof(buf), fp)) > 0)
|
||||
- RNG_RandomUpdate(buf, bytes);
|
||||
- safe_pclose(fp);
|
||||
- }
|
||||
-#endif
|
||||
-
|
||||
#ifdef DO_NETSTAT
|
||||
fp = safe_popen(netstat_ni_cmd);
|
||||
if (fp != NULL) {
|
7
nss.spec
7
nss.spec
@ -4,7 +4,7 @@
|
||||
Summary: Network Security Services
|
||||
Name: nss
|
||||
Version: 3.11.99.2
|
||||
Release: 1%{?dist}
|
||||
Release: 2%{?dist}
|
||||
License: MPLv1.1 or GPLv2+ or LGPLv2+
|
||||
URL: http://www.mozilla.org/projects/security/pki/nss/
|
||||
Group: System Environment/Libraries
|
||||
@ -30,6 +30,7 @@ Source12: %{name}-pem.tar.gz
|
||||
|
||||
Patch1: nss-no-rpath.patch
|
||||
Patch2: nss-nolocalsql.patch
|
||||
Patch3: nss-unix_rand.patch
|
||||
Patch6: nss-enable-pem.patch
|
||||
Patch7: nss-create-obj.patch
|
||||
|
||||
@ -86,6 +87,7 @@ low level services.
|
||||
|
||||
%patch1 -p0
|
||||
%patch2 -p0
|
||||
%patch3 -p0
|
||||
%patch6 -p0 -b .libpem
|
||||
%patch7 -p0 -b .create-obj
|
||||
|
||||
@ -386,6 +388,9 @@ done
|
||||
|
||||
|
||||
%changelog
|
||||
* Mon Dec 03 2007 Kai Engert <kengert@redhat.com> - 3.11.99.2-2
|
||||
- upstream patches to avoid calling netstat for random data
|
||||
|
||||
* Wed Nov 07 2007 Kai Engert <kengert@redhat.com> - 3.11.99.2-1
|
||||
- NSS 3.12 alpha 2
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user