components/fping/patches/fping.patch
author John Beck <John.Beck@Oracle.COM>
Mon, 02 Mar 2015 16:15:04 -0800
changeset 3898 acd7f120a52a
parent 205 777251fa3676
permissions -rw-r--r--
20632171 Mailman should publish its .pyc files

--- fping-2.4b2_to/fping.c.orig	Tue Apr 26 10:51:44 2011
+++ fping-2.4b2_to/fping.c	Tue Apr 26 10:52:56 2011
@@ -110,6 +110,13 @@
 #include <sys/select.h>
 #endif /* HAVE_SYS_SELECT_H */
 
+/* Solaris authentication support */
+#define _SOLARIS 1
+#ifdef _SOLARIS
+#undef ENABLE_F_OPTION
+#define ENABLE_F_OPTION	0
+#endif /* _SOLARIS */
+
 #endif /* WIN32 */
 
 #include "options.h"
@@ -356,6 +363,7 @@
 int handle_random_icmp( struct icmp *p, int psize, struct sockaddr_in *addr );
 char *sprint_tm( int t );
 
+
 #endif /* _NO_PROTO */
 
 /*** function definitions ***/
@@ -387,9 +395,14 @@
 	struct protoent *proto;
 	char *buf;
 	uid_t uid;
+	boolean_t raw_req;
 
-	/* check if we are root */
+#ifdef _SOLARIS
+	verbose_flag = 1;
+	prog = argv[0];
 
+#else
+	/* check if we are root */
 	if( geteuid() )
 	{
 		fprintf( stderr,
@@ -398,6 +411,7 @@
 		exit( 3 );
 
 	}/* IF */
+#endif /* _SOLARIS */
 
 	/* confirm that ICMP is available on this machine */
 	if( ( proto = getprotobyname( "icmp" ) ) == NULL ) 
@@ -409,11 +423,13 @@
 	if( s < 0 )
 		errno_crash_and_burn( "can't create raw socket" );
 
+#ifndef _SOLARIS
 	if( ( uid = getuid() ) )
 	{
 		seteuid( getuid() );
 
 	}/* IF */
+#endif
 
 	prog = argv[0];
 	ident = getpid() & 0xFFFF;
@@ -599,7 +615,11 @@
 			perhost_interval < MIN_PERHOST_INTERVAL * 100 || 
 			retry > MAX_RETRY || 
 			timeout < MIN_TIMEOUT * 100 ) 
+#ifndef _SOLARIS
 		&& getuid() )
+#else
+	    )
+#endif /* _SOLARIS */
 	{
 		fprintf( stderr, "%s: these options are too risky for mere mortals.\n", prog );
 		fprintf( stderr, "%s: You need i >= %u, p >= %u, r < %u, and t >= %u\n",