diff --git a/dist b/dist new file mode 100644 index 0000000000000000000000000000000000000000..0ee7539a2292be885eb3a6caf1a4ee4666e5e99f --- /dev/null +++ b/dist @@ -0,0 +1 @@ +an8_6 diff --git a/download b/download new file mode 100644 index 0000000000000000000000000000000000000000..8a7639dd2706fe278b6cf0a2db55d35c9a6f652c --- /dev/null +++ b/download @@ -0,0 +1 @@ +5b9a9e40b579b768ff4bb887344d0ef6 nspr-4.34.tar.gz diff --git a/nspr-4.32.tar.gz b/nspr-4.32.tar.gz deleted file mode 100644 index 1f9373c517687d3eb725c84b242ccc1156e7d1c6..0000000000000000000000000000000000000000 Binary files a/nspr-4.32.tar.gz and /dev/null differ diff --git a/nspr-4.34-fix-coverity-loop-issue.patch b/nspr-4.34-fix-coverity-loop-issue.patch new file mode 100644 index 0000000000000000000000000000000000000000..c8c414919af9c384cf0cd247e6aff34b3871f65c --- /dev/null +++ b/nspr-4.34-fix-coverity-loop-issue.patch @@ -0,0 +1,51 @@ +diff --git a/pr/src/misc/prnetdb.c b/pr/src/misc/prnetdb.c +--- a/pr/src/misc/prnetdb.c ++++ b/pr/src/misc/prnetdb.c +@@ -2209,28 +2209,38 @@ PR_GetPrefLoopbackAddrInfo(PRNetAddr *re + PRBool result_still_empty = PR_TRUE; + PRADDRINFO *ai = res; + do { + PRNetAddr aNetAddr; + + while (ai && ai->ai_addrlen > sizeof(PRNetAddr)) + ai = ai->ai_next; + +- if (ai) { +- /* copy sockaddr to PRNetAddr */ +- memcpy(&aNetAddr, ai->ai_addr, ai->ai_addrlen); +- aNetAddr.raw.family = ai->ai_addr->sa_family; ++ if (!ai) { ++ break; ++ } ++ ++ /* copy sockaddr to PRNetAddr */ ++ memcpy(&aNetAddr, ai->ai_addr, ai->ai_addrlen); ++ aNetAddr.raw.family = ai->ai_addr->sa_family; + #ifdef _PR_INET6 +- if (AF_INET6 == aNetAddr.raw.family) +- aNetAddr.raw.family = PR_AF_INET6; ++ if (AF_INET6 == aNetAddr.raw.family) ++ aNetAddr.raw.family = PR_AF_INET6; + #endif +- if (ai->ai_addrlen < sizeof(PRNetAddr)) +- memset(((char*)result)+ai->ai_addrlen, 0, +- sizeof(PRNetAddr) - ai->ai_addrlen); ++ if (ai->ai_addrlen < sizeof(PRNetAddr)) ++ memset(((char*)&aNetAddr)+ai->ai_addrlen, 0, ++ sizeof(PRNetAddr) - ai->ai_addrlen); ++ ++ if (result->raw.family == PR_AF_INET) { ++ aNetAddr.inet.port = htons(port); + } ++ else { ++ aNetAddr.ipv6.port = htons(port); ++ } ++ + + /* If we obtain more than one result, prefer IPv6. */ + if (result_still_empty || aNetAddr.raw.family == PR_AF_INET6) { + memcpy(result, &aNetAddr, sizeof(PRNetAddr)); + } + result_still_empty = PR_FALSE; + ai = ai->ai_next; + } diff --git a/nspr-4.34-server-passive.patch b/nspr-4.34-server-passive.patch new file mode 100644 index 0000000000000000000000000000000000000000..ed8d713c8a8121f9ea8a439f5a00914cf088cd42 --- /dev/null +++ b/nspr-4.34-server-passive.patch @@ -0,0 +1,12 @@ +diff -r c75b4e36b7e8 pr/src/misc/prnetdb.c +--- a/pr/src/misc/prnetdb.c Wed May 25 23:39:48 2022 +0200 ++++ b/pr/src/misc/prnetdb.c Tue Jun 14 18:48:03 2022 -0400 +@@ -2204,6 +2204,7 @@ + + memset(&hints, 0, sizeof(hints)); + ++ hints.ai_flags = AI_PASSIVE; + rv = GETADDRINFO(NULL, tmpBuf, &hints, &res); + if (rv == 0) { + PRBool result_still_empty = PR_TRUE; + diff --git a/nspr.spec b/nspr.spec index 03ee0d714011740991cd2aa69ecb182c1d24c176..0a0f52857bafd030e3f06ec78c63cfdb8c831767 100644 --- a/nspr.spec +++ b/nspr.spec @@ -1,4 +1,4 @@ -%global nspr_version 4.32.0 +%global nspr_version 4.34.0 %define anolis_release .0.1 # The upstream omits the trailing ".0", while we need it for @@ -12,7 +12,7 @@ rpm.define(string.format("nspr_archive_version %s", Summary: Netscape Portable Runtime Name: nspr Version: %{nspr_version} -Release: 1%{anolis_release}%{?dist} +Release: 3%{anolis_release}%{?dist} License: MPLv2.0 URL: http://ftp.mozilla.org/pub/nspr/releases/v${nspr_archive_version}/src Group: System Environment/Libraries @@ -29,6 +29,9 @@ Patch1: nspr-config-pc.patch Patch2: nspr-gcc-atomics.patch Patch1000: 1000-nspr-anolis-support-loongarch64-build.patch +Patch10: nspr-4.34-fix-coverity-loop-issue.patch +Patch11: nspr-4.34-server-passive.patch + %description NSPR provides platform independence for non-GUI operating system facilities. These facilities include threads, thread synchronization, @@ -61,6 +64,8 @@ cp ./nspr/config/nspr-config.in ./nspr/config/nspr-config-pc.in %patch1 -p0 -b .flags pushd nspr %patch2 -p1 -b .gcc-atomics +%patch10 -p1 -b .coverity +%patch11 -p1 -b .passive popd %patch1000 -p1 %build @@ -154,9 +159,18 @@ done %{_mandir}/man*/* %changelog -* Sun Nov 7 2021 Liwei Ge - 4.32.0-1.0.1 +* Fri Sep 16 2022 Liwei Ge - 4.34.0-3.0.1 - Support loongarch64 platform +* Wed Jun 15 2022 Bob Relyea - 4.34.0-3 +- Coverity fix changed selfserv from passive to active, change it back + +* Mon Jun 6 2022 Bob Relyea - 4.34.0-2 +- Fix coverify issue in NSPR 4.34 + +* Thu Jun 2 2022 Bob Relyea - 4.34.0-1 +- Update to NSPR 4.34 + * Thu Jun 17 2021 Bob Relyea - 4.32.0-1 - Update to NSPR 4.32