[Pgp-tools-commit] r139 - in trunk: . gpglist

Peter Palfrader weasel at costa.debian.org
Mon Jul 25 23:24:15 UTC 2005


Author: weasel
Date: 2005-07-25 23:24:14 +0000 (Mon, 25 Jul 2005)
New Revision: 139

Added:
   trunk/gpglist/
   trunk/gpglist/gpglist
Log:
Add gpglist

Added: trunk/gpglist/gpglist
===================================================================
--- trunk/gpglist/gpglist	2005-07-25 21:40:40 UTC (rev 138)
+++ trunk/gpglist/gpglist	2005-07-25 23:24:14 UTC (rev 139)
@@ -0,0 +1,82 @@
+#!/usr/bin/perl
+
+# small script to show in an intuitive way who signed which of your user ids
+#
+# Copyright (c) 2004 Uli Martens <uli at youam.net>
+# Copyright (c) 2005 Peter Palfrader <peter at palfrader.org>
+# All rights reserved.
+#
+# Released under a BSD style license as given in http://www.debian.org/misc/bsd.license
+
+use strict;
+use warnings;
+
+my $key=shift @ARGV;
+if ( $key eq "" ) {
+	die
+}
+	
+open SIGS, "gpg --fixed-list-mode --with-colons --list-sigs $key 2>/dev/null |"
+	or die "can't get gpg listing";
+
+my $uid = "";
+my @uids;
+my %sigs;
+my %rev;
+my %ids;
+my %unknownID;
+my $longkey;
+while (<SIGS>) {
+	if ( m/^uid:.:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:(.*):$/ ) {
+		$uid = $1;
+		push @uids, $1;
+		next;
+	}
+	if ( m/^sig:[^:]*:[^:]*:[^:]*:([0-9A-F]*):[^:]*:[^:]*:[^:]*:[^:]*:(.*):[^:]*:$/ ) {
+		$2 eq "[User id not found]" ? $unknownID{$1} = $1 : $ids{$2} = $1;
+		$sigs{$1}->{$uid} = "x" unless defined $sigs{$1}->{$uid};
+		next;
+	}
+	if ( m/^rev:[^:]*:[^:]*:[^:]*:([0-9A-F]*):[^:]*:[^:]*:[^:]*:[^:]*:(.*):[^:]*:$/ ) {
+		$rev{$uid} = "x" if ($longkey eq $1);
+		$sigs{$1}->{$uid} = "R";
+		next;
+	}		
+	if ( m/^uat:.:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:(.*):$/ ) {
+		$uid = "Photo ID";
+		push @uids, $uid;
+		next;
+	}
+	if ( m/^pub:[^:]*:[^:]*:[^:]*:([^:]*):[^:]*:[^:]*:[^:]*:[^:]*:(.*):$/ ) {
+		$longkey = $1;
+		next;
+	}
+	last if ( m/^(sub):/ );
+	next if ( m/^(tru):/ );
+	print STDERR "hi, i'm a bug. please report me to my owner";
+	die "input: $_, key: $key";
+}	
+close SIGS;
+
+my $n = scalar @uids -1;
+for ( my $a=0; $a <= $n; $a++ ) {
+	printf "|  " x ($a)
+	     . "+--"
+	     . "---" x ($n-$a)
+	     . (defined $rev{$uids[$a]} ? "R" : " ")
+	     . "%2i $uids[$a]\n", $a+1;
+}
+
+for ( my $a=0; $a <= $n; $a++ ) {
+	printf "%-2i ", $a+1;
+}
+print "\n";
+
+for my $id (sort keys %ids) {
+	print((defined $sigs{$ids{$id}}->{$_} ? $sigs{$ids{$id}}->{$_} : " ") . "  ") for (@uids);
+	print $ids{$id}." $id\n"; 
+}
+for my $id (sort keys %unknownID) {
+	print((defined $sigs{$id}->{$_} ? $sigs{$id}->{$_} : " ") . "  ") for (@uids);
+	print "$id [User id not found]\n";
+}


Property changes on: trunk/gpglist/gpglist
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:keywords
   + Id
Rev





More information about the Pgp-tools-commit mailing list