diff options
author | Ahmad Hassan <ahmad.hassan612@gmail.com> | 2018-12-19 20:07:33 +0300 |
---|---|---|
committer | Ahmad Hassan <ahmad.hassan612@gmail.com> | 2018-12-20 19:24:53 +0300 |
commit | d975074e1fc0d8c28da5a9ddb9ccfbd319e39046 (patch) | |
tree | 70db3fae556616e4dd6e83b47eb7d1b10944977a /lib/gitlab/gitaly_client.rb | |
parent | 32c4f70aa585f58619c32d6c8e9db44191d82bfb (diff) |
Log certificate loading errors into sentry
Diffstat (limited to 'lib/gitlab/gitaly_client.rb')
-rw-r--r-- | lib/gitlab/gitaly_client.rb | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/lib/gitlab/gitaly_client.rb b/lib/gitlab/gitaly_client.rb index d54d40c08fb..8bf8a3b53cd 100644 --- a/lib/gitlab/gitaly_client.rb +++ b/lib/gitlab/gitaly_client.rb @@ -57,18 +57,22 @@ module Gitlab end end - def self.stub_certs - return @certs if @certs - + def self.stub_cert_paths cert_paths = Dir["#{OpenSSL::X509::DEFAULT_CERT_DIR}/*"] cert_paths << OpenSSL::X509::DEFAULT_CERT_FILE if File.exist? OpenSSL::X509::DEFAULT_CERT_FILE + cert_paths + end + + def self.stub_certs + return @certs if @certs - @certs = cert_paths.flat_map do |cert_file| + @certs = stub_cert_paths.flat_map do |cert_file| File.read(cert_file).scan(PEM_REGEX).map do |cert| begin OpenSSL::X509::Certificate.new(cert).to_pem rescue OpenSSL::OpenSSLError => e Rails.logger.error "Could not load certificate #{cert_file} #{e}" + Gitlab::Sentry.track_exception(e, extra: { cert_file: cert_file }) nil end end.compact |