author | Drew Fisher <drew.fisher@oracle.com> |
Thu, 01 Aug 2013 14:53:52 -0600 | |
changeset 1417 | 5158e071d299 |
parent 205 | 777251fa3676 |
permissions | -rw-r--r-- |
205
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
1 |
--- fping-2.4b2_to/fping.c.orig Tue Apr 26 10:51:44 2011 |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
2 |
+++ fping-2.4b2_to/fping.c Tue Apr 26 10:52:56 2011 |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
3 |
@@ -110,6 +110,13 @@ |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
4 |
#include <sys/select.h> |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
5 |
#endif /* HAVE_SYS_SELECT_H */ |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
6 |
|
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
7 |
+/* Solaris authentication support */ |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
8 |
+#define _SOLARIS 1 |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
9 |
+#ifdef _SOLARIS |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
10 |
+#undef ENABLE_F_OPTION |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
11 |
+#define ENABLE_F_OPTION 0 |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
12 |
+#endif /* _SOLARIS */ |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
13 |
+ |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
14 |
#endif /* WIN32 */ |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
15 |
|
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
16 |
#include "options.h" |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
17 |
@@ -356,6 +363,7 @@ |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
18 |
int handle_random_icmp( struct icmp *p, int psize, struct sockaddr_in *addr ); |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
19 |
char *sprint_tm( int t ); |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
20 |
|
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
21 |
+ |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
22 |
#endif /* _NO_PROTO */ |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
23 |
|
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
24 |
/*** function definitions ***/ |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
25 |
@@ -387,9 +395,14 @@ |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
26 |
struct protoent *proto; |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
27 |
char *buf; |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
28 |
uid_t uid; |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
29 |
+ boolean_t raw_req; |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
30 |
|
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
31 |
- /* check if we are root */ |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
32 |
+#ifdef _SOLARIS |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
33 |
+ verbose_flag = 1; |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
34 |
+ prog = argv[0]; |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
35 |
|
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
36 |
+#else |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
37 |
+ /* check if we are root */ |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
38 |
if( geteuid() ) |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
39 |
{ |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
40 |
fprintf( stderr, |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
41 |
@@ -398,6 +411,7 @@ |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
42 |
exit( 3 ); |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
43 |
|
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
44 |
}/* IF */ |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
45 |
+#endif /* _SOLARIS */ |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
46 |
|
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
47 |
/* confirm that ICMP is available on this machine */ |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
48 |
if( ( proto = getprotobyname( "icmp" ) ) == NULL ) |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
49 |
@@ -409,11 +423,13 @@ |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
50 |
if( s < 0 ) |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
51 |
errno_crash_and_burn( "can't create raw socket" ); |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
52 |
|
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
53 |
+#ifndef _SOLARIS |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
54 |
if( ( uid = getuid() ) ) |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
55 |
{ |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
56 |
seteuid( getuid() ); |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
57 |
|
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
58 |
}/* IF */ |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
59 |
+#endif |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
60 |
|
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
61 |
prog = argv[0]; |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
62 |
ident = getpid() & 0xFFFF; |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
63 |
@@ -599,7 +615,11 @@ |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
64 |
perhost_interval < MIN_PERHOST_INTERVAL * 100 || |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
65 |
retry > MAX_RETRY || |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
66 |
timeout < MIN_TIMEOUT * 100 ) |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
67 |
+#ifndef _SOLARIS |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
68 |
&& getuid() ) |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
69 |
+#else |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
70 |
+ ) |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
71 |
+#endif /* _SOLARIS */ |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
72 |
{ |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
73 |
fprintf( stderr, "%s: these options are too risky for mere mortals.\n", prog ); |
777251fa3676
7039717 move fping to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff
changeset
|
74 |
fprintf( stderr, "%s: You need i >= %u, p >= %u, r < %u, and t >= %u\n", |