Compare commits

...

No commits in common. 'c9' and 'i10cs' have entirely different histories.
c9 ... i10cs

@ -1 +1 @@
58ebc7b35efaebb211c0b9df594ab16c4d874234 SOURCES/apr-1.7.0.tar.bz2
b6acc2ea8048d582136c93512bff520fe446d095 SOURCES/apr-1.7.5.tar.bz2

2
.gitignore vendored

@ -1 +1 @@
SOURCES/apr-1.7.0.tar.bz2
SOURCES/apr-1.7.5.tar.bz2

File diff suppressed because it is too large Load Diff

@ -1,239 +0,0 @@
# ./pullrev.sh 1891269 1891198 1891196
http://svn.apache.org/viewvc?view=revision&revision=1891269
http://svn.apache.org/viewvc?view=revision&revision=1891198
http://svn.apache.org/viewvc?view=revision&revision=1891196
--- apr-1.7.0/include/arch/unix/apr_arch_thread_mutex.h
+++ apr-1.7.0/include/arch/unix/apr_arch_thread_mutex.h
@@ -33,8 +33,10 @@
struct apr_thread_mutex_t {
apr_pool_t *pool;
pthread_mutex_t mutex;
+#ifndef HAVE_PTHREAD_MUTEX_TIMEDLOCK
apr_thread_cond_t *cond;
int locked, num_waiters;
+#endif
};
#endif
--- apr-1.7.0/locks/unix/thread_mutex.c
+++ apr-1.7.0/locks/unix/thread_mutex.c
@@ -102,6 +102,7 @@
{
apr_status_t rv;
+#ifndef HAVE_PTHREAD_MUTEX_TIMEDLOCK
if (mutex->cond) {
apr_status_t rv2;
@@ -133,6 +134,7 @@
return rv;
}
+#endif
rv = pthread_mutex_lock(&mutex->mutex);
#ifdef HAVE_ZOS_PTHREADS
@@ -148,6 +150,7 @@
{
apr_status_t rv;
+#ifndef HAVE_PTHREAD_MUTEX_TIMEDLOCK
if (mutex->cond) {
apr_status_t rv2;
@@ -177,6 +180,7 @@
return rv;
}
+#endif
rv = pthread_mutex_trylock(&mutex->mutex);
if (rv) {
@@ -281,6 +285,7 @@
{
apr_status_t status;
+#ifndef HAVE_PTHREAD_MUTEX_TIMEDLOCK
if (mutex->cond) {
status = pthread_mutex_lock(&mutex->mutex);
if (status) {
@@ -303,6 +308,7 @@
mutex->locked = 0;
}
+#endif
status = pthread_mutex_unlock(&mutex->mutex);
#ifdef HAVE_ZOS_PTHREADS
@@ -318,9 +324,12 @@
{
apr_status_t rv, rv2 = APR_SUCCESS;
+#ifndef HAVE_PTHREAD_MUTEX_TIMEDLOCK
if (mutex->cond) {
rv2 = apr_thread_cond_destroy(mutex->cond);
}
+#endif
+
rv = apr_pool_cleanup_run(mutex->pool, mutex, thread_mutex_cleanup);
if (rv == APR_SUCCESS) {
rv = rv2;
--- apr-1.7.0/random/unix/sha2.c
+++ apr-1.7.0/random/unix/sha2.c
@@ -425,7 +425,7 @@
usedspace = freespace = 0;
}
-void apr__SHA256_Final(sha2_byte digest[], SHA256_CTX* context) {
+void apr__SHA256_Final(sha2_byte digest[SHA256_DIGEST_LENGTH], SHA256_CTX* context) {
sha2_word32 *d = (sha2_word32*)digest;
unsigned int usedspace;
@@ -496,7 +496,7 @@
usedspace = 0;
}
-char *apr__SHA256_End(SHA256_CTX* context, char buffer[]) {
+char *apr__SHA256_End(SHA256_CTX* context, char buffer[SHA256_DIGEST_STRING_LENGTH]) {
sha2_byte digest[SHA256_DIGEST_LENGTH], *d = digest;
int i;
--- apr-1.7.0/time/unix/time.c
+++ apr-1.7.0/time/unix/time.c
@@ -142,6 +142,9 @@
static const int dayoffset[12] =
{306, 337, 0, 31, 61, 92, 122, 153, 184, 214, 245, 275};
+ if (xt->tm_mon < 0 || xt->tm_mon >= 12)
+ return APR_EBADDATE;
+
/* shift new year to 1st March in order to make leap year calc easy */
if (xt->tm_mon < 2)
--- apr-1.7.0/time/win32/time.c
+++ apr-1.7.0/time/win32/time.c
@@ -54,6 +54,9 @@
static const int dayoffset[12] =
{0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334};
+ if (tm->wMonth < 1 || tm->wMonth > 12)
+ return APR_EBADDATE;
+
/* Note; the caller is responsible for filling in detailed tm_usec,
* tm_gmtoff and tm_isdst data when applicable.
*/
@@ -228,6 +231,9 @@
static const int dayoffset[12] =
{306, 337, 0, 31, 61, 92, 122, 153, 184, 214, 245, 275};
+ if (xt->tm_mon < 0 || xt->tm_mon >= 12)
+ return APR_EBADDATE;
+
/* shift new year to 1st March in order to make leap year calc easy */
if (xt->tm_mon < 2)
--- apr-1.7.0/file_io/unix/readwrite.c
+++ apr-1.7.0/file_io/unix/readwrite.c
@@ -146,7 +146,7 @@
APR_DECLARE(apr_status_t) apr_file_write(apr_file_t *thefile, const void *buf, apr_size_t *nbytes)
{
- apr_size_t rv;
+ apr_size_t rv = APR_SUCCESS;
if (thefile->buffered) {
char *pos = (char *)buf;
@@ -160,13 +160,14 @@
* logically reading from
*/
apr_int64_t offset = thefile->filePtr - thefile->dataRead + thefile->bufpos;
- if (offset != thefile->filePtr)
- lseek(thefile->filedes, offset, SEEK_SET);
+ if (offset != thefile->filePtr) {
+ thefile->filePtr = lseek(thefile->filedes, offset, SEEK_SET);
+ if (thefile->filePtr == -1) rv = errno;
+ }
thefile->bufpos = thefile->dataRead = 0;
thefile->direction = 1;
}
- rv = 0;
while (rv == 0 && size > 0) {
if (thefile->bufpos == thefile->bufsize) /* write buffer is full*/
rv = apr_file_flush_locked(thefile);
@@ -244,12 +245,15 @@
*/
apr_int64_t offset = thefile->filePtr - thefile->dataRead +
thefile->bufpos;
- if (offset != thefile->filePtr)
- lseek(thefile->filedes, offset, SEEK_SET);
+ if (offset != thefile->filePtr) {
+ thefile->filePtr = lseek(thefile->filedes, offset, SEEK_SET);
+ if (thefile->filePtr == -1) rv = errno;
+ }
thefile->bufpos = thefile->dataRead = 0;
}
file_unlock(thefile);
+ if (rv) return rv;
}
if ((bytes = writev(thefile->filedes, vec, nvec)) < 0) {
--- apr-1.7.0/locks/unix/proc_mutex.c
+++ apr-1.7.0/locks/unix/proc_mutex.c
@@ -1518,11 +1518,10 @@
APR_DECLARE(const char *) apr_proc_mutex_defname(void)
{
- apr_status_t rv;
apr_proc_mutex_t mutex;
- if ((rv = proc_mutex_choose_method(&mutex, APR_LOCK_DEFAULT,
- NULL)) != APR_SUCCESS) {
+ if (proc_mutex_choose_method(&mutex, APR_LOCK_DEFAULT,
+ NULL) != APR_SUCCESS) {
return "unknown";
}
--- apr-1.7.0/memory/unix/apr_pools.c
+++ apr-1.7.0/memory/unix/apr_pools.c
@@ -1338,7 +1338,7 @@
apr_size_t free_index;
pool_concurrency_set_used(pool);
- ps.node = active = pool->active;
+ ps.node = pool->active;
ps.pool = pool;
ps.vbuff.curpos = ps.node->first_avail;
--- apr-1.7.0/test/teststr.c
+++ apr-1.7.0/test/teststr.c
@@ -394,6 +394,19 @@
ABTS_STR_EQUAL(tc, apr_cstr_skip_prefix("", "12"), NULL);
}
+static void pstrcat(abts_case *tc, void *data)
+{
+ ABTS_STR_EQUAL(tc, apr_pstrcat(p, "a", "bc", "def", NULL),
+ "abcdef");
+ ABTS_STR_EQUAL(tc, apr_pstrcat(p, NULL), "");
+ ABTS_STR_EQUAL(tc, apr_pstrcat(p,
+ "a", "b", "c", "d", "e",
+ "f", "g", "h", "i", "j",
+ "1", "2", "3", "4", "5",
+ NULL),
+ "abcdefghij12345");
+}
+
abts_suite *teststr(abts_suite *suite)
{
suite = ADD_SUITE(suite)
@@ -412,6 +425,7 @@
abts_run_test(suite, string_cpystrn, NULL);
abts_run_test(suite, snprintf_overflow, NULL);
abts_run_test(suite, skip_prefix, NULL);
+ abts_run_test(suite, pstrcat, NULL);
return suite;
}

@ -1,37 +0,0 @@
# ./pullrev.sh 1894167
http://svn.apache.org/viewvc?view=revision&revision=1894167
--- apr-1.7.0/build/apr_network.m4
+++ apr-1.7.0/build/apr_network.m4
@@ -906,8 +906,16 @@
dnl
AC_DEFUN([APR_CHECK_SCTP],
[
- AC_CACHE_CHECK([whether SCTP is supported], [apr_cv_sctp], [
- AC_TRY_RUN([
+AC_ARG_ENABLE([sctp],
+ APR_HELP_STRING([--disable-sctp], [disable SCTP protocol support]),
+ [apr_wants_sctp=$enableval],
+ [apr_wants_sctp=any])
+
+if test "$apr_wants_sctp" = no; then
+ apr_cv_sctp=no
+else
+ AC_CACHE_CHECK([whether SCTP is supported], [apr_cv_sctp], [
+ AC_TRY_RUN([
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif
@@ -932,7 +940,12 @@
exit(2);
exit(0);
}], [apr_cv_sctp=yes], [apr_cv_sctp=no], [apr_cv_sctp=no])])
+fi
+if test "${apr_wants_sctp}X${apr_cv_sctp}" = yesXno; then
+ AC_MSG_ERROR([SCTP support requested but not available])
+fi
+
if test "$apr_cv_sctp" = "yes"; then
have_sctp=1
else

@ -0,0 +1,21 @@
diff --git a/build/apr_common.m4 b/build/apr_common.m4
index ac2312c..5d232c4 100644
--- a/build/apr_common.m4
+++ b/build/apr_common.m4
@@ -468,15 +468,8 @@ AC_DEFUN([APR_TRY_COMPILE_NO_WARNING],
fi
AC_COMPILE_IFELSE(
[AC_LANG_SOURCE(
- [
-#ifndef PACKAGE_NAME
-#include "confdefs.h"
-#endif
- ]
- [[$1]]
- [int main(int argc, const char *const *argv) {]
+ [[$1]],
[[$2]]
- [ return 0; }]
)], [CFLAGS=$apr_save_CFLAGS
$3], [CFLAGS=$apr_save_CFLAGS
$4])

@ -1,9 +1,8 @@
- avoid adding %{_libdir} to --link-ld output
--- apr-1.2.2/apr-config.in.libdir
+++ apr-1.2.2/apr-config.in
@@ -181,8 +181,10 @@
diff --git a/apr-config.in b/apr-config.in
index bed47ca..d4bf4d8 100644
--- a/apr-config.in
+++ b/apr-config.in
@@ -198,8 +198,10 @@ while test $# -gt 0; do
;;
--link-ld)
if test "$location" = "installed"; then
@ -13,6 +12,6 @@
+ flags="$flags -L$libdir"
+ fi
+ flags="$flags -l${APR_LIBNAME}"
elif test "$location" = "crosscompile"; then
flags="$flags -L$APR_TARGET_DIR/$libdir -l${APR_LIBNAME}"
else
### this surely can't work since the library is in .libs?
flags="$flags -L$APR_BUILD_DIR -l${APR_LIBNAME}"

@ -3,26 +3,33 @@
# Arches on which the multilib apr.h hack is needed:
%define multilib_arches %{ix86} ia64 ppc ppc64 s390 s390x x86_64
# Similar issue to https://bugzilla.redhat.com/show_bug.cgi?id=2043092
%undefine _package_note_flags
# Disable .la file removal since the .la file is exported via apr-config.
%global __brp_remove_la_files %nil
Summary: Apache Portable Runtime library
Name: apr
Version: 1.7.0
Release: 12%{?dist}
# ASL 2.0: everything
Version: 1.7.5
Release: 2%{?dist}
# Apache-2.0: everything
# ISC: network_io/apr-1.4.6/network_io/unix/inet_?to?.c
# BSD with advertising: strings/apr_snprintf.c, strings/apr_fnmatch.c,
# BSD-4-Clause-UC: strings/apr_snprintf.c, strings/apr_fnmatch.c,
# include/apr_fnmatch.h, misc/unix/getopt.c,
# file_io/unix/mktemp.c, strings/apr_strings.c
# BSD (3-clause): strings/apr_strnatcmp.c, include/apr_strings.h
License: ASL 2.0 and BSD with advertising and ISC and BSD
# Zlib: strings/apr_strnatcmp.c, include/apr_strings.h
# Caldera-no-preamble: strings/apr_snprintf.c
License: Apache-2.0 AND (BSD-4-Clause-UC AND ISC AND Zlib AND Caldera-no-preamble)
URL: https://apr.apache.org/
Source0: https://www.apache.org/dist/apr/%{name}-%{version}.tar.bz2
Source1: apr-wrapper.h
Patch1: apr-1.2.2-libdir.patch
Patch1: apr-1.7.2-libdir.patch
Patch2: apr-1.2.7-pkgconf.patch
Patch3: apr-1.7.0-deepbind.patch
Patch4: apr-1.7.0-r1891269+.patch
Patch5: apr-1.7.0-r1894167.patch
Patch6: apr-1.7.0-encoding.patch
Patch4: apr-1.7.2-autoconf.patch
BuildRequires: gcc, autoconf, libtool, libuuid-devel, python3
BuildRequires: make
@ -44,22 +51,12 @@ Apache Portable Runtime (APR) is to provide a free library of
C data structures and routines.
%prep
%setup -q
%patch1 -p1 -b .libdir
%patch2 -p1 -b .pkgconf
%patch3 -p1 -b .deepbind
%patch4 -p1 -b .r1891269+
%patch5 -p1 -b .r1894167
%patch6 -p1 -b .encoding
%autosetup -p1
%build
# regenerate configure script etc.
./buildconf
# Forcibly prevent detection of shm_open (which then picks up but
# does not use -lrt).
export ac_cv_search_shm_open=no
%configure \
--includedir=%{_includedir}/apr-%{aprver} \
--with-installbuilddir=%{_libdir}/apr-%{aprver}/build \
@ -127,7 +124,7 @@ popd
%doc docs/APRDesign.html docs/canonical_filenames.html
%doc docs/incomplete_types docs/non_apr_programs
%{_bindir}/apr-%{aprver}-config
%{_libdir}/libapr-%{aprver}.*a
%{_libdir}/libapr-%{aprver}.la
%{_libdir}/libapr-%{aprver}.so
%{_libdir}/pkgconfig/*.pc
%dir %{_libdir}/apr-%{aprver}
@ -138,34 +135,91 @@ popd
%{_datadir}/aclocal/*.m4
%changelog
* Thu Dec 7 2023 Joe Orton <jorton@redhat.com> - 1.7.0-12
- fix integer bounds checking in apr_encode_*
Resolves: RHEL-17123
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 1.7.5-2
- Bump release for October 2024 mass rebuild:
Resolves: RHEL-64018
* Fri Oct 25 2024 MSVSphere Packaging Team <packager@msvsphere-os.ru> - 1.7.5-1
- Rebuilt for MSVSphere 10
* Mon Sep 02 2024 Luboš Uhliarik <luhliari@redhat.com> - 1.7.5-1
- new version 1.7.5
- Resolves: RHEL-56637 - apr: Lax permissions in Apache Portable Runtime shared
memory (CVE-2023-49582)
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 1.7.3-10
- Bump release for June 2024 mass rebuild
* Thu Feb 8 2024 Joe Orton <jorton@redhat.com> - 1.7.3-8
- use autosetup
- always disable SCTP support at build time
* Mon Jan 29 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.7.3-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.7.3-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.7.3-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Tue Oct 24 2023 Luboš Uhliarik <luhliari@redhat.com> - 1.7.3-4
- rebuilt
* Fri Sep 29 2023 Luboš Uhliarik <luhliari@redhat.com> - 1.7.3-3
- SPDX migration
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.7.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Tue Apr 11 2023 Luboš Uhliarik <luhliari@redhat.com> - 1.7.3-1
- new version 1.7.3
* Fri Feb 10 2023 Luboš Uhliarik <luhliari@redhat.com> - 1.7.2-2
- enable apr_atomic test again
* Thu Feb 02 2023 Luboš Uhliarik <luhliari@redhat.com> - 1.7.2-1
- new version 1.7.2
* Wed Jan 18 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.7.0-21
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Mon Jan 16 2023 Florian Weimer <fweimer@redhat.com> - 1.7.0-20
- Port configure script to C99
* Mon Dec 19 2022 Joe Orton <jorton@redhat.com> - 1.7.0-19
- rebuild
* Wed Jul 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.7.0-18
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Fri May 13 2022 Joe Orton <jorton@redhat.com> - 1.7.0-17
- ship apr_common.m4 in -devel as well
- disable .la file removal
* Mon Dec 6 2021 Joe Orton <jorton@redhat.com> - 1.7.0-11
- always disable SCTP support at build time (#1997107)
* Fri Jan 28 2022 Joe Orton <jorton@redhat.com> - 1.7.0-16
- disable package notes
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 1.7.0-10.5
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688
* Wed Jan 19 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.7.0-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Fri Aug 6 2021 Florian Weimer <fweimer@redhat.com> - 1.7.0-9.5
- Rebuild to pick up new build flags from redhat-rpm-config (#1984652)
* Tue Aug 24 2021 Luboš Uhliarik <luhliari@redhat.com> - 1.7.0-14
- Resolves: #1996685 - add various Coverity/Clang cleanups
* Wed Aug 4 2021 Joe Orton <jorton@redhat.com> - 1.7.0-9.4
- add apr_common.m4 to -devel as well (#1986937)
* Wed Aug 04 2021 Luboš Uhliarik <luhliari@redhat.com> - 1.7.0-13
- disable sctp protocol support by default
* Wed Jul 7 2021 Joe Orton <jorton@redhat.com> - 1.7.0-9.3
- add various Coverity/Clang cleanups (#1977418)
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.7.0-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Fri Jun 18 2021 Joe Orton <jorton@redhat.com> - 1.7.0-9.2
* Fri Jun 18 2021 Joe Orton <jorton@redhat.com> - 1.7.0-11
- package additional build/* files in apr-devel (#1945078)
* Fri Jun 18 2021 Joe Orton <jorton@redhat.com> - 1.7.0-9.1
* Fri Jun 18 2021 Joe Orton <jorton@redhat.com> - 1.7.0-10
- document APR_DEEPBIND and use secure_getenv() (thanks to mturk)
* Thu Apr 15 2021 Mohan Boddu <mboddu@redhat.com> - 1.7.0-9
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Mon Apr 12 2021 Lubos Uhliarik <luhliari@redhat.com> - 1.7.0-9
- Resolves: #1942985 - apr: FTBFS with upcoming autoconf-2.71
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.7.0-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild

Loading…
Cancel
Save