ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/repos/FreeBSDAdmin/HostUpdate/HostUpdate.pl
Revision: 1189
Committed: 2009-06-13T12:42:50-07:00 (16 years ago) by douglas
Content type: text/x-perl
File size: 884 byte(s)
Log Message:
Use CA cert!

File Contents

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

Properties

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