in reply to Re^4: using -T doesn't work
in thread using -T doesn't work

My instructions said:

If that doesn't work, you need to find out in which directory the ping executable lives, and put the name of that directory into $ENV{PATH} instead.

So, did you try the following:

$ENV{PATH} = '/sbin';

at the top of your script?

If so, what do you mean by Does not work ? In what way does it not work? Does it report all hosts as reachable ? All hosts as unreachable? Does it claim that the ancient gods of Egypt will conquer the world tomorrow when you know that their uprising is scheduled for next year?

Replies are listed 'Best First'.
Re^6: using -T doesn't work
by tcf03 (Deacon) on Dec 28, 2004 at 20:26 UTC
    yes, I tried that - I get the same result when I run the code:

    Insecure dependency in connect while running with -T switch at /usr/libdata/perl5/Net/Ping.pm line 914.

      I ran your code from the command line and it did not throw any error, and it even correctly reported all three hosts as up. But then I got the idea that maybe there is a file ship.cfg in your current directory (which you did not mention but which I should have caught sooner). Taint mode regards input from local files as tainted (see perldoc perlsec or the perldoc online page). So you will need to untaint that data manually. I chose the sledgehammer approach to untainting:

      if ( -e "ship.cfg" ) { open (CFGFILE, "<", "ship.cfg") || die; @hosts=<CFGFILE>; close (CFGFILE); # untaint all data from ship.cfg @hosts = map { /^(.*)$/ and $1 } @hosts; } else { # Enter your hosts here... @hosts = qw/host1 host2 host3 aliens/; }

      But I would recommend hardcoding all hosts in the script instead, as that will be much more secure than reading in a file and pinging every host named in that file.

        makes perfect sense. Thanks for your help...

        Ted