Module Name:    src
Committed By:   roy
Date:           Sat Mar 14 22:26:39 UTC 2020

Modified Files:
        src/sbin/route: route.c

Log Message:
route: Enable receive error reporting on the routing socket


To generate a diff of this commit:
cvs rdiff -u -r1.166 -r1.167 src/sbin/route/route.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sbin/route/route.c
diff -u src/sbin/route/route.c:1.166 src/sbin/route/route.c:1.167
--- src/sbin/route/route.c:1.166	Sat Feb 22 00:42:15 2020
+++ src/sbin/route/route.c	Sat Mar 14 22:26:39 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: route.c,v 1.166 2020/02/22 00:42:15 kamil Exp $	*/
+/*	$NetBSD: route.c,v 1.167 2020/03/14 22:26:39 roy Exp $	*/
 
 /*
  * Copyright (c) 1983, 1989, 1991, 1993
@@ -39,7 +39,7 @@ __COPYRIGHT("@(#) Copyright (c) 1983, 19
 #if 0
 static char sccsid[] = "@(#)route.c	8.6 (Berkeley) 4/28/95";
 #else
-__RCSID("$NetBSD: route.c,v 1.166 2020/02/22 00:42:15 kamil Exp $");
+__RCSID("$NetBSD: route.c,v 1.167 2020/03/14 22:26:39 roy Exp $");
 #endif
 #endif /* not lint */
 
@@ -208,8 +208,14 @@ main(int argc, char * const *argv)
 	pid = prog_getpid();
 	if (tflag)
 		sock = prog_open("/dev/null", O_WRONLY, 0);
-	else
+	else {
+		int on = 1;
+
 		sock = prog_socket(PF_ROUTE, SOCK_RAW, 0);
+		if (setsockopt(sock, SOL_SOCKET, SO_RERROR,
+		    &on, sizeof(on)) == -1)
+			warn("SO_RERROR");
+	}
 	if (sock < 0)
 		err(EXIT_FAILURE, "socket");
 

Reply via email to