* Checklist updates

* 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
 * Readme: Update links
 * Transports: Reduce target connection count again to reduce
               tunnel reject rate further
This commit is contained in:
zzz
2014-02-10 14:22:43 +00:00
parent f6d9a6917f
commit a2ba9bbdb1
12 changed files with 62 additions and 17 deletions

View File

@ -12,7 +12,7 @@ you may use:
to configure the router. to configure the router.
If you're having trouble, swing by http://forum.i2p/, check the 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 will create and store files and configuration data in the user directory
~/.i2p/ on Linux and %APPDATA%\I2P\ on Windows. This directory is created ~/.i2p/ on Linux and %APPDATA%\I2P\ on Windows. This directory is created

View File

@ -15,20 +15,20 @@ To build:
ant installer-osx ant installer-osx
Run 'ant' with no arguments to see other build options. 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: Documentation:
http://www.i2p2.de/how https://geti2p.net/how
API: run 'ant javadoc' then start at build/javadoc/index.html API: run 'ant javadoc' then start at build/javadoc/index.html
Latest release: Latest release:
http://www.i2p2.de/download https://geti2p.net/download
To get development branch from source control: To get development branch from source control:
http://www.i2p2.de/newdevelopers https://geti2p.net/newdevelopers
FAQ: FAQ:
http://www.i2p2.de/faq https://geti2p.net/faq
Need help? Need help?
IRC irc.freenode.net #i2p IRC irc.freenode.net #i2p

View File

@ -103,11 +103,33 @@ public class ConfigUIHelper extends HelperBase {
/** todo sort by translated string */ /** todo sort by translated string */
public String getLangSettings() { public String getLangSettings() {
StringBuilder buf = new StringBuilder(512); String clang = Messages.getLanguage(_context);
String current = Messages.getLanguage(_context); String current = clang;
String country = Messages.getCountry(_context); String country = Messages.getCountry(_context);
if (country != null && country.length() > 0) if (country != null && country.length() > 0)
current += '_' + country; 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++) { for (int i = 0; i < langs.length; i++) {
// we use "lang" so it is set automagically in CSSHelper // we use "lang" so it is set automagically in CSSHelper
buf.append("<input type=\"radio\" class=\"optbox\" name=\"lang\" "); buf.append("<input type=\"radio\" class=\"optbox\" name=\"lang\" ");

View File

@ -351,7 +351,7 @@ public class GraphHelper extends FormHandler {
try { try {
_out.write("<br><h3>" + _("Configure Graph Display") + " [<a href=\"configstats\">" + _("Select Stats") + "</a>]</h3>"); _out.write("<br><h3>" + _("Configure Graph Display") + " [<a href=\"configstats\">" + _("Select Stats") + "</a>]</h3>");
_out.write("<form action=\"graphs\" method=\"POST\">\n" + _out.write("<form action=\"graphs\" method=\"POST\">\n" +
"<input type=\"hidden\" name=\"action\" value=\"foo\">\n" + "<input type=\"hidden\" name=\"action\" value=\"save\">\n" +
"<input type=\"hidden\" name=\"nonce\" value=\"" + nonce + "\" >\n"); "<input type=\"hidden\" name=\"nonce\" value=\"" + nonce + "\" >\n");
_out.write(_("Periods") + ": <input size=\"5\" style=\"text-align: right;\" type=\"text\" name=\"periodCount\" value=\"" + _periodCount + "\"><br>\n"); _out.write(_("Periods") + ": <input size=\"5\" style=\"text-align: right;\" type=\"text\" name=\"periodCount\" value=\"" + _periodCount + "\"><br>\n");
_out.write(_("Plot averages") + ": <input type=\"radio\" class=\"optbox\" name=\"showEvents\" value=\"false\" " + (_showEvents ? "" : "checked=\"checked\" ") + "> "); _out.write(_("Plot averages") + ": <input type=\"radio\" class=\"optbox\" name=\"showEvents\" value=\"false\" " + (_showEvents ? "" : "checked=\"checked\" ") + "> ");
@ -380,7 +380,7 @@ public class GraphHelper extends FormHandler {
if (persistent) if (persistent)
_out.write(" checked=\"checked\""); _out.write(" checked=\"checked\"");
_out.write(">" + _out.write(">" +
"<hr><div class=\"formaction\"><input type=\"submit\" class=\"acceot\" value=\"" + _("Save settings and redraw graphs") + "\"></div></form>"); "<hr><div class=\"formaction\"><input type=\"submit\" class=\"accept\" value=\"" + _("Save settings and redraw graphs") + "\"></div></form>");
} catch (IOException ioe) { } catch (IOException ioe) {
ioe.printStackTrace(); ioe.printStackTrace();
} }
@ -413,7 +413,8 @@ public class GraphHelper extends FormHandler {
*/ */
@Override @Override
protected void processForm() { protected void processForm() {
saveSettings(); if ("save".equals(_action))
saveSettings();
} }
/** /**

View File

@ -78,8 +78,17 @@ class SummaryListener implements RateSummaryListener {
//String names[] = _sample.getDsNames(); //String names[] = _sample.getDsNames();
//System.out.println("Add " + val + " over " + eventCount + " for " + _name //System.out.println("Add " + val + " over " + eventCount + " for " + _name
// + " [" + names[0] + ", " + names[1] + "]"); // + " [" + names[0] + ", " + names[1] + "]");
} catch (IllegalArgumentException iae) {
// ticket #1186
// apparently a corrupt file, thrown from update()
_log.error("Error adding", iae);
String path = _isPersistent ? _db.getPath() : null;
stopListening();
if (path != null)
(new File(path)).delete();
} catch (IOException ioe) { } catch (IOException ioe) {
_log.error("Error adding", ioe); _log.error("Error adding", ioe);
stopListening();
} catch (RrdException re) { } catch (RrdException re) {
// this can happen after the time slews backwards, so don't make it an error // this can happen after the time slews backwards, so don't make it an error
// org.jrobin.core.RrdException: Bad sample timestamp 1264343107. Last update time was 1264343172, at least one second step is required // org.jrobin.core.RrdException: Bad sample timestamp 1264343107. Last update time was 1264343172, at least one second step is required

View File

@ -31,7 +31,9 @@
%><%=intl._("Please report bugs on {0} or {1}.", %><%=intl._("Please report bugs on {0} or {1}.",
"<a href=\"http://trac.i2p2.i2p/newticket\">trac.i2p2.i2p</a>", "<a href=\"http://trac.i2p2.i2p/newticket\">trac.i2p2.i2p</a>",
"<a href=\"https://trac.i2p2.de/newticket\">trac.i2p2.de</a>")%> "<a href=\"https://trac.i2p2.de/newticket\">trac.i2p2.de</a>")%>
<!--
<%=intl._("You may use the username \"guest\" and password \"guest\" if you do not wish to register.")%> <%=intl._("You may use the username \"guest\" and password \"guest\" if you do not wish to register.")%>
-->
<p><%=intl._("Please include this information in bug reports")%>: <p><%=intl._("Please include this information in bug reports")%>:
</p></div><div class="sorry" id="warning2"> </p></div><div class="sorry" id="warning2">
<h3><%=intl._("Error Details")%></h3> <h3><%=intl._("Error Details")%></h3>

View File

@ -17,7 +17,9 @@
%><%=intl._("Please report bugs on {0} or {1}.", %><%=intl._("Please report bugs on {0} or {1}.",
"<a href=\"http://trac.i2p2.i2p/newticket\">trac.i2p2.i2p</a>", "<a href=\"http://trac.i2p2.i2p/newticket\">trac.i2p2.i2p</a>",
"<a href=\"https://trac.i2p2.de/newticket\">trac.i2p2.de</a>")%> "<a href=\"https://trac.i2p2.de/newticket\">trac.i2p2.de</a>")%>
<!--
<%=intl._("You may use the username \"guest\" and password \"guest\" if you do not wish to register.")%> <%=intl._("You may use the username \"guest\" and password \"guest\" if you do not wish to register.")%>
-->
<p><i><%=intl._("Please include this information in bug reports")%>:</i> <p><i><%=intl._("Please include this information in bug reports")%>:</i>
<p> <p>
<b>I2P version:</b> <%=net.i2p.router.RouterVersion.FULL_VERSION%><br> <b>I2P version:</b> <%=net.i2p.router.RouterVersion.FULL_VERSION%><br>

View File

@ -1,3 +1,12 @@
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-08 0.9.11 released
2014-02-07 zzz 2014-02-07 zzz

View File

@ -73,17 +73,17 @@ Seed update torrents
Notify the following people: Notify the following people:
All in-network update hosts All in-network update hosts
PPA maintainer PPA maintainer
Google code maintainer
news.xml maintainer news.xml maintainer
backup news.xml maintainer
Website files to change: Website files to change:
Sync with mtn.i2p2.i2p Sync with mtn.i2p-projekt.i2p
hosts.txt if it changed (copy from i2p.i2p mtn branch) hosts.txt if it changed (copy from i2p.i2p mtn branch)
i2p2www/__init__.py (release number) i2p2www/__init__.py (release number)
i2p2www/pages/downloads/list.html (checksums) i2p2www/pages/downloads/list.html (checksums)
i2p2www/static/news/news.xml i2p2www/static/news/news.xml
New release announcement - see i2p2www/blog/README for instructions New release announcement - see i2p2www/blog/README for instructions
Sync with mtn.i2p2.i2p Sync with mtn.i2p-projekt.i2p
Announce on: Announce on:
#i2p, #i2p-dev (also on freenode side) #i2p, #i2p-dev (also on freenode side)

View File

@ -18,7 +18,7 @@ public class RouterVersion {
/** deprecated */ /** deprecated */
public final static String ID = "Monotone"; public final static String ID = "Monotone";
public final static String VERSION = CoreVersion.VERSION; public final static String VERSION = CoreVersion.VERSION;
public final static long BUILD = 0; public final static long BUILD = 1;
/** for example "-test" */ /** for example "-test" */
public final static String EXTRA = ""; public final static String EXTRA = "";

View File

@ -211,7 +211,7 @@ class EventPumper implements Runnable {
int failsafeInvalid = 0; int failsafeInvalid = 0;
// Increase allowed idle time if we are well under allowed connections, otherwise decrease // 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); _expireIdleWriteTime = Math.min(_expireIdleWriteTime + 1000, MAX_EXPIRE_IDLE_TIME);
else else
_expireIdleWriteTime = Math.max(_expireIdleWriteTime - 3000, MIN_EXPIRE_IDLE_TIME); _expireIdleWriteTime = Math.max(_expireIdleWriteTime - 3000, MIN_EXPIRE_IDLE_TIME);

View File

@ -2846,7 +2846,7 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority
public void timeReached() { public void timeReached() {
// Increase allowed idle time if we are well under allowed connections, otherwise decrease // Increase allowed idle time if we are well under allowed connections, otherwise decrease
if (haveCapacity(45)) { if (haveCapacity(33)) {
long inc; long inc;
// don't adjust too quickly if we are looping fast // don't adjust too quickly if we are looping fast
if (_lastLoopShort) if (_lastLoopShort)