/[inetutils]/inetutils/ping/ping.c
ViewVC logotype

Diff of /inetutils/ping/ping.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.9 by ams, Mon Apr 29 21:06:23 2002 UTC revision 1.10 by ams, Mon Jun 24 17:03:26 2002 UTC
# Line 86  extern int ping_address __P ((int argc, Line 86  extern int ping_address __P ((int argc,
86  extern int ping_router __P ((int argc, char **argv));  extern int ping_router __P ((int argc, char **argv));
87    
88  PING *ping;  PING *ping;
 int is_root;        /* were we started with root privileges */  
89  u_char *data_buffer;  u_char *data_buffer;
90  size_t data_length = PING_DATALEN;  size_t data_length = PING_DATALEN;
91  unsigned options;  unsigned options;
# Line 111  main (int argc, char **argv) Line 110  main (int argc, char **argv)
110    u_char pattern[16];    u_char pattern[16];
111    int pattern_len = 16;    int pattern_len = 16;
112    u_char *patptr = NULL;    u_char *patptr = NULL;
113        int is_root = getuid () == 0;
   is_root = getuid () == 0;  
114    
   if ((ping = ping_init (ICMP_ECHO, getpid ())) == NULL)  
     {  
       fprintf (stderr, "can't init ping: %s\n", strerror (errno));  
       exit (1);  
     }  
   ping_set_sockopt (ping, SO_BROADCAST, (char *)&one, sizeof (one));  
   
   /* Reset root privileges */  
   setuid (getuid ());  
   
115    /* Parse command line */    /* Parse command line */
116    while ((c = getopt_long (argc, argv, short_options, long_options, NULL))    while ((c = getopt_long (argc, argv, short_options, long_options, NULL))
117           != EOF)           != EOF)
# Line 235  main (int argc, char **argv) Line 223  main (int argc, char **argv)
223      }      }
224    
225    init_data_buffer (patptr, pattern_len);    init_data_buffer (patptr, pattern_len);
226    
227      ping = ping_init (ICMP_ECHO, getpid ());
228      if (ping == NULL)
229        {
230          fprintf (stderr, "can't init ping: %s\n", strerror (errno));
231          exit (1);
232        }
233      ping_set_sockopt (ping, SO_BROADCAST, (char *)&one, sizeof (one));
234      
235      /* Reset root privileges */
236      setuid (getuid ());
237        
238    return (*ping_type)(argc, argv);    return (*ping_type)(argc, argv);
239  }  }

Legend:
Removed from v.1.9  
changed lines
  Added in v.1.10

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26