diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPServer.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPServer.java index 1e8ea3f6200f10b8a0cd92928b79be9156d26b13..61007aa8a96cb8ea7e2eb4af75264b49570c8ab8 100644 --- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPServer.java +++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPServer.java @@ -19,6 +19,8 @@ import java.util.Map; import java.util.Properties; import java.util.zip.GZIPOutputStream; +import javax.net.ssl.SSLException; + import net.i2p.client.streaming.I2PSocket; import net.i2p.I2PAppContext; import net.i2p.data.ByteArray; @@ -295,6 +297,13 @@ public class I2PTunnelHTTPServer extends I2PTunnelServer { s.run(); // same thread if (_log.shouldLog(Log.INFO)) _log.info("After pumping the compressed response: " + compressedOut.getTotalRead() + "/" + compressedOut.getTotalCompressed()); + } catch (SSLException she) { + _log.error("SSL error", she); + try { + if (browserout == null) + browserout = _browser.getOutputStream(); + browserout.write(ERR_UNAVAILABLE); + } catch (IOException ioe) {} } catch (IOException ioe) { if (_log.shouldLog(Log.WARN)) _log.warn("error compressing", ioe); diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelRunner.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelRunner.java index 8822779fced5901dc92c10d454144f3b9a8771d1..c3bfea5e7bf37b2548c4f3abba857d4b10e62655 100644 --- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelRunner.java +++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelRunner.java @@ -12,6 +12,8 @@ import java.net.Socket; import java.net.SocketException; import java.util.List; +import javax.net.ssl.SSLException; + import net.i2p.I2PAppContext; import net.i2p.client.streaming.I2PSocket; import net.i2p.data.ByteArray; @@ -199,6 +201,8 @@ public class I2PTunnelRunner extends I2PAppThread implements I2PSocket.SocketErr } catch (InterruptedException ex) { if (_log.shouldLog(Log.ERROR)) _log.error("Interrupted", ex); + } catch (SSLException she) { + _log.error("SSL error", she); } catch (IOException ex) { if (_log.shouldLog(Log.DEBUG)) _log.debug("Error forwarding", ex); diff --git a/core/java/src/net/i2p/util/I2PSSLSocketFactory.java b/core/java/src/net/i2p/util/I2PSSLSocketFactory.java index 0751cdc2885bada6b35bf39dc186826c7fb48239..f7f5b260644340e1d89c14f1e942170cc7ef4544 100644 --- a/core/java/src/net/i2p/util/I2PSSLSocketFactory.java +++ b/core/java/src/net/i2p/util/I2PSSLSocketFactory.java @@ -54,7 +54,7 @@ public class I2PSSLSocketFactory { * Loads certs from * the ~/.i2p/certificates/ and $I2P/certificates/ directories. */ - private SSLSocketFactory initSSLContext(I2PAppContext context, boolean loadSystemCerts, String relativeCertPath) + private static SSLSocketFactory initSSLContext(I2PAppContext context, boolean loadSystemCerts, String relativeCertPath) throws GeneralSecurityException { Log log = context.logManager().getLog(I2PSSLSocketFactory.class); KeyStore ks;