]> git.gsnw.org Git - fping.git/commitdiff
Allow option '-f' also for non-root (since setuid privileges are dropped)
authorDavid Schweikert <david@schweikert.ch>
Mon, 28 Apr 2014 17:24:36 +0000 (19:24 +0200)
committerDavid Schweikert <david@schweikert.ch>
Mon, 28 Apr 2014 17:24:36 +0000 (19:24 +0200)
ChangeLog
src/fping.c

index a79c611e7db831ae275259057100cae3e90750b3..da9a6fd62f31f0ba592149735e014420c48b198c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,7 @@
 UNRELEASED
   * More tests added
   * Fix confusing error message with -g and IPv6 addresses (#58, reported by Axel Beckert)
+  * Allow option '-f' also for non-root (since setuid privileges are dropped)
 
 2014-03-08  David Schweikert  <david@schweikert.ch>
   * Version 3.9
index 03e98b0c3e86373698c672956b47bd5b03abb1d0..b6f320edac64903c8971f3cef69a241da5b756e1 100644 (file)
@@ -369,7 +369,8 @@ int main( int argc, char **argv )
     s = open_ping_socket();
 
     if((uid = getuid())) {
-        seteuid( getuid() );
+        /* drop privileges */
+        setuid( getuid() );
     }
 
     prog = argv[0];
@@ -509,27 +510,8 @@ int main( int argc, char **argv )
             exit( 0 );
 
         case 'f': 
-#ifdef ENABLE_F_OPTION
             filename = optarg;
-            generate_flag = 0;
             break;
-#else
-            if( getuid() )
-            {
-                printf( "%s: this option can only be used by root.\n", argv[0] );
-                printf( "%s: fping will read from stdin by default.\n", argv[0] );
-                exit( 3 );
-
-            }/* IF */
-            else
-            {
-                filename = optarg;
-                generate_flag = 0;
-
-            }/* ELSE */
-
-            break;
-#endif /* ENABLE_F_OPTION */
 
         case 'g':
             /* use IP list generation */