mirror of
https://github.com/webmin/webmin.git
synced 2026-03-20 08:40:24 +00:00
Fix GPG fingerprint extraction
This commit is contained in:
@@ -100,7 +100,7 @@ local $_;
|
||||
&clean_language();
|
||||
open(GPG, "$gpgpath --fingerprint ".quotemeta($_[0]->{'name'}->[0])." 2>/dev/null |");
|
||||
while(<GPG>) {
|
||||
if (/fingerprint\s+=\s+(.*)/) {
|
||||
if (/([0-9A-F]{4}\s+[0-9A-F]{4}\s+[0-9A-F]{4}\s+[0-9A-F]{4}\s+[0-9A-F]{4}\s+[0-9A-F]{4}\s+[0-9A-F]{4}\s+[0-9A-F]{4}\s+[0-9A-F]{4}\s+[0-9A-F]{4})/i) {
|
||||
$fp = $1;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -664,14 +664,12 @@ foreach my $k (@keys) {
|
||||
return (0);
|
||||
}
|
||||
# Key been imported before but contact changed, delete first
|
||||
elsif ($k->{'email'}->[0] ne $email) {
|
||||
my $key = $finger;
|
||||
$key =~ s/\s+//g;
|
||||
if ($k->{'key'} eq $key) {
|
||||
my $out = &backquote_logged("$gpgpath --batch --delete-key $k->{'key'} 2>&1");
|
||||
if ($?) {
|
||||
return (2, $out);
|
||||
}
|
||||
elsif ($k->{'email'}->[0] ne $email && $fp && $fp eq $finger) {
|
||||
my $finger_ = $finger;
|
||||
$finger_ =~ s/\s+//g;
|
||||
my $out = &backquote_logged("$gpgpath --batch --delete-key $finger_ 2>&1");
|
||||
if ($?) {
|
||||
return (2, $out);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user