diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelClient.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelClient.java index 4ab411baa..0dd9b486b 100644 --- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelClient.java +++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelClient.java @@ -34,6 +34,7 @@ public class I2PTunnelClient extends I2PTunnelClientBase { private final List _addrs; private static final long DEFAULT_READ_TIMEOUT = 5*60*1000; // -1 protected long readTimeout = DEFAULT_READ_TIMEOUT; + private InternalSocketRunner _isr; /** * As of 0.9.20 this is fast, and does NOT connect the manager to the router, @@ -200,6 +201,8 @@ public class I2PTunnelClient extends I2PTunnelClientBase { svc = PortMapper.SVC_POP; } if (svc != null) { + _isr = new InternalSocketRunner(this); + _isr.start(); _context.portMapper().register(svc, getTunnel().listenHost, getLocalPort()); } } @@ -223,6 +226,9 @@ public class I2PTunnelClient extends I2PTunnelClientBase { _context.portMapper().unregister(PortMapper.SVC_POP); } boolean rv = super.close(forced); + if (_isr != null) { + _isr.stopRunning(); + } return rv; } } diff --git a/apps/susimail/src/src/i2p/susi/webmail/pop3/POP3MailBox.java b/apps/susimail/src/src/i2p/susi/webmail/pop3/POP3MailBox.java index 216825143..952a00cd2 100644 --- a/apps/susimail/src/src/i2p/susi/webmail/pop3/POP3MailBox.java +++ b/apps/susimail/src/src/i2p/susi/webmail/pop3/POP3MailBox.java @@ -42,6 +42,7 @@ import java.util.Map; import java.util.concurrent.atomic.AtomicLong; import net.i2p.data.DataHelper; +import net.i2p.util.InternalSocket; /** * @author susi23 @@ -609,7 +610,7 @@ public class POP3MailBox implements NewMailListener { close(); try { - socket = new Socket(host, port); + socket = InternalSocket.getSocket(host, port); } catch (IOException e) { Debug.debug( Debug.DEBUG, "Error connecting: " + e); lastError = _t("Cannot connect") + " (" + host + ':' + port + ") - " + e.getLocalizedMessage(); diff --git a/apps/susimail/src/src/i2p/susi/webmail/smtp/SMTPClient.java b/apps/susimail/src/src/i2p/susi/webmail/smtp/SMTPClient.java index cf40c05c5..188571c91 100644 --- a/apps/susimail/src/src/i2p/susi/webmail/smtp/SMTPClient.java +++ b/apps/susimail/src/src/i2p/susi/webmail/smtp/SMTPClient.java @@ -41,6 +41,7 @@ import java.util.ArrayList; import java.util.List; import net.i2p.data.DataHelper; +import net.i2p.util.InternalSocket; /** * @author susi @@ -233,7 +234,7 @@ public class SMTPClient { Writer out = null; try { - socket = new Socket( host, port ); + socket = InternalSocket.getSocket(host, port); } catch (IOException e) { error += _t("Cannot connect") + " (" + host + ':' + port + ") : " + e.getMessage() + '\n'; ok = false; diff --git a/history.txt b/history.txt index 8762427c0..7902cf822 100644 --- a/history.txt +++ b/history.txt @@ -1,11 +1,25 @@ +2017-12-13 zzz + * i2ptunnel: Add internal sockets for SMTP and POP3 (ticket #2118) + * Util: InternalSocket improvements + +2017-12-11 zzz + * Jetty: Fix request log showing zero length for static content + * Startup: Raise open files ulimit (ticket #1967) + +2017-12-10 zzz + * Router: Change RI locking to a read/write lock (ticket #2096) + 2017-12-08 zzz + * SU3File: Flush and sync on extract (ticket #1941) * SusiMail: - Reference mails by UIDL, not index on page, put UIDL in attachment links, remove session object UIDL (ticket #1373) - Fix download of attachments without a Content-Transfer-Encoding - Fix error return for attachment not found + - Fix handling of requests for unknown messages - Set encoding for text attachments - Add more safe mime types for downloading + - Add tooltips for icon-only buttons 2017-12-07 zzz * Console: Don't list aliased tunnels separately on diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java index 31c35f8c3..ea17ad55f 100644 --- a/router/java/src/net/i2p/router/RouterVersion.java +++ b/router/java/src/net/i2p/router/RouterVersion.java @@ -18,7 +18,7 @@ public class RouterVersion { /** deprecated */ public final static String ID = "Monotone"; public final static String VERSION = CoreVersion.VERSION; - public final static long BUILD = 14; + public final static long BUILD = 15; /** for example "-test" */ public final static String EXTRA = "";