summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorremi <remi@openbsd.org>2019-12-09 20:49:40 +0000
committerremi <remi@openbsd.org>2019-12-09 20:49:40 +0000
commita9cd83395d933317b83dd64e206e7e653075352f (patch)
tree2ef9cabee765740ee8f8c84f0330ccb78f82c8d5
parentfix error message. (diff)
downloadwireguard-openbsd-a9cd83395d933317b83dd64e206e7e653075352f.tar.xz
wireguard-openbsd-a9cd83395d933317b83dd64e206e7e653075352f.zip
Do not count up nentries in send_response() when the entry was skipped
because of split-horizon simple. This fixes empty response packages sent out by ripd. Adapt send_request() to follow the same layout. Input and OK claudio@
-rw-r--r--usr.sbin/ripd/message.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/usr.sbin/ripd/message.c b/usr.sbin/ripd/message.c
index 54ffa063b00..62d2fc33578 100644
--- a/usr.sbin/ripd/message.c
+++ b/usr.sbin/ripd/message.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: message.c,v 1.13 2019/12/09 20:41:24 remi Exp $ */
+/* $OpenBSD: message.c,v 1.14 2019/12/09 20:49:40 remi Exp $ */
/*
* Copyright (c) 2006 Michele Marchetto <mydecay@openbeer.it>
@@ -203,11 +203,11 @@ send_request(struct packet_head *r_list, struct iface *i, struct nbr *nbr)
ibuf_add(buf, &netmask, sizeof(netmask));
ibuf_add(buf, &nexthop, sizeof(nexthop));
ibuf_add(buf, &metric, sizeof(metric));
+ nentries++;
TAILQ_REMOVE(r_list, entry, entry);
delete_entry(entry->rr);
free(entry);
- nentries++;
}
send_packet(iface, buf->buf, buf->wpos, &dst);
ibuf_free(buf);
@@ -292,11 +292,11 @@ send_response(struct packet_head *r_list, struct iface *i, struct nbr *nbr)
ibuf_add(buf, &netmask, sizeof(netmask));
ibuf_add(buf, &nexthop, sizeof(nexthop));
ibuf_add(buf, &metric, sizeof(metric));
+ nentries++;
free:
TAILQ_REMOVE(r_list, entry, entry);
delete_entry(entry->rr);
free(entry);
- nentries++;
}
if (iface->auth_type == AUTH_CRYPT)