apr: update to 1.7.4

- Remove upstreamed patches
- Fix bindir in apr-1-config to fix subversion build

Signed-off-by: krant <aleksey.vasilenko@gmail.com>
This commit is contained in:
krant 2024-02-05 13:47:50 +02:00 committed by Rosen Penev
parent 158b761193
commit 68dd7b7cf6
10 changed files with 4 additions and 539 deletions

View File

@ -8,12 +8,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=apr
PKG_VERSION:=1.7.0
PKG_RELEASE:=4
PKG_VERSION:=1.7.4
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=@APACHE/apr/
PKG_HASH:=e2e148f0b2e99b8e5c6caa09f6d4fb4dd3e83f744aa72a952f94f5a14436f7ea
PKG_HASH:=fc648de983f3a2a6c9e78dea1f180639bd2fad6c06d556d4367a701fe5c35577
PKG_MAINTAINER:=Thomas Heil <heil@terminal-consulting.de>
@ -88,7 +88,7 @@ define Build/InstallDev
$(CP) $(PKG_INSTALL_DIR)/usr/share/build-1/* $(1)/usr/share/build-1
$(SED) '/^prefix=\|^exec_prefix=/s|/usr|$(STAGING_DIR)/usr|' \
$(1)/usr/bin/apr-1-config
$(SED) '/^bindir=/s|/usr|$$$${prefix}|' $(1)/usr/bin/apr-1-config
$(SED) '/^bindir=/s|/usr/bin|$(STAGING_DIR)|' $(1)/usr/bin/apr-1-config
$(SED) '/^datadir=/s|/usr|$$$${prefix}|' $(1)/usr/bin/apr-1-config
$(SED) '/^datarootdir=/s|/usr|$$$${prefix}|' $(1)/usr/bin/apr-1-config
$(SED) 's,/usr/share/build-1,$(STAGING_DIR)/usr/share/build-1,g' \

View File

@ -1,116 +0,0 @@
From 374210c50ee9f4dbf265f0172dcf2d45b97d0550
From: Graham Leggett <minfrin@apache.org>
Date: Thu, 26 Dec 2019 01:18:53 +0000
Subject: [PATCH] Use AC_CHECK_SIZEOF, so as to support cross compiling. PR
56053.
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1871980 13f79535-47bb-0310-9956-ffa450edef68
---
build/apr_common.m4 | 37 -------------------------------------
configure.in | 14 +++++++-------
2 files changed, 7 insertions(+), 44 deletions(-)
--- a/build/apr_common.m4
+++ b/build/apr_common.m4
@@ -452,43 +452,6 @@ fi
dnl
-dnl APR_CHECK_SIZEOF_EXTENDED(INCLUDES, TYPE [, CROSS_SIZE])
-dnl
-dnl A variant of AC_CHECK_SIZEOF which allows the checking of
-dnl sizes of non-builtin types
-dnl
-AC_DEFUN([APR_CHECK_SIZEOF_EXTENDED],
-[changequote(<<, >>)dnl
-dnl The name to #define.
-define(<<AC_TYPE_NAME>>, translit(sizeof_$2, [a-z *], [A-Z_P]))dnl
-dnl The cache variable name.
-define(<<AC_CV_NAME>>, translit(ac_cv_sizeof_$2, [ *], [_p]))dnl
-changequote([, ])dnl
-AC_MSG_CHECKING(size of $2)
-AC_CACHE_VAL(AC_CV_NAME,
-[AC_TRY_RUN([#include <stdio.h>
-$1
-#ifdef WIN32
-#define binmode "b"
-#else
-#define binmode
-#endif
-main()
-{
- FILE *f=fopen("conftestval", "w" binmode);
- if (!f) exit(1);
- fprintf(f, "%d\n", sizeof($2));
- exit(0);
-}], AC_CV_NAME=`cat conftestval`, AC_CV_NAME=0, ifelse([$3],,,
-AC_CV_NAME=$3))])dnl
-AC_MSG_RESULT($AC_CV_NAME)
-AC_DEFINE_UNQUOTED(AC_TYPE_NAME, $AC_CV_NAME, [The size of ]$2)
-undefine([AC_TYPE_NAME])dnl
-undefine([AC_CV_NAME])dnl
-])
-
-
-dnl
dnl APR_TRY_COMPILE_NO_WARNING(INCLUDES, FUNCTION-BODY,
dnl [ACTIONS-IF-NO-WARNINGS], [ACTIONS-IF-WARNINGS])
dnl
--- a/configure.in
+++ b/configure.in
@@ -1798,7 +1798,7 @@ else
socklen_t_value="int"
fi
-APR_CHECK_SIZEOF_EXTENDED([#include <sys/types.h>], pid_t, 8)
+AC_CHECK_SIZEOF(pid_t)
if test "$ac_cv_sizeof_pid_t" = "$ac_cv_sizeof_short"; then
pid_t_fmt='#define APR_PID_T_FMT "hd"'
@@ -1870,7 +1870,7 @@ APR_CHECK_TYPES_FMT_COMPATIBLE(size_t, u
APR_CHECK_TYPES_FMT_COMPATIBLE(size_t, unsigned int, u, [size_t_fmt="u"])
])
-APR_CHECK_SIZEOF_EXTENDED([#include <sys/types.h>], ssize_t, 8)
+AC_CHECK_SIZEOF(ssize_t)
dnl the else cases below should no longer occur;
AC_MSG_CHECKING([which format to use for apr_ssize_t])
@@ -1888,7 +1888,7 @@ fi
ssize_t_fmt="#define APR_SSIZE_T_FMT \"$ssize_t_fmt\""
-APR_CHECK_SIZEOF_EXTENDED([#include <stddef.h>], size_t, 8)
+AC_CHECK_SIZEOF(size_t)
# else cases below should no longer occur;
AC_MSG_CHECKING([which format to use for apr_size_t])
@@ -1906,7 +1906,7 @@ fi
size_t_fmt="#define APR_SIZE_T_FMT \"$size_t_fmt\""
-APR_CHECK_SIZEOF_EXTENDED([#include <sys/types.h>], off_t, 8)
+AC_CHECK_SIZEOF(off_t)
if test "${ac_cv_sizeof_off_t}${apr_cv_use_lfs64}" = "4yes"; then
# Enable LFS
@@ -2000,7 +2000,7 @@ case $host in
;;
*)
ino_t_value=ino_t
- APR_CHECK_SIZEOF_EXTENDED(AC_INCLUDES_DEFAULT, ino_t, $ac_cv_sizeof_long)
+ AC_CHECK_SIZEOF(ino_t)
if test $ac_cv_sizeof_ino_t = 4; then
if test $ac_cv_sizeof_long = 4; then
ino_t_value="unsigned long"
@@ -2020,8 +2020,8 @@ else
bigendian=0
fi
-APR_CHECK_SIZEOF_EXTENDED([#include <sys/types.h>
-#include <sys/uio.h>],struct iovec,0)
+AC_CHECK_SIZEOF(struct iovec,,[AC_INCLUDES_DEFAULT
+#include <sys/uio.h>])
if test "$ac_cv_sizeof_struct_iovec" = "0"; then
have_iovec=0
else

View File

@ -1,46 +0,0 @@
From 5fd2568c34a8d5c8159d9a5e0f5601f9e8902166
From: Graham Leggett <minfrin@apache.org>
Date: Tue, 10 Mar 2020 22:38:59 +0000
Subject: [PATCH] APR's configure script uses AC_TRY_RUN to detect whether the
return type of strerror_r is int. When cross-compiling this defaults to no.
This commit adds an AC_CACHE_CHECK so users who cross-compile APR may
influence the outcome with a configure variable.
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1875065 13f79535-47bb-0310-9956-ffa450edef68
---
CHANGES | 7 +++++++ (OPENWRT REMOVED)
build/apr_common.m4 | 11 ++++-------
2 files changed, 11 insertions(+), 7 deletions(-)
--- a/build/apr_common.m4
+++ b/build/apr_common.m4
@@ -489,8 +489,9 @@ dnl string.
dnl
dnl
AC_DEFUN([APR_CHECK_STRERROR_R_RC], [
-AC_MSG_CHECKING(for type of return code from strerror_r)
-AC_TRY_RUN([
+AC_CACHE_CHECK([whether return code from strerror_r has type int],
+[ac_cv_strerror_r_rc_int],
+[AC_TRY_RUN([
#include <errno.h>
#include <string.h>
#include <stdio.h>
@@ -506,14 +507,10 @@ main()
}], [
ac_cv_strerror_r_rc_int=yes ], [
ac_cv_strerror_r_rc_int=no ], [
- ac_cv_strerror_r_rc_int=no ] )
+ ac_cv_strerror_r_rc_int=no ] ) ] )
if test "x$ac_cv_strerror_r_rc_int" = xyes; then
AC_DEFINE(STRERROR_R_RC_INT, 1, [Define if strerror returns int])
- msg="int"
-else
- msg="pointer"
fi
-AC_MSG_RESULT([$msg])
] )
dnl

View File

@ -1,106 +0,0 @@
From 9d9c6990afaa7ad8eea0be524481bb48a5dd1b09
From: Jim Jagielski <jim@apache.org>
Date: Thu, 29 Oct 2020 20:16:55 +0000
Subject: [PATCH] calls to exit() require stdlib.h or else we get
-Werror,-Wimplicit-function-declaration
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1882979 13f79535-47bb-0310-9956-ffa450edef68
---
build/apr_common.m4 | 3 +++
build/apr_network.m4 | 15 +++++++++++++++
configure.in | 6 +++++-
3 files changed, 23 insertions(+), 1 deletion(-)
--- a/build/apr_common.m4
+++ b/build/apr_common.m4
@@ -495,6 +495,9 @@ AC_CACHE_CHECK([whether return code from
#include <errno.h>
#include <string.h>
#include <stdio.h>
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
main()
{
char buf[1024];
--- a/build/apr_network.m4
+++ b/build/apr_network.m4
@@ -63,6 +63,9 @@ AC_DEFUN([APR_CHECK_WORKING_GETADDRINFO]
#ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h>
#endif
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
int main(void) {
struct addrinfo hints, *ai;
@@ -151,6 +154,9 @@ AC_DEFUN([APR_CHECK_WORKING_GETNAMEINFO]
#ifdef HAVE_NETINET_IN_H
#include <netinet/in.h>
#endif
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
int main(void) {
struct sockaddr_in sa;
@@ -194,6 +200,9 @@ AC_DEFUN([APR_CHECK_NEGATIVE_EAI], [
#ifdef HAVE_NETDB_H
#include <netdb.h>
#endif
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
int main(void) {
if (EAI_ADDRFAMILY < 0) {
@@ -403,6 +412,9 @@ AC_DEFUN([APR_CHECK_TCP_NODELAY_INHERITE
#ifndef HAVE_SOCKLEN_T
typedef int socklen_t;
#endif
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
int main(void) {
int listen_s, connected_s, client_s;
int listen_port, rc;
@@ -588,6 +600,9 @@ typedef int socklen_t;
#ifdef HAVE_FCNTL_H
#include <fcntl.h>
#endif
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
int main(void) {
int listen_s, connected_s, client_s;
int listen_port, rc;
--- a/configure.in
+++ b/configure.in
@@ -2208,6 +2208,7 @@ AC_TRY_RUN([
#include <sys/types.h>
#include <sys/time.h>
#include <sys/resource.h>
+#include <stdlib.h>
main()
{
struct rlimit limit;
@@ -2307,6 +2308,7 @@ if test "$threads" = "1"; then
AC_TRY_RUN([
#include <sys/types.h>
#include <pthread.h>
+#include <stdlib.h>
int main()
{
pthread_mutex_t mutex;
@@ -2430,7 +2432,9 @@ AC_TRY_RUN([
#endif
#include <fcntl.h>
#include <errno.h>
-
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
int fd;
struct flock proc_mutex_lock_it = {0};
const char *fname = "conftest.fcntl";

View File

@ -1,61 +0,0 @@
From 0a763c5e500f4304b7c534fae0fad430d64982e8
From: Yann Ylavic <ylavic@apache.org>
Date: Sat, 6 Mar 2021 22:20:59 +0000
Subject: [PATCH] build/apr_common.m4: avoid explicit inclusion of "confdefs.h"
The failure is observed on `autoconf-2.69d` (soon to be released
as `autoconf-2.70`). There `int64_t` detection fails as:
$ autoreconf && ./configure
checking whether int64_t and int use fmt %d... no
checking whether int64_t and long use fmt %ld... no
checking whether int64_t and long long use fmt %lld... no
configure: error: could not determine the string function for int64_t
```
This happens because `./configure` always stumbles on warning:
configure:3350: gcc -c -g -O2 -Werror conftest.c >&5
In file included from conftest.c:31:
confdefs.h:22: error: "__STDC_WANT_IEC_60559_ATTRIBS_EXT__" redefined [-Werror]
22 | #define __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 1
|
It's triggered by double inclusion of `"confdefs.h"` contents:
explicitly in `APR_TRY_COMPILE_NO_WARNING` macro and implicitly
via `AC_LANG_SOURCE` use.
To fix it and avoid having to define `main()` declaration the change
uses `AC_LANG_PROGRAM` instead.
Tested on both `autoconf-2.69` and `autoconf-2.69d`.
Github: closes #25
Submitted by: Sergei Trofimovich <slyfox gentoo.org>
Reviewed by: ylavic
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1887279 13f79535-47bb-0310-9956-ffa450edef68
---
build/apr_common.m4 | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
--- a/build/apr_common.m4
+++ b/build/apr_common.m4
@@ -467,13 +467,9 @@ AC_DEFUN([APR_TRY_COMPILE_NO_WARNING],
CFLAGS="$CFLAGS -Werror"
fi
AC_COMPILE_IFELSE(
- [AC_LANG_SOURCE(
- [#include "confdefs.h"
- ]
- [[$1]]
- [int main(int argc, const char *const *argv) {]
+ [AC_LANG_PROGRAM(
+ [[$1]],
[[$2]]
- [ return 0; }]
)], [CFLAGS=$apr_save_CFLAGS
$3], [CFLAGS=$apr_save_CFLAGS
$4])

View File

@ -1,39 +0,0 @@
From ea9344182b7559b12aa523548bb6d37d0e009028
From: Yann Ylavic <ylavic@apache.org>
Date: Wed, 24 Mar 2021 15:02:52 +0000
Subject: [PATCH] Follow up to r1887279: fix new APR_TRY_COMPILE_NO_WARNING.
AC_LANG_PROGRAM generates an "int main()" prototype which some compilers warn
about. Restore AC_LANG_SOURCE to manually set the correct main() but do not
#include "confdefs.h" if it is inlined already by AC_LANG_SOURCE (i.e.
check whether PACKAGE_NAME is already defined).
Github: closes #25
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1888017 13f79535-47bb-0310-9956-ffa450edef68
---
build/apr_common.m4 | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
--- a/build/apr_common.m4
+++ b/build/apr_common.m4
@@ -467,9 +467,16 @@ AC_DEFUN([APR_TRY_COMPILE_NO_WARNING],
CFLAGS="$CFLAGS -Werror"
fi
AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM(
- [[$1]],
+ [AC_LANG_SOURCE(
+ [
+#ifndef PACKAGE_NAME
+#include "confdefs.h"
+#endif
+ ]
+ [[$1]]
+ [int main(int argc, const char *const *argv) {]
[[$2]]
+ [ return 0; }]
)], [CFLAGS=$apr_save_CFLAGS
$3], [CFLAGS=$apr_save_CFLAGS
$4])

View File

@ -1,56 +0,0 @@
Fix cross-compilation
Patch was backported from Apache httpd:
http://svn.apache.org/viewvc?view=revision&revision=1327907
http://svn.apache.org/viewvc?view=revision&revision=1328390
http://svn.apache.org/viewvc?view=revision&revision=1328714
Patch submitted upstream:
https://issues.apache.org/bugzilla/show_bug.cgi?id=57058
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
--- a/configure.in
+++ b/configure.in
@@ -118,6 +118,16 @@ AC_CANONICAL_SYSTEM
echo "Configuring APR library"
echo "Platform: $host"
+dnl In case of cross compilation we set CC_FOR_BUILD to cc unless
+dnl we got already CC_FOR_BUILD from environment.
+if test "x${build_alias}" != "x${host_alias}"; then
+ if test "x${CC_FOR_BUILD}" = "x"; then
+ CC_FOR_BUILD=cc
+ fi
+fi
+AC_SUBST(CC_FOR_BUILD)
+AC_SUBST(CFLAGS_FOR_BUILD)
+
dnl Some initial steps for configuration. We setup the default directory
dnl and which files are to be configured.
--- a/Makefile.in
+++ b/Makefile.in
@@ -8,6 +8,8 @@ top_blddir=@apr_builddir@
# APR (Apache Portable Runtime) library Makefile.
#
CPP = @CPP@
+CC_FOR_BUILD = @CC_FOR_BUILD@
+CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@
# get substituted into some targets
APR_MAJOR_VERSION=@APR_MAJOR_VERSION@
@@ -136,8 +138,13 @@ tools/gen_test_char.lo: tools/gen_test_c
$(APR_MKDIR) tools
$(LT_COMPILE)
+ifdef CC_FOR_BUILD
+tools/gen_test_char@EXEEXT@: tools/gen_test_char.c $(LOCAL_LIBS)
+ $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) -DCROSS_COMPILE -o $@ $<
+else
tools/gen_test_char@EXEEXT@: $(OBJECTS_gen_test_char)
$(LINK_PROG) $(OBJECTS_gen_test_char) $(ALL_LIBS)
+endif
include/private/apr_escape_test_char.h: tools/gen_test_char@EXEEXT@
$(APR_MKDIR) include/private

View File

@ -1,37 +0,0 @@
Fix PATH_MAX detection by including sys/param.h if available
Patch sent upstream:
https://bz.apache.org/bugzilla/show_bug.cgi?id=63782
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
--- a/configure.in
+++ b/configure.in
@@ -1596,6 +1596,7 @@ AC_SUBST(stdlibh)
AC_SUBST(stringh)
AC_SUBST(stringsh)
AC_SUBST(sys_ioctlh)
+AC_SUBST(sys_paramh)
AC_SUBST(sys_sendfileh)
AC_SUBST(sys_signalh)
AC_SUBST(sys_socketh)
--- a/include/apr.h.in
+++ b/include/apr.h.in
@@ -95,6 +95,7 @@
#define APR_HAVE_STRINGS_H @stringsh@
#define APR_HAVE_INTTYPES_H @inttypesh@
#define APR_HAVE_SYS_IOCTL_H @sys_ioctlh@
+#define APR_HAVE_SYS_PARAM_H @sys_paramh@
#define APR_HAVE_SYS_SENDFILE_H @sys_sendfileh@
#define APR_HAVE_SYS_SIGNAL_H @sys_signalh@
#define APR_HAVE_SYS_SOCKET_H @sys_socketh@
@@ -218,6 +219,9 @@
#ifdef __cplusplus
extern "C" {
#endif
+#if APR_HAVE_SYS_PARAM_H
+#include <sys/param.h>
+#endif
/**
* @addtogroup apr_platform

View File

@ -1,25 +0,0 @@
--- a/configure.in
+++ b/configure.in
@@ -1191,8 +1191,9 @@ AC_CHECK_FILE(/dev/zero)
# Not all systems can mmap /dev/zero (such as HP-UX). Check for that.
if test "$ac_cv_func_mmap" = "yes" &&
test "$ac_cv_file__dev_zero" = "yes"; then
- AC_MSG_CHECKING(for mmap that can map /dev/zero)
- AC_TRY_RUN([
+ AC_CACHE_CHECK([for mmap that can map /dev/zero],
+ [ac_cv_mmap__dev_zero],
+ [AC_TRY_RUN([
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
@@ -1215,9 +1216,7 @@ if test "$ac_cv_func_mmap" = "yes" &&
return 3;
}
return 0;
- }], [], [ac_cv_file__dev_zero=no], [ac_cv_file__dev_zero=no])
-
- AC_MSG_RESULT($ac_cv_file__dev_zero)
+ }], [], [ac_cv_file__dev_zero=no], [ac_cv_file__dev_zero=no])])
fi
# Now we determine which one is our anonymous shmem preference.

View File

@ -1,49 +0,0 @@
SECURITY: CVE-2021-35940 (cve.mitre.org)
Restore fix for CVE-2017-12613 which was missing in 1.7.x branch, though
was addressed in 1.6.x in 1.6.3 and later via r1807976.
The fix was merged back to 1.7.x in r1891198.
Since this was a regression in 1.7.0, a new CVE name has been assigned
to track this, CVE-2021-35940.
Thanks to Iveta Cesalova <icesalov redhat.com> for reporting this issue.
https://svn.apache.org/viewvc?view=revision&revision=1891198
--- a/time/unix/time.c
+++ b/time/unix/time.c
@@ -142,6 +142,9 @@ APR_DECLARE(apr_status_t) apr_time_exp_g
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)
--- a/time/win32/time.c
+++ b/time/win32/time.c
@@ -54,6 +54,9 @@ static void SystemTimeToAprExpTime(apr_t
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 @@ APR_DECLARE(apr_status_t) apr_time_exp_g
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)