aboutsummaryrefslogtreecommitdiff
path: root/sbin
diff options
context:
space:
mode:
authorXin LI <delphij@FreeBSD.org>2015-08-05 22:04:56 +0000
committerXin LI <delphij@FreeBSD.org>2015-08-05 22:04:56 +0000
commitb07d93f53871940d82923340575bf5310dc4e561 (patch)
tree77859919151185174ed9c922929efdc6987e638e /sbin
parent3fd78bfab2cdb03bf9a701097e68c8ead33722a2 (diff)
downloadsrc-b07d93f53871940d82923340575bf5310dc4e561.tar.gz
src-b07d93f53871940d82923340575bf5310dc4e561.zip
Fix a bug which could make routed(8) daemon exit by sending a special RIP
query from a remote machine, similar to SA-14:21.routed. Submitted by: hrs
Notes
Notes: svn path=/head/; revision=286347
Diffstat (limited to 'sbin')
-rw-r--r--sbin/routed/input.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/sbin/routed/input.c b/sbin/routed/input.c
index 895ef507db7e..bc030283e15f 100644
--- a/sbin/routed/input.c
+++ b/sbin/routed/input.c
@@ -160,6 +160,12 @@ input(struct sockaddr_in *from, /* received from this IP address */
trace_rip("Recv", "from", from, sifp, rip, cc);
+ if (sifp == 0) {
+ trace_pkt(" discard a request from an indirect router"
+ " (possibly an attack)");
+ return;
+ }
+
if (rip->rip_vers == 0) {
msglim(&bad_router, FROM_NADDR,
"RIP version 0, cmd %d, packet received from %s",