From 1f1cec28b79d1bf2702f2db1917c1622d99db926 Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Fri, 19 Jul 2019 00:34:09 -0700 Subject: [PATCH] nss: Replace usleep with nanosleep usleep is deprecated and is optionally not available with uClibc-ng. Added PKG_LICENSE_FILES. Added PKG_CPE_ID for proper CVE tracking. Other minor cleanups. Signed-off-by: Rosen Penev --- libs/nss/Makefile | 11 ++++++---- libs/nss/patches/010-nanosleep.patch | 33 ++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+), 4 deletions(-) create mode 100644 libs/nss/patches/010-nanosleep.patch diff --git a/libs/nss/Makefile b/libs/nss/Makefile index 6f8fc62357..0289ed7907 100644 --- a/libs/nss/Makefile +++ b/libs/nss/Makefile @@ -8,9 +8,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=nss PKG_VERSION:=3.45 -PKG_RELEASE:=1 -PKG_MAINTAINER:=Lucian Cristian -PKG_LICENCE:=MPL-2.0 +PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:= \ @@ -18,6 +16,11 @@ PKG_SOURCE_URL:= \ https://archive.mozilla.org/pub/security/$(PKG_NAME)/releases/NSS_$(subst .,_,$(PKG_VERSION))_RTM/src PKG_HASH:=112f05223d1fde902c170966bfc6f011b24a838be16969b110ecf2bb7bc24e8b +PKG_MAINTAINER:=Lucian Cristian +PKG_LICENCE:=MPL-2.0 +PKG_LICENSE_FILES:=nss/COPYING +PKG_CPE_ID:=cpe:/a:mozilla:network_security_services + PKG_BUILD_PARALLEL:=0 include $(INCLUDE_DIR)/package.mk @@ -40,7 +43,7 @@ define Package/nss-utils endef define Package/libnss/description - Network Security Services (NSS) is a set of libraries designed to support + Network Security Services (NSS) is a set of libraries designed to support cross-platform development of security-enabled client and server applications. Applications built with NSS can support SSL v2 and v3, TLS, PKCS 5, PKCS 7, PKCS 11, PKCS 12, S/MIME, X.509 v3 certificates, and other security standards. diff --git a/libs/nss/patches/010-nanosleep.patch b/libs/nss/patches/010-nanosleep.patch new file mode 100644 index 0000000000..2c324994cd --- /dev/null +++ b/libs/nss/patches/010-nanosleep.patch @@ -0,0 +1,33 @@ +--- a/nss/lib/freebl/stubs.c ++++ b/nss/lib/freebl/stubs.c +@@ -503,7 +503,8 @@ extern PRStatus + PR_Sleep_stub(PRIntervalTime ticks) + { + STUB_SAFE_CALL1(PR_Sleep, ticks); +- usleep(ticks * 1000); ++ const struct timespec req = {0, ticks * 1000 * 1000}; ++ nanosleep(&req, NULL); + return PR_SUCCESS; + } + +--- a/nss/lib/sqlite/sqlite3.c ++++ b/nss/lib/sqlite/sqlite3.c +@@ -33761,7 +33761,8 @@ static int proxyConchLock(unixFile *pFile, uuid_t myHostID, int lockType){ + + if( nTries==1 ){ + conchModTime = buf.st_mtimespec; +- usleep(500000); /* wait 0.5 sec and try the lock again*/ ++ const struct timespec req = {0, 500 * 1000 * 1000}; ++ nanosleep(&req, NULL); /* wait 0.5 sec and try the lock again*/ + continue; + } + +@@ -33787,7 +33788,7 @@ static int proxyConchLock(unixFile *pFile, uuid_t myHostID, int lockType){ + /* don't break the lock on short read or a version mismatch */ + return SQLITE_BUSY; + } +- usleep(10000000); /* wait 10 sec and try the lock again */ ++ sleep(10); /* wait 10 sec and try the lock again */ + continue; + } +