diff options
author | remi <remi@openbsd.org> | 2019-12-09 20:49:40 +0000 |
---|---|---|
committer | remi <remi@openbsd.org> | 2019-12-09 20:49:40 +0000 |
commit | a9cd83395d933317b83dd64e206e7e653075352f (patch) | |
tree | 2ef9cabee765740ee8f8c84f0330ccb78f82c8d5 | |
parent | fix error message. (diff) | |
download | wireguard-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.c | 6 |
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) |