Commit 3ef17d0a authored by Natanael Copa's avatar Natanael Copa

main/opennhrp: upgrade to 0.11.2

parent 050e7af1
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=opennhrp
pkgver=0.11.1
pkgrel=2
pkgver=0.11.2
pkgrel=0
pkgdesc="NBMA Next Hop Resolution Protocol daemon"
url="http://sourceforge.net/projects/opennhrp"
license="GPL-3"
......@@ -10,7 +10,6 @@ makedepends="c-ares-dev"
subpackages="$pkgname-doc"
source="http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.bz2
opennhrp-0.9.3-peer-up-bgp.patch
opennhrp-0.11.1-fix.patch
$pkgname.initd
$pkgname.confd
"
......@@ -28,8 +27,7 @@ build() {
install -Dm755 "$srcdir"/opennhrp.initd "$pkgdir"/etc/init.d/opennhrp
install -Dm644 "$srcdir"/opennhrp.confd "$pkgdir"/etc/conf.d/opennhrp
}
md5sums="9cc1e99de2b132591d685eb5f9d70630 opennhrp-0.11.1.tar.bz2
md5sums="3aace509ac79acbde3bb3e44e88798d5 opennhrp-0.11.2.tar.bz2
f81539fc92800bb79668dda119a97d1d opennhrp-0.9.3-peer-up-bgp.patch
0e6defecbb3f54814bc3580bb41b0e3f opennhrp-0.11.1-fix.patch
42b7507d5c0025525fd97cd8951f693b opennhrp.initd
8eee86233728dc0d156bbfee6d98f338 opennhrp.confd"
commit c24f2cf55eee9a5aefe27bcb34822a5737f170cf
Author: Timo Teras <timo.teras@iki.fi>
Date: Mon Sep 14 08:25:09 2009 +0300
peer: reset both events when script triggers
otherwise we can get same callback twice.
diff --git a/nhrp/nhrp_peer.c b/nhrp/nhrp_peer.c
index b447784..e5721a5 100644
--- a/nhrp/nhrp_peer.c
+++ b/nhrp/nhrp_peer.c
@@ -308,14 +308,16 @@ struct nhrp_peer *nhrp_peer_from_event(union nhrp_peer_event e, int revents)
if (revents & EV_CHILD) {
peer = container_of(e.child, struct nhrp_peer, child);
- ev_timer_stop(&peer->timer);
} else if (revents & EV_TIMEOUT) {
peer = container_of(e.timer, struct nhrp_peer, timer);
- ev_child_stop(&peer->child);
} else {
NHRP_BUG_ON(revents != 0);
peer = container_of(e.child, struct nhrp_peer, child);
}
+
+ ev_child_stop(&peer->child);
+ ev_timer_stop(&peer->timer);
+
return peer;
}
diff --git a/nhrp/nhrp_server.c b/nhrp/nhrp_server.c
index d928886..ad6e292 100644
--- a/nhrp/nhrp_server.c
+++ b/nhrp/nhrp_server.c
@@ -195,13 +195,18 @@ static void nhrp_server_finish_reg(struct nhrp_pending_request *pr)
static void nhrp_server_finish_cie_reg_cb(union nhrp_peer_event e, int revents)
{
- struct nhrp_peer *peer = nhrp_peer_from_event(e, revents);
- struct nhrp_pending_request *pr = peer->request;
- struct nhrp_packet *packet = pr->packet;
- struct nhrp_cie *cie = pr->cie;
+ struct nhrp_peer *peer;
+ struct nhrp_pending_request *pr;
+ struct nhrp_packet *packet;
+ struct nhrp_cie *cie;
struct nhrp_peer_selector sel;
char tmp[64], reason[32];
+ peer = nhrp_peer_from_event(e, revents);
+ pr = peer->request;
+ packet = pr->packet;
+ cie = pr->cie;
+
peer->request = NULL;
nhrp_address_format(&peer->protocol_address, sizeof(tmp), tmp);
if (revents != 0 && nhrp_peer_event_ok(e, revents)) {
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment