summaryrefslogtreecommitdiff
path: root/gpggraph.lpr
diff options
context:
space:
mode:
Diffstat (limited to 'gpggraph.lpr')
-rw-r--r--gpggraph.lpr69
1 files changed, 56 insertions, 13 deletions
diff --git a/gpggraph.lpr b/gpggraph.lpr
index e2a0ba7..25e622e 100644
--- a/gpggraph.lpr
+++ b/gpggraph.lpr
@@ -3,38 +3,81 @@ program gpggraph;
{$R *.res}
uses
- mystringlistunit;
+ mystringlistunit, classes, sysutils, graphunit;
+
+const
+ gpgCommand = 'gpg --no-auto-check-trustdb --fast-list-mode --fixed-list-mode';
var
- lKeys,kKeys: tMyStringList;
+ lKeys,kKeys: tMyStringList;
+ baum: tList;
+ wurzel,spitze: int64;
+ i: longint;
+ cK: tKnoten;
begin
lKeys:=tMyStringList.create;
kKeys:=tMyStringList.create;
- lKeys.loadFromPipe('gpg --list-keys --no-auto-check-trustdb --fast-list-mode --fixed-list-mode');
+ lKeys.loadFromPipe(gpgCommand+' --list-keys');
lKeys.grep('^pub');
- lKeys.replace('^\S+\s+[^ /]+/([0-9A-F]{8}) .*$','$1');
- kKeys.loadFromPipe('gpg --homedir /var/cache/kernelKeys/.gnupg --list-keys --no-auto-check-trustdb --fast-list-mode --fixed-list-mode');
+ lKeys.replace('^\S+\s+[^ /]+/([0-9A-F]{8}) .*$','0x$1');
+ kKeys.loadFromPipe(gpgCommand+' --list-keys --homedir /var/cache/kernelKeys/.gnupg');
kKeys.grep('^pub');
- kKeys.replace('^\S+\s+[^ /]+/([0-9A-F]{8}) .*$','$1');
-
-// kSigs.loadFromPipe('gpg --homedir /var/cache/kernelKeys/.gnupg --list-sigs --no-auto-check-trustdb --fast-list-mode --fixed-list-mode');
-// kSigs.grep('^(pub|sig)');
+ kKeys.replace('^\S+\s+[^ /]+/([0-9A-F]{8}) .*$','0x$1');
lKeys.sort;
kKeys.sort;
lKeys.uniq('-');
kKeys.uniq('-');
- writeln(lKeys.count,' ',length(lKeys.text));
- writeln(kKeys.count,' ',length(kKeys.text));
+ writeln(inttostr(lKeys.count)+' lokale Schlüssel');
+ writeln(inttostr(kKeys.count)+' Kernel-Schlüssel');
+
+ lKeys.append(kKeys);
+ kKeys.clear;
- kKeys.append(lKeys);
+ lKeys.sort;
+ lKeys.uniq('d');
+
+ lKeys.grep('^0x(CAFAA3E1|00411886|76E21CBB|65D0FD58)$',true);
+
+ kKeys.loadFromPipe(gpgCommand+' --list-keys '+lKeys.text);
+ kKeys.grep('^pub');
+ kKeys.grep('expired|revoked',true);
+ kKeys.replace('^\S+\s+[^ /]+/([0-9A-F]{8}) .*$','$1');
kKeys.sort;
- kKeys.uniq('d');
+ wurzel:=strtoint('$'+kKeys[0]);
+
+ writeln('folgende Kernelschlüssel sind auch lokal vorhanden:');
write(kKeys.text);
+ writeln('davon nehme ich jetzt '+kKeys[0]);
+
+ kKeys.clear;
+ kKeys.loadFromPipe(gpgCommand+' --list-sigs');// --homedir /var/cache/kernelKeys/.gnupg');
+ kKeys.grep('^(pub|sig)');
+
+ kKeys.replace('^pub .*/([0-9A-F]{8}) .*$','pub $1');
+ kKeys.replace('^sig .* ([0-9A-F]{8}) .*$','sig $1');
+ kKeys.uniq('-');
+
+ baum:=tList.create;
+ i:=0;
+ while i<kKeys.count do begin
+ if leftStr(kKeys[i],4)='pub ' then begin
+ cK:=findeKnoten(baum,strtoint('$'+rightStr(kKeys[i],8)));
+ inc(i);
+ while (i<kKeys.count) and (leftStr(kKeys[i],4)='sig ') do begin
+ cK.addSig(baum,strtoint('$'+rightStr(kKeys[i],8)));
+ inc(i);
+ end;
+ end
+ else
+ inc(i);
+ end;
+
+ spitze:=strtoint('$00411886'); // Torvalds key
lKeys.free;
kKeys.free;