aboutsummaryrefslogtreecommitdiffstats
path: root/main/quagga
diff options
context:
space:
mode:
Diffstat (limited to 'main/quagga')
-rw-r--r--main/quagga/APKBUILD6
-rw-r--r--main/quagga/musl-fix-msghdr-usage.patch42
2 files changed, 47 insertions, 1 deletions
diff --git a/main/quagga/APKBUILD b/main/quagga/APKBUILD
index 5593a12dad..645d446711 100644
--- a/main/quagga/APKBUILD
+++ b/main/quagga/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=quagga
pkgver=0.99.23
-pkgrel=2
+pkgrel=3
pkgdesc="A free routing daemon replacing Zebra supporting RIP, OSPF and BGP."
url="http://quagga.net/"
arch="all"
@@ -21,6 +21,7 @@ source="http://download.savannah.gnu.org/releases/quagga/quagga-$pkgver.tar.xz
0006-bgpd-don-t-send-NOTIFY-twice-for-malformed-attrs.patch
1001-bgpd-implement-next-hop-self-all.patch
musl-fix-headers.patch
+ musl-fix-msghdr-usage.patch
bgpd.initd
zebra.initd
zebra.confd
@@ -86,6 +87,7 @@ d114d29e5463f910588b8a696af950bd 0005-bgpd-fix-IP-endianness-in-debug-message.p
265489d300fb6be9eb871fc3a29532ee 0006-bgpd-don-t-send-NOTIFY-twice-for-malformed-attrs.patch
2e78b3ea20041f94ff99798d37e1456e 1001-bgpd-implement-next-hop-self-all.patch
df62890cccdb7d9c7cc9b96167b9da8c musl-fix-headers.patch
+1ee2755d3e81e9867c518107ba9bdced musl-fix-msghdr-usage.patch
e80a3df594eba8b09e19aa28d9283698 bgpd.initd
33d0e34f11460881161ab930d3d3b987 zebra.initd
34e06a1d2bc602ce691abc9ed169dd15 zebra.confd"
@@ -98,6 +100,7 @@ f9d6bb23ca06ad024c75d0dbd7b1c73faa6fbc649ab11d27be16245342a1bae5 0004-bgpd-fix-
3b54a7af83a7bc2750930e9810a89709221067261b2d4326cadc7cd069beb334 0006-bgpd-don-t-send-NOTIFY-twice-for-malformed-attrs.patch
979ed4f7a3e3b604a2cd3c717df467e253a4b75160f870343e6d96af0c9687ec 1001-bgpd-implement-next-hop-self-all.patch
f59f1f654e80ae9c80e6ea150e210d82aa799d44624fa361348fc242849d0ebc musl-fix-headers.patch
+797c02b58640b5c6677d6288c56c6275fd8b48094d83fabc82eb944f4573ea77 musl-fix-msghdr-usage.patch
41471bfda120cb57bc0f40e87ec23a4f150d2b97c97ececdda6c408eab7cf9a3 bgpd.initd
d6cc9280df63859ba711ad2071b38b9ce317d718c34840a2b101debef3fa7b56 zebra.initd
f7a52d383f60270a5a8fee5d4ac522c5c0ec2b7c4b5252cff54e260f32d9b323 zebra.confd"
@@ -110,6 +113,7 @@ bd99facfd6d4371d9982a8d56c36b924f6b4a8d0f4f61867ae26a07ca741bc0beb5c6522f138e499
6bfcec805233c52a8c7b042eb501c78b861386e0645cba726e4d4bd02a300219541ae0b63ff78e7fd239c2c332560ac9b4f4efcb2a50682c1df95572dd3c45af 0006-bgpd-don-t-send-NOTIFY-twice-for-malformed-attrs.patch
44677f3852b31f2f2776507b0da004431d12253b5897336d49525114a87945283a21d6dfe6162a73ff1f006fc235e31a753ac591aa70e6b8f4fbb3adb75e00f9 1001-bgpd-implement-next-hop-self-all.patch
b0cbef2d1544efa8a194aa4f05bd17225073dff7526bfa84a6068d7ae5806ff045c62c914999e1ecae04c4b251713aed5d5b0a6a98db6c3176ddf122d76894c7 musl-fix-headers.patch
+f0072ebcdde2f10216aa746831b5b11e49ba1a2b1499a416b7a35d80c5e2e30ae1da4f6128071d506d4f93e08bce560c1c5c7face244c8857957644044ee20ba musl-fix-msghdr-usage.patch
d2bf7e8f2da49d0b039e72e76a77860b5b49d41a80550d6dc84791bbdec1d52e579393c5d42b45aa615991742421fef53ec1b92a5e740779b6060e20f5dd0413 bgpd.initd
a4955fe54729ec8cb17b72f3d2205d0a4ba814a51a5eb3635a85339de9a2d2342e4814ef8b1e011803fa1dc3c6f9a23b178848e0812576876343104854feb723 zebra.initd
900972c6f98e561dfacf384111251db262326e8764b8c763a5ef639fa11c7949c03eef5e3bce324a4b1964fe45416d2db74ae1b6bc967f7d4ba48c2eeda017c4 zebra.confd"
diff --git a/main/quagga/musl-fix-msghdr-usage.patch b/main/quagga/musl-fix-msghdr-usage.patch
new file mode 100644
index 0000000000..77ba1a3776
--- /dev/null
+++ b/main/quagga/musl-fix-msghdr-usage.patch
@@ -0,0 +1,42 @@
+diff -ru quagga-0.99.23.orig/zebra/rt_netlink.c quagga-0.99.23/zebra/rt_netlink.c
+--- quagga-0.99.23.orig/zebra/rt_netlink.c 2014-06-24 08:14:20.000000000 -0300
++++ quagga-0.99.23/zebra/rt_netlink.c 2014-07-29 11:20:47.188233069 -0300
+@@ -282,9 +282,17 @@
+ while (1)
+ {
+ char buf[NL_PKT_BUF_SIZE];
+- struct iovec iov = { buf, sizeof buf };
++ struct iovec iov = {
++ .iov_base = buf,
++ .iov_len = sizeof buf
++ };
+ struct sockaddr_nl snl;
+- struct msghdr msg = { (void *) &snl, sizeof snl, &iov, 1, NULL, 0, 0 };
++ struct msghdr msg = {
++ .msg_name = (void *) &snl,
++ .msg_namelen = sizeof snl,
++ .msg_iov = &iov,
++ .msg_iovlen = 1
++ };
+ struct nlmsghdr *h;
+
+ status = recvmsg (nl->sock, &msg, 0);
+@@ -1312,8 +1320,16 @@
+ {
+ int status;
+ struct sockaddr_nl snl;
+- struct iovec iov = { (void *) n, n->nlmsg_len };
+- struct msghdr msg = { (void *) &snl, sizeof snl, &iov, 1, NULL, 0, 0 };
++ struct iovec iov = {
++ .iov_base = (void *) n,
++ .iov_len = n->nlmsg_len
++ };
++ struct msghdr msg = {
++ .msg_name = (void *) &snl,
++ .msg_namelen = sizeof snl,
++ .msg_iov = &iov,
++ .msg_iovlen = 1,
++ };
+ int save_errno;
+
+ memset (&snl, 0, sizeof snl);