ensure that every response returns a server identifier
authorDaniel Kahn Gillmor <dkg@fifthhorseman.net>
Thu, 28 Oct 2010 21:48:03 +0000 (17:48 -0400)
committerDaniel Kahn Gillmor <dkg@fifthhorseman.net>
Thu, 28 Oct 2010 21:48:03 +0000 (17:48 -0400)
Changelog
Crypt/Monkeysphere/MSVA.pm
msva-query-agent

index 455cb7c62aa1376cb1340eed67dc1060c702ac50..25dde749818a56cc357d9c86323f8596b071e104 100644 (file)
--- a/Changelog
+++ b/Changelog
@@ -10,6 +10,8 @@ msva-perl (0.6~pre) upstream;
   * Added tests/basic, as a simple test of a few functions (closes MS #2537)
   * fixed double-prompting on sites that have more than one User ID
     (closes MS #2567)
+  * report server implementation name and version with every query (closes
+    MS # 2564)
 
  -- Daniel Kahn Gillmor <dkg@fifthhorseman.net>  Thu, 28 Oct 2010 17:14:35 -0400
 
index 72061ab278b82a5f8fd2e15f9d8b372309719f75..c0858e0c0d54c782c848cbbfb728b2de4eb967cc 100755 (executable)
@@ -39,7 +39,7 @@
   # we need the version of GnuPG::Interface that knows about pubkey_data, etc:
   use GnuPG::Interface 0.42.02;
 
-  my $version = '0.1';
+  my $VERSION = '0.6';
 
   my $gnupg = GnuPG::Interface->new();
   $gnupg->options->quiet(1);
     my $cgi = shift;
     return '200 OK', { available => JSON::true,
                        protoversion => 1,
-                       server => "MSVA-Perl ".$version };
+                     };
   }
 
   # returns an empty list if bad key found.
         };
 
         my ($status, $object) = $handler->{handler}($data, $clientinfo);
+        if (ref($object) eq 'HASH' &&
+            ! defined $object->{server}) {
+          $object->{server} = sprintf("MSVA-Perl %s", $VERSION);
+        }
+
         my $ret = to_json($object);
         msvalog('info', "returning: %s\n", $ret);
         printf("HTTP/1.0 %s\r\nDate: %s\r\nContent-Type: application/json\r\n\r\n%s",
index fbe692bdcfff84a6717aaf36d08e846f84ceee60..0ec01c0695b477b0438fca71c3c4cfb60410c36f 100755 (executable)
@@ -42,6 +42,7 @@ $client->log('info', "status: %s\n", $status);
 if (defined $ret) {
   $client->log('info', "valid: %s\n", $ret->{valid});
   $client->log('fatal', "message: %s\n", $ret->{message});
+  $client->log('info', "server: %s\n", $ret->{server});
   exit 0
     if ($ret->{valid});
 }