aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--main/quagga-nhrp/APKBUILD (renamed from testing/quagga-nhrp/APKBUILD)26
-rw-r--r--main/quagga-nhrp/bgpd-route-selection-crash.patch16
-rw-r--r--main/quagga-nhrp/bgpd.initd (renamed from testing/quagga-nhrp/bgpd.initd)0
-rw-r--r--main/quagga-nhrp/dont-hook-core-signals.patch20
-rw-r--r--main/quagga-nhrp/quagga-nhrp.post-install (renamed from testing/quagga-nhrp/quagga-nhrp.post-install)0
l---------main/quagga-nhrp/quagga-nhrp.post-upgrade (renamed from testing/quagga-nhrp/quagga-nhrp.post-upgrade)0
-rw-r--r--main/quagga-nhrp/quagga-nhrp.pre-install (renamed from testing/quagga-nhrp/quagga-nhrp.pre-install)0
-rw-r--r--main/quagga-nhrp/zebra.confd (renamed from testing/quagga-nhrp/zebra.confd)0
-rw-r--r--main/quagga-nhrp/zebra.initd (renamed from testing/quagga-nhrp/zebra.initd)0
-rw-r--r--testing/quagga-nhrp/bgpd-gr-route-selection-fix.patch37
10 files changed, 51 insertions, 48 deletions
diff --git a/testing/quagga-nhrp/APKBUILD b/main/quagga-nhrp/APKBUILD
index dbda8e3dc6..2fe9f53db8 100644
--- a/testing/quagga-nhrp/APKBUILD
+++ b/main/quagga-nhrp/APKBUILD
@@ -1,10 +1,10 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=quagga-nhrp
-pkgver=0.99.24.1_git20150616
-_commitid=afac3f9b63e29ac4d8fe5f2c2cfa2bd15c880068
+pkgver=0.99.24.1_git20150703
+_commitid=04bd757045dd1c09dec133115d3e8620985b4a00
pkgrel=0
pkgdesc="A free routing daemon replacing Zebra supporting RIP, OSPF, BGP and NHRP."
-url="http://git.alpinelinux.org/cgit/tteras/quagga/commit/?h=nhrp"
+url="http://git.alpinelinux.org/cgit/user/tteras/quagga/commit/?h=nhrp"
arch="all"
license="GPL-2"
depends="iproute2"
@@ -15,8 +15,9 @@ install="$pkgname.pre-install $pkgname.post-install $pkgname.post-upgrade"
subpackages="$pkgname-dev $pkgname-doc $pkgname-dbg"
pkgusers="quagga"
pkggroups="quagga"
-source="quagga-nhrp-$pkgver.tar.bz2::http://git.alpinelinux.org/cgit/tteras/quagga/snapshot/quagga-$_commitid.tar.bz2
- bgpd-gr-route-selection-fix.patch
+source="quagga-nhrp-$pkgver.tar.bz2::http://git.alpinelinux.org/cgit/user/tteras/quagga/snapshot/quagga-$_commitid.tar.bz2
+ bgpd-route-selection-crash.patch
+ dont-hook-core-signals.patch
bgpd.initd
zebra.initd
zebra.confd
@@ -74,18 +75,21 @@ package() {
install -Dm644 "$srcdir/zebra.confd" "$pkgdir"/etc/conf.d/zebra
install -o quagga -g quagga -d -m755 "$pkgdir"/etc/quagga
}
-md5sums="8c5f6b43a9d3b74556bb0dd73697c981 quagga-nhrp-0.99.24.1_git20150616.tar.bz2
-1fbfcff69bc7df56f9e6682012261004 bgpd-gr-route-selection-fix.patch
+md5sums="dbc883c35f149f44f93bfaab5108830b quagga-nhrp-0.99.24.1_git20150703.tar.bz2
+10c9c745f2f9fdd1d81a4100d44e3313 bgpd-route-selection-crash.patch
+1224ba91ea6b6e81f583bad7813aba98 dont-hook-core-signals.patch
09a77e2e84e71c43f5a449738c026261 bgpd.initd
916f1dd1a286ee7b862cda4fe56cbf21 zebra.initd
34e06a1d2bc602ce691abc9ed169dd15 zebra.confd"
-sha256sums="2184e13e799529b91b5bc74ba53504c07b94ad9ee9b31321388878d31540046a quagga-nhrp-0.99.24.1_git20150616.tar.bz2
-66de5b7c097aeb1767001547e219af51e43f968bd241dec7f0c71b68b54855de bgpd-gr-route-selection-fix.patch
+sha256sums="fd1a57c0ff8662953b4deddb52f074254ca3ccd98f912a4904540292cb18dd7c quagga-nhrp-0.99.24.1_git20150703.tar.bz2
+d8d65cc092cf7644b059d4c1b789b223482b0f50ba2cc891da4d71fe083f8cc0 bgpd-route-selection-crash.patch
+4b71588e34ac14f8d6e72e6064b5e4ec302f286ebbe43df94c97411cceb66a23 dont-hook-core-signals.patch
aab037454c6a70cd5cb45e14c47b7dfea358f8d81c7d12418edcf7e58a86c679 bgpd.initd
c1d7526581927e990e687cbd5d08447eb060f76a439475572785b5b90c60c460 zebra.initd
f7a52d383f60270a5a8fee5d4ac522c5c0ec2b7c4b5252cff54e260f32d9b323 zebra.confd"
-sha512sums="763f147a0a4436539b80fbfd15bca31ff357aa37496e22ac41439080b8c47e8c4930e30242d2aa043134b6e8aea26be70b65008d3a6e336ead16f599929ddeae quagga-nhrp-0.99.24.1_git20150616.tar.bz2
-3e3e1862739ed47da38720d87669ee0bfa2d6e2c2c65388727c92a22cad8b5bf9f4c302701cbd0cf3ac0186eeb1498aefed74c85d8f43ced41c78680fdbbc2ac bgpd-gr-route-selection-fix.patch
+sha512sums="a4b6f9838d838a1dce9f9a308b2b0036dbf9e8272cfe2b865f3283d9fd2f500383a09df1734e921ba4c20c2b65de903ef925efb79419d20481d8b4342418a1b1 quagga-nhrp-0.99.24.1_git20150703.tar.bz2
+3317554cc2470f12eb6694f2ada187be4ccc45976ebf09aa487634bbd7a4820a917f3c202bb9d4736771adf33e5eafa45f7bb8dadd2e9872d5fe7885261714b5 bgpd-route-selection-crash.patch
+5ef5c5e6d70d991b33b13a062e25b6fbde395dceee36aea29384b0640a48d2957ed5f50d416a1f2f770bf69bae2340133e35b1114be7e1fa722eb6d3d021f37a dont-hook-core-signals.patch
13b5b57e10df013bd2d931abc49bf76b8c4dee59dbceab22c9f151ccb988b2c5f7167f2909027d5e0f990b59da8de115667b02484aee9a67d347625700f6cacd bgpd.initd
1638a4a64ffd066b1884f7e5a4243edab68739aabd83bd35ea8c9608af7b8623eece1d59fb08feead84e4386b6d1da4220764ccf5fd7f2a9959a8470d5cce86a zebra.initd
900972c6f98e561dfacf384111251db262326e8764b8c763a5ef639fa11c7949c03eef5e3bce324a4b1964fe45416d2db74ae1b6bc967f7d4ba48c2eeda017c4 zebra.confd"
diff --git a/main/quagga-nhrp/bgpd-route-selection-crash.patch b/main/quagga-nhrp/bgpd-route-selection-crash.patch
new file mode 100644
index 0000000000..473e4e564b
--- /dev/null
+++ b/main/quagga-nhrp/bgpd-route-selection-crash.patch
@@ -0,0 +1,16 @@
+diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c
+index 34ba1ab..7ade22f 100644
+--- a/bgpd/bgp_route.c
++++ b/bgpd/bgp_route.c
+@@ -553,6 +553,11 @@ bgp_info_cmp (struct bgp *bgp, struct bgp_info *new, struct bgp_info *exist,
+ return 0;
+
+ /* 13. Neighbor address comparision. */
++ if (new->peer->su_remote == NULL)
++ return 0;
++ if (exist->peer->su_remote == NULL)
++ return 1;
++
+ ret = sockunion_cmp (new->peer->su_remote, exist->peer->su_remote);
+
+ if (ret == 1)
diff --git a/testing/quagga-nhrp/bgpd.initd b/main/quagga-nhrp/bgpd.initd
index bd1e4c6c92..bd1e4c6c92 100644
--- a/testing/quagga-nhrp/bgpd.initd
+++ b/main/quagga-nhrp/bgpd.initd
diff --git a/main/quagga-nhrp/dont-hook-core-signals.patch b/main/quagga-nhrp/dont-hook-core-signals.patch
new file mode 100644
index 0000000000..0fa57502d0
--- /dev/null
+++ b/main/quagga-nhrp/dont-hook-core-signals.patch
@@ -0,0 +1,20 @@
+diff --git a/lib/sigevent.c b/lib/sigevent.c
+index c80a729..1221c25 100644
+--- a/lib/sigevent.c
++++ b/lib/sigevent.c
+@@ -244,6 +244,7 @@ static void
+ trap_default_signals(void)
+ {
+ static const int core_signals[] = {
++#if 0
+ SIGQUIT,
+ SIGILL,
+ #ifdef SIGEMT
+@@ -261,6 +262,7 @@ trap_default_signals(void)
+ #ifdef SIGXFSZ
+ SIGXFSZ,
+ #endif
++#endif
+ };
+ static const int exit_signals[] = {
+ SIGHUP,
diff --git a/testing/quagga-nhrp/quagga-nhrp.post-install b/main/quagga-nhrp/quagga-nhrp.post-install
index b4bcef1e7b..b4bcef1e7b 100644
--- a/testing/quagga-nhrp/quagga-nhrp.post-install
+++ b/main/quagga-nhrp/quagga-nhrp.post-install
diff --git a/testing/quagga-nhrp/quagga-nhrp.post-upgrade b/main/quagga-nhrp/quagga-nhrp.post-upgrade
index 1dcbc73fb9..1dcbc73fb9 120000
--- a/testing/quagga-nhrp/quagga-nhrp.post-upgrade
+++ b/main/quagga-nhrp/quagga-nhrp.post-upgrade
diff --git a/testing/quagga-nhrp/quagga-nhrp.pre-install b/main/quagga-nhrp/quagga-nhrp.pre-install
index c0fe3c8c56..c0fe3c8c56 100644
--- a/testing/quagga-nhrp/quagga-nhrp.pre-install
+++ b/main/quagga-nhrp/quagga-nhrp.pre-install
diff --git a/testing/quagga-nhrp/zebra.confd b/main/quagga-nhrp/zebra.confd
index d2deb114e5..d2deb114e5 100644
--- a/testing/quagga-nhrp/zebra.confd
+++ b/main/quagga-nhrp/zebra.confd
diff --git a/testing/quagga-nhrp/zebra.initd b/main/quagga-nhrp/zebra.initd
index 6ab297e74f..6ab297e74f 100644
--- a/testing/quagga-nhrp/zebra.initd
+++ b/main/quagga-nhrp/zebra.initd
diff --git a/testing/quagga-nhrp/bgpd-gr-route-selection-fix.patch b/testing/quagga-nhrp/bgpd-gr-route-selection-fix.patch
deleted file mode 100644
index 36719d3755..0000000000
--- a/testing/quagga-nhrp/bgpd-gr-route-selection-fix.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-During best path selection, if one of the candidates is a stale entry, do not
-perform the neighbor address comparison as that information is invalid for
-the stale entry. Attempting to perform the comparison results in a bgpd
-exception.
-
-diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c
-index cca26d8..d30c643 100644
---- a/bgpd/bgp_route.c
-+++ b/bgpd/bgp_route.c
-@@ -540,7 +540,11 @@ bgp_info_cmp (struct bgp *bgp, struct bgp_info *new, struct bgp_info *exist,
- return 0;
- }
-
-- /* 11. Rourter-ID comparision. */
-+ /* 11. Router-ID comparision. */
-+ /* If one of the paths is "stale", the corresponding peer router-id will
-+ * be 0 and would always win over the other path. If originator id is
-+ * used for the comparision, it will decide which path is better.
-+ */
- if (newattr->flag & ATTR_FLAG_BIT(BGP_ATTR_ORIGINATOR_ID))
- new_id.s_addr = newattre->originator_id.s_addr;
- else
-@@ -565,6 +569,14 @@ bgp_info_cmp (struct bgp *bgp, struct bgp_info *new, struct bgp_info *exist,
- return 0;
-
- /* 13. Neighbor address comparision. */
-+ /* Do this only if neither path is "stale" as stale paths do not have
-+ * valid peer information (as the connection may or may not be up).
-+ */
-+ if (CHECK_FLAG (exist->flags, BGP_INFO_STALE))
-+ return 1;
-+ if (CHECK_FLAG (new->flags, BGP_INFO_STALE))
-+ return 0;
-+
- ret = sockunion_cmp (new->peer->su_remote, exist->peer->su_remote);
-
- if (ret == 1)