aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLeo <thinkabit.ukim@gmail.com>2019-09-25 00:26:33 -0300
committerLeo <thinkabit.ukim@gmail.com>2019-09-25 02:25:12 -0300
commit1de2bc50153409adff4fcc40fc54f0aeac2e0086 (patch)
treee08987579a1a4568fb7940795fb10f894226f049
parent21a5be955209203a84fdc7345a52fc4a43c0fed3 (diff)
downloadaports-1de2bc50153409adff4fcc40fc54f0aeac2e0086.tar.bz2
aports-1de2bc50153409adff4fcc40fc54f0aeac2e0086.tar.xz
community/connman: fix segfault with musl >= 1.1.21
fixes #10818
-rw-r--r--community/connman/APKBUILD11
-rw-r--r--community/connman/musl.patch18
2 files changed, 22 insertions, 7 deletions
diff --git a/community/connman/APKBUILD b/community/connman/APKBUILD
index 870f9051ce..350a4bb19c 100644
--- a/community/connman/APKBUILD
+++ b/community/connman/APKBUILD
@@ -2,7 +2,7 @@
# Contributor: Valery Kartel <valery.kartel@gmail.com>
pkgname=connman
pkgver=1.37
-pkgrel=0
+pkgrel=1
pkgdesc="A daemon for managing internet connections"
url="https://01.org/connman"
arch="all"
@@ -11,20 +11,18 @@ depends="wpa_supplicant"
makedepends="autoconf automake dbus-dev glib-dev iptables-dev libtool
readline-dev"
subpackages="$pkgname-dev $pkgname-doc $pkgname-openrc"
-source="https://www.kernel.org/pub/linux/network/connman/$pkgname-$pkgver.tar.xz
+source="https://www.kernel.org/pub/linux/network/connman/connman-$pkgver.tar.xz
libresolv.patch
+ musl.patch
connman.initd
"
-builddir="$srcdir"/$pkgname-$pkgver
prepare() {
default_prepare
- cd "$builddir"
autoreconf -vif
}
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -38,12 +36,10 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
install -Dm644 src/main.conf "$pkgdir"/etc/$pkgname/main.conf
install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
@@ -51,4 +47,5 @@ package() {
sha512sums="5d5363105aedd0c9d609dd5c64eb832d9ff80923a944d9d3738337a61f180ded227f2ae1ff7912bed8826b35f0cfd20488e3ffd3801f0e53e90f98498e19efb6 connman-1.37.tar.xz
122b48fc9e25354e25ba3a3e0864bdd84da84457fed94aeea726bcb189b2f05f2cc361ae15f44af5c49bcee572e91e4c0488ef3b0bc79d20f6efe15853fb6b3a libresolv.patch
+67dea4bc1ee55ca4b3eb976c3abe0e14d78fc052c102d08c90f63f3d16fc147ba04db391f448908dce7033774672c25af0619ddfc3e6020bfea60dc38b8bd7b4 musl.patch
42b45d44f5eed966ba003683fcb54ffb4e9a0331599ff1c8e5e64c4c06b42d380c3852b7c73881a1be1eaca887906cac9aede1f5579e8e139fdf90ca8d7adf15 connman.initd"
diff --git a/community/connman/musl.patch b/community/connman/musl.patch
new file mode 100644
index 0000000000..f87807f360
--- /dev/null
+++ b/community/connman/musl.patch
@@ -0,0 +1,18 @@
+In musl > 1.1.21 freeaddrinfo() implementation changed and
+was causing a segmentation fault.
+
+diff --git a/gweb/gweb.c b/gweb/gweb.c
+index 393afe0..12fcb1d 100644
+--- a/gweb/gweb.c
++++ b/gweb/gweb.c
+@@ -1274,7 +1274,8 @@ static bool is_ip_address(const char *host)
+ addr = NULL;
+
+ result = getaddrinfo(host, NULL, &hints, &addr);
+- freeaddrinfo(addr);
++ if(!result)
++ freeaddrinfo(addr);
+
+ return result == 0;
+ }
+