aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--main/quagga/APKBUILD12
-rw-r--r--main/quagga/bgpd-route-selection-crash.patch22
-rw-r--r--main/quagga/dont-hook-core-signals.patch20
3 files changed, 39 insertions, 15 deletions
diff --git a/main/quagga/APKBUILD b/main/quagga/APKBUILD
index 2c36648423..563013c536 100644
--- a/main/quagga/APKBUILD
+++ b/main/quagga/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=quagga
pkgver=0.99.24.1
-pkgrel=2
+pkgrel=3
pkgdesc="A free routing daemon replacing Zebra supporting RIP, OSPF and BGP."
url="http://quagga.net/"
arch="all"
@@ -14,6 +14,7 @@ pkgusers="quagga"
pkggroups="quagga"
source="http://download.savannah.gnu.org/releases/quagga/quagga-$pkgver.tar.xz
bgpd-route-selection-crash.patch
+ dont-hook-core-signals.patch
bgpd.initd
zebra.initd
zebra.confd
@@ -71,17 +72,20 @@ package() {
install -o quagga -g quagga -d -m755 "$pkgdir"/etc/quagga
}
md5sums="b168db69435100ee04564c4fb39c7413 quagga-0.99.24.1.tar.xz
-87b4a6aaf991425851f080e121fd804b bgpd-route-selection-crash.patch
+10c9c745f2f9fdd1d81a4100d44e3313 bgpd-route-selection-crash.patch
+1224ba91ea6b6e81f583bad7813aba98 dont-hook-core-signals.patch
09a77e2e84e71c43f5a449738c026261 bgpd.initd
916f1dd1a286ee7b862cda4fe56cbf21 zebra.initd
34e06a1d2bc602ce691abc9ed169dd15 zebra.confd"
sha256sums="6fd6baadb136a801c29c1dd72d0fe69da9f19ae498e87bff7057778361e43b14 quagga-0.99.24.1.tar.xz
-c5e9adaefbca5317a8a24c6e749da8ec18b445d7d0aed80792d050f5706f117d bgpd-route-selection-crash.patch
+d8d65cc092cf7644b059d4c1b789b223482b0f50ba2cc891da4d71fe083f8cc0 bgpd-route-selection-crash.patch
+4b71588e34ac14f8d6e72e6064b5e4ec302f286ebbe43df94c97411cceb66a23 dont-hook-core-signals.patch
aab037454c6a70cd5cb45e14c47b7dfea358f8d81c7d12418edcf7e58a86c679 bgpd.initd
c1d7526581927e990e687cbd5d08447eb060f76a439475572785b5b90c60c460 zebra.initd
f7a52d383f60270a5a8fee5d4ac522c5c0ec2b7c4b5252cff54e260f32d9b323 zebra.confd"
sha512sums="71c340ce0f4e52c69892d8fed82d30956161b09b029fb0a82ba774664aa2303b493068664ea057870bec3c7c2a1ffea0a68fba0c400d6868efef691d7b055d2a quagga-0.99.24.1.tar.xz
-e61ae7530b819e24b4c4a4bbc3138395d63b46a882a10da838487b088f823a791897d55bab94ba8784dafd741cdaa04b57f2e7aab962b6bd607b67ae60c72cb3 bgpd-route-selection-crash.patch
+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/bgpd-route-selection-crash.patch b/main/quagga/bgpd-route-selection-crash.patch
index 3f1797395e..473e4e564b 100644
--- a/main/quagga/bgpd-route-selection-crash.patch
+++ b/main/quagga/bgpd-route-selection-crash.patch
@@ -1,16 +1,16 @@
diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c
-index 34ba1ab..ad8642e 100644
+index 34ba1ab..7ade22f 100644
--- a/bgpd/bgp_route.c
+++ b/bgpd/bgp_route.c
-@@ -348,9 +348,9 @@ bgp_info_cmp (struct bgp *bgp, struct bgp_info *new, struct bgp_info *exist,
- *paths_eq = 0;
-
- /* 0. Null check. */
-- if (new == NULL)
-+ if (new == NULL || new->peer->su_remote == NULL)
+@@ -553,6 +553,11 @@ bgp_info_cmp (struct bgp *bgp, struct bgp_info *new, struct bgp_info *exist,
return 0;
-- if (exist == NULL)
-+ if (exist == NULL || exist->peer->su_remote == NULL)
- return 1;
- newattr = new->attr;
+ /* 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/main/quagga/dont-hook-core-signals.patch b/main/quagga/dont-hook-core-signals.patch
new file mode 100644
index 0000000000..0fa57502d0
--- /dev/null
+++ b/main/quagga/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,