[sudo-workers] Is there a way to avoid get_net_ifs() when the information won't be used?

Todd C. Miller Todd.Miller at courtesan.com
Wed Jan 22 20:49:43 MST 2014


Can you try the following diff and see if that fixes the slowdown?

 - todd

diff -r d08cc66e18bd plugins/sudoers/match_addr.c
--- a/plugins/sudoers/match_addr.c	Wed Jan 22 14:47:27 2014 -0700
+++ b/plugins/sudoers/match_addr.c	Wed Jan 22 20:48:30 2014 -0700
@@ -66,8 +66,10 @@
     } else
 #endif /* HAVE_STRUCT_IN6_ADDR */
     {
+	addr.ip4.s_addr = inet_addr(n);
+	if (addr.ip4.s_addr == INADDR_NONE)
+	    debug_return_bool(false);
 	family = AF_INET;
-	addr.ip4.s_addr = inet_addr(n);
     }
 
     SLIST_FOREACH(ifp, get_interfaces(), entries) {
@@ -118,8 +120,10 @@
     else
 #endif /* HAVE_STRUCT_IN6_ADDR */
     {
+	addr.ip4.s_addr = inet_addr(n);
+	if (addr.ip4.s_addr == INADDR_NONE)
+	    debug_return_bool(false);
 	family = AF_INET;
-	addr.ip4.s_addr = inet_addr(n);
     }
 
     if (family == AF_INET) {


More information about the sudo-workers mailing list