cleanup Net::SSLeay error handling
authorFabian Grünbichler <f.gruenbichler@proxmox.com>
Mon, 27 Nov 2017 09:18:48 +0000 (10:18 +0100)
committerFabian Grünbichler <f.gruenbichler@proxmox.com>
Mon, 27 Nov 2017 09:19:02 +0000 (10:19 +0100)
X509_get_fingerprint does not die - it only returns undef in case of
errors (or segfaults if the $cert pointer is invalid).

PVE/APIClient/LWP.pm

index 2ae8c1a..36e1b06 100755 (executable)
@@ -258,11 +258,8 @@ my $verify_cert_callback = sub {
 
     # check server certificate against cache of pinned FPs
     # get fingerprint of server certificate
-    my $fp;
-    eval {
-       $fp = Net::SSLeay::X509_get_fingerprint($cert, 'sha256');
-    };
-    return 0 if $@ || !defined($fp) || $fp eq ''; # error
+    my $fp = Net::SSLeay::X509_get_fingerprint($cert, 'sha256');
+    return 0 !defined($fp) || $fp eq ''; # error
 
     my $valid = $self->{cached_fingerprints}->{$fp};
     return $valid if defined($valid); # return cached result