summaryrefslogtreecommitdiff
path: root/proto/rip/rip.c
diff options
context:
space:
mode:
authorOndrej Zajicek (work) <santiago@crfreenet.org>2016-10-26 16:07:45 +0200
committerOndrej Zajicek (work) <santiago@crfreenet.org>2016-11-02 17:53:22 +0100
commit390601f038b69d5de3841c691f92af0fcd088454 (patch)
tree2b4eaa32636dd33d1e556e177bd29b40c16dfcd0 /proto/rip/rip.c
parent64385aee0cc2dfae8297f29ce6724cedf7cc4736 (diff)
RIP: Use message authentication interface
Based on former commit from Pavel Tvrdik
Diffstat (limited to 'proto/rip/rip.c')
-rw-r--r--proto/rip/rip.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/proto/rip/rip.c b/proto/rip/rip.c
index 37cfa9ac..7b380097 100644
--- a/proto/rip/rip.c
+++ b/proto/rip/rip.c
@@ -590,7 +590,7 @@ rip_iface_update_buffers(struct rip_iface *ifa)
ifa->tx_plen = tbsize - headers;
if (ifa->cf->auth_type == RIP_AUTH_CRYPTO)
- ifa->tx_plen -= RIP_AUTH_TAIL_LENGTH;
+ ifa->tx_plen -= RIP_AUTH_TAIL_LENGTH + max_mac_length(ifa->cf->passwords);
}
static inline void
@@ -702,12 +702,11 @@ rip_reconfigure_iface(struct rip_proto *p, struct rip_iface *ifa, struct rip_ifa
ifa->cf = new;
+ rip_iface_update_buffers(ifa);
+
if (ifa->next_regular > (now + new->update_time))
ifa->next_regular = now + (random() % new->update_time) + 1;
- if ((new->tx_length != old->tx_length) || (new->rx_buffer != old->rx_buffer))
- rip_iface_update_buffers(ifa);
-
if (new->check_link != old->check_link)
rip_iface_update_state(ifa);