--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/fping/patches/fping.patch Tue Apr 26 14:16:51 2011 -0700
@@ -0,0 +1,74 @@
+--- 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",