ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/repos/FreeBSDAdmin/HostUpdate/HostUpdate.pl
Revision: 964
Committed: 2007-11-29T00:16:53-08:00 (17 years, 6 months ago) by douglas
Content type: text/x-perl
Original Path: FreeBSDAdmin/HostUpdate/hostupdate.pl
File size: 902 byte(s)
Log Message:
Woo!

File Contents

# User Rev Content
1 douglas 964 #!/usr/bin/env perl
2 Douglas Thrift 3 # Host Update
3     #
4     # Douglas Thrift
5     #
6     # $Id$
7    
8     use strict;
9 douglas 964 use warnings;
10     use File::Basename;
11 Douglas Thrift 3 use LWP::UserAgent;
12 douglas 964 use MIME::Base64;
13 Douglas Thrift 3 use POSIX;
14    
15 douglas 964 my $topsecret = 'topsecret.douglasthrift.net';
16     my $url = "https://$topsecret/cgi-bin/printenv.pl";
17 Douglas Thrift 3 my ($sysname, $nodename, $release, $version, $machine) = uname();
18 douglas 964 my $agent = new LWP::UserAgent(agent => "HostUpdate/1.1 ($sysname $release $machine) ");
19 Douglas Thrift 3
20 Douglas Thrift 107 {
21 douglas 964 my $user = getpwuid $<;
22    
23     open PASS, "$ENV{HOME}/.HostUpdate.pass" or die "$0: $!\n";
24    
25     my $pass = <PASS>;
26    
27     chomp $pass;
28     close PASS;
29    
30     $pass =~ tr/A-Za-z/N-ZA-Mn-za-m/;
31    
32     $agent->credentials(new URI("$topsecret:443", 'Top Secret', $user, decode_base64($pass)));
33 Douglas Thrift 107 }
34    
35 douglas 964 $nodename .= ".douglasthrift.net" if ($nodename !~ /\./);
36 Douglas Thrift 3
37 douglas 964 my $response = $agent->post($url, [host => $nodename]);
38 Douglas Thrift 3
39 douglas 964 $response->is_success or die basename($0) . ': ' . $response->status_line;
40    
41     print $response->content;

Properties

Name Value
svn:eol-style native
svn:executable *
svn:keywords Id