components/fping/patches/fping.patch
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--
17257851 nameservice resource types need to stop calling svccfg refresh so much
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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",