From e3c9cd7c741bf0f634fe32beb6eabe68564066dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Milan=20P=2E=20Stani=C4=87?= Date: Mon, 30 Nov 2020 22:04:39 +0000 Subject: [PATCH] community/iwd: upgrade to 1.10 add patches from upstream mailing lists which fixes dhcp and pem in bundled ell library --- community/iwd/APKBUILD | 8 +++++-- community/iwd/ell-dhcp.patch | 24 ++++++++++++++++++++ community/iwd/ell-pem.patch | 43 ++++++++++++++++++++++++++++++++++++ 3 files changed, 73 insertions(+), 2 deletions(-) create mode 100644 community/iwd/ell-dhcp.patch create mode 100644 community/iwd/ell-pem.patch diff --git a/community/iwd/APKBUILD b/community/iwd/APKBUILD index caa741b5640..de6c4227f62 100644 --- a/community/iwd/APKBUILD +++ b/community/iwd/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Milan P. Stanić # Maintainer: Milan P. Stanić pkgname=iwd -pkgver=1.9 +pkgver=1.10 pkgrel=0 pkgdesc="Internet Wireless Daemon" url="https://iwd.wiki.kernel.org/" @@ -13,6 +13,8 @@ subpackages="$pkgname-doc $pkgname-openrc" source="https://mirrors.edge.kernel.org/pub/linux/network/wireless/iwd-$pkgver.tar.gz dbus-netdev-group.patch fix-rawmemchr.patch + ell-dhcp.patch + ell-pem.patch iwd.initd main.conf iwd.post-upgrade @@ -50,9 +52,11 @@ package() { "$pkgdir"/etc/$pkgname/main.conf } -sha512sums="d4c92e5fe66a23aa195560bcd67c9eb6f22612ecf87e038eaf34ccbfba279a09a3463c8187fba631893e7a908d37f366c23f3b85f89b46cdaf86e28d8244ddff iwd-1.9.tar.gz +sha512sums="aaac7628ffd517fca294b1e939279d9bf095a2a9e37b953dd05fc7d593f247110b1d30a8c637a95c2b45e3f27962a82391fea763cd00e81f584b5b6bd7c5aec1 iwd-1.10.tar.gz 7d3bc26b558ebfd22335b946f09abd5326e885275979c617af7def1468ade23ba7605f3b13aaf91836035c130aaec04be0ff2708a898f3ae835e0eef4e78fa0e dbus-netdev-group.patch 2d8cc70a9475465755f8187c6afb93e5792842dccf55f977ce111e98477517feae1be81eefd50c53149c61d7944a728dc504938ad678a2c789703bcc6f1e7507 fix-rawmemchr.patch +cce268e76fcfed1a53b890c4c79f28f4570477963c4f795ef75940da233d9642a5574b608e6dcf449ffd4de468b923eafdebfe8cb4ef3e5bf55aecd1c32e28f0 ell-dhcp.patch +c33bc3270c94c218280e80db857cdc99f757a6e51f3a5cdb5110b77c35faf80ce0418b8329b9d198d74be923e9da87fe53211c25b32541d0ea974fb5ccc2805d ell-pem.patch 1a913fa19a76a18d92b8f44cb5b4b99a64b4e2f7d2b4a486bf1ba2f939aea7dcca772fca91483011ada58aaa3addc29c76ececd708b2187e57f72aa040ac77e6 iwd.initd 09f4097e653cfecfa1e4bc7b4843832785d0a8ef2a8ecf7daa3d5be704d9ac311fbbecf9f9f5b8b1c75beff894e4cf0d8fda4d6ff728a638dedf77aff0197179 main.conf 414cb08e01735a66dfb57eac7f308ce75f8f7adf679c5e38418293a0acb2398f9b4df4dd50a6756e48eb03b86de1546e2f852a28677842f2c453a0db86d49f71 iwd.post-upgrade" diff --git a/community/iwd/ell-dhcp.patch b/community/iwd/ell-dhcp.patch new file mode 100644 index 00000000000..df5888b9e0e --- /dev/null +++ b/community/iwd/ell-dhcp.patch @@ -0,0 +1,24 @@ +From: Érico Rolim + +--- + +I would prefer adding `#include ` directly in +dhcp-private.h, but this patch follows the current style. + + ell/dhcp-server.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/ell/dhcp-server.c b/ell/dhcp-server.c +index c983ed4..144e83e 100644 +--- a/ell/dhcp-server.c ++++ b/ell/dhcp-server.c +@@ -24,6 +24,7 @@ + #include + #endif + ++#include + #include + #include + #include +-- +2.29.2 diff --git a/community/iwd/ell-pem.patch b/community/iwd/ell-pem.patch new file mode 100644 index 00000000000..c89e8f3f77d --- /dev/null +++ b/community/iwd/ell-pem.patch @@ -0,0 +1,43 @@ +From: =?utf-8?q?=C3=89rico_Nogueira_=3Cericonr_at_disroot=2Eorg=3E?= +To: ellatlists.01.org +Subject: [BUG] ELL doesn't have a fallback for rawmemchr +Date: Mon, 30 Nov 2020 13:49:47 -0300 +MIME-Version: 1.0 +Content-Transfer-Encoding: 8bit +Content-Type: text/plain; charset=utf-8 + +Hi! + +Building ELL 0.35 on a musl system fails, due to ell/pem.c using +rawmemchr(), which is a glibc extension. Building IWD with internal +ELL fails for the same reason. + +I see that IWD itself has src/missing.h with a fallback, but ELL lacks +that. + +We are using the following patch to fix the build: + +diff --git a/ell/pem.c b/ell/pem.c +index 790f2c2..237ae02 100644 +--- a/ell/pem.c ++++ b/ell/pem.c +@@ -224,7 +224,7 @@ static uint8_t *pem_load_buffer(const void *buf, size_t= + buf_len, + + /* Check that each header line has a key and a colon */ + while (start < end) { +- const char *lf = rawmemchr(start, '\n'); ++ const char *lf = memchr(start, '\n', end - start); + const char *colon = memchr(start, ':', lf - start); + + if (!colon) + +-- + +If ELL is willing to include a src/missing.h of their own, that would +solve the issue, but avoiding rawmemchr() completely is also a +possibility. + +Thanks, +Érico + -- GitLab