"); + out.println(_t("Please report bugs on {0} or {1}.", + "trac.i2p2.i2p", + "trac.i2p2.de")); + out.println("
"); + out.println(_t("Please include this information in bug reports") + ':'); + out.print("
"); + out.println(_t("Error {0}", errorCode) + ": " + errorURI + " " + errorMsg); + out.println("
");
+ if (errorCause != null) {
+ StringWriter sw = new StringWriter(2048);
+ PrintWriter pw = new PrintWriter(sw);
+ errorCause.printStackTrace(pw);
+ pw.flush();
+ String trace = sw.toString();
+ trace = trace.replace("&", "&").replace("<", "<").replace(">", ">");
+ trace = trace.replace("\n", "
\n");
+ out.print(trace);
+ }
+ out.print("
");
+ // router puts its version here
+ String version = System.getProperty("router.version", CoreVersion.VERSION);
+ out.println("I2P version: " + version + "
");
+ out.println("Java version: " + System.getProperty("java.vendor") + ' ' + System.getProperty("java.version") +
+ " (" + System.getProperty("java.runtime.name") + ' ' + System.getProperty("java.runtime.version") + ")
");
+ out.println("Wrapper version: " + System.getProperty("wrapper.version", "none") + "
");
+ try {
+ // wrap in case not running on Jetty
+ out.println("Server version: " + Server.getVersion() + "
");
+ } catch (Throwable t) {}
+ out.println("Platform: " + System.getProperty("os.name") + ' ' + System.getProperty("os.arch") +
+ ' ' + System.getProperty("os.version") + "
");
+ out.println("Processor: " + NativeBigInteger.cpuModel() + " (" + NativeBigInteger.cpuType() + ")
");
+ out.println("Jbigi: " + NativeBigInteger.loadStatus() + "
");
+ out.println("Encoding: " + System.getProperty("file.encoding") + "
");
+ out.println("Charset: " + Charset.defaultCharset().name());
+ out.println("
"); + out.println(_t("Note that system information, log timestamps, and log messages may provide clues to your location; please review everything you include in a bug report.")); + out.println("
"); + } else { + out.println("Unsupported error " + errorCode + "
"); + } + } + + /** translate a string, with webapp bundle */ + protected String _w(String s) { + return Translate.getString(s, _context, _defaultBundle); + } + + /** translate a string, console bundle */ + protected String _t(String s) { + return Translate.getString(s, _context, CONSOLE_BUNDLE_NAME); + } + + /** translate a string, console bundle */ + protected String _t(String s, Object o) { + return Translate.getString(s, o, _context, CONSOLE_BUNDLE_NAME); + } + + /** translate a string, console bundle */ + protected String _t(String s, Object o, Object o2) { + return Translate.getString(s, o, o2, _context, CONSOLE_BUNDLE_NAME); + } +} diff --git a/apps/susidns/src/WEB-INF/web-template.xml b/apps/susidns/src/WEB-INF/web-template.xml index 7dd017e52..9e1c63ef5 100644 --- a/apps/susidns/src/WEB-INF/web-template.xml +++ b/apps/susidns/src/WEB-INF/web-template.xml @@ -29,6 +29,15 @@