Added key fetching code to fingerserv
[mirror/userdir-ldap.git] / ud-fingerserv
index 0e49f03..915715d 100755 (executable)
@@ -1,5 +1,5 @@
 #!/usr/bin/perl
-# $Id: ud-fingerserv,v 1.1 1999/10/04 06:51:45 tausq Exp $
+# $Id: ud-fingerserv,v 1.2 1999/10/05 02:54:29 tausq Exp $
 
 # (c) 1999 Randolph Chung. Licensed under the GPL. <tausq@debian.org>
 
@@ -17,10 +17,12 @@ my %attrs = (
   'cn' => 'First name',
   'mn' => 'Middle name',
   'sn' => 'Last name',
-  'keyfingerprint' => 'Fingerprint'
+  'keyfingerprint' => 'Fingerprint',
+  'key' => 'Key block',
+  'ircnick' => 'IRC nickname'
 );
 
-my @summarykeys = ('cn', 'mn', 'sn', 'keyfingerprint');
+my @summarykeys = ('cn', 'mn', 'sn', 'ircnick', 'keyfingerprint', 'key');
 
 my ($ldap, $mesg, $dn, $entries, $data, %output, $key, $hostlist, $hostdetails, $selected, %summary);
 sub DieHandler {
@@ -61,6 +63,12 @@ while ($client = $server->accept()) {
   foreach $dn (sort {$entries->{$a}->{sn}->[0] <=> $entries->{$b}->{sn}->[0]} keys(%$entries)) {
     $data = $entries->{$dn};
 
+    $data->{key} = [];    
+    foreach (@{$data->{keyfingerprint}}) {
+      push (@{$data->{key}}, "\n".&Util::FetchKey($_));
+    }
+
+    print $client "$dn\n";
     if (!$fields) {
       foreach $key (@summarykeys) {
         foreach (@{$data->{$key}}) {
@@ -69,7 +77,7 @@ while ($client = $server->accept()) {
         }
       }
     } else {
-      print "$fields\n";
+#      print "$fields\n";
       foreach $key (split(/,/, $fields)) {
         foreach (@{$data->{$key}}) {
           print $client "$attrs{$key}: ";