diff --git a/INSTALL-headless.txt b/INSTALL-headless.txt index dcc5117e7..8f6e3e933 100644 --- a/INSTALL-headless.txt +++ b/INSTALL-headless.txt @@ -12,7 +12,7 @@ you may use: to configure the router. If you're having trouble, swing by http://forum.i2p/, check the -website at http://www.i2p2.de/, or get on irc://irc.freenode.net/#i2p +website at https://geti2p.net/, or get on irc://irc.freenode.net/#i2p I2P will create and store files and configuration data in the user directory ~/.i2p/ on Linux and %APPDATA%\I2P\ on Windows. This directory is created diff --git a/README.txt b/README.txt index fad70c410..d115a6dbf 100644 --- a/README.txt +++ b/README.txt @@ -15,20 +15,20 @@ To build: ant installer-osx Run 'ant' with no arguments to see other build options. - See INSTALL.txt or http://www.i2p2.de/download.html for installation instructions. + See INSTALL.txt or https://geti2p.net/download for installation instructions. Documentation: - http://www.i2p2.de/how + https://geti2p.net/how API: run 'ant javadoc' then start at build/javadoc/index.html Latest release: - http://www.i2p2.de/download + https://geti2p.net/download To get development branch from source control: - http://www.i2p2.de/newdevelopers + https://geti2p.net/newdevelopers FAQ: - http://www.i2p2.de/faq + https://geti2p.net/faq Need help? IRC irc.freenode.net #i2p diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnel.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnel.java index 9a7b44486..ed18fcbe9 100644 --- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnel.java +++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnel.java @@ -1319,7 +1319,7 @@ public class I2PTunnel extends EventDispatcherImpl implements Logging { * * @param args {username, password} * @param l logger to receive events and output - * @since 0.9.10 + * @since 0.9.11 */ private void runAuth(String args[], Logging l) { if (args.length == 2) { @@ -1774,7 +1774,7 @@ public class I2PTunnel extends EventDispatcherImpl implements Logging { * @param i2cpPort may be null * @param user may be null * @param pw may be null - * @since 0.9.10 + * @since 0.9.11 */ private static Destination destFromName(String name, String i2cpHost, String i2cpPort, boolean isSSL, diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelClientBase.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelClientBase.java index 17ea0019f..5b06e271b 100644 --- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelClientBase.java +++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelClientBase.java @@ -55,7 +55,7 @@ public abstract class I2PTunnelClientBase extends I2PTunnelTask implements Runna private int localPort; /** - * Protected for I2Ping since 0.9.10. Not for use outside package. + * Protected for I2Ping since 0.9.11. Not for use outside package. */ protected boolean listenerReady; @@ -586,7 +586,7 @@ public abstract class I2PTunnelClientBase extends I2PTunnelTask implements Runna } /** - * Non-final since 0.9.10. + * Non-final since 0.9.11. * Any overrides must set listenerReady = true. */ public void run() { diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2Ping.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2Ping.java index 3e8a0a248..e8321e41a 100644 --- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2Ping.java +++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2Ping.java @@ -246,7 +246,7 @@ public class I2Ping extends I2PTunnelClientBase { /** * Does nothing. - * @since 0.9.10 + * @since 0.9.11 */ protected void clientConnectionRun(Socket s) {} @@ -260,7 +260,7 @@ public class I2Ping extends I2PTunnelClientBase { private final int remotePort; /** - * As of 0.9.10, does NOT start itself. + * As of 0.9.11, does NOT start itself. * Caller must call start() * @param dest b64 or b32 or host name */ @@ -329,7 +329,7 @@ public class I2Ping extends I2PTunnelClientBase { /** * @param name b64 or b32 or host name - * @since 0.9.10 + * @since 0.9.11 */ private Destination lookup(String name) { I2PAppContext ctx = I2PAppContext.getGlobalContext(); diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigUIHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigUIHelper.java index 6327c05a9..ba65110ef 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigUIHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigUIHelper.java @@ -103,11 +103,33 @@ public class ConfigUIHelper extends HelperBase { /** todo sort by translated string */ public String getLangSettings() { - StringBuilder buf = new StringBuilder(512); - String current = Messages.getLanguage(_context); + String clang = Messages.getLanguage(_context); + String current = clang; String country = Messages.getCountry(_context); if (country != null && country.length() > 0) current += '_' + country; + // find best match + boolean found = false; + for (int i = 0; i < langs.length; i++) { + if (langs[i][0].equals(current)) { + found = true; + break; + } + } + if (!found) { + if (country != null && country.length() > 0) { + current = clang; + for (int i = 0; i < langs.length; i++) { + if (langs[i][0].equals(current)) { + found = true; + break; + } + } + } + if (!found) + current = "en"; + } + StringBuilder buf = new StringBuilder(512); for (int i = 0; i < langs.length; i++) { // we use "lang" so it is set automagically in CSSHelper buf.append("
<%=intl._("Please include this information in bug reports")%>:
<%=intl._("Please include this information in bug reports")%>:
I2P version: <%=net.i2p.router.RouterVersion.FULL_VERSION%>
diff --git a/core/java/src/net/i2p/CoreVersion.java b/core/java/src/net/i2p/CoreVersion.java
index 96a3ef8c9..5d59638d5 100644
--- a/core/java/src/net/i2p/CoreVersion.java
+++ b/core/java/src/net/i2p/CoreVersion.java
@@ -16,7 +16,7 @@ package net.i2p;
public class CoreVersion {
/** deprecated */
public final static String ID = "Monotone";
- public final static String VERSION = "0.9.10";
+ public final static String VERSION = "0.9.11";
public static void main(String args[]) {
System.out.println("I2P Core version: " + VERSION);
diff --git a/core/java/src/net/i2p/I2PAppContext.java b/core/java/src/net/i2p/I2PAppContext.java
index 4eb2fcdbd..69e110632 100644
--- a/core/java/src/net/i2p/I2PAppContext.java
+++ b/core/java/src/net/i2p/I2PAppContext.java
@@ -128,8 +128,7 @@ public class I2PAppContext {
_lock5 = new Object(), _lock6 = new Object(), _lock7 = new Object(), _lock8 = new Object(),
_lock9 = new Object(), _lock10 = new Object(), _lock11 = new Object(), _lock12 = new Object(),
_lock13 = new Object(), _lock14 = new Object(), _lock15 = new Object(), _lock16 = new Object(),
- _lock17 = new Object(), _lock18 = new Object(), _lock19 = new Object(), _lock20 = new Object(),
- _lock21 = new Object();
+ _lock17 = new Object(), _lock18 = new Object(), _lock19 = new Object(), _lock20 = new Object();
/**
* Pull the default context, creating a new one if necessary, else using
diff --git a/core/java/src/net/i2p/data/i2cp/GetDateMessage.java b/core/java/src/net/i2p/data/i2cp/GetDateMessage.java
index 087062cbb..00c5a75b8 100644
--- a/core/java/src/net/i2p/data/i2cp/GetDateMessage.java
+++ b/core/java/src/net/i2p/data/i2cp/GetDateMessage.java
@@ -24,7 +24,7 @@ import net.i2p.util.OrderedProperties;
* Only supported from client to router.
*
* Since 0.8.7, optionally include a version string.
- * Since 0.9.10, optionally include options.
+ * Since 0.9.11, optionally include options.
*/
public class GetDateMessage extends I2CPMessageImpl {
public final static int MESSAGE_TYPE = 32;
@@ -49,7 +49,7 @@ public class GetDateMessage extends I2CPMessageImpl {
* must be non-null if options is non-null and non-empty.
* @param options Client options to be sent to the router; primarily for authentication; may be null;
* keys and values 255 bytes (not chars) max each
- * @since 0.9.10
+ * @since 0.9.11
*/
public GetDateMessage(String version, Properties options) {
super();
@@ -72,7 +72,7 @@ public class GetDateMessage extends I2CPMessageImpl {
* Primarily for authentication.
*
* @return may be null
- * @since 0.9.10
+ * @since 0.9.11
*/
public Properties getOptions() {
return _options;
diff --git a/core/java/src/net/i2p/data/i2cp/I2CPMessageHandler.java b/core/java/src/net/i2p/data/i2cp/I2CPMessageHandler.java
index bf34befde..915757fc0 100644
--- a/core/java/src/net/i2p/data/i2cp/I2CPMessageHandler.java
+++ b/core/java/src/net/i2p/data/i2cp/I2CPMessageHandler.java
@@ -23,7 +23,7 @@ public class I2CPMessageHandler {
/**
* This is huge. Mainly to catch a completly bogus response, possibly not an I2CP socket.
- * @since 0.9.10
+ * @since 0.9.11
*/
public static final int MAX_LENGTH = 128*1024;
diff --git a/history.txt b/history.txt
index dc27e8012..40db4b8e1 100644
--- a/history.txt
+++ b/history.txt
@@ -1,3 +1,14 @@
+2014-02-10 zzz
+ * Console:
+ - Don't reset graph settings when clicking restart or shutdown on graphs page
+ - Don't recommend guest login on trac, it's disabled
+ - Catch and remove corrupt jrb file (ticket #1186)
+ - Always set default language on /configui
+ * Transports: Reduce target connection count again to reduce
+ tunnel reject rate further
+
+* 2014-02-08 0.9.11 released
+
2014-02-07 zzz
* Services:
- Move backup news to psi.i2p
diff --git a/installer/install.xml b/installer/install.xml
index 6f1015a61..d1c6d7904 100644
--- a/installer/install.xml
+++ b/installer/install.xml
@@ -4,7 +4,7 @@
Si vous venez juste de lancer I2P, le nombre de
pairs actifs indiqués dans la section Pairs du "Panneau de surveillance" sur la gauche devrait
commencer à augmenter dans les prochaines minutes et vous verrez alors en bas du panneau une destination locale
diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java
index 46b0184db..87e5bffca 100644
--- a/router/java/src/net/i2p/router/RouterVersion.java
+++ b/router/java/src/net/i2p/router/RouterVersion.java
@@ -18,10 +18,10 @@ public class RouterVersion {
/** deprecated */
public final static String ID = "Monotone";
public final static String VERSION = CoreVersion.VERSION;
- public final static long BUILD = 11;
+ public final static long BUILD = 1;
/** for example "-test" */
- public final static String EXTRA = "-rc";
+ public final static String EXTRA = "";
public final static String FULL_VERSION = VERSION + "-" + BUILD + EXTRA;
public static void main(String args[]) {
System.out.println("I2P Router version: " + FULL_VERSION);
diff --git a/router/java/src/net/i2p/router/transport/ntcp/EventPumper.java b/router/java/src/net/i2p/router/transport/ntcp/EventPumper.java
index 43cdba3ba..d4fd7521a 100644
--- a/router/java/src/net/i2p/router/transport/ntcp/EventPumper.java
+++ b/router/java/src/net/i2p/router/transport/ntcp/EventPumper.java
@@ -211,7 +211,7 @@ class EventPumper implements Runnable {
int failsafeInvalid = 0;
// Increase allowed idle time if we are well under allowed connections, otherwise decrease
- if (_transport.haveCapacity(45))
+ if (_transport.haveCapacity(33))
_expireIdleWriteTime = Math.min(_expireIdleWriteTime + 1000, MAX_EXPIRE_IDLE_TIME);
else
_expireIdleWriteTime = Math.max(_expireIdleWriteTime - 3000, MIN_EXPIRE_IDLE_TIME);
diff --git a/router/java/src/net/i2p/router/transport/udp/UDPTransport.java b/router/java/src/net/i2p/router/transport/udp/UDPTransport.java
index 1be488e27..239060bff 100644
--- a/router/java/src/net/i2p/router/transport/udp/UDPTransport.java
+++ b/router/java/src/net/i2p/router/transport/udp/UDPTransport.java
@@ -2846,7 +2846,7 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority
public void timeReached() {
// Increase allowed idle time if we are well under allowed connections, otherwise decrease
- if (haveCapacity(45)) {
+ if (haveCapacity(33)) {
long inc;
// don't adjust too quickly if we are looping fast
if (_lastLoopShort)