]> git.gsnw.org Git - fping.git/commitdiff
do not explicitely check if running as root, to make it possible to install fping...
authorDavid Schweikert <david@schweikert.ch>
Thu, 16 Feb 2012 22:07:05 +0000 (23:07 +0100)
committerDavid Schweikert <david@schweikert.ch>
Thu, 16 Feb 2012 22:07:05 +0000 (23:07 +0100)
ChangeLog
fping.c

index d70f1afd879ac1b514bcac90a278659fc73c1e7a..1e73b29248de34bcfe161991bc4824d26a72ca53 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -3,6 +3,9 @@ David Schweikert <david@schweikert.ch>
 - Revision v3.1 ALPHA
   * -g option (generate): exclude network and broadcast address for cidr
     ranges (idea by Eric Brander)
+  * do not explicitely check if running as root, to make it possible to
+    install fping with linux capabilities instead of making it setuid
+    (setcap cap_net_raw+ep fping)
   * ANSI C (C89) compiler now a requirement
   * portability fixes
 
diff --git a/fping.c b/fping.c
index e6a6696ff45c0639e80e130c97f45f3ce6b5fbc9..d22eb92f680f3810f6634689dc8748e6ebeda359 100644 (file)
--- a/fping.c
+++ b/fping.c
@@ -389,15 +389,6 @@ int main( int argc, char **argv )
 
     /* check if we are root */
 
-    if( geteuid() )
-    {
-        fprintf( stderr,
-            "This program can only be run by root, or it must be setuid root.\n" );
-
-        exit( 3 );
-
-    }/* IF */
-
     /* confirm that ICMP is available on this machine */
 #ifndef IPV6
     if( ( proto = getprotobyname( "icmp" ) ) == NULL ) 
@@ -414,7 +405,7 @@ int main( int argc, char **argv )
 #endif
 
     if( s < 0 )
-        errno_crash_and_burn( "can't create raw socket" );
+        errno_crash_and_burn( "can't create raw socket (must run as root?)" );
 
 #ifdef IPV6
     /*