a client socket manager configured with i2cp.newDestOnResume,
or a shared client.
This prevents lots of orphaned StreamingTimer threads.
There are still cases where these threads may stick around,
when a tunnel is stopped but not restarted. We don't know in
some cases when a tunnel could be restarted and when it can't.
destroySocketManager() should always be called when discarding a
SocketManager but i2ptunnel doesn't do that now. More to do,
but this fixes the most common case of leaked threads.
Related tickets: ##642 #961
Route connections to specific targets based on incoming I2P port
with custom option targetForPort.xxxx=myserver:yyyy
This allows multiple services on a single server tunnel (ticket #1066)
- Allow host:port targets; set defaults in i2ptunnel.config (ticket #1066)
- Don't fail start if hostname is unresolvable; retry at connect time (ticket #946)
- Output IRC message on connect fail
- Update target list on-the-fly when configuration changes
move cert location to certificates/i2cp.
* I2PTunnel: Support SSL for connection to local server
for Standard, HTTP, and IRC server tunnels.
Put server cert in certificates/i2ptunnel if necessary.
This solves the following problem which was found on OpenBSD:
bundle:
[exec] Generating net.i2p.desktopgui.messages_ar ResourceBundle...
[exec] ERROR - msgfmt failed on locale/messages_ar.po, not updating translations
[exec] msgfmt: Java compiler not found, try installing gcj or set $JAVAC
[exec] msgfmt: compilation of Java class failed, please try --verbose or set $JAVAC
[exec] 9 translated messages.
In OpenBSD 5.4, neither java nor javac are in the PATH.
- New varargs method in Translate
- New TranslateReader to translate static files on-the-fly using _("") tagging
- Tag proxy error pages for TranslateReader
- Drop static translated proxy error pages
- Add new i2ptunnel bundle for the proxy alone, shipped in the jar
- Use TranslateReader in HTTP proxy for error pages
- Move HTTP proxy strings from the web *war) to proxy (jar) bundle so they will be loaded
- Initial translations created by msgmerge from i2ptunnel and routerconsole po files, un-fuzzied
- I2PSocketManagerFactory: New createDisconnectedManager(), javadocs
- I2PSessionImpl: Rewrite state management and locking, prevent multiple
connect() calls, but allow disconnect() to interrupt connect()
- I2PSimpleSession: Changes to match I2PSessionImpl
- I2PTunnelServer: Don't connect in constructor, use createDisconnectedManager()
for a final manager, finals and cleanups
Lightly tested.
Todo: I2PTunnelClientBase