aboutsummaryrefslogtreecommitdiffstats
path: root/main/freeradius
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2015-09-10 11:21:25 +0200
committerNatanael Copa <ncopa@alpinelinux.org>2015-09-10 11:24:02 +0200
commita3954bdb6a518afdab18fcf24b4c2def20152812 (patch)
tree844d73f971912b2200ade5e237f5a1c12ff9d724 /main/freeradius
parente153461cd4906e4a227e51c18e79d7d98a00c8ca (diff)
downloadaports-a3954bdb6a518afdab18fcf24b4c2def20152812.tar.bz2
aports-a3954bdb6a518afdab18fcf24b4c2def20152812.tar.xz
main/freeradius: fix use of strerror_r
upstream report: https://github.com/FreeRADIUS/freeradius-server/issues/1222
Diffstat (limited to 'main/freeradius')
-rw-r--r--main/freeradius/APKBUILD12
-rw-r--r--main/freeradius/fix-strerror_r.patch34
2 files changed, 42 insertions, 4 deletions
diff --git a/main/freeradius/APKBUILD b/main/freeradius/APKBUILD
index 6c91113b88..6e462589fb 100644
--- a/main/freeradius/APKBUILD
+++ b/main/freeradius/APKBUILD
@@ -5,7 +5,7 @@
pkgname=freeradius
_realname=freeradius
pkgver=3.0.9
-pkgrel=1
+pkgrel=2
pkgdesc="RADIUS (Remote Authentication Dial-In User Service) server"
url="http://freeradius.org/"
arch="all"
@@ -31,6 +31,7 @@ source="ftp://ftp.freeradius.org/pub/freeradius/$_realname-server-$pkgver.tar.gz
musl-fix-headers.patch
disable-cert-generation.patch
freeradius-305-default-config.patch
+ fix-strerror_r.patch
"
_builddir="$srcdir"/$_realname-server-$pkgver
@@ -297,16 +298,19 @@ fc6693f3df5a0694610110287a28568a freeradius.confd
e27f11a11fa167b5185d3e11de79d3bc freeradius.initd
d86558365a1deea4914ed139797805b0 musl-fix-headers.patch
ecd9ecfba4cf86a203de6faf8398c44a disable-cert-generation.patch
-f8a7b00835f2108acc06af212cede16e freeradius-305-default-config.patch"
+f8a7b00835f2108acc06af212cede16e freeradius-305-default-config.patch
+cb234be726652873899aa38aa7abc208 fix-strerror_r.patch"
sha256sums="75bf2820e04723101a8fe39fb84022251d24436cc287c36d696e32ea8b17e5ce freeradius-server-3.0.9.tar.gz
2d5b3e1af1299373182f2c8021bdf45c29db5d82b0a077b965a16ded32cb6292 freeradius.confd
a5208f13420c28446b85dfc48cb9193a4651c994d15cc2c9b0bc43734c66e8f0 freeradius.initd
872aaebf86a663f819460d98924a9dc1f3e428facac6930dc98d1e442df1633f musl-fix-headers.patch
008fa3a4da7b3c01df238bf492a8ccda4077289c02c553a60ad8f4439ec136a2 disable-cert-generation.patch
-02cad546ffaf3f9be531cb45b96c7fb31f83c717e40ece4ff28a73c86f921f33 freeradius-305-default-config.patch"
+02cad546ffaf3f9be531cb45b96c7fb31f83c717e40ece4ff28a73c86f921f33 freeradius-305-default-config.patch
+dd4e861381d30920e7cfeae8edde518760d271eda02100bded3a9f79104e491c fix-strerror_r.patch"
sha512sums="67e2727a44513fb4dc655b2b2ff8b3b0f39233e8cac570b9a20565ffa655225dad95af23c06bb23d124b2a2358aa3e80964c95826e9e64138830b1dd33223145 freeradius-server-3.0.9.tar.gz
e248159c0a44f722e405c51c8015d9ad672e42ad0d38ca28f8a051ff911aa4d3e630b9bd4543e9d610940bc4ae50c022594e219ce341b36abe85c572acad418b freeradius.confd
ba3c424d4eabb147c7aa3e31575a87ddb26b6a792d2a8714e73d8763e07854326a03a83991a7420246ca06bf0b93d0a6f23ec198f5e48647f9d25b40067e852a freeradius.initd
c49e5eec7497fccde5fd09dba1ea9b846e57bc88015bd81640aa531fb5c9b449f37136f42c85fe1d7940c5963aed664b85da28442b388c9fb8cc27873df03b2d musl-fix-headers.patch
09b78c6baa992f82ab81c43aad6792536a4708d460170f0a373e242a5fafe8db10662dc7fcef99a966b828ed91fa7fe38567c961c938de9a447f1ee03aebb142 disable-cert-generation.patch
-b69b899da6f80dbdb7422847536e37461315ba587a07fedc1eee28b96be7d16993b758ccd34e3a271ce2937d72c6ddff878aec61a3a4c0750deaaa959d10ed5e freeradius-305-default-config.patch"
+b69b899da6f80dbdb7422847536e37461315ba587a07fedc1eee28b96be7d16993b758ccd34e3a271ce2937d72c6ddff878aec61a3a4c0750deaaa959d10ed5e freeradius-305-default-config.patch
+3751a5e55801c983f552f5983a2ff1206b53a39a31f5547e1a2c688ecd6a20895912233d40b16ba5a2285b9484f982ce149b1a345ff3ec1af953e1caf9e8292d fix-strerror_r.patch"
diff --git a/main/freeradius/fix-strerror_r.patch b/main/freeradius/fix-strerror_r.patch
new file mode 100644
index 0000000000..4efbc455a7
--- /dev/null
+++ b/main/freeradius/fix-strerror_r.patch
@@ -0,0 +1,34 @@
+From b3cf5084f2f7592c6f2821f55f9bf55ea223f569 Mon Sep 17 00:00:00 2001
+From: Arran Cudbard-Bell <a.cudbardb@freeradius.org>
+Date: Thu, 10 Sep 2015 09:46:15 +0100
+Subject: [PATCH] Check we're building with GLIBC before assuming the GNU
+ version of strerror_r is present Closes #1222
+
+---
+ src/lib/log.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/lib/log.c b/src/lib/log.c
+index 8f55061..49b3103 100644
+--- a/src/lib/log.c
++++ b/src/lib/log.c
+@@ -169,8 +169,8 @@ char const *fr_syserror(int num)
+ /*
+ * XSI-Compliant version
+ */
+-#if !defined(HAVE_FEATURES_H) || ((_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 500) && ! _GNU_SOURCE)
+- if ((ret = strerror_r(num, buffer, (size_t) FR_STRERROR_BUFSIZE) != 0)) {
++#if !defined(HAVE_FEATURES_H) || !defined(__GLIBC__) || ((_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 500) && ! _GNU_SOURCE)
++ if ((ret = strerror_r(num, buffer, (size_t)FR_STRERROR_BUFSIZE) != 0)) {
+ # ifndef NDEBUG
+ fprintf(stderr, "strerror_r() failed to write error for errno %i to buffer %p (%zu bytes), "
+ "returned %i: %s\n", num, buffer, (size_t) FR_STRERROR_BUFSIZE, ret, strerror(ret));
+@@ -187,7 +187,7 @@ char const *fr_syserror(int num)
+ #else
+ {
+ char const *p;
+- p = strerror_r(num, buffer, (size_t) FR_STRERROR_BUFSIZE);
++ p = strerror_r(num, buffer, (size_t)FR_STRERROR_BUFSIZE);
+ if (!p) {
+ # ifndef NDEBUG
+ fprintf(stderr, "strerror_r() failed to write error for errno %i to buffer %p "