propagate from branch 'i2p.i2p' (head fd10b04ca3a6cf66e669bfad32d3011ed9f7e33c)

to branch 'i2p.i2p.zzz.ipv6' (head 6f6e16f14691f359322e665a7ad5ab65cbe1ca5e)
This commit is contained in:
zzz
2013-05-29 00:22:15 +00:00
48 changed files with 18131 additions and 28638 deletions

View File

@ -376,10 +376,10 @@ class PeerCoordinator implements PeerListener
*/
public boolean needOutboundPeers() {
//return wantedBytes != 0 && needPeers();
// minus one to make it a little easier for new peers to get in on large swarms
// minus two to make it a little easier for new peers to get in on large swarms
return wantedBytes != 0 &&
!halted &&
peers.size() < getMaxConnections() - 1 &&
peers.size() < getMaxConnections() - 2 &&
(storage == null || !storage.isChecking());
}

View File

@ -154,7 +154,7 @@ public class Storage
else
pc_size = DEFAULT_PIECE_SIZE;
int pcs = (int) ((total - 1)/pc_size) + 1;
while (pcs > MAX_PIECES && pc_size < MAX_PIECE_SIZE)
while (pcs > (MAX_PIECES * 2 / 3) && pc_size < MAX_PIECE_SIZE)
{
pc_size *= 2;
pcs = (int) ((total - 1)/pc_size) +1;

View File

@ -2177,6 +2177,23 @@ public class I2PSnarkServlet extends BasicServlet {
private static final String FOOTER = "</div></center></body></html>";
/**
* Sort alphabetically in current locale, ignore case,
* directories first
* @since 0.9.6
*/
private static class ListingComparator implements Comparator<File> {
private final Comparator collator = Collator.getInstance();
public int compare(File l, File r) {
if (l.isDirectory() && !r.isDirectory())
return -1;
if (r.isDirectory() && !l.isDirectory())
return 1;
return collator.compare(l.getName(), r.getName());
}
}
/**
* Modded heavily from the Jetty version in Resource.java,
* pass Resource as 1st param
@ -2210,10 +2227,10 @@ public class I2PSnarkServlet extends BasicServlet {
private String getListHTML(File r, String base, boolean parent, Map postParams)
throws IOException
{
String[] ls = null;
File[] ls = null;
if (r.isDirectory()) {
ls = r.list();
Arrays.sort(ls, Collator.getInstance());
ls = r.listFiles();
Arrays.sort(ls, new ListingComparator());
} // if r is not a directory, we are only showing torrent info section
String title = decodePath(base);
@ -2289,7 +2306,9 @@ public class I2PSnarkServlet extends BasicServlet {
}
List<List<String>> alist = meta.getAnnounceList();
if (alist != null) {
buf.append("<tr><td><b>");
buf.append("<tr><td>" +
"<img alt=\"\" border=\"0\" src=\"")
.append(_imgPath).append("details.png\"> <b>");
buf.append(_("Tracker List")).append(":</b> ");
for (List<String> alist2 : alist) {
buf.append('[');
@ -2421,12 +2440,12 @@ public class I2PSnarkServlet extends BasicServlet {
boolean showSaveButton = false;
for (int i=0 ; i< ls.length ; i++)
{
String encoded = encodePath(ls[i]);
String encoded = encodePath(ls[i].getName());
// bugfix for I2P - Backport from Jetty 6 (zero file lengths and last-modified times)
// http://jira.codehaus.org/browse/JETTY-361?page=com.atlassian.jira.plugin.system.issuetabpanels%3Achangehistory-tabpanel#issue-tabs
// See resource.diff attachment
//Resource item = addPath(encoded);
File item = new File(r, ls[i]);
File item = ls[i];
String rowClass = (i % 2 == 0 ? "snarkTorrentEven" : "snarkTorrentOdd");
buf.append("<TR class=\"").append(rowClass).append("\">");
@ -2437,7 +2456,7 @@ public class I2PSnarkServlet extends BasicServlet {
long length = item.length();
if (item.isDirectory()) {
complete = true;
status = toImg("tick") + ' ' + _("Directory");
//status = toImg("tick") + ' ' + _("Directory");
} else {
if (snark == null || snark.getStorage() == null) {
// Assume complete, perhaps he removed a completed torrent but kept a bookmark
@ -2501,7 +2520,7 @@ public class I2PSnarkServlet extends BasicServlet {
.append(rowClass).append("\">");
if (complete)
buf.append("<a href=\"").append(path).append("\">");
buf.append(ls[i]);
buf.append(item.getName());
if (complete)
buf.append("</a>");
buf.append("</TD><TD ALIGN=right class=\"").append(rowClass).append(" snarkFileSize\">");

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -4,21 +4,21 @@
# To contribute translations, see http://www.i2p2.de/newdevelopers
#
# Translators:
# blabla, 2011.
# <blabla@trash-mail.com>, 2011-2012.
# D.A. Loader <>, 2012.
# <driz@i2pmail.org>, 2012.
# ducki2p <ducki2p@gmail.com>, 2011.
# foo <foo@bar>, 2009.
# mixxy, 2011.
# <pirr@tormail.org>, 2012.
# <zeroflag@i2pmail.org>, 2013.
# blabla, 2011
# blabla <blabla@trash-mail.com>, 2011-2012
# D.A. Loader <>, 2012
# driz <driz@i2pmail.org>, 2012
# ducki2p <ducki2p@gmail.com>, 2011
# foo <foo@bar>, 2009
# mixxy, 2011
# pirr <pirr@tormail.org>, 2012
# zeroflag <zeroflag@i2pmail.org>, 2013
msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-02-22 13:13+0000\n"
"PO-Revision-Date: 2013-02-07 20:04+0000\n"
"POT-Creation-Date: 2013-05-15 22:00+0000\n"
"PO-Revision-Date: 2013-05-08 13:15+0000\n"
"Last-Translator: zeroflag <zeroflag@i2pmail.org>\n"
"Language-Team: German (http://www.transifex.com/projects/p/I2P/language/"
"de/)\n"
@ -28,15 +28,15 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:558
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:571
msgid "This seems to be a bad destination:"
msgstr "Dies scheint kein gültiges Ziel zu sein:"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:558
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:571
msgid "i2paddresshelper cannot help you with a destination like that!"
msgstr "Der I2P-Adresshelfer kann dir bei solch einem Ziel nicht helfen."
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:625
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:638
#, java-format
msgid ""
"To visit the destination in your host database, click <a href=\"{0}\">here</"
@ -47,7 +47,7 @@ msgstr ""
"\"{0}\">hier</a>, und um das Ziel aus der kollidierenden Adresshelfer-"
"Anfrage zu besuchen, <a href=\"{1}\">hier</a>!"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1029
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1042
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:410
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:159
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:426
@ -55,41 +55,41 @@ msgstr ""
msgid "Host"
msgstr "Host"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1033
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1046
msgid "Base 32"
msgstr "Base 32"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1037
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:377
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1050
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:376
msgid "Destination"
msgstr "Ziel"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1043
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1056
#, java-format
msgid "Continue to {0} without saving"
msgstr "Weiter zu {0}, ohne zu speichern"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1048
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1061
#, java-format
msgid "Save {0} to router address book and continue to eepsite"
msgstr "{0} im Router-Adressbuch speichern und auf die Eepseite weiterleiten"
#. only blockfile supports multiple books
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1051
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1064
#, java-format
msgid "Save {0} to master address book and continue to eepsite"
msgstr "{0} im Master-Adressbuch speichern und auf die Eepseite weiterleiten"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1052
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1065
#, java-format
msgid "Save {0} to private address book and continue to eepsite"
msgstr "{0} im privaten Adressbuch speichern und auf die Eepseite weiterleiten"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1166
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1179
msgid "HTTP Outproxy"
msgstr "HTTP-Outproxy"
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1171
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1184
msgid ""
"Click a link below to look for an address helper by using a \"jump\" service:"
msgstr ""
@ -97,7 +97,7 @@ msgstr ""
"Adresshelfer von einem \"Sprung\"-Service:"
#. Translators: parameter is a host name
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1207
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1220
#, java-format
msgid "{0} jump service"
msgstr "Weiterleitungsdienst {0}"
@ -265,7 +265,7 @@ msgid "HTTP bidir"
msgstr "HTTP Bidir"
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:603
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:302
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:301
msgid "Host not set"
msgstr "Host nicht gesetzt"
@ -289,23 +289,23 @@ msgstr "Neue Proxyeinstellungen"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:129
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:126
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:140
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:260
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:275
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:259
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:274
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:326
msgid "Name"
msgstr "Name"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:133
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:133
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:264
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:291
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:263
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:290
msgid "Type"
msgstr "Typ"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:137
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:137
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:244
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:402
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:243
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:401
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:330
msgid "Description"
msgstr "Beschreibung"
@ -572,8 +572,8 @@ msgstr "I2CP-Adresse des Routers"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:418
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:165
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:434
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:262
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:284
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:261
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:283
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:431
msgid "Port"
msgstr "Port"
@ -717,15 +717,15 @@ msgstr "Signatur des Namens"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:353
msgid "4 in, 4 out (high traffic server)"
msgstr ""
msgstr "4 eingehend, 4 ausgehend (Server mit großem Datenverkehr)"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:357
msgid "5 in, 5 out (high traffic server)"
msgstr ""
msgstr "5 eingehend, 5 ausgehend (Server mit großem Datenverkehr)"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:361
msgid "6 in, 6 out (high traffic server)"
msgstr ""
msgstr "6 eingehend, 6 ausgehend (Server mit großem Datenverkehr)"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:442
msgid "Encrypt Leaseset"
@ -861,65 +861,65 @@ msgid "I2P Server Tunnels"
msgstr "I2P-Servertunnel"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:128
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:149
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:148
msgid "Points at"
msgstr "Läuft auf"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:130
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:171
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:175
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:170
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:174
msgid "Preview"
msgstr "Vorschau"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:132
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:195
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:268
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:309
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:194
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:267
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:308
msgid "Status"
msgstr "Status"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:181
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:180
msgid "Base32 Address"
msgstr "Basis-32-Adresse"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:189
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:188
msgid "No Preview"
msgstr "Keine Vorschau"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:202
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:316
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:201
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:315
msgid "Starting..."
msgstr "Starte ..."
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:209
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:223
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:323
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:337
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:351
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:208
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:222
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:322
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:336
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:350
msgid "Stop"
msgstr "Stopp"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:216
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:344
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:215
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:343
msgid "Running"
msgstr "Aktiv"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:230
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:358
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:229
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:357
msgid "Stopped"
msgstr "Gestoppt"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:237
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:365
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:236
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:364
msgid "Start"
msgstr "Start"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:252
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:251
msgid "New server tunnel"
msgstr "Neuer Servertunnel"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:254
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:412
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:253
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:411
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:223
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:265
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:295
@ -928,33 +928,33 @@ msgstr "Neuer Servertunnel"
msgid "Standard"
msgstr "Standard"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:256
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:414
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:255
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:413
msgid "Create"
msgstr "Erstellen"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:258
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:257
msgid "I2P Client Tunnels"
msgstr "I2P-Klienten-Tunnel"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:266
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:295
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:265
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:294
msgid "Interface"
msgstr "Interface"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:330
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:329
msgid "Standby"
msgstr "Wartestellung"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:374
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:373
msgid "Outproxy"
msgstr "Ausgehender Proxy"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:397
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:396
msgid "none"
msgstr "Keiner"
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:410
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:409
msgid "New client tunnel"
msgstr "Neuer Kliententunnel"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P i2ptunnel\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-04-25 14:51+0000\n"
"POT-Creation-Date: 2013-05-15 21:57+0000\n"
"PO-Revision-Date: 2010-06-15 14:09+0100\n"
"Last-Translator: duck <duck@mail.i2p>\n"
"Language-Team: duck <duck@mail.i2p>\n"
@ -47,7 +47,7 @@ msgid "Base 32"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:1050
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:377
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:376
msgid "Destination"
msgstr ""
@ -242,7 +242,7 @@ msgid "HTTP bidir"
msgstr ""
#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:603
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:302
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:301
msgid "Host not set"
msgstr ""
@ -266,23 +266,23 @@ msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:129
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:126
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:140
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:260
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:275
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:259
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:274
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:326
msgid "Name"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:133
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:133
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:264
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:291
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:263
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:290
msgid "Type"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:137
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:137
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:244
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:402
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:243
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:401
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:330
msgid "Description"
msgstr ""
@ -533,8 +533,8 @@ msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:418
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:165
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:434
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:262
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:284
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:261
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:283
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:431
msgid "Port"
msgstr ""
@ -822,65 +822,65 @@ msgid "I2P Server Tunnels"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:128
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:149
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:148
msgid "Points at"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:130
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:171
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:175
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:170
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:174
msgid "Preview"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:132
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:195
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:268
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:309
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:194
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:267
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:308
msgid "Status"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:181
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:180
msgid "Base32 Address"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:189
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:188
msgid "No Preview"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:202
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:316
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:201
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:315
msgid "Starting..."
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:209
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:223
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:323
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:337
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:351
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:208
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:222
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:322
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:336
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:350
msgid "Stop"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:216
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:344
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:215
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:343
msgid "Running"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:230
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:358
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:229
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:357
msgid "Stopped"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:237
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:365
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:236
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:364
msgid "Start"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:252
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:251
msgid "New server tunnel"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:254
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:412
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:253
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:411
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:223
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:265
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/wizard_jsp.java:295
@ -889,33 +889,33 @@ msgstr ""
msgid "Standard"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:256
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:414
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:255
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:413
msgid "Create"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:258
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:257
msgid "I2P Client Tunnels"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:266
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:295
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:265
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:294
msgid "Interface"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:330
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:329
msgid "Standby"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:374
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:373
msgid "Outproxy"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:397
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:396
msgid "none"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:410
#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:409
msgid "New client tunnel"
msgstr ""

View File

@ -869,10 +869,11 @@ public class RouterConsoleRunner implements RouterApp {
*/
private static class CustomThreadPoolExecutor extends ExecutorThreadPool {
public CustomThreadPoolExecutor() {
super(MIN_THREADS, MAX_THREADS, MAX_IDLE_TIME, TimeUnit.MILLISECONDS,
new SynchronousQueue() /** , following args not available in Jetty 7
super(new ThreadPoolExecutor(
MIN_THREADS, MAX_THREADS, MAX_IDLE_TIME, TimeUnit.MILLISECONDS,
new SynchronousQueue(),
new CustomThreadFactory(),
new ThreadPoolExecutor.CallerRunsPolicy() **/
new ThreadPoolExecutor.CallerRunsPolicy())
);
}
}

File diff suppressed because it is too large Load Diff

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P routerconsole\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-04-25 14:51+0000\n"
"POT-Creation-Date: 2013-05-15 21:57+0000\n"
"PO-Revision-Date: 2010-06-15 14:09+0100\n"
"Last-Translator: duck <duck@mail.i2p>\n"
"Language-Team: duck <duck@mail.i2p>\n"
@ -231,7 +231,7 @@ msgstr ""
msgid "Known fast peers"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/CommSystemFacadeImpl.java:532
#: ../../../router/java/src/net/i2p/router/transport/CommSystemFacadeImpl.java:551
msgid "NetDb entry"
msgstr ""
@ -240,45 +240,45 @@ msgstr ""
msgid "No transports (hidden or starting up?)"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:455
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:447
msgid "Unreachable on any transport"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:511
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:503
msgid "Router Transport Addresses"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:516
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:508
#, java-format
msgid "{0} is used for outbound connections only"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:530
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:522
#: ../java/src/net/i2p/router/web/HomeHelper.java:32
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error500_jsp.java:161
msgid "Help"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:531
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:523
msgid ""
"Your transport connection limits are automatically set based on your "
"configured bandwidth."
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:533
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:525
msgid ""
"To override these limits, add the settings i2np.ntcp.maxConnections=nnn and "
"i2np.udp.maxConnections=nnn on the advanced configuration page."
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:535
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:527
#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:282
msgid "Definitions"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:536
#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:752
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2179
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:528
#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:772
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2200
#: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:24
#: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:33
#: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:35
@ -287,244 +287,244 @@ msgstr ""
msgid "Peer"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:536
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:528
msgid "The remote peer, identified by router hash"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:537
#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:753
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2183
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:529
#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:773
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2204
msgid "Dir"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:538
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:530
msgid "Inbound connection"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:540
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:532
msgid "Outbound connection"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:542
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:534
msgid "They offered to introduce us (help other peers traverse our firewall)"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:544
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:536
msgid "We offered to introduce them (help other peers traverse their firewall)"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:545
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:537
msgid "How long since a packet has been received / sent"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:545
#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:754
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2184
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:537
#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:774
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2205
msgid "Idle"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:546
#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:755
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2189
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:538
#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:775
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2210
#: ../java/src/net/i2p/router/web/TunnelRenderer.java:157
msgid "In/Out"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:546
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:538
msgid "The smoothed inbound / outbound transfer rate (KBytes per second)"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:547
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:539
msgid "How long ago this connection was established"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:547
#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:756
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2194
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:539
#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:776
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2215
#: ../java/src/net/i2p/router/web/SummaryHelper.java:863
msgid "Up"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:548
#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:757
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2196
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:540
#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:777
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2217
msgid "Skew"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:548
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:540
msgid "The difference between the peer's clock and your own"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:549
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:541
msgid ""
"The congestion window, which is how many bytes can be sent without an "
"acknowledgement"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:550
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:542
msgid "The number of sent messages awaiting acknowledgement"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:551
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:543
msgid "The maximum number of concurrent messages to send"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:552
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:544
msgid "The number of pending sends which exceed congestion window"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:553
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:545
msgid "The slow start threshold"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:554
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:546
msgid "The round trip time in milliseconds"
msgstr ""
#. "<b id=\"def.dev\">").append(_("Dev")).append("</b>: ").append(_("The standard deviation of the round trip time in milliseconds")).append("<br>\n" +
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:556
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:548
msgid "The retransmit timeout in milliseconds"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:557
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:549
msgid ""
"Current maximum send packet size / estimated maximum receive packet size "
"(bytes)"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:558
#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:758
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2213
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:550
#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:778
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2234
msgid "TX"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:558
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:550
msgid "The total number of packets sent to the peer"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:559
#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:759
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2215
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:551
#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:779
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2236
msgid "RX"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:559
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:551
msgid "The total number of packets received from the peer"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:560
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2218
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:552
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2239
msgid "Dup TX"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:560
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:552
msgid "The total number of packets retransmitted to the peer"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:561
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2220
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:553
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2241
msgid "Dup RX"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:561
#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:553
msgid "The total number of duplicate packets received from the peer"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:452
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:456
#: ../java/src/net/i2p/router/web/ConfigNavHelper.java:20
msgid "Service"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:454
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:458
msgid "WAN Common Interface Configuration"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:455
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:461
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:471
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:476
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:459
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:465
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:475
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:480
#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:97
msgid "Status"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:456
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:462
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:472
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:460
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:466
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:476
msgid "Type"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:457
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:463
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:461
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:467
msgid "Upstream"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:458
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:464
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:462
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:468
msgid "Downstream"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:460
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:464
msgid "WAN PPP Connection"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:465
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:473
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:469
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:477
msgid "External IP"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:467
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:471
msgid "Layer 3 Forwarding"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:468
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:472
msgid "Default Connection Service"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:470
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:474
msgid "WAN IP Connection"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:475
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:479
msgid "WAN Ethernet Link Configuration"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:488
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:492
msgid "Found Device"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:490
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:494
msgid "Subdevice"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:511
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:515
msgid "UPnP Status"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:514
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:518
msgid ""
"UPnP has been disabled; Do you have more than one UPnP Internet Gateway "
"Device on your LAN ?"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:517
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:521
msgid "UPnP has not found any UPnP-aware, compatible device on your LAN."
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:525
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:529
#, java-format
msgid "The current external IP address reported by UPnP is {0}"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:527
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:531
msgid "The current external IP address is not available."
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:531
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:535
#, java-format
msgid "UPnP reports the maximum downstream bit rate is {0}bits/sec"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:533
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:537
#, java-format
msgid "UPnP reports the maximum upstream bit rate is {0}bits/sec"
msgstr ""
@ -532,12 +532,12 @@ msgstr ""
#. {0} is TCP or UDP
#. {1,number,#####} prevents 12345 from being output as 12,345 in the English locale.
#. If you want the digit separator in your locale, translate as {1}.
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:541
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:545
#, java-format
msgid "{0} port {1,number,#####} was successfully forwarded by UPnP."
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:543
#: ../../../router/java/src/net/i2p/router/transport/UPnP.java:547
#, java-format
msgid "{0} port {1,number,#####} was not forwarded by UPnP."
msgstr ""
@ -552,151 +552,151 @@ msgstr ""
msgid "Excessive clock skew: {0}"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:747
#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:767
msgid "NTCP connections"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:748
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2175
#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:768
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2196
msgid "Limit"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:749
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2176
#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:769
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2197
msgid "Timeout"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:760
#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:780
msgid "Out Queue"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:761
#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:781
msgid "Backlogged?"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:775
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2238
#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:795
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2259
#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:88
msgid "Inbound"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:777
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2240
#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:797
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2261
#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:88
msgid "Outbound"
msgstr ""
#. buf.append("<tr> <td colspan=\"11\"><hr></td></tr>\n");
#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:826
#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:846
msgid "peers"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2174
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2195
msgid "UDP connections"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2181
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2202
msgid "Sort by peer hash"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2183
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2204
msgid "Direction/Introduction"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2185
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2206
msgid "Sort by idle inbound"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2187
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2208
msgid "Sort by idle outbound"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2190
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2211
msgid "Sort by inbound rate"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2192
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2213
msgid "Sort by outbound rate"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2195
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2216
msgid "Sort by connection uptime"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2197
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2218
msgid "Sort by clock skew"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2200
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2221
msgid "Sort by congestion window"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2202
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2223
msgid "Sort by slow start threshold"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2205
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2226
msgid "Sort by round trip time"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2209
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2230
msgid "Sort by retransmission timeout"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2212
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2233
msgid "Sort by outbound maximum transmit unit"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2214
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2235
msgid "Sort by packets sent"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2216
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2237
msgid "Sort by packets received"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2219
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2240
msgid "Sort by packets retransmitted"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2221
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2242
msgid "Sort by packets received more than once"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2242
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2263
msgid "We offered to introduce them"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2244
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2265
msgid "They offered to introduce us"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2248
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2269
msgid "Choked"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2256
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2277
msgid "1 fail"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2258
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2279
#, java-format
msgid "{0} fails"
msgstr ""
#. 1
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2264
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2285
#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:172
#: ../java/src/net/i2p/router/web/ProfilesHelper.java:13
msgid "Banned"
msgstr ""
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2316
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2337
msgid "backlogged"
msgstr ""
#. buf.append("<tr><td colspan=\"16\"><hr></td></tr>\n");
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2396
#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2417
msgid "SUMMARY"
msgstr ""
@ -2749,16 +2749,14 @@ msgstr ""
#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:38
#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:46
#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:49
#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:56
#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:59
msgid "unknown"
msgstr ""
#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:171
#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:185
msgid "bits per second"
msgstr ""
#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:172
#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:186
#, java-format
msgid "or {0} bytes per month maximum"
msgstr ""
@ -3354,7 +3352,7 @@ msgstr ""
#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:163
#: ../java/src/net/i2p/router/web/ConfigUpdateHelper.java:111
#: ../java/src/net/i2p/router/web/GraphHelper.java:376
#: ../java/src/net/i2p/router/web/GraphHelper.java:375
msgid "Never"
msgstr ""
@ -3404,129 +3402,129 @@ msgid ""
"browser."
msgstr ""
#: ../java/src/net/i2p/router/web/GraphHelper.java:160
#: ../java/src/net/i2p/router/web/GraphHelper.java:159
msgid "Combined bandwidth graph"
msgstr ""
#. e.g. "statname for 60m"
#: ../java/src/net/i2p/router/web/GraphHelper.java:173
#: ../java/src/net/i2p/router/web/GraphHelper.java:235
#: ../java/src/net/i2p/router/web/GraphHelper.java:172
#: ../java/src/net/i2p/router/web/GraphHelper.java:234
#, java-format
msgid "{0} for {1}"
msgstr ""
#: ../java/src/net/i2p/router/web/GraphHelper.java:222
#: ../java/src/net/i2p/router/web/GraphHelper.java:221
#: ../java/src/net/i2p/router/web/StatSummarizer.java:302
msgid "Bandwidth usage"
msgstr ""
#: ../java/src/net/i2p/router/web/GraphHelper.java:237
#: ../java/src/net/i2p/router/web/GraphHelper.java:236
#, java-format
msgid "ending {0} ago"
msgstr ""
#: ../java/src/net/i2p/router/web/GraphHelper.java:252
#: ../java/src/net/i2p/router/web/GraphHelper.java:251
msgid "Larger"
msgstr ""
#: ../java/src/net/i2p/router/web/GraphHelper.java:258
#: ../java/src/net/i2p/router/web/GraphHelper.java:257
msgid "Smaller"
msgstr ""
#: ../java/src/net/i2p/router/web/GraphHelper.java:264
#: ../java/src/net/i2p/router/web/GraphHelper.java:263
msgid "Taller"
msgstr ""
#: ../java/src/net/i2p/router/web/GraphHelper.java:270
#: ../java/src/net/i2p/router/web/GraphHelper.java:269
msgid "Shorter"
msgstr ""
#: ../java/src/net/i2p/router/web/GraphHelper.java:276
#: ../java/src/net/i2p/router/web/GraphHelper.java:275
msgid "Wider"
msgstr ""
#: ../java/src/net/i2p/router/web/GraphHelper.java:282
#: ../java/src/net/i2p/router/web/GraphHelper.java:281
msgid "Narrower"
msgstr ""
#: ../java/src/net/i2p/router/web/GraphHelper.java:289
#: ../java/src/net/i2p/router/web/GraphHelper.java:288
msgid "Larger interval"
msgstr ""
#: ../java/src/net/i2p/router/web/GraphHelper.java:295
#: ../java/src/net/i2p/router/web/GraphHelper.java:294
msgid "Smaller interval"
msgstr ""
#: ../java/src/net/i2p/router/web/GraphHelper.java:302
#: ../java/src/net/i2p/router/web/GraphHelper.java:301
msgid "Previous interval"
msgstr ""
#: ../java/src/net/i2p/router/web/GraphHelper.java:313
#: ../java/src/net/i2p/router/web/GraphHelper.java:312
msgid "Next interval"
msgstr ""
#: ../java/src/net/i2p/router/web/GraphHelper.java:320
#: ../java/src/net/i2p/router/web/GraphHelper.java:360
#: ../java/src/net/i2p/router/web/GraphHelper.java:319
#: ../java/src/net/i2p/router/web/GraphHelper.java:359
msgid "Plot averages"
msgstr ""
#: ../java/src/net/i2p/router/web/GraphHelper.java:320
#: ../java/src/net/i2p/router/web/GraphHelper.java:361
#: ../java/src/net/i2p/router/web/GraphHelper.java:319
#: ../java/src/net/i2p/router/web/GraphHelper.java:360
msgid "plot events"
msgstr ""
#: ../java/src/net/i2p/router/web/GraphHelper.java:323
#: ../java/src/net/i2p/router/web/GraphHelper.java:322
msgid "All times are UTC."
msgstr ""
#: ../java/src/net/i2p/router/web/GraphHelper.java:355
#: ../java/src/net/i2p/router/web/GraphHelper.java:354
msgid "Configure Graph Display"
msgstr ""
#: ../java/src/net/i2p/router/web/GraphHelper.java:355
#: ../java/src/net/i2p/router/web/GraphHelper.java:354
msgid "Select Stats"
msgstr ""
#: ../java/src/net/i2p/router/web/GraphHelper.java:359
#: ../java/src/net/i2p/router/web/GraphHelper.java:358
msgid "Periods"
msgstr ""
#: ../java/src/net/i2p/router/web/GraphHelper.java:361
#: ../java/src/net/i2p/router/web/GraphHelper.java:360
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/confignet_jsp.java:492
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:485
msgid "or"
msgstr ""
#: ../java/src/net/i2p/router/web/GraphHelper.java:362
#: ../java/src/net/i2p/router/web/GraphHelper.java:361
msgid "Image sizes"
msgstr ""
#: ../java/src/net/i2p/router/web/GraphHelper.java:362
#: ../java/src/net/i2p/router/web/GraphHelper.java:361
msgid "width"
msgstr ""
#: ../java/src/net/i2p/router/web/GraphHelper.java:363
#: ../java/src/net/i2p/router/web/GraphHelper.java:362
msgid "height"
msgstr ""
#: ../java/src/net/i2p/router/web/GraphHelper.java:362
#: ../java/src/net/i2p/router/web/GraphHelper.java:363
#: ../java/src/net/i2p/router/web/GraphHelper.java:364
msgid "pixels"
msgstr ""
#: ../java/src/net/i2p/router/web/GraphHelper.java:365
#: ../java/src/net/i2p/router/web/GraphHelper.java:364
msgid "Refresh delay"
msgstr ""
#: ../java/src/net/i2p/router/web/GraphHelper.java:380
#: ../java/src/net/i2p/router/web/GraphHelper.java:379
msgid "Store graph data on disk?"
msgstr ""
#: ../java/src/net/i2p/router/web/GraphHelper.java:386
#: ../java/src/net/i2p/router/web/GraphHelper.java:385
msgid "Save settings and redraw graphs"
msgstr ""
#: ../java/src/net/i2p/router/web/GraphHelper.java:441
#: ../java/src/net/i2p/router/web/GraphHelper.java:440
msgid "Graph settings saved"
msgstr ""
@ -3956,18 +3954,18 @@ msgstr ""
msgid "Show news"
msgstr ""
#: ../java/src/net/i2p/router/web/PluginStarter.java:132
#: ../java/src/net/i2p/router/web/PluginStarter.java:133
msgid "Checking for plugin updates"
msgstr ""
#: ../java/src/net/i2p/router/web/PluginStarter.java:174
#: ../java/src/net/i2p/router/web/PluginStarter.java:175
#, java-format
msgid "1 plugin updated"
msgid_plural "{0} plugins updated"
msgstr[0] ""
msgstr[1] ""
#: ../java/src/net/i2p/router/web/PluginStarter.java:176
#: ../java/src/net/i2p/router/web/PluginStarter.java:177
msgid "Plugin update check complete"
msgstr ""

View File

@ -542,8 +542,9 @@ class Connection {
_context.simpleScheduler().addEvent(new DisconnectEvent(), DISCONNECT_TIMEOUT);
}
_resetReceived = true;
_outputStream.streamErrorOccurred(new IOException("Reset received"));
_inputStream.streamErrorOccurred(new IOException("Reset received"));
IOException ioe = new IOException("Reset received");
_outputStream.streamErrorOccurred(ioe);
_inputStream.streamErrorOccurred(ioe);
_connectionError = "Connection reset";
synchronized (_connectLock) { _connectLock.notifyAll(); }
}
@ -998,8 +999,9 @@ class Connection {
_log.debug(buf.toString());
}
_inputStream.streamErrorOccurred(new IOException("Inactivity timeout"));
_outputStream.streamErrorOccurred(new IOException("Inactivity timeout"));
IOException ioe = new IOException("Inactivity timeout");
_inputStream.streamErrorOccurred(ioe);
_outputStream.streamErrorOccurred(ioe);
// Clean disconnect if we have already scheduled one
// (generally because we already sent a close)
disconnect(_disconnectScheduledOn >= 0);

View File

@ -465,10 +465,13 @@ class MessageInputStream extends InputStream {
}
private void throwAnyError() throws IOException {
if (_streamError != null) {
IOException ioe = _streamError;
if (ioe != null) {
_streamError = null;
throw ioe;
// constructor with cause not until Java 6
IOException ioe2 = new IOException("Input stream error");
ioe2.initCause(ioe);
throw ioe2;
}
}
}

View File

@ -446,10 +446,13 @@ class MessageOutputStream extends OutputStream {
public boolean getClosed() { return _closed; }
private void throwAnyError() throws IOException {
if (_streamError != null) {
IOException ioe = _streamError;
if (ioe != null) {
_streamError = null;
throw ioe;
// constructor with cause not until Java 6
IOException ioe2 = new IOException("Output stream error");
ioe2.initCause(ioe);
throw ioe2;
}
}

View File

@ -4,25 +4,27 @@
# To contribute translations, see http://www.i2p2.de/newdevelopers
#
# Translators:
# "blabla", 2011.
# D.A. Loader <>, 2012.
# ducki2p <ducki2p@gmail.com>, 2011.
# foo <foo@bar>, 2009.
# mixxy, 2011.
# "blabla", 2011
# blabla <blabla@trash-mail.com>, 2012
# D.A. Loader <>, 2012
# ducki2p <ducki2p@gmail.com>, 2011
# foo <foo@bar>, 2009
# mixxy, 2011
# zeroflag <zeroflag@i2pmail.org>, 2013
msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-11-02 19:46+0000\n"
"PO-Revision-Date: 2012-03-11 02:03+0000\n"
"Last-Translator: D.A. Loader <>\n"
"Language-Team: German (http://www.transifex.net/projects/p/I2P/language/"
"POT-Creation-Date: 2013-05-15 22:00+0000\n"
"PO-Revision-Date: 2013-05-08 13:02+0000\n"
"Last-Translator: zeroflag <zeroflag@i2pmail.org>\n"
"Language-Team: German (http://www.transifex.com/projects/p/I2P/language/"
"de/)\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: ../src/java/src/i2p/susi/dns/AddressBean.java:130
#, java-format
@ -112,7 +114,7 @@ msgstr "Zeige {0} von {1}"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:258
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:227
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:412
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:410
msgid "Add"
msgstr "Hinzufügen"
@ -120,7 +122,7 @@ msgstr "Hinzufügen"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:269
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:227
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:239
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:410
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:408
msgid "Replace"
msgstr "Ersetzen"
@ -178,13 +180,13 @@ msgstr "Bitte geben Sie einen Hostnamen und ein Ziel ein!"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:326
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:278
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:303
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:274
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:267
msgid "Delete Entry"
msgstr "Eintrag löschen"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:305
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:278
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:351
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:349
msgid "Delete Selected"
msgstr "Ausgewähltes löschen"
@ -219,9 +221,9 @@ msgid "ERROR: Could not write addressbook file."
msgstr "FEHLER: Konnte Adressbuchdatei nicht schreiben."
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:340
#: ../src/java/src/i2p/susi/dns/ConfigBean.java:149
#: ../src/java/src/i2p/susi/dns/ConfigBean.java:140
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:311
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:128
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:142
msgid ""
"Invalid form submission, probably because you used the \"back\" or \"reload"
"\" button on your browser. Please resubmit."
@ -230,33 +232,35 @@ msgstr ""
"laden\"-Schalter in Ihrem Browser genutzt. Bitte neu senden!"
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:342
#: ../src/java/src/i2p/susi/dns/ConfigBean.java:151
#: ../src/java/src/i2p/susi/dns/ConfigBean.java:142
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:313
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:130
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:144
msgid ""
"If the problem persists, verify that you have cookies enabled in your "
"browser."
msgstr ""
"Falls das Problem weiterhin besteht: Stellen Sie sicher, dass Sie in Ihrem "
"Browser Cookies aktiviert haben."
#: ../src/java/src/i2p/susi/dns/ConfigBean.java:140
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:103
#: ../src/java/src/i2p/susi/dns/ConfigBean.java:131
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:117
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:153
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:145
msgid "Save"
msgstr "Speichern"
#: ../src/java/src/i2p/susi/dns/ConfigBean.java:142
#: ../src/java/src/i2p/susi/dns/ConfigBean.java:133
msgid "Configuration saved."
msgstr "Einstellungen gespeichert"
#: ../src/java/src/i2p/susi/dns/ConfigBean.java:143
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:122
#: ../src/java/src/i2p/susi/dns/ConfigBean.java:134
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:136
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:151
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:143
msgid "Reload"
msgstr "Neu laden"
#: ../src/java/src/i2p/susi/dns/ConfigBean.java:145
#: ../src/java/src/i2p/susi/dns/ConfigBean.java:136
msgid "Configuration reloaded."
msgstr "Einstellungen neu geladen"
@ -279,18 +283,18 @@ msgstr "Konnte das Ziel für {0} nicht dem Domainnamenservice {1} hinzufügen"
msgid "Failed to delete Destination for {0} from naming service {1}"
msgstr "Konnte das Ziel für {0} nicht aus dem Domainnamenservice {1} löschen"
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:115
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:129
msgid ""
"Subscriptions saved, updating addressbook from subscription sources now."
msgstr ""
"Abonnement gespeichert, aktualisiere jetzt das Adressbuch von untenstehenden "
"Aboquellen."
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:120
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:134
msgid "Subscriptions saved."
msgstr "Abonnementquellen gespeichert"
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:124
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:138
msgid "Subscriptions reloaded."
msgstr "Abonnementquellen neu geladen"
@ -410,8 +414,8 @@ msgid "Links"
msgstr "Links"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:250
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:404
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:266
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:402
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:259
msgid "Destination"
msgstr "Ziel"
@ -419,32 +423,32 @@ msgstr "Ziel"
msgid "Mark for deletion"
msgstr "zum Löschen markieren"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:307
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:305
msgid "Base 32 address"
msgstr "Adresse (Basis32)"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:311
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:309
msgid "More information on this entry"
msgstr "Weitere Informationen über diesen Eintrag"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:314
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:312
msgid "details"
msgstr "Details"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:349
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:408
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:347
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:406
msgid "Cancel"
msgstr "Abbruch"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:383
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:381
msgid "This address book is empty."
msgstr "Dieses Adressbuch ist leer."
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:398
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:396
msgid "Add new destination"
msgstr "Füge neues Ziel hinzu"
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:400
#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:398
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:165
msgid "Host Name"
msgstr "Hostname"
@ -568,65 +572,65 @@ msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:191
msgid "Name of the theme to use (defaults to 'light')"
msgstr ""
msgstr "Name des gewählten Themas (Standard ist \"hell\")"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:110
msgid "addressbook"
msgstr "Adressbuch"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:181
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:179
msgid "Encoded Name"
msgstr "kodierter Name"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:197
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:193
msgid "Base 32 Address"
msgstr "Basis32-Adresse"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:207
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:201
msgid "Base 64 Hash"
msgstr "Base 64 Hash"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:213
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:207
msgid "Address Helper"
msgstr "Adresshelfer"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:220
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:213
msgid "link"
msgstr "Link"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:224
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:217
msgid "Public Key"
msgstr "Öffentlicher Schlüssel"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:226
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:219
msgid "ElGamal 2048 bit"
msgstr "ElGamal 2048 bit"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:230
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:223
msgid "Signing Key"
msgstr "Authentifizierungsschlüssel"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:232
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:225
msgid "DSA 1024 bit"
msgstr "DSA 1024 bit"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:236
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:229
msgid "Certificate"
msgstr "Zertifikat"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:242
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:235
msgid "Added Date"
msgstr "Datum hinzugefügt"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:248
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:241
msgid "Source"
msgstr "Quelle"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:254
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:247
msgid "Last Modified"
msgstr "Zuletzt geändert:"
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:260
#: ../src/tmp/i2p/susi/dns/jsp/details_jsp.java:253
msgid "Notes"
msgstr "Anmerkungen"
@ -669,7 +673,7 @@ msgstr ""
#: ../src/tmp/i2p/susi/dns/jsp/index_jsp.java:140
msgid ""
"For more information on naming in I2P, see <a href=\"http://www.i2p2.i2p/"
"naming.html\">the overview on www.i2p2.i2p</a>."
"naming.html\" target=\"_top\">the overview on www.i2p2.i2p</a>."
msgstr ""
"Für weitere Informationen über Domainnamen im I2P sei hier auf <a href="
"\"http://www.i2p2.i2p/naming.html\">die Erläuterungen auf www.i2p2.i2p</a> "

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P susidns\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-04-25 14:51+0000\n"
"POT-Creation-Date: 2013-05-15 21:58+0000\n"
"PO-Revision-Date: 2010-06-15 14:09+0100\n"
"Last-Translator: duck <duck@mail.i2p>\n"
"Language-Team: duck <duck@mail.i2p>\n"
@ -209,42 +209,42 @@ msgid "ERROR: Could not write addressbook file."
msgstr ""
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:340
#: ../src/java/src/i2p/susi/dns/ConfigBean.java:149
#: ../src/java/src/i2p/susi/dns/ConfigBean.java:140
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:311
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:128
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:142
msgid ""
"Invalid form submission, probably because you used the \"back\" or \"reload"
"\" button on your browser. Please resubmit."
msgstr ""
#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:342
#: ../src/java/src/i2p/susi/dns/ConfigBean.java:151
#: ../src/java/src/i2p/susi/dns/ConfigBean.java:142
#: ../src/java/src/i2p/susi/dns/NamingServiceBean.java:313
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:130
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:144
msgid ""
"If the problem persists, verify that you have cookies enabled in your "
"browser."
msgstr ""
#: ../src/java/src/i2p/susi/dns/ConfigBean.java:140
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:103
#: ../src/java/src/i2p/susi/dns/ConfigBean.java:131
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:117
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:153
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:145
msgid "Save"
msgstr ""
#: ../src/java/src/i2p/susi/dns/ConfigBean.java:142
#: ../src/java/src/i2p/susi/dns/ConfigBean.java:133
msgid "Configuration saved."
msgstr ""
#: ../src/java/src/i2p/susi/dns/ConfigBean.java:143
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:122
#: ../src/java/src/i2p/susi/dns/ConfigBean.java:134
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:136
#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:151
#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:143
msgid "Reload"
msgstr ""
#: ../src/java/src/i2p/susi/dns/ConfigBean.java:145
#: ../src/java/src/i2p/susi/dns/ConfigBean.java:136
msgid "Configuration reloaded."
msgstr ""
@ -267,16 +267,16 @@ msgstr ""
msgid "Failed to delete Destination for {0} from naming service {1}"
msgstr ""
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:115
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:129
msgid ""
"Subscriptions saved, updating addressbook from subscription sources now."
msgstr ""
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:120
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:134
msgid "Subscriptions saved."
msgstr ""
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:124
#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:138
msgid "Subscriptions reloaded."
msgstr ""

View File

@ -331,6 +331,7 @@
<target name="jbigi" depends="buildProperties, jbigi-list-changes" >
<!-- set if unset -->
<property name="workspace.changes.jbigi.tr" value="" />
<mkdir dir="./build" />
<jar destfile="build/jbigi.jar" whenmanifestonly="fail" >
<fileset dir="installer/lib/jbigi" includes="*.so *.dll *.jnilib" />
<manifest>

View File

@ -5,6 +5,15 @@ if [ $UNIXTYPE = "freebsd" ]; then
elif [ -d /usr/local/openjdk7 ]; then
JAVA_HOME="/usr/local/openjdk7"
fi
elif [ $UNIXTYPE = "sunos" ]; then
UNIXTYPE="solaris"
if [ -d /usr/jdk/latest/ ]; then
JAVA_HOME="/usr/jdk/latest"
elif [ -d /usr/jdk/instances/jdk1.7.0/ ]; then
JAVA_HOME="/usr/jdk/instances/jdk1.7.0"
elif [ -d /usr/jdk/instances/jdk1.6.0 ]; then
JAVA_HOME="/usr/jdk/instances/jdk1.6.0"
fi
elif [ $UNIXTYPE = "openbsd" ]; then
if [ -d /usr/local/jdk-1.7.0 ]; then
JAVA_HOME="/usr/local/jdk-1.7.0"
@ -26,9 +35,10 @@ elif [ $UNIXTYPE = "linux" ] && [ -e /etc/arch-release ]; then
elif [ $UNIXTYPE = "darwin" ]; then
JAVA_HOME=$(/usr/libexec/java_home)
elif [ $UNIXTYPE = "gnu/kfreebsd" ]; then
UNIXTYPE="linux"
if [ -d /usr/lib/jvm/java-gcj ]; then
JAVA_HOME="/usr/lib/jvm/java-gcj"
fi
fi
export JAVA_HOME
export JAVA_HOME UNIXTYPE

View File

@ -2,7 +2,7 @@
# When executed in Mingw: Produces a jbigi.dll
# When executed in Linux/FreeBSD: Produces a libjbigi.so
# When executed in OSX: Produces a libjbigi.jnilib
CC="gcc"
[ -z "$CC" ] && CC="gcc"
# If JAVA_HOME isn't set we'll try to figure it out
[ -z $JAVA_HOME ] && . ../find-java-home
@ -38,7 +38,7 @@ SunOS*|OpenBSD*|NetBSD*|*FreeBSD*|Linux*)
elif [ $UNIXTYPE = "gnu/kfreebsd" ]; then
UNIXTYPE="linux"
fi
COMPILEFLAGS="-fPIC -Wall"
COMPILEFLAGS="-fPIC -Wall $CFLAGS"
INCLUDES="-I. -I../../jbigi/include -I$JAVA_HOME/include -I$JAVA_HOME/include/${UNIXTYPE}"
LINKFLAGS="-shared -Wl,-soname,libjbigi.so"
LIBFILE="libjbigi.so";;

View File

@ -1,14 +1,12 @@
#!/bin/sh
# If JAVA_HOME isn't set we'll try to figure it out
[ -z $JAVA_HOME ] && . ../find-java-home
if [ ! -f "$JAVA_HOME/include/jni.h" ]; then
echo "Cannot find jni.h! Looked in '$JAVA_HOME/include/jni.h'"
echo "Please set JAVA_HOME to a java home that has the JNI"
exit 1
fi
# ON Solaris 11 (at least) this variable must be set.
# Linux and *BSD will do the right thing.
#
#BITS=32
#FIXME What platforms for MacOS?
# FIXME Is this all?
DARWIN_PLATFORMS="core2 corei"
MISC_DARWIN_PLATFORMS="powerpc powerpc64 powerpc64le powerpcle"
# Note: You will have to add the CPU ID for the platform in the CPU ID code
@ -45,24 +43,6 @@ X86_64_PLATFORMS="atom athlon64 core2 corei nano pentium4"
# Note! these are 32bit _ONLY_
X86_PLATFORMS="pentium pentiummmx pentium2 pentium3 pentiumm k6 k62 k63 athlon geode viac3 viac32 ${X86_64_PLATFORMS}"
#
# You should not need to edit anything below this comment.
#
# The built-in echo in /bin/sh (the real bourne shell) on BSD systems supports -e.
# The built-in echo in dash (the default /bin/sh on Debian) does not support -e
# but /bin/echo always supports -e in Linux; therefore, let's set echo to /bin/echo
# whenever we're on Linux and use the shell's built-in "echo" on everything else.
if [ $(uname -s |tr "[A-Z]" "[a-z]") = "linux" ]; then
ECHO="/bin/echo"
elif [ $(uname -s |tr "[A-Z]" "[a-z]") = "gnu/kfreebsd" ]; then
ECHO="/bin/echo"
else
ECHO="echo"
fi
MINGW_PLATFORMS="${X86_PLATFORMS} ${MISC_MINGW_PLATFORMS}"
LINUX_PLATFORMS="${X86_PLATFORMS} ${MISC_LINUX_PLATFORMS}"
FREEBSD_PLATFORMS="${X86_PLATFORMS} ${MISC_FREEBSD_PLATFORMS}"
@ -70,44 +50,96 @@ FREEBSD_PLATFORMS="${X86_PLATFORMS} ${MISC_FREEBSD_PLATFORMS}"
NETBSD_PLATFORMS="${FREEBSD_PLATFORMS} ${MISC_LINUX_PLATFORMS} ${MISC_NETBSD_PLATFORMS}"
OPENBSD_PLATFORM="${X86_PLATFORMS} ${MISC_OPENBSD_PLATFORMS}"
# FIXME Is this all?
DARWIN_PLATFORMS="core2 corei"
#
# You should not need to edit anything below this comment.
#
# Set the version to 5.0.2 for OSX because AFAIK there are only 64bit capable CPUs for the Intel Macs
if [ `uname -s |grep Darwin` ]; then
VER=5.0.2
else
VER=$($ECHO gmp-*.tar.bz2 | sed -e "s/\(.*-\)\(.*\)\(.*.tar.bz2\)$/\2/" | tail -n 1)
fi
if [ "$VER" = "" ] ; then
$ECHO "ERROR! Can't find gmp source tarball."
# If JAVA_HOME isn't set we'll try to figure it out
[ -z $JAVA_HOME ] && . ../find-java-home
if [ ! -f "$JAVA_HOME/include/jni.h" ]; then
echo "Cannot find jni.h! Looked in '$JAVA_HOME/include/jni.h'" >&2
echo "Please set JAVA_HOME to a java home that has the JNI" >&2
exit 1
fi
if [ ! $(which m4) ]; then
printf "\aWARNING: \`m4\` not found. If this process fails to complete, install m4 " >&2
printf "and re-run this script.\n\n\n\a" >&2
sleep 10
fi
case `uname -s` in
MINGW*)
# Allow TARGET to be overridden (e.g. for use with cross compilers)
[ -z $TARGET ] && TARGET=$(uname -s |tr "[A-Z]" "[a-z]")
# Set the version to 5.0.2 for OSX because AFAIK there are only 64bit capable CPUs for the Intel Macs
# FIXME do this without sed (and tail) (= portably)
if [ `echo $TARGET|grep darwin` ]; then
VER=5.0.2
elif [ `echo $TARGET|grep sunos` ]; then
VER=$(echo gmp-*.tar.bz2 | sed -e "s/\(.*-\)\(.*\)\(.*.tar.bz2\)$/\2/" | /usr/xpg4/bin/tail -n 1)
else
VER=$(echo gmp-*.tar.bz2 | sed -e "s/\(.*-\)\(.*\)\(.*.tar.bz2\)$/\2/" | tail -n 1)
fi
if [ "$VER" = "" ] ; then
echo "ERROR! Can't find gmp source tarball."
exit 1
fi
# If the BITS variable isn't set above we'll proceed without setting the *FLAGS
# variables ourselves.
[ -z $BITS ] && BITS=0
if [ $BITS -eq 32 ]; then
export CC="gcc -m32"
export CFLAGS="-m32"
export LDFLAGS="-m32"
SUFFIX=
elif [ $BITS -eq 64 ]; then
export CC="gcc -m64"
export CFLAGS="-m64"
fi
case "$TARGET" in
mingw*)
PLATFORM_LIST="${MINGW_PLATFORMS}"
NAME="jbigi"
TYPE="dll"
TARGET="windows"
$ECHO "Building windows .dlls for all architectures";;
Darwin*)
echo "Building windows .dlls for all architectures";;
darwin*)
PLATFORM_LIST="${DARWIN_PLATFORMS}"
NAME="libjbigi"
TYPE="jnilib"
TARGET="osx"
$ECHO "Building ${TARGET} .jnilibs for all architectures";;
Linux*|*kFreeBSD)
echo "Building ${TARGET} .jnilibs for all architectures";;
sunos*)
PLATFORM_LIST="${X86_64_PLATFORMS}"
NAME="libjbigi"
TYPE="so"
UNIXTYPE="solaris"
TARGET="${UNIXTYPE}"
if $(echo "$CFLAGS" | grep -q "\-m64") ; then
[ -z $SUFFIX ] && SUFFIX="_64"
PLATFORM_LIST="${X86_64_PLATFORMS}"
else
PLATFORM_LIST="${X86_PLATFORMS}"
fi
echo "Building ${TARGET} .sos for all architectures";;
linux*|*kfreebsd)
NAME="libjbigi"
TYPE="so"
PLATFORM_LIST=""
if [ $(uname -s | tr "[A-Z]" "[a-z]") = "gnu/kfreebsd" ]; then
case "$TARGET" in
*kfreebsd)
TARGET="kfreebsd"
else
;;
*)
TARGET="linux"
fi
;;
esac
arch=$(uname -m | cut -f1 -d" ")
case ${arch} in
i[3-6]86)
@ -116,22 +148,23 @@ Linux*|*kFreeBSD)
case ${arch} in
x86_64 | amd64)
PLATFORM_LIST="${X86_64_PLATFORMS}"
TARGET="$TARGET-X86_64";;
ia64)
PLATFORM_LIST="${X86_64_PLATFORMS}"
TARGET="$TARGET-ia64";;
if [ $BITS -ne 32 ]; then
[ -z $SUFFIX ] && SUFFIX="_64"
fi
;;
#ia64)
# PLATFORM_LIST="${X86_64_PLATFORMS}"
# TARGET="$TARGET-ia64";;
x86)
PLATFORM_LIST="${X86_PLATFORMS}"
TARGET="$TARGET-x86";;
PLATFORM_LIST="${X86_PLATFORMS}";;
*)
PLATFORM_LIST="${LINUX_PLATFORMS}";;
esac
$ECHO "Building ${TARGET} .sos for ${arch}";;
NetBSD*|FreeBSD*|OpenBSD*)
echo "Building ${TARGET} .sos for ${arch}";;
netbsd*|freebsd*|openbsd*)
NAME="libjbigi"
TYPE="so"
PLATFORM_LIST=""
BSDTYPE=$(uname -s | tr "[A-Z]" "[a-z]")
PLATFORM_LIST=
arch=$(uname -m | cut -f1 -d" ")
case ${arch} in
i[3-6]86)
@ -140,15 +173,14 @@ NetBSD*|FreeBSD*|OpenBSD*)
case ${arch} in
x86_64|amd64)
PLATFORM_LIST="${X86_64_PLATFORMS}"
TARGET="${BSDTYPE}-X86_64";;
ia64)
PLATFORM_LIST="${X86_64_PLATFORMS}"
TARGET="${BSDTYPE}-ia64";;
[ -z $SUFFIX ] && SUFFIX="_64";;
#ia64)
# PLATFORM_LIST="${X86_64_PLATFORMS}"
# SUFFIX="{SYS}-ia64";;
x86)
PLATFORM_LIST="${X86_PLATFORMS}"
TARGET="${BSDTYPE}-x86";;
PLATFORM_LIST="${X86_PLATFORMS}";;
*)
case ${BSDTYPE} in
case ${TARGET} in
netbsd)
PLATFORM_LIST="${NETBSD_PLATFORMS}";;
openbsd)
@ -156,63 +188,78 @@ NetBSD*|FreeBSD*|OpenBSD*)
freebsd)
PLATFORM_LIST="${FREEBSD_PLATFORMS}";;
*)
$ECHO "Unsupported build environment"
echo "Unsupported build environment"
exit 1;;
esac
esac
$ECHO "Building ${BSDTYPE} .sos for ${arch}";;
echo "Building ${TARGET} .sos for ${arch}";;
*)
$ECHO "Unsupported build environment"
echo "Unsupported build environment"
exit;;
esac
#####################
# In the below functions:
# $1 = gmp version
# $2 = platform: such as athlon64
# $3 = basename: "jbigi" on Windows, "libjbigi" everywhere else
# $4 = type/extension: windows = "dll". osx = "jnilib". Everything else = "so"
# $5 = target: "linux", "freebsd", "kfreebsd", "osx", "windows", etc.
# $6 = suffix: null if 32bit, _64 if 64bit
make_static () {
#
# TODO
# Fix formatting of output filename. Final versions will need to look
# like libjbigi-linux-athlon64.so or libjbigi-linux-athlon64_64.so
$ECHO "Attempting .${4} creation for ${3}${5}${2}"
echo "Attempting .${4} creation for ${3}${5}${2}${6}"
../../build_jbigi.sh static || return 1
cp ${3}.${4} ../../lib/net/i2p/util/${3}${5}${2}.${4}
cp ${3}.${4} ../../lib/net/i2p/util/${3}${5}${2}${6}.${4}
return 0
}
make_file () {
# Nonfatal bail out on Failed build.
$ECHO "Attempting build for ${3}${5}${2}"
echo "Attempting build for ${3}${5}${2}"
make && return 0
cd ..
rm -R "$2"
$ECHO -e "\n\nFAILED! ${3}${5}${2} not made.\a"
printf "\n\nFAILED! ${3}${5}${2} not made.\a"
sleep 10
return 1
}
configure_file () {
$ECHO -e "\n\n\nAttempting configure for ${3}${5}${2}\n\n\n"
printf "\n\n\nAttempting configure for ${3}${5}${2}${6}\n\n\n"
if [ $BITS -eq 32 ] && [ "$2" = "none" ]; then
unset ABI
elif [ $BITS -eq 32 ] && [ "$2" != "none" ]; then
export ABI=32
fi
sleep 10
# Nonfatal bail out on unsupported platform.
if [ `uname -s |grep Darwin` ]; then
if [ $(echo $TARGET| grep -q osx) ]; then
../../gmp-${1}/configure --build=${2}-apple-darwin --with-pic && return 0
else
../../gmp-${1}/configure --build=${2} --with-pic && return 0
fi
cd ..
rm -R "$2"
$ECHO -e "\n\nSorry, ${3}${5}${2} is not supported on your build environment.\a"
printf "\n\nSorry, ${3}${5}${2} is not supported on your build environment.\a"
sleep 10
return 1
}
build_file () {
configure_file "$1" "$2" "$3" "$4" "$5" && make_file "$1" "$2" "$3" "$4" "$5" && make_static "$1" "$2" "$3" "$4" "$5" && return 0
$ECHO -e "\n\n\nError building static!\n\n\a"
configure_file "$1" "$2" "$3" "$4" "$5" "$6" && make_file "$1" "$2" "$3" "$4" "$5" "$6" && make_static "$1" "$2" "$3" "$4" "$5" "$6" && return 0
printf "\n\n\nError building static!\n\n\a"
sleep 10
return 1
}
$ECHO "Extracting GMP Version $VER ..."
tar -xjf gmp-$VER.tar.bz2 || ( $ECHO "Error in tarball file!" ; exit 1 )
echo "Extracting GMP Version $VER ..."
if [ -e gmp-$VER.tar.bz2 ]; then
tar -xjf gmp-$VER.tar.bz2 || ( echo "Error in tarball file!" >&2 ; exit 1 )
else
echo "ERROR: gmp tarball not found in current directory" >&2
exit 1
fi
if [ ! -d bin ]; then
mkdir bin
@ -235,9 +282,11 @@ do
rm -Rf *
fi
build_file "$VER" "$x" "$NAME" "$TYPE" "-$TARGET-"
build_file "$VER" "$x" "$NAME" "$TYPE" "-$TARGET-" "$SUFFIX"
)
done
$ECHO "Success!"
echo "Success!"
exit 0
# vim:fenc=utf-8:ai:si:ts=4:sw=4:et:nu

View File

@ -19,7 +19,7 @@ esac
rm -rf lib
mkdir -p lib/freenet/support/CPUInformation
CC="gcc"
[ -z $CC ] && CC="gcc"
case `uname -s` in
MINGW*|CYGWIN*)
@ -62,6 +62,14 @@ case `uname -s` in
ARCH="ia64";;
i?86*)
ARCH="x86";;
# Solaris x86
i86pc)
if $(echo $CC | grep -q '\-m64') ; then
ARCH="x86_64"
else
ARCH="x86"
fi
;;
*)
echo "Unsupported build environment. jcpuid is only used on x86 systems."
exit 0;;

View File

@ -16,7 +16,7 @@ package net.i2p;
public class CoreVersion {
/** deprecated */
public final static String ID = "Monotone";
public final static String VERSION = "0.9.5";
public final static String VERSION = "0.9.6";
public static void main(String args[]) {
System.out.println("I2P Core version: " + VERSION);

View File

@ -757,6 +757,9 @@ public class NativeBigInteger extends BigInteger {
else if (sCPUType.equals(JBIGI_OPTIMIZATION_COREI) && (!_is64) && ((_isKFreebsd) || (_isNetbsd) || (_isOpenbsd)))
// corei and core2 are identical on 32bit kfreebsd, openbsd, and netbsd
sAppend = JBIGI_OPTIMIZATION_CORE2;
else if (sCPUType.equals(JBIGI_OPTIMIZATION_PENTIUM2) && _isSunos && _isX86)
// pentium2 and pentium3 identical on X86 Solaris
sAppend = JBIGI_OPTIMIZATION_PENTIUM3;
else if (sCPUType.equals(JBIGI_OPTIMIZATION_VIAC32))
// viac32 and pentium3 identical
sAppend = JBIGI_OPTIMIZATION_PENTIUM3;

7
debian/changelog vendored
View File

@ -1,3 +1,10 @@
i2p (0.9.6-1) unstable; urgency=low
* New upstream release
* i2prouter: allow overrides to be set in /etc/default/i2p
-- Kill Your TV <killyourtv@i2pmail.org> Mon, 27 May 2013 00:00:00 +0000
i2p (0.9.5-2) unstable; urgency=low
* debian/i2p.postinst: Explicitly set permissions on /etc/i2p/wrapper.config

View File

@ -32,7 +32,7 @@ Debian wrapper.config to try to prevent confusion.
#
# This software is the proprietary information of Tanuki Software.
# You shall use it only in accordance with the terms of the
@@ -24,16 +24,9 @@
@@ -24,16 +24,12 @@
# These settings can be modified to fit the needs of your application
# Optimized for use with version 3.5.17 of the Wrapper.
@ -46,13 +46,16 @@ Debian wrapper.config to try to prevent confusion.
-# PORTABLE installation:
-# Use the following instead.
-#I2PTEMP="%INSTALL_PATH"
+# Read config file if found
+[ -f /etc/default/i2p ] && . /etc/default/i2p
+
+I2P="/usr/share/i2p"
+I2P_CONFIG_DIR="$HOME/.i2p"
+I2PTEMP="/tmp"
# Application
APP_NAME="i2p"
@@ -61,8 +54,8 @@
@@ -61,8 +57,8 @@
#RUN_AS_USER=
# Wrapper
@ -63,7 +66,7 @@ Debian wrapper.config to try to prevent confusion.
# Priority at which to run the wrapper. See "man nice" for valid priorities.
# nice is only used if a priority is specified.
@@ -167,48 +160,6 @@
@@ -167,48 +163,6 @@
# Workaround for Gentoo
JAVABINARY=$(awk -F'=' '/^ *wrapper\.java\.command/{print $2}' "$WRAPPER_CONF")
@ -112,7 +115,7 @@ Debian wrapper.config to try to prevent confusion.
if [ -n "$FIXED_COMMAND" ]
then
COMMAND="$FIXED_COMMAND"
@@ -912,9 +863,6 @@
@@ -920,9 +874,6 @@
# The string passed to eval must handles spaces in paths correctly.
COMMAND_LINE="$CMDNICE \"$WRAPPER_CMD\" \"$WRAPPER_CONF\" wrapper.syslog.ident=\"$APP_NAME\" wrapper.java.command=\"$JAVABINARY\" wrapper.pidfile=\"$PIDFILE\" wrapper.name=\"$APP_NAME\" wrapper.displayname=\"$APP_LONG_NAME\" $ANCHORPROP $STATUSPROP $COMMANDPROP $LOCKPROP $LOGPROP wrapper.script.version=3.5.17 $ADDITIONAL_PARA"
eval $COMMAND_LINE
@ -122,7 +125,7 @@ Debian wrapper.config to try to prevent confusion.
else
eval echo `gettext '$APP_LONG_NAME is already running.'`
exit 1
@@ -1038,9 +986,6 @@
@@ -1046,9 +997,6 @@
# The string passed to eval must handles spaces in paths correctly.
COMMAND_LINE="$CMDNICE \"$WRAPPER_CMD\" \"$WRAPPER_CONF\" wrapper.syslog.ident=\"$APP_NAME\" wrapper.java.command=\"$JAVABINARY\" wrapper.pidfile=\"$PIDFILE\" wrapper.name=\"$APP_NAME\" wrapper.displayname=\"$APP_LONG_NAME\" wrapper.daemonize=TRUE $ANCHORPROP $IGNOREPROP $STATUSPROP $COMMANDPROP $LOCKPROP $LOGPROP wrapper.script.version=3.5.17 $ADDITIONAL_PARA"
eval $COMMAND_LINE
@ -132,18 +135,41 @@ Debian wrapper.config to try to prevent confusion.
else
eval echo `gettext '$APP_LONG_NAME is already running.'`
exit 1
@@ -1850,18 +1795,9 @@
@@ -1785,7 +1733,7 @@
}
showsetusermesg() {
- echo "`gettext \"Please edit $0 and set the variable RUN_AS_USER\"`."
+ echo "`gettext "Please edit /etc/default/i2p and set the variable RUN_AS_USER"`."
}
checkifstartingasroot() {
@@ -1793,7 +1741,7 @@
echo "`gettext 'Running I2P as the root user is *not* recommended.'`"
showsetusermesg
echo
- echo "`gettext \"To run as root anyway, edit $0 and set ALLOW_ROOT=true.\"`"
+ echo "`gettext \"To run as root anyway, edit /etc/default/i2p and set ALLOW_ROOT=true.\"`"
exit 1
fi
}
@@ -1858,23 +1806,9 @@
status
;;
- 'install')
- installdaemon
- if [ ! `grep ^RUN_AS_USER $0` ]; then
- echo
- showsetusermesg
- fi
- echo
- echo "You may want to disable the browser from launching at startup at"
- echo "http://127.0.0.1:7657/configclients"
- echo
- echo "I2P_CONFIG_DIR is currently set to $I2P_CONFIG_DIR."
- echo "Change the value in $0 if this is not"
- echo "appropriate for your configuration."
- ;;
-
- 'remove' | 'uninstall')
@ -292,3 +318,96 @@ Debian wrapper.config to try to prevent confusion.
-# Allow the service to interact with the desktop.
-wrapper.ntservice.interactive=false
-
--- a/installer/resources/locale/po/messages_de.po
+++ b/installer/resources/locale/po/messages_de.po
@@ -192,14 +192,14 @@
msgstr "Falls gestartet, fordere einen Java Thread dump an"
#: ../i2prouter:1788
-msgid "Please edit $0 and set the variable RUN_AS_USER"
-msgstr "Bitte bearbeite $0 und setze die Variable RUN_AS_USER"
+msgid "Please edit /etc/default/i2p and set the variable RUN_AS_USER"
+msgstr "Bitte bearbeite /etc/default/i2p und setze die Variable RUN_AS_USER"
#: ../i2prouter:1793
msgid "Running I2P as the root user is *not* recommended."
msgstr "I2P als root Benutzer auszuführen ist *nicht* empfehlenswert."
#: ../i2prouter:1796
-msgid "To run as root anyway, edit $0 and set ALLOW_ROOT=true."
+msgid "To run as root anyway, edit /etc/default/i2p and set ALLOW_ROOT=true."
msgstr ""
-"Um I2P trotzdem als root auszuführen bearbeite $0 und setze ALLOW_ROOT=true."
+"Um I2P trotzdem als root auszuführen bearbeite /etc/default/i2p und setze ALLOW_ROOT=true."
--- a/installer/resources/locale/po/messages_en.po
+++ b/installer/resources/locale/po/messages_en.po
@@ -185,7 +185,7 @@
msgstr ""
#: ../i2prouter:1788
-msgid "Please edit $0 and set the variable RUN_AS_USER"
+msgid "Please edit /etc/default/i2p and set the variable RUN_AS_USER"
msgstr ""
#: ../i2prouter:1793
@@ -193,5 +193,5 @@
msgstr ""
#: ../i2prouter:1796
-msgid "To run as root anyway, edit $0 and set ALLOW_ROOT=true."
+msgid "To run as root anyway, edit /etc/default/i2p and set ALLOW_ROOT=true."
msgstr ""
--- a/installer/resources/locale/po/messages_fr.po
+++ b/installer/resources/locale/po/messages_fr.po
@@ -187,7 +187,7 @@
msgstr ""
#: ../i2prouter:1780
-msgid "Please edit $0 and set the variable RUN_AS_USER"
+msgid "Please edit /etc/default/i2p and set the variable RUN_AS_USER"
msgstr ""
#: ../i2prouter:1785
@@ -196,5 +196,5 @@
"Faire fonctionner I2P en tant qu'utilisateur root n'est *pas* recommandé."
#: ../i2prouter:1788
-msgid "To run as root anyway, edit $0 and set ALLOW_ROOT=true."
+msgid "To run as root anyway, edit /etc/default/i2p and set ALLOW_ROOT=true."
msgstr ""
--- a/installer/resources/locale/po/messages_it.po
+++ b/installer/resources/locale/po/messages_it.po
@@ -187,7 +187,7 @@
msgstr ""
#: ../i2prouter:1780
-msgid "Please edit $0 and set the variable RUN_AS_USER"
+msgid "Please edit /etc/default/i2p and set the variable RUN_AS_USER"
msgstr ""
#: ../i2prouter:1785
@@ -195,5 +195,5 @@
msgstr ""
#: ../i2prouter:1788
-msgid "To run as root anyway, edit $0 and set ALLOW_ROOT=true."
+msgid "To run as root anyway, edit /etc/default/i2p and set ALLOW_ROOT=true."
msgstr ""
--- a/installer/resources/locale/po/messages_ru.po
+++ b/installer/resources/locale/po/messages_ru.po
@@ -188,7 +188,7 @@
msgstr ""
#: ../i2prouter:1780
-msgid "Please edit $0 and set the variable RUN_AS_USER"
+msgid "Please edit /etc/default/i2p and set the variable RUN_AS_USER"
msgstr ""
#: ../i2prouter:1785
@@ -196,5 +196,5 @@
msgstr ""
#: ../i2prouter:1788
-msgid "To run as root anyway, edit $0 and set ALLOW_ROOT=true."
+msgid "To run as root anyway, edit /etc/default/i2p and set ALLOW_ROOT=true."
msgstr ""

View File

@ -9,20 +9,18 @@ a soname to shut lintian up.
core/c/jbigi/build_jbigi.sh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/core/c/jbigi/build_jbigi.sh b/core/c/jbigi/build_jbigi.sh
index b1a68dd..99b31e4 100755
--- a/core/c/jbigi/build_jbigi.sh
+++ b/core/c/jbigi/build_jbigi.sh
@@ -39,7 +39,7 @@ SunOS*|OpenBSD*|NetBSD*|*FreeBSD*|Linux*)
@@ -39,7 +39,7 @@
UNIXTYPE="linux"
fi
COMPILEFLAGS="-fPIC -Wall"
COMPILEFLAGS="-fPIC -Wall $CFLAGS"
- INCLUDES="-I. -I../../jbigi/include -I$JAVA_HOME/include -I$JAVA_HOME/include/${UNIXTYPE}"
+ INCLUDES="-I. -I./jbigi/include -I$JAVA_HOME/include -I$JAVA_HOME/include/${UNIXTYPE}"
LINKFLAGS="-shared -Wl,-soname,libjbigi.so"
LIBFILE="libjbigi.so";;
*)
@@ -58,7 +58,7 @@ fi
@@ -58,7 +58,7 @@
echo "Compiling C code..."
rm -f jbigi.o $LIBFILE

View File

@ -6,11 +6,9 @@ Subject: rename jcpuid
core/c/jcpuid/build.sh | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/core/c/jcpuid/build.sh b/core/c/jcpuid/build.sh
index f3fc9c2..cbd0934 100755
--- a/core/c/jcpuid/build.sh
+++ b/core/c/jcpuid/build.sh
@@ -67,12 +67,8 @@ case `uname -s` in
@@ -75,12 +75,8 @@
exit 0;;
esac

View File

@ -1,4 +1,24 @@
* 2013-05-28 0.9.6 released
2013-05-24 kytv
* Update geoip.txt based on Maxmind GeoLite Country database from 2013-05-08
2013-05-13 kytv
* Misc. fixes to i2prouter script
* German translation updates from Transifex
2013-05-13 zzz
* i2psnark:
- Adjust target piece size calculation
- Tweak to make it easier for new peers to connect
* NetDB: Increase floodfill count for good
* UPnP: Detect devices without port forwarding capability (ticket #930)
2013-05-07 zzz
* Streaming: Chain stored IOE to get correct location
2013-05-06 zzz
* Console: Fix Jetty thread pool policy and thread name
* Transports: Clean up internal/external port confusion (ticket #873)
- Bind SSU to configured internal, not external, port at startup
- Use only internal ports for UPnP (getRequestedPort() fixups)
@ -2167,7 +2187,7 @@
* Tunnels:
- Make most classes package private
- Final, static, logs, cleanups
- Consolideate createRateStat calls
- Consolidate createRateStat calls
- Add getTotalLength()
- Remove unused lengthOverride()
* UDP: Mark only first fragment as a duplicate

View File

@ -4,7 +4,7 @@
<info>
<appname>i2p</appname>
<appversion>0.9.5</appversion>
<appversion>0.9.6</appversion>
<authors>
<author name="I2P" email="http://www.i2p2.de/"/>
</authors>

Binary file not shown.

View File

@ -1,20 +1,20 @@
-----BEGIN CERTIFICATE-----
MIIDRDCCAiwCCQDCm/Zrmali9zANBgkqhkiG9w0BAQUFADBkMQswCQYDVQQGEwJB
VTETMBEGA1UECBMKU29tZS1TdGF0ZTELMAkGA1UEBxMCSEgxDDAKBgNVBAoTA0ky
UDEPMA0GA1UECxMGcmVzZWVkMRQwEgYDVQQDEwtyZXNlZWQuaW5mbzAeFw0xMjEw
MjcxODU3NDNaFw0xNjEyMDUxODU3NDNaMGQxCzAJBgNVBAYTAkFVMRMwEQYDVQQI
EwpTb21lLVN0YXRlMQswCQYDVQQHEwJISDEMMAoGA1UEChMDSTJQMQ8wDQYDVQQL
EwZyZXNlZWQxFDASBgNVBAMTC3Jlc2VlZC5pbmZvMIIBIjANBgkqhkiG9w0BAQEF
AAOCAQ8AMIIBCgKCAQEAt9nz0iUvjdX4Hkhfk0FbBOeEP4i/FG3V4VrEdQfcviSF
XgzGYeRtGsvrFWP/5+6bcGnOkIy/jrKJfij3AjKJh8gTzqiNNNnV8VcHwFSNp+hZ
D4BM+UHPACV1Pjd3HQe6f0+LvcTs3HQgIkNkwUyqRuXOm/5Mk6SWSu1740aSwHCj
Kk0x1FByzI0YBvXCPX6TVk6sJqKkQyLzK0CSGSeqUq8GvGCq+jT9k62Su7ooxCwi
GzxaFjMdVYxuI8cuT5Cni+SUw1Ia8vhESnIy6slwzk37xNI80VuMvRT6rD2KcXDH
mK7ml1qL0rJWoF5AE+x/nen4V41mouv1W9rk3wTlTQIDAQABMA0GCSqGSIb3DQEB
BQUAA4IBAQAr6RBviBDW4bnPDTcdtstTDdaYX9yzoh+zzeGB0dUR26GKoOjpSItb
B9nrsW1eJ2wbblfGBUoXhcmNByKHXXHejMhmurHjdei2BuLbTsknN8DPKXu5UF9z
cg4cKQkxgzXOcNYlaF4+sfwFXDHJ4we/8vduVgkyo8R66543/Sh/nIMvq2slRT4w
wIBOVcMb2XxlbdwHW9XALAz9sto+4GH9GAC24f8ngluOpHijMnOOIo4dHibQ5hM9
KcDpHezP0ugMTAxS2NmtVahwAqa2IjpqR7aEQ2wLvxQzDqrXo93L93+b2FKRUQXH
Duud/n/w0kVV3DaIGikOsJayoanR+9HD
MIIDMjCCAhoCCQCGQa3FtL3BhTANBgkqhkiG9w0BAQUFADBbMQswCQYDVQQGEwJB
VTETMBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50ZXJuZXQgV2lkZ2l0
cyBQdHkgTHRkMRQwEgYDVQQDEwt3d3cuNjltZS5kZTAeFw0xMjExMDIxMjE4NTBa
Fw0xMzExMDIxMjE4NTBaMFsxCzAJBgNVBAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0
YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQxFDASBgNVBAMT
C3d3dy42OW1lLmRlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3g0m
5bhA2m3xjnJOYNDRtG5BdnHai8rybjjcTYSDEDX5OxV3Jjqtk1LLbf1fZx+s+EKw
6/+g+TLRhjE5d06puRmpyxpywllWT1OUK74QWYKCpmDY4ez2yTC+iSG9RDDNVzQf
24d2/tzyAOgETUBh3CP1HEdaLaZC+uSI+JlafIeGG5bAGYcCXTB7qUbvAkMsak/N
w18h/Sa2xa9rE1EYEb8AqpJYM3dzLlo1PdoWEq6G9h/N+3W0g/qAVGLfSZMSUFZ0
Uc77i3oFgk2YMdnP7+sa3MImscu0rV+/UptuvuktYld9KScGMHJsUYh1q77ClEAZ
KFJBKzivpSjSRcmULQIDAQABMA0GCSqGSIb3DQEBBQUAA4IBAQAVCMB81jxN9kNv
rKGaI2Vlt82Wj1d9LmxAyTQC1f1lGwVgFBrpIkwhHzmudyEYdmag02QP9DLcQ4I/
LNe5PdFL6Mzfl3QNoYXeaJeiAZhwkQbSM2DYEN9nGaEU/y2LJWvfAH75vcun+oIl
7CvntdQzdZYmtcK0NgjCwY/CD97DyZRkLNjJdkKUvpf1lO4Egf+NheSmzVLo5/5u
/DwTqSfPuyhfb4L2pA1e6M9gLzyAPmP4nx+gToHzY54CB/kyuYk5JOY4IJaGAW3F
YBSYr8/pwXWISCrQi6afB29Ng8WlpWiNqj/yC+X5K9eTihlh2Mun0k/cWgg6JYAm
tt0UhRK0
-----END CERTIFICATE-----

File diff suppressed because it is too large Load Diff

View File

@ -702,9 +702,9 @@ checkUser() {
#
if test -f "/sbin/runuser"
then
/sbin/runuser - $RUN_AS_USER -c "\"$REALPATH\" $ADDITIONAL_PARA"
/sbin/runuser -s /bin/sh - $RUN_AS_USER -c "\"$REALPATH\" $ADDITIONAL_PARA"
else
su - $RUN_AS_USER -c "\"$REALPATH\" $ADDITIONAL_PARA"
su - $RUN_AS_USER -s /bin/sh -c "\"$REALPATH\" $ADDITIONAL_PARA"
fi
RUN_AS_USER_EXITCODE=$?
# Now that we are the original user again, we may need to clean up the lock file.
@ -877,13 +877,21 @@ waitforwrapperstop() {
done
}
create_config_dir() {
if ! mkdir -p "$I2P_CONFIG_DIR"; then
echo "Error creating $I2P_CONFIG_DIR! Edit $0 and set I2P_CONFIG_DIR" >&2
echo "to the correct location." >&2
exit 1
fi
}
launchdinternal() {
getpid
trap launchdtrap TERM
if [ "X$pid" = "X" ]
then
prepAdditionalParams "$@"
mkdir -p "$PIDDIR" "$LOGDIR"
create_config_dir
# The string passed to eval must handles spaces in paths correctly.
COMMAND_LINE="$CMDNICE \"$WRAPPER_CMD\" \"$WRAPPER_CONF\" wrapper.syslog.ident=\"$APP_NAME\" wrapper.pidfile=\"$PIDFILE\" wrapper.name=\"$APP_NAME\" wrapper.java.command=\"$JAVABINARY\" wrapper.displayname=\"$APP_LONG_NAME\" wrapper.daemonize=TRUE $ANCHORPROP $IGNOREPROP $STATUSPROP $COMMANDPROP $LOCKPROP $LOGPROP wrapper.script.version=3.5.17 $ADDITIONAL_PARA"
@ -907,7 +915,7 @@ console() {
trap '' 3 2
prepAdditionalParams "$@"
mkdir -p "$PIDDIR" "$LOGDIR"
create_config_dir
# The string passed to eval must handles spaces in paths correctly.
COMMAND_LINE="$CMDNICE \"$WRAPPER_CMD\" \"$WRAPPER_CONF\" wrapper.syslog.ident=\"$APP_NAME\" wrapper.java.command=\"$JAVABINARY\" wrapper.pidfile=\"$PIDFILE\" wrapper.name=\"$APP_NAME\" wrapper.displayname=\"$APP_LONG_NAME\" $ANCHORPROP $STATUSPROP $COMMANDPROP $LOCKPROP $LOGPROP wrapper.script.version=3.5.17 $ADDITIONAL_PARA"
@ -1033,7 +1041,7 @@ start() {
if [ "X$pid" = "X" ]
then
prepAdditionalParams "$@"
mkdir -p "$PIDDIR" "$LOGDIR"
create_config_dir
# The string passed to eval must handles spaces in paths correctly.
COMMAND_LINE="$CMDNICE \"$WRAPPER_CMD\" \"$WRAPPER_CONF\" wrapper.syslog.ident=\"$APP_NAME\" wrapper.java.command=\"$JAVABINARY\" wrapper.pidfile=\"$PIDFILE\" wrapper.name=\"$APP_NAME\" wrapper.displayname=\"$APP_LONG_NAME\" wrapper.daemonize=TRUE $ANCHORPROP $IGNOREPROP $STATUSPROP $COMMANDPROP $LOCKPROP $LOGPROP wrapper.script.version=3.5.17 $ADDITIONAL_PARA"
@ -1777,7 +1785,7 @@ showUsage() {
}
showsetusermesg() {
echo "`gettext 'Please edit $0 and set the variable RUN_AS_USER'`."
echo "`gettext \"Please edit $0 and set the variable RUN_AS_USER\"`."
}
checkifstartingasroot() {
@ -1785,7 +1793,7 @@ checkifstartingasroot() {
echo "`gettext 'Running I2P as the root user is *not* recommended.'`"
showsetusermesg
echo
echo "`gettext 'To run as root anyway, edit $0 and set ALLOW_ROOT=true.'`"
echo "`gettext \"To run as root anyway, edit $0 and set ALLOW_ROOT=true.\"`"
exit 1
fi
}
@ -1853,11 +1861,16 @@ docommand() {
'install')
installdaemon
if [ ! `grep ^RUN_AS_USER $0` ]; then
echo
showsetusermesg
fi
echo
echo "You may want to disable the browser from launching at startup at"
echo "http://127.0.0.1:7657/configclients"
echo
echo "I2P_CONFIG_DIR is currently set to $I2P_CONFIG_DIR."
echo "Change the value in $0 if this is not"
echo "appropriate for your configuration."
;;
'remove' | 'uninstall')

View File

@ -4,14 +4,14 @@
# To contribute translations, see http://www.i2p2.de/newdevelopers
#
# Translators:
# <martin2p@i2pmail.org>, 2013.
# <zeroflag@i2pmail.org>, 2013.
# Ashoka <martin2p@i2pmail.org>, 2013
# zeroflag <zeroflag@i2pmail.org>, 2013
msgid ""
msgstr ""
"Project-Id-Version: I2P\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-02-22 13:13+0000\n"
"PO-Revision-Date: 2013-02-07 19:30+0000\n"
"POT-Creation-Date: 2013-05-15 22:00+0000\n"
"PO-Revision-Date: 2013-05-08 14:19+0000\n"
"Last-Translator: zeroflag <zeroflag@i2pmail.org>\n"
"Language-Team: German (http://www.transifex.com/projects/p/I2P/language/"
"de/)\n"
@ -25,178 +25,181 @@ msgstr ""
msgid "Failed to load the wrapper"
msgstr "Wrapper konnte nicht geladen werden."
#: ../i2prouter:892 ../i2prouter:919 ../i2prouter:993 ../i2prouter:1021
#: ../i2prouter:1045
#: ../i2prouter:900 ../i2prouter:927 ../i2prouter:1001 ../i2prouter:1029
#: ../i2prouter:1053
#, sh-format
msgid "$APP_LONG_NAME is already running."
msgstr "$APP_LONG_NAME läuft bereits."
#: ../i2prouter:903
#: ../i2prouter:911
#, sh-format
msgid "Running $APP_LONG_NAME"
msgstr "Führe $APP_LONG_NAME aus"
#: ../i2prouter:926
#: ../i2prouter:934
#, sh-format
msgid "Waiting for $APP_LONG_NAME"
msgstr "Warte auf $APP_LONG_NAME"
#: ../i2prouter:973
#: ../i2prouter:981
#, sh-format
msgid "WARNING: $APP_LONG_NAME may have failed to start."
msgstr "WARNUNG: Das Starten von $APP_LONG_NAME könnte fehlgeschlagen sein"
#: ../i2prouter:987 ../i2prouter:1015 ../i2prouter:1224 ../i2prouter:1513
#: ../i2prouter:995 ../i2prouter:1023 ../i2prouter:1232 ../i2prouter:1521
msgid "Must be root to perform this action."
msgstr "Nur root kann diese Aktion durchführen."
#: ../i2prouter:1031
#: ../i2prouter:1039
#, sh-format
msgid "Starting $APP_LONG_NAME"
msgstr "Starte $APP_LONG_NAME"
#: ../i2prouter:1056
#: ../i2prouter:1064
#, sh-format
msgid "Stopping $APP_LONG_NAME"
msgstr "Stoppe $APP_LONG_NAME"
#: ../i2prouter:1060 ../i2prouter:1128 ../i2prouter:1681
#: ../i2prouter:1068 ../i2prouter:1136 ../i2prouter:1689
#, sh-format
msgid "$APP_LONG_NAME was not running."
msgstr "$APP_LONG_NAME wurde nicht ausgeführt."
#: ../i2prouter:1073 ../i2prouter:1081 ../i2prouter:1143 ../i2prouter:1151
#: ../i2prouter:1081 ../i2prouter:1089 ../i2prouter:1151 ../i2prouter:1159
#, sh-format
msgid "Unable to stop $APP_LONG_NAME."
msgstr "Konnte $APP_LONG_NAME nicht beenden."
#: ../i2prouter:1099
#: ../i2prouter:1107
#, sh-format
msgid "Waiting for $APP_LONG_NAME to exit"
msgstr "Warte auf die Beendigung von $APP_LONG_NAME."
#: ../i2prouter:1113
#: ../i2prouter:1121
#, sh-format
msgid "Failed to stop $APP_LONG_NAME."
msgstr "Beenden von $APP_LONG_NAME fehlgeschlagen."
#: ../i2prouter:1116
#: ../i2prouter:1124
#, sh-format
msgid "Stopped $APP_LONG_NAME."
msgstr "$APP_LONG_NAME wurde beendet."
#: ../i2prouter:1124
#: ../i2prouter:1132
#, sh-format
msgid "Stopping $APP_LONG_NAME gracefully"
msgstr "Beende $APP_LONG_NAME ordnungsgemäß."
#: ../i2prouter:1170
#: ../i2prouter:1178
#, sh-format
msgid "$APP_LONG_NAME is not running."
msgstr "$APP_LONG_NAME wird nicht ausgeführt."
#: ../i2prouter:1175
#: ../i2prouter:1183
#, sh-format
msgid "$APP_LONG_NAME is running: PID:$pid"
msgstr "$APP_LONG_NAME wird ausgeführt: PID:$pid"
#: ../i2prouter:1178
#: ../i2prouter:1186
#, sh-format
msgid "$APP_LONG_NAME is running: PID:$pid, Wrapper:$STATUS, Java:$JAVASTATUS"
msgstr ""
"$APP_LONG_NAME wird ausgeführt: PID:$pid, Wrapper:$STATUS, Java:$JAVASTATUS"
#: ../i2prouter:1231 ../i2prouter:1243 ../i2prouter:1262 ../i2prouter:1279
#: ../i2prouter:1346 ../i2prouter:1366 ../i2prouter:1380 ../i2prouter:1394
#: ../i2prouter:1422 ../i2prouter:1460 ../i2prouter:1495
#: ../i2prouter:1239 ../i2prouter:1251 ../i2prouter:1270 ../i2prouter:1287
#: ../i2prouter:1354 ../i2prouter:1374 ../i2prouter:1388 ../i2prouter:1402
#: ../i2prouter:1430 ../i2prouter:1468 ../i2prouter:1503
#, sh-format
msgid "The $APP_LONG_NAME daemon is already installed."
msgstr "Der $APP_LONG_NAME Dämon ist bereits installiert."
#: ../i2prouter:1234 ../i2prouter:1249 ../i2prouter:1351 ../i2prouter:1383
#: ../i2prouter:1397 ../i2prouter:1411 ../i2prouter:1425 ../i2prouter:1463
#: ../i2prouter:1498
#: ../i2prouter:1242 ../i2prouter:1257 ../i2prouter:1359 ../i2prouter:1391
#: ../i2prouter:1405 ../i2prouter:1419 ../i2prouter:1433 ../i2prouter:1471
#: ../i2prouter:1506
#, sh-format
msgid "Installing the $APP_LONG_NAME daemon"
msgstr "Installiere den $APP_LONG_NAME Dämon"
#: ../i2prouter:1505
#: ../i2prouter:1513
#, sh-format
msgid "Install not currently supported for $DIST_OS"
msgstr "Die Installation für $DIST_OS wird momentan nicht unterstützt"
#: ../i2prouter:1521 ../i2prouter:1534 ../i2prouter:1548 ../i2prouter:1557
#: ../i2prouter:1567 ../i2prouter:1591 ../i2prouter:1604 ../i2prouter:1616
#: ../i2prouter:1634 ../i2prouter:1647 ../i2prouter:1661
#: ../i2prouter:1529 ../i2prouter:1542 ../i2prouter:1556 ../i2prouter:1565
#: ../i2prouter:1575 ../i2prouter:1599 ../i2prouter:1612 ../i2prouter:1624
#: ../i2prouter:1642 ../i2prouter:1655 ../i2prouter:1669
#, sh-format
msgid "Removing $APP_LONG_NAME daemon"
msgstr "Entferne $APP_LONG_NAME Dämon"
#: ../i2prouter:1527 ../i2prouter:1542 ../i2prouter:1551 ../i2prouter:1561
#: ../i2prouter:1572 ../i2prouter:1585 ../i2prouter:1597 ../i2prouter:1610
#: ../i2prouter:1628 ../i2prouter:1641 ../i2prouter:1655 ../i2prouter:1666
#: ../i2prouter:1535 ../i2prouter:1550 ../i2prouter:1559 ../i2prouter:1569
#: ../i2prouter:1580 ../i2prouter:1593 ../i2prouter:1605 ../i2prouter:1618
#: ../i2prouter:1636 ../i2prouter:1649 ../i2prouter:1663 ../i2prouter:1674
#, sh-format
msgid "The $APP_LONG_NAME daemon is not currently installed."
msgstr "Der $APP_LONG_NAME Dämon ist momentan nicht installiert."
#: ../i2prouter:1670
#: ../i2prouter:1678
#, sh-format
msgid "Remove not currently supported for $DIST_OS"
msgstr "Entfernen wird momentan unter $DIST_OS nicht unterstützt."
#: ../i2prouter:1757
#: ../i2prouter:1765
msgid "Commands:"
msgstr "Befehle:"
#: ../i2prouter:1758
#: ../i2prouter:1766
msgid "Launch in the current console."
msgstr "Start in dieser Konsole."
#: ../i2prouter:1759
#: ../i2prouter:1767
msgid "Start in the background as a daemon process."
msgstr "Im Hintergrund als Dämon starten."
#: ../i2prouter:1760
#: ../i2prouter:1768
msgid "Stop if running as a daemon or in another console."
msgstr ""
"Beende den Router, falls er als Dämon oder in einer anderen Konsole "
"ausgeführt wird."
#: ../i2prouter:1761
#: ../i2prouter:1769
msgid "Stop gracefully, may take up to 11 minutes."
msgstr "Ordnungsgemäßes Beenden kann bis zu 11 Minuten dauern."
#: ../i2prouter:1762
#: ../i2prouter:1770
msgid "Stop if running and then start."
msgstr ""
"Beende den Router, falls er ausgeführt wird und dann starte ihn erneut."
#: ../i2prouter:1763
#: ../i2prouter:1771
msgid "Restart only if already running."
msgstr ""
msgstr "Starte den Router neu, falls er momentan ausgeführt wird."
#: ../i2prouter:1764
#: ../i2prouter:1772
msgid "Query the current status."
msgstr "Aktuellen Status abfragen."
#: ../i2prouter:1765
#: ../i2prouter:1773
msgid "Install to start automatically when system boots."
msgstr "Installiere für automatischen Start wenn das System hochfährt."
#: ../i2prouter:1766
#: ../i2prouter:1774
msgid "Uninstall."
msgstr "Deinstallieren."
#: ../i2prouter:1767
#: ../i2prouter:1775
msgid "Request a Java thread dump if running."
msgstr "Falls gestartet, fordere einen Java Thread dump an"
#: ../i2prouter:1780
#: ../i2prouter:1788
msgid "Please edit $0 and set the variable RUN_AS_USER"
msgstr "Bitte bearbeite $0 und setze die Variable RUN_AS_USER"
#: ../i2prouter:1785
#: ../i2prouter:1793
msgid "Running I2P as the root user is *not* recommended."
msgstr "I2P als root Benutzer auszuführen ist *nicht* empfehlenswert."
#: ../i2prouter:1788
#: ../i2prouter:1796
msgid "To run as root anyway, edit $0 and set ALLOW_ROOT=true."
msgstr ""
"Um I2P trotzdem als root auszuführen bearbeite $0 und setze ALLOW_ROOT=true."

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P startup script\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-12-22 14:58+0000\n"
"POT-Creation-Date: 2013-05-15 21:58+0000\n"
"PO-Revision-Date: 2012-12-21 23:34+0000\n"
"Last-Translator: kytv <killyourtv@mail.i2p>\n"
"Language-Team: English \n"
@ -22,176 +22,176 @@ msgstr ""
msgid "Failed to load the wrapper"
msgstr ""
#: ../i2prouter:892 ../i2prouter:919 ../i2prouter:993 ../i2prouter:1021
#: ../i2prouter:1045
#: ../i2prouter:900 ../i2prouter:927 ../i2prouter:1001 ../i2prouter:1029
#: ../i2prouter:1053
#, sh-format
msgid "$APP_LONG_NAME is already running."
msgstr ""
#: ../i2prouter:903
#: ../i2prouter:911
#, sh-format
msgid "Running $APP_LONG_NAME"
msgstr ""
#: ../i2prouter:926
#: ../i2prouter:934
#, sh-format
msgid "Waiting for $APP_LONG_NAME"
msgstr ""
#: ../i2prouter:973
#: ../i2prouter:981
#, sh-format
msgid "WARNING: $APP_LONG_NAME may have failed to start."
msgstr ""
#: ../i2prouter:987 ../i2prouter:1015 ../i2prouter:1224 ../i2prouter:1513
#: ../i2prouter:995 ../i2prouter:1023 ../i2prouter:1232 ../i2prouter:1521
msgid "Must be root to perform this action."
msgstr ""
#: ../i2prouter:1031
#: ../i2prouter:1039
#, sh-format
msgid "Starting $APP_LONG_NAME"
msgstr ""
#: ../i2prouter:1056
#: ../i2prouter:1064
#, sh-format
msgid "Stopping $APP_LONG_NAME"
msgstr ""
#: ../i2prouter:1060 ../i2prouter:1128 ../i2prouter:1681
#: ../i2prouter:1068 ../i2prouter:1136 ../i2prouter:1689
#, sh-format
msgid "$APP_LONG_NAME was not running."
msgstr ""
#: ../i2prouter:1073 ../i2prouter:1081 ../i2prouter:1143 ../i2prouter:1151
#: ../i2prouter:1081 ../i2prouter:1089 ../i2prouter:1151 ../i2prouter:1159
#, sh-format
msgid "Unable to stop $APP_LONG_NAME."
msgstr ""
#: ../i2prouter:1099
#: ../i2prouter:1107
#, sh-format
msgid "Waiting for $APP_LONG_NAME to exit"
msgstr ""
#: ../i2prouter:1113
#: ../i2prouter:1121
#, sh-format
msgid "Failed to stop $APP_LONG_NAME."
msgstr ""
#: ../i2prouter:1116
#: ../i2prouter:1124
#, sh-format
msgid "Stopped $APP_LONG_NAME."
msgstr ""
#: ../i2prouter:1124
#: ../i2prouter:1132
#, sh-format
msgid "Stopping $APP_LONG_NAME gracefully"
msgstr ""
#: ../i2prouter:1170
#: ../i2prouter:1178
#, sh-format
msgid "$APP_LONG_NAME is not running."
msgstr ""
#: ../i2prouter:1175
#: ../i2prouter:1183
#, sh-format
msgid "$APP_LONG_NAME is running: PID:$pid"
msgstr ""
#: ../i2prouter:1178
#: ../i2prouter:1186
#, sh-format
msgid "$APP_LONG_NAME is running: PID:$pid, Wrapper:$STATUS, Java:$JAVASTATUS"
msgstr ""
#: ../i2prouter:1231 ../i2prouter:1243 ../i2prouter:1262 ../i2prouter:1279
#: ../i2prouter:1346 ../i2prouter:1366 ../i2prouter:1380 ../i2prouter:1394
#: ../i2prouter:1422 ../i2prouter:1460 ../i2prouter:1495
#: ../i2prouter:1239 ../i2prouter:1251 ../i2prouter:1270 ../i2prouter:1287
#: ../i2prouter:1354 ../i2prouter:1374 ../i2prouter:1388 ../i2prouter:1402
#: ../i2prouter:1430 ../i2prouter:1468 ../i2prouter:1503
#, sh-format
msgid "The $APP_LONG_NAME daemon is already installed."
msgstr ""
#: ../i2prouter:1234 ../i2prouter:1249 ../i2prouter:1351 ../i2prouter:1383
#: ../i2prouter:1397 ../i2prouter:1411 ../i2prouter:1425 ../i2prouter:1463
#: ../i2prouter:1498
#: ../i2prouter:1242 ../i2prouter:1257 ../i2prouter:1359 ../i2prouter:1391
#: ../i2prouter:1405 ../i2prouter:1419 ../i2prouter:1433 ../i2prouter:1471
#: ../i2prouter:1506
#, sh-format
msgid "Installing the $APP_LONG_NAME daemon"
msgstr ""
#: ../i2prouter:1505
#: ../i2prouter:1513
#, sh-format
msgid "Install not currently supported for $DIST_OS"
msgstr ""
#: ../i2prouter:1521 ../i2prouter:1534 ../i2prouter:1548 ../i2prouter:1557
#: ../i2prouter:1567 ../i2prouter:1591 ../i2prouter:1604 ../i2prouter:1616
#: ../i2prouter:1634 ../i2prouter:1647 ../i2prouter:1661
#: ../i2prouter:1529 ../i2prouter:1542 ../i2prouter:1556 ../i2prouter:1565
#: ../i2prouter:1575 ../i2prouter:1599 ../i2prouter:1612 ../i2prouter:1624
#: ../i2prouter:1642 ../i2prouter:1655 ../i2prouter:1669
#, sh-format
msgid "Removing $APP_LONG_NAME daemon"
msgstr ""
#: ../i2prouter:1527 ../i2prouter:1542 ../i2prouter:1551 ../i2prouter:1561
#: ../i2prouter:1572 ../i2prouter:1585 ../i2prouter:1597 ../i2prouter:1610
#: ../i2prouter:1628 ../i2prouter:1641 ../i2prouter:1655 ../i2prouter:1666
#: ../i2prouter:1535 ../i2prouter:1550 ../i2prouter:1559 ../i2prouter:1569
#: ../i2prouter:1580 ../i2prouter:1593 ../i2prouter:1605 ../i2prouter:1618
#: ../i2prouter:1636 ../i2prouter:1649 ../i2prouter:1663 ../i2prouter:1674
#, sh-format
msgid "The $APP_LONG_NAME daemon is not currently installed."
msgstr ""
#: ../i2prouter:1670
#: ../i2prouter:1678
#, sh-format
msgid "Remove not currently supported for $DIST_OS"
msgstr ""
#: ../i2prouter:1757
#: ../i2prouter:1765
msgid "Commands:"
msgstr ""
#: ../i2prouter:1758
#: ../i2prouter:1766
msgid "Launch in the current console."
msgstr ""
#: ../i2prouter:1759
#: ../i2prouter:1767
msgid "Start in the background as a daemon process."
msgstr ""
#: ../i2prouter:1760
#: ../i2prouter:1768
msgid "Stop if running as a daemon or in another console."
msgstr ""
#: ../i2prouter:1761
#: ../i2prouter:1769
msgid "Stop gracefully, may take up to 11 minutes."
msgstr ""
#: ../i2prouter:1762
#: ../i2prouter:1770
msgid "Stop if running and then start."
msgstr ""
#: ../i2prouter:1763
#: ../i2prouter:1771
msgid "Restart only if already running."
msgstr ""
#: ../i2prouter:1764
#: ../i2prouter:1772
msgid "Query the current status."
msgstr ""
#: ../i2prouter:1765
#: ../i2prouter:1773
msgid "Install to start automatically when system boots."
msgstr ""
#: ../i2prouter:1766
#: ../i2prouter:1774
msgid "Uninstall."
msgstr ""
#: ../i2prouter:1767
#: ../i2prouter:1775
msgid "Request a Java thread dump if running."
msgstr ""
#: ../i2prouter:1780
#: ../i2prouter:1788
msgid "Please edit $0 and set the variable RUN_AS_USER"
msgstr ""
#: ../i2prouter:1785
#: ../i2prouter:1793
msgid "Running I2P as the root user is *not* recommended."
msgstr ""
#: ../i2prouter:1788
#: ../i2prouter:1796
msgid "To run as root anyway, edit $0 and set ALLOW_ROOT=true."
msgstr ""

View File

@ -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 = 21;
public final static long BUILD = 0;
/** for example "-test" */
public final static String EXTRA = "-ipv6";

View File

@ -78,9 +78,10 @@ public class HandleDatabaseLookupMessageJob extends JobImpl {
return;
}
// TODO only look up once, then check type
LeaseSet ls = getContext().netDb().lookupLeaseSetLocally(_message.getSearchKey());
if (ls != null) {
// only lookup once, then cast to correct type
DatabaseEntry dbe = getContext().netDb().lookupLocally(_message.getSearchKey());
if (dbe != null && dbe.getType() == DatabaseEntry.KEY_TYPE_LEASESET) {
LeaseSet ls = (LeaseSet) dbe;
// We have to be very careful here to decide whether or not to send out the leaseSet,
// to avoid anonymity vulnerabilities.
// As this is complex, lots of comments follow...
@ -105,7 +106,7 @@ public class HandleDatabaseLookupMessageJob extends JobImpl {
// so we don't check the answerAllQueries() flag.
// Local leasesets are not handled here
if (_log.shouldLog(Log.INFO))
_log.info("We have the published LS " + _message.getSearchKey().toBase64() + ", answering query");
_log.info("We have the published LS " + _message.getSearchKey() + ", answering query");
getContext().statManager().addRateData("netDb.lookupsMatchedReceivedPublished", 1, 0);
sendData(_message.getSearchKey(), ls, fromKey, _message.getReplyTunnel());
} else if (shouldPublishLocal && answerAllQueries()) {
@ -118,13 +119,13 @@ public class HandleDatabaseLookupMessageJob extends JobImpl {
if (weAreClosest(closestHashes)) {
// It's in our keyspace, so give it to them
if (_log.shouldLog(Log.INFO))
_log.info("We have local LS " + _message.getSearchKey().toBase64() + ", answering query, in our keyspace");
_log.info("We have local LS " + _message.getSearchKey() + ", answering query, in our keyspace");
getContext().statManager().addRateData("netDb.lookupsMatchedLocalClosest", 1, 0);
sendData(_message.getSearchKey(), ls, fromKey, _message.getReplyTunnel());
} else {
// Lie, pretend we don't have it
if (_log.shouldLog(Log.INFO))
_log.info("We have local LS " + _message.getSearchKey().toBase64() + ", NOT answering query, out of our keyspace");
_log.info("We have local LS " + _message.getSearchKey() + ", NOT answering query, out of our keyspace");
getContext().statManager().addRateData("netDb.lookupsMatchedLocalNotClosest", 1, 0);
Set<Hash> routerHashSet = getNearestRouters();
sendClosest(_message.getSearchKey(), routerHashSet, fromKey, _message.getReplyTunnel());
@ -135,16 +136,16 @@ public class HandleDatabaseLookupMessageJob extends JobImpl {
// or it's local and we don't publish it.
// Lie, pretend we don't have it
if (_log.shouldLog(Log.INFO))
_log.info("We have LS " + _message.getSearchKey().toBase64() +
_log.info("We have LS " + _message.getSearchKey() +
", NOT answering query - local? " + isLocal + " shouldPublish? " + shouldPublishLocal +
" RAP? " + ls.getReceivedAsPublished() + " RAR? " + ls.getReceivedAsReply());
getContext().statManager().addRateData("netDb.lookupsMatchedRemoteNotClosest", 1, 0);
Set<Hash> routerHashSet = getNearestRouters();
sendClosest(_message.getSearchKey(), routerHashSet, fromKey, _message.getReplyTunnel());
}
} else {
RouterInfo info = getContext().netDb().lookupRouterInfoLocally(_message.getSearchKey());
if ( (info != null) && (info.isCurrent(EXPIRE_DELAY)) ) {
} else if (dbe != null && dbe.getType() == DatabaseEntry.KEY_TYPE_ROUTERINFO) {
RouterInfo info = (RouterInfo) dbe;
if (info.isCurrent(EXPIRE_DELAY)) {
if ( (info.getIdentity().isHidden()) || (isUnreachable(info) && !publishUnreachable()) ) {
if (_log.shouldLog(Log.DEBUG))
_log.debug("Not answering a query for a netDb peer who isn't reachable");
@ -162,12 +163,12 @@ public class HandleDatabaseLookupMessageJob extends JobImpl {
} else {
// send that routerInfo to the _message.getFromHash peer
if (_log.shouldLog(Log.DEBUG))
_log.debug("We do have key " + _message.getSearchKey().toBase64()
+ " locally as a router info. sending to " + fromKey.toBase64());
_log.debug("We do have key " + _message.getSearchKey()
+ " locally as a router info. sending to " + fromKey);
sendData(_message.getSearchKey(), info, fromKey, _message.getReplyTunnel());
}
} else {
// not found locally - return closest peer hashes
// expired locally - return closest peer hashes
Set<Hash> routerHashSet = getNearestRouters();
// ERR: see above
@ -180,10 +181,17 @@ public class HandleDatabaseLookupMessageJob extends JobImpl {
// }
if (_log.shouldLog(Log.DEBUG))
_log.debug("We do not have key " + _message.getSearchKey().toBase64() +
" locally. sending back " + routerHashSet.size() + " peers to " + fromKey.toBase64());
_log.debug("Expired " + _message.getSearchKey() +
" locally. sending back " + routerHashSet.size() + " peers to " + fromKey);
sendClosest(_message.getSearchKey(), routerHashSet, fromKey, _message.getReplyTunnel());
}
} else {
// not found locally - return closest peer hashes
Set<Hash> routerHashSet = getNearestRouters();
if (_log.shouldLog(Log.DEBUG))
_log.debug("We do not have key " + _message.getSearchKey() +
" locally. sending back " + routerHashSet.size() + " peers to " + fromKey);
sendClosest(_message.getSearchKey(), routerHashSet, fromKey, _message.getReplyTunnel());
}
}
@ -230,7 +238,7 @@ public class HandleDatabaseLookupMessageJob extends JobImpl {
return;
}
if (_log.shouldLog(Log.DEBUG))
_log.debug("Sending data matching key " + key.toBase64() + " to peer " + toPeer.toBase64()
_log.debug("Sending data matching key " + key + " to peer " + toPeer
+ " tunnel " + replyTunnel);
DatabaseStoreMessage msg = new DatabaseStoreMessage(getContext());
if (data.getType() == DatabaseEntry.KEY_TYPE_LEASESET) {
@ -244,7 +252,7 @@ public class HandleDatabaseLookupMessageJob extends JobImpl {
protected void sendClosest(Hash key, Set<Hash> routerHashes, Hash toPeer, TunnelId replyTunnel) {
if (_log.shouldLog(Log.DEBUG))
_log.debug("Sending closest routers to key " + key.toBase64() + ": # peers = "
_log.debug("Sending closest routers to key " + key + ": # peers = "
+ routerHashes.size() + " tunnel " + replyTunnel);
DatabaseSearchReplyMessage msg = new DatabaseSearchReplyMessage(getContext());
msg.setFromHash(getContext().routerHash());

View File

@ -25,7 +25,7 @@ class FloodfillMonitorJob extends JobImpl {
private static final int REQUEUE_DELAY = 60*60*1000;
private static final long MIN_UPTIME = 2*60*60*1000;
private static final long MIN_CHANGE_DELAY = 6*60*60*1000;
private static final int MIN_FF = 500;
private static final int MIN_FF = 1000;
private static final int MAX_FF = 999999;
private static final String PROP_FLOODFILL_PARTICIPANT = "router.floodfillParticipant";

View File

@ -42,7 +42,6 @@ import net.i2p.util.SecureFileOutputStream;
*
*/
class PersistentDataStore extends TransientDataStore {
private final Log _log;
private final File _dbDir;
private final KademliaNetworkDatabaseFacade _facade;
private final Writer _writer;
@ -60,7 +59,6 @@ class PersistentDataStore extends TransientDataStore {
*/
public PersistentDataStore(RouterContext ctx, String dbDir, KademliaNetworkDatabaseFacade facade) throws IOException {
super(ctx);
_log = ctx.logManager().getLog(PersistentDataStore.class);
_flat = ctx.getBooleanProperty(PROP_FLAT);
_dbDir = getDbDir(dbDir);
_facade = facade;

View File

@ -22,14 +22,17 @@ import net.i2p.data.RouterInfo;
import net.i2p.router.RouterContext;
import net.i2p.util.Log;
/**
* Stores in-memory only. See extension.
*/
class TransientDataStore implements DataStore {
private Log _log;
private ConcurrentHashMap<Hash, DatabaseEntry> _data;
protected RouterContext _context;
protected final Log _log;
private final ConcurrentHashMap<Hash, DatabaseEntry> _data;
protected final RouterContext _context;
public TransientDataStore(RouterContext ctx) {
_context = ctx;
_log = ctx.logManager().getLog(TransientDataStore.class);
_log = ctx.logManager().getLog(getClass());
_data = new ConcurrentHashMap(1024);
if (_log.shouldLog(Log.INFO))
_log.info("Data Store initialized");
@ -191,7 +194,7 @@ class TransientDataStore implements DataStore {
public DatabaseEntry remove(Hash key) {
if (_log.shouldLog(Log.DEBUG))
_log.debug("Removing key " + key.toBase64());
_log.debug("Removing key " + key);
return _data.remove(key);
}
}

View File

@ -63,7 +63,7 @@ public class Reseeder {
public static final String DEFAULT_SEED_URL =
"http://netdb.i2p2.de/" + "," +
"http://reseed.i2p-projekt.de/" + "," +
"http://euve5653.vserver.de/netDb/" + "," +
//"http://euve5653.vserver.de/netDb/" + "," +
"http://cowpuncher.drollette.com/netdb/" + "," +
"http://i2p.mooo.com/netDb/" + "," +
"http://193.150.121.66/netDb/" + "," +
@ -77,7 +77,7 @@ public class Reseeder {
public static final String DEFAULT_SSL_SEED_URL =
"https://netdb.i2p2.de/" + "," +
"https://reseed.i2p-projekt.de/" + "," +
"https://euve5653.vserver.de/netDb/" + "," +
//"https://euve5653.vserver.de/netDb/" + "," +
"https://cowpuncher.drollette.com/netdb/" + "," +
"https://i2p.mooo.com/netDb/" + "," +
"https://193.150.121.66/netDb/" + "," +

View File

@ -74,6 +74,7 @@ class UPnP extends ControlPoint implements DeviceChangeListener, EventListener {
private Device _router;
private Service _service;
private boolean isDisabled = false; // We disable the plugin if more than one IGD is found
private volatile boolean _serviceLacksAPM;
private final Object lock = new Object();
// FIXME: detect it for real and deal with it! @see #2524
private volatile boolean thinksWeAreDoubleNatted = false;
@ -121,6 +122,7 @@ class UPnP extends ControlPoint implements DeviceChangeListener, EventListener {
super.stop();
_router = null;
_service = null;
_serviceLacksAPM = false;
}
public DetectedIP[] getAddress() {
@ -255,20 +257,21 @@ class UPnP extends ControlPoint implements DeviceChangeListener, EventListener {
_log.error(_router.getFriendlyName()+ " doesn't export WAN_IP_CONNECTION either: we won't be able to use it!");
}
_serviceLacksAPM = false;
return;
}
}
}
}
public boolean tryAddMapping(String protocol, int port, String description, ForwardPort fp) {
private boolean tryAddMapping(String protocol, int port, String description, ForwardPort fp) {
if (_log.shouldLog(Log.WARN))
_log.warn("Registering a port mapping for " + port + "/" + protocol);
int nbOfTries = 0;
boolean isPortForwarded = false;
while(nbOfTries++ < 5) {
while ((!_serviceLacksAPM) && nbOfTries++ < 5) {
isPortForwarded = addMapping(protocol, port, "I2P " + description, fp);
if(isPortForwarded)
if(isPortForwarded || _serviceLacksAPM)
break;
try {
Thread.sleep(5000);
@ -307,6 +310,7 @@ class UPnP extends ControlPoint implements DeviceChangeListener, EventListener {
_log.warn("UP&P IGD device removed : " + dev.getFriendlyName());
_router = null;
_service = null;
_serviceLacksAPM = false;
}
}
}
@ -565,7 +569,13 @@ class UPnP extends ControlPoint implements DeviceChangeListener, EventListener {
Action add = _service.getAction("AddPortMapping");
if(add == null) {
_log.error("Couldn't find AddPortMapping action!");
if (_serviceLacksAPM) {
if (_log.shouldLog(Log.WARN))
_log.warn("Couldn't find AddPortMapping action!");
} else {
_serviceLacksAPM = true;
_log.logAlways(Log.WARN, "UPnP device does not support port forwarding");
}
return false;
}
@ -695,7 +705,8 @@ class UPnP extends ControlPoint implements DeviceChangeListener, EventListener {
Action remove = _service.getAction("DeletePortMapping");
if(remove == null) {
_log.error("Couldn't find DeletePortMapping action!");
if (_log.shouldLog(Log.WARN))
_log.warn("Couldn't find DeletePortMapping action!");
return false;
}
@ -794,6 +805,18 @@ class UPnP extends ControlPoint implements DeviceChangeListener, EventListener {
* so throw this in a thread.
*/
private void registerPorts(Set<ForwardPort> portsToForwardNow) {
if (_serviceLacksAPM) {
if (_log.shouldLog(Log.WARN))
_log.warn("UPnP device does not support port forwarding");
for (ForwardPort port : portsToForwardNow) {
ForwardPortStatus fps = new ForwardPortStatus(ForwardPortStatus.DEFINITE_FAILURE,
"UPnP device does not support port forwarding",
port.portNumber);
Map map = Collections.singletonMap(port, fps);
forwardCallback.portForwardStatus(map);
}
return;
}
if (_log.shouldLog(Log.INFO))
_log.info("Starting thread to forward " + portsToForwardNow.size() + " ports");
Thread t = new Thread(new RegisterPortsThread(portsToForwardNow));

View File

@ -693,6 +693,7 @@ class EventPumper implements Runnable {
}
} else {
// Nothing more to write
if (key.isValid())
key.interestOps(key.interestOps() & ~SelectionKey.OP_WRITE);
break;
}

View File

@ -160,7 +160,7 @@ abstract class BuildRequestor {
if (cfg.isInbound()) {
if (log.shouldLog(Log.INFO))
log.info("Sending the tunnel build request " + msg.getUniqueId() + " out the tunnel " + pairedTunnel + " to "
+ cfg.getPeer(0).toBase64() + " for " + cfg + " waiting for the reply of "
+ cfg.getPeer(0) + " for " + cfg + " waiting for the reply of "
+ cfg.getReplyMessageId());
// send it out a tunnel targetting the first hop
// TODO - would be nice to have a TunnelBuildFirstHopFailJob queued if the
@ -168,7 +168,7 @@ abstract class BuildRequestor {
ctx.tunnelDispatcher().dispatchOutbound(msg, pairedTunnel.getSendTunnelId(0), cfg.getPeer(0));
} else {
if (log.shouldLog(Log.INFO))
log.info("Sending the tunnel build request directly to " + cfg.getPeer(1).toBase64()
log.info("Sending the tunnel build request directly to " + cfg.getPeer(1)
+ " for " + cfg + " waiting for the reply of " + cfg.getReplyMessageId()
+ " with msgId=" + msg.getUniqueId());
// send it directly to the first hop
@ -183,8 +183,8 @@ abstract class BuildRequestor {
outMsg.setPriority(PRIORITY);
RouterInfo peer = ctx.netDb().lookupRouterInfoLocally(cfg.getPeer(1));
if (peer == null) {
if (log.shouldLog(Log.ERROR))
log.error("Could not find the next hop to send the outbound request to: " + cfg);
if (log.shouldLog(Log.WARN))
log.warn("Could not find the next hop to send the outbound request to: " + cfg);
exec.buildComplete(cfg, pool);
return;
}
@ -300,7 +300,7 @@ abstract class BuildRequestor {
if (peerInfo == null) {
if (log.shouldLog(Log.WARN))
log.warn("Peer selected for hop " + i + "/" + hop + " was not found locally: "
+ peer.toBase64() + " for " + cfg);
+ peer + " for " + cfg);
return null;
} else {
key = peerInfo.getIdentity().getPublicKey();
@ -343,9 +343,9 @@ abstract class BuildRequestor {
* Can't do this for inbound tunnels since the msg goes out an expl. tunnel.
*/
private static class TunnelBuildFirstHopFailJob extends JobImpl {
final TunnelPool _pool;
final PooledTunnelCreatorConfig _cfg;
final BuildExecutor _exec;
private final TunnelPool _pool;
private final PooledTunnelCreatorConfig _cfg;
private final BuildExecutor _exec;
private TunnelBuildFirstHopFailJob(RouterContext ctx, TunnelPool pool, PooledTunnelCreatorConfig cfg, BuildExecutor exec) {
super(ctx);
_cfg = cfg;

View File

@ -154,7 +154,7 @@ fi
cd `dirname $0`/../../installer/resources/certificates
for i in *.crt
for i in *.crt *.cert
do
echo "Checking $i ..."
EXPIRES=`checkcert $i`