hand pkc data over to Client.pm as a variable, instead of letting Client.pm read...
authorDaniel Kahn Gillmor <dkg@fifthhorseman.net>
Mon, 18 Oct 2010 04:18:16 +0000 (00:18 -0400)
committerDaniel Kahn Gillmor <dkg@fifthhorseman.net>
Mon, 18 Oct 2010 04:18:16 +0000 (00:18 -0400)
Crypt/Monkeysphere/MSVA/Client.pm
msva-query-agent

index dc4532f8e4e55615f47716a8ca47655d4f7e82e1..2939ca07628ca7d85a0dc762026a5b89dc8ab02d 100644 (file)
     my $context = shift;
     my $peer = shift;
     my $pkctype = shift;
+    my $pkcdata = shift;
 
-    my $apd = create_apd($context, $peer, $pkctype);
+    my $apd = create_apd($context, $peer, $pkctype, $pkcdata);
 
     my $apdjson = to_json($apd);
 
     # get msva socket from environment
     my $msvasocket = $ENV{MONKEYSPHERE_VALIDATION_AGENT_SOCKET};
 
-    # creat the user agent
+    # create the user agent
     my $ua = LWP::UserAgent->new;
 
     my $headers = HTTP::Headers->new(
     my $context = shift;
     my $peer = shift;
     my $pkctype = shift;
-
-    my $pkcdata;
-    my $pkcdataraw;
-
-    # load raw pkc data from stdin
-    $pkcdataraw = do {
-      local $/; # slurp!
-      <STDIN>;
-    };
+    my $pkcdata = shift;
 
     msvalog('debug', "context: %s\n", $context);
     msvalog('debug', "peer: %s\n", $peer);
 
 
     if ($pkctype eq 'x509der') {
-      my $cert = Crypt::X509->new(cert => $pkcdataraw);
+      my $cert = Crypt::X509->new(cert => $pkcdata);
       if ($cert->error) {
        die;
       };
        die;
     };
 
-    # remap raw pkc data into numeric array
-    my @remap = map(ord, split(//,$pkcdataraw));
-
-    my %apd = (
-       context => $context,
-       peer => $peer,
-       pkc => {
-           type => $pkctype,
-           data => \@remap,
-       },
-       );
-
-    return \%apd;
+    return {
+            context => $context,
+            peer => $peer,
+            pkc => {
+                    type => $pkctype,
+                    # remap raw pkc data into numeric array
+                    data => [map(ord, split(//,$pkcdata))],
+                   },
+           };
   }
 
   1;
index ea1f7f2f25821f0fe2b1e684534549cf16dbc2e5..8dfd192576f86458cd4007a3c3a25a1e8b80de44 100755 (executable)
@@ -25,7 +25,14 @@ use Crypt::Monkeysphere::MSVA::Client;
 my $context = shift;
 my $peer = shift;
 my $pkctype = shift || 'x509der';
-my ($status,$ret) = Crypt::Monkeysphere::MSVA::Client->query_agent($context,$peer,$pkctype);
+
+# load raw pkc data from stdin
+my $pkcdata = do {
+  local $/; # slurp!
+  <STDIN>;
+};
+
+my ($status,$ret) = Crypt::Monkeysphere::MSVA::Client->query_agent($context,$peer,$pkctype, $pkcdata);
 
 msvalog('info', "status: %s\n", $status);
 msvalog('info', "valid: %s\n", $ret->{valid});