Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
alpine
aports
Commits
d4fa70bd
Commit
d4fa70bd
authored
Oct 08, 2009
by
Timo Teräs
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
main/quagga: upgrade to 0.99.15
remove patches merged upstream.
parent
ca778857
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
3 additions
and
86 deletions
+3
-86
main/quagga/APKBUILD
main/quagga/APKBUILD
+3
-9
main/quagga/quagga-0.99.11-fd-leak.patch
main/quagga/quagga-0.99.11-fd-leak.patch
+0
-19
main/quagga/quagga-0.99.11-ipv6-only.patch
main/quagga/quagga-0.99.11-ipv6-only.patch
+0
-29
main/quagga/quagga-0.99.11-zombie.patch
main/quagga/quagga-0.99.11-zombie.patch
+0
-29
No files found.
main/quagga/APKBUILD
View file @
d4fa70bd
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname
=
quagga
pkgver
=
0.99.1
3
pkgrel
=
2
pkgver
=
0.99.1
5
pkgrel
=
0
pkgdesc
=
"A free routing daemon replacing Zebra supporting RIP, OSPF and BGP."
url
=
"http://quagga.net/"
license
=
"GPL-2"
...
...
@@ -12,10 +12,7 @@ install="$pkgname.pre-install $pkgname.post-install"
subpackages
=
"
$pkgname
-dev
$pkgname
-doc"
source
=
"http://www.quagga.net/download/
$pkgname
-
$pkgver
.tar.gz
$pkgname
-0.99.11-link-libcap.patch
$pkgname
-0.99.11-ipv6-only.patch
$pkgname
-0.99.11-del-routes.patch
$pkgname
-0.99.11-zombie.patch
$pkgname
-0.99.11-fd-leak.patch
bgpd.initd
ospf6d.initd
ospfd.initd
...
...
@@ -61,12 +58,9 @@ build() {
done
install
-Dm644
"
$srcdir
/zebra.confd"
"
$pkgdir
"
/etc/conf.d/zebra
}
md5sums
=
"
55a7d2dcf016580a7c7412b3518cd942
quagga-0.99.1
3
.tar.gz
md5sums
=
"
8975414c76a295f4855a417af0b5ddce
quagga-0.99.1
5
.tar.gz
8f99d41a8ed79e51704e8f655d255f29 quagga-0.99.11-link-libcap.patch
44c517e988273e0e5076d24f3959a125 quagga-0.99.11-ipv6-only.patch
1cbcf60a637b2577dee4d6df711e1247 quagga-0.99.11-del-routes.patch
ce345725f2e7240cebe0fd5ac2b2fc48 quagga-0.99.11-zombie.patch
e2391e19b542ec1743776ca9e36ac11a quagga-0.99.11-fd-leak.patch
c4c3b174b1e3400a143407fcc3d27cf5 bgpd.initd
92aba039c049050c48abf984c2db7e2b ospf6d.initd
878328ead225e6eb5f5f77f05ab39106 ospfd.initd
...
...
main/quagga/quagga-0.99.11-fd-leak.patch
deleted
100644 → 0
View file @
ca778857
--- quagga-0.99.11.DIST/bgpd/bgp_fsm.c 2008-09-09 16:18:57.000000000 -0400
+++ quagga-0.99.11/bgpd/bgp_fsm.c 2009-04-13 13:09:25.000000000 -0400
@@ -1013,11 +1013,11 @@
{
/* Clearing, */
{bgp_ignore, Clearing}, /* BGP_Start */
- {bgp_ignore, Clearing}, /* BGP_Stop */
- {bgp_ignore, Clearing}, /* TCP_connection_open */
- {bgp_ignore, Clearing}, /* TCP_connection_closed */
- {bgp_ignore, Clearing}, /* TCP_connection_open_failed */
- {bgp_ignore, Clearing}, /* TCP_fatal_error */
+ {bgp_stop, Clearing}, /* BGP_Stop */
+ {bgp_stop, Clearing}, /* TCP_connection_open */
+ {bgp_stop, Clearing}, /* TCP_connection_closed */
+ {bgp_stop, Clearing}, /* TCP_connection_open_failed */
+ {bgp_stop, Clearing}, /* TCP_fatal_error */
{bgp_ignore, Clearing}, /* ConnectRetry_timer_expired */
{bgp_ignore, Clearing}, /* Hold_Timer_expired */
{bgp_ignore, Clearing}, /* KeepAlive_timer_expired */
main/quagga/quagga-0.99.11-ipv6-only.patch
deleted
100644 → 0
View file @
ca778857
On Linux the default behaviour of getaddrinfo is to provide both IPV4 and IPV6
addresses if available. But the default behaviour of binding to an IPV6 address
is to handle both the native IPV6 address and IPV4 to IPV6 mapped addresses.
Without this patch what happens is:
1. First address is IPV6, bind succeeds.
2. Second address is IPV4, bind fails (port already used by IPV6)
3. incoming connections come in on IPV6 listen socket, as IPV4 mapped
addresses then BGP gets confused because of client with unexpected address.
The fix is to force IPV6 socket as IPV6 only.
--- a/bgpd/bgp_network.c 2008-08-27 17:59:20.000000000 -0700
+++ b/bgpd/bgp_network.c 2008-08-27 18:02:46.000000000 -0700
@@ -412,6 +412,15 @@
bgp_socket (struct bgp *bgp, unsigned sh
setsockopt_ipv4_tos (sock, IPTOS_PREC_INTERNETCONTROL);
#endif
+#ifdef IPV6_V6ONLY
+ /* Want only IPV6 on ipv6 socket (not mapped addresses) */
+ if (ainfo->ai_family == AF_INET6) {
+ int on = 1;
+ setsockopt (sock, IPPROTO_IPV6, IPV6_V6ONLY,
+ (void *) &on, sizeof (on));
+ }
+#endif
+
if (bgpd_privs.change (ZPRIVS_RAISE) )
zlog_err ("bgp_socket: could not raise privs");
main/quagga/quagga-0.99.11-zombie.patch
deleted
100644 → 0
View file @
ca778857
Currently, when accepting the connection, it can be left as zombie,
when the peer just initiates a connection, but never sends data (and
the TCP connection end packets are lost). This happens because for
accepted connections a temporary new peer entry is created until OPEN
message is exchanged, and this temporary peer entry does not get the
hold time parameter set at all.
Signed-off-by: Timo Teras <timo.teras@iki.fi>
---
bgpd/bgp_network.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/bgpd/bgp_network.c b/bgpd/bgp_network.c
index 5dbd487..9a4c36d 100644
--- a/bgpd/bgp_network.c
+++ b/bgpd/bgp_network.c
@@ -185,6 +185,8 @@
bgp_accept (struct thread *thread)
peer->fd = bgp_sock;
peer->status = Active;
peer->local_id = peer1->local_id;
+ peer->v_holdtime = peer1->v_holdtime;
+ peer->v_keepalive = peer1->v_keepalive;
/* Make peer's address string. */
sockunion2str (&su, buf, SU_ADDRSTRLEN);
--
1.5.6.3
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment