From 6a4ee35fc26074b3b84911812b33956ffacf377b Mon Sep 17 00:00:00 2001 From: Theo Date: Wed, 26 Oct 2016 10:15:08 +0200 Subject: [PATCH] Don't print a warning for missing client certs When you run Ruby with warnings enabled and your (HTTPS) server does not verify clients you don't expect to see a warning about clients not being verified. For example, WEBrick's default configuration does not verify client certificates (https://github.com/jruby/jruby/blob/b610805cd55ef5d56d8e431918753fc92fad5ef5/lib/ruby/stdlib/webrick/ssl.rb#L74), but when running an HTTP server in JRuby it prints "warning: javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated" for every request. This does not happen in MRI. --- src/main/java/org/jruby/ext/openssl/SSLSocket.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/jruby/ext/openssl/SSLSocket.java b/src/main/java/org/jruby/ext/openssl/SSLSocket.java index e812d293..5d54e64c 100644 --- a/src/main/java/org/jruby/ext/openssl/SSLSocket.java +++ b/src/main/java/org/jruby/ext/openssl/SSLSocket.java @@ -958,7 +958,7 @@ public IRubyObject peer_cert() { throw X509Cert.newCertificateError(runtime, e); } catch (SSLPeerUnverifiedException e) { - if (runtime.isVerbose() || OpenSSL.isDebug(runtime)) { + if (OpenSSL.isDebug(runtime)) { runtime.getWarnings().warning(String.format("%s: %s", e.getClass().getName(), e.getMessage())); } }