1 |
95b003ff
|
Origo
|
#!/usr/bin/perl
|
2 |
|
|
|
3 |
|
|
use LWP;
|
4 |
|
|
#use URI::Escape;
|
5 |
|
|
#use Socket;
|
6 |
|
|
use Sys::Syslog qw( :DEFAULT setlogsock);
|
7 |
|
|
use ConfigReader::Simple;
|
8 |
|
|
|
9 |
|
|
# Untaint in order to avoid filling Apache error log with warnings
|
10 |
|
|
$ENV{'PATH'} = "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin";
|
11 |
|
|
|
12 |
|
|
#my $base = "/var/www/stabile";
|
13 |
|
|
#$base = `cat /etc/stabile/basedir` if -e "/etc/stabile/basedir";
|
14 |
|
|
#chomp $base;
|
15 |
|
|
|
16 |
|
|
my $baseurl = "http://localhost/stabile";
|
17 |
|
|
#$baseurl = `cat /etc/stabile/baseurl` if -e "/etc/stabile/baseurl";
|
18 |
|
|
#$baseurl =~ s/https/http/;
|
19 |
|
|
chomp $baseurl;
|
20 |
|
|
|
21 |
|
|
#my $line = `cat /etc/resolv.conf`;
|
22 |
|
|
#$line =~ /nameserver (\S*)/;
|
23 |
|
|
#my $mainvalve = scalar(gethostbyaddr(inet_aton($1), AF_INET));
|
24 |
|
|
|
25 |
|
|
#my $config = ConfigReader::Simple->new("/etc/stabile/config.cfg", [qw(DBI_USER DBI_PASSWD)]);
|
26 |
|
|
#my $dbiuser = $config->get('DBI_USER') || "irigo";
|
27 |
|
|
#my $dbipasswd = $config->get('DBI_PASSWD') || "";
|
28 |
|
|
|
29 |
|
|
my $url = "$baseurl/piston/piston.cgi";
|
30 |
|
|
$baseurl =~ /http\w*:\/\/(.*)\//;
|
31 |
|
|
my $mainvalve = $1;
|
32 |
|
|
|
33 |
|
|
my $browser = LWP::UserAgent->new;
|
34 |
|
|
$browser->agent('movepiston/1.0b');
|
35 |
|
|
$browser->protocols_allowed( [ 'http','https'] );
|
36 |
|
|
$browser->credentials(
|
37 |
|
|
"$mainvalve:80",
|
38 |
|
|
'Services',
|
39 |
|
|
"irigo", "sunshine"
|
40 |
|
|
);
|
41 |
|
|
|
42 |
|
|
my $user = $ARGV[0];
|
43 |
|
|
my $var = $ARGV[1];
|
44 |
|
|
if (!$user) {print "No user...\n"; exit;}
|
45 |
|
|
|
46 |
|
|
#`REMOTE_USER=irigo $base/piston/piston.cgi status=permitopen user=$user`;
|
47 |
|
|
my $content = $browser->get($url . "?status=permitopen&user=$user")->content();
|
48 |
|
|
print "$content\n";
|
49 |
|
|
# print $url . "?status=permitopen&user=$user", "\n$content\n$mainvalve / $dbiuser / $dbipasswd\n";
|
50 |
|
|
if ($var) {
|
51 |
|
|
while (1) {
|
52 |
|
|
print scalar localtime() . "\n";
|
53 |
|
|
sleep 30;
|
54 |
|
|
}
|
55 |
|
|
}
|
56 |
|
|
|
57 |
|
|
|
58 |
|
|
sub syslogit {
|
59 |
|
|
my ($priority, $msg) = @_;
|
60 |
|
|
print $priority, ": ", $msg, "\n";
|
61 |
|
|
# return 0 unless ($priority =~ /info|err|debug/);
|
62 |
|
|
return 0 unless ($priority =~ /info|err/);
|
63 |
|
|
|
64 |
|
|
setlogsock('unix');
|
65 |
|
|
# $programname is assumed to be a global. Also log the PID
|
66 |
|
|
# and to CONSole if there's a problem. Use facility 'user'.
|
67 |
|
|
openlog($programname, 'pid,cons', 'user');
|
68 |
|
|
syslog($priority, $msg);
|
69 |
|
|
closelog();
|
70 |
|
|
return 1;
|
71 |
|
|
}
|