diff --git a/apps/i2psnark/java/src/org/klomp/snark/BitField.java b/apps/i2psnark/java/src/org/klomp/snark/BitField.java index 85117b93d7159cfdd1174558ba5080465b4d690f..876a39159ae0901c76c39fdc8d780cb36ad21d3b 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/BitField.java +++ b/apps/i2psnark/java/src/org/klomp/snark/BitField.java @@ -140,7 +140,7 @@ public class BitField public String toString() { // Not very efficient - StringBuffer sb = new StringBuffer("BitField("); + StringBuilder sb = new StringBuilder("BitField("); sb.append(size).append(")["); for (int i = 0; i < size; i++) if (get(i)) diff --git a/apps/i2psnark/java/src/org/klomp/snark/MetaInfo.java b/apps/i2psnark/java/src/org/klomp/snark/MetaInfo.java index 984e50ef3f9c1cb164a0056dd6ab1791d4a9e8bc..77f07d2994218f0def5aa422b4332165d9240c6f 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/MetaInfo.java +++ b/apps/i2psnark/java/src/org/klomp/snark/MetaInfo.java @@ -362,7 +362,7 @@ public class MetaInfo */ private static String hexencode(byte[] bs) { - StringBuffer sb = new StringBuffer(bs.length*2); + StringBuilder sb = new StringBuilder(bs.length*2); for (int i = 0; i < bs.length; i++) { int c = bs[i] & 0xFF; @@ -432,7 +432,7 @@ public class MetaInfo private byte[] calculateInfoHash() { Map info = createInfoMap(); - StringBuffer buf = new StringBuffer(128); + StringBuilder buf = new StringBuilder(128); buf.append("info: "); for (Iterator iter = info.entrySet().iterator(); iter.hasNext(); ) { Map.Entry entry = (Map.Entry)iter.next(); diff --git a/apps/i2psnark/java/src/org/klomp/snark/PeerID.java b/apps/i2psnark/java/src/org/klomp/snark/PeerID.java index 67ff4c8580154d1e4cbbfddcab83c1f6d77602b6..0a998af3dff28dc58d7c5afe43414d66a5f78824 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/PeerID.java +++ b/apps/i2psnark/java/src/org/klomp/snark/PeerID.java @@ -190,7 +190,7 @@ public class PeerID implements Comparable { boolean leading_zeros = true; - StringBuffer sb = new StringBuffer(bs.length*2); + StringBuilder sb = new StringBuilder(bs.length*2); for (int i = 0; i < bs.length; i++) { int c = bs[i] & 0xFF; diff --git a/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java b/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java index 79ea62ebc4ffa0d1000acad3c4517bb160c96380..63b327974f451eee077547737f6ed1061000a3fe 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java +++ b/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java @@ -702,7 +702,7 @@ public class SnarkManager implements Snark.CompleteListener { // , "mastertracker", "http://VzXD~stRKbL3MOmeTn1iaCQ0CFyTmuFHiKYyo0Rd~dFPZFCYH-22rT8JD7i-C2xzYFa4jT5U2aqHzHI-Jre4HL3Ri5hFtZrLk2ax3ji7Qfb6qPnuYkuiF2E2UDmKUOppI8d9Ye7tjdhQVCy0izn55tBaB-U7UWdcvSK2i85sauyw3G0Gfads1Rvy5-CAe2paqyYATcDmGjpUNLoxbfv9KH1KmwRTNH6k1v4PyWYYnhbT39WfKMbBjSxVQRdi19cyJrULSWhjxaQfJHeWx5Z8Ev4bSPByBeQBFl2~4vqy0S5RypINsRSa3MZdbiAAyn5tr5slWR6QdoqY3qBQgBJFZppy-3iWkFqqKgSxCPundF8gdDLC5ddizl~KYcYKl42y9SGFHIukH-TZs8~em0~iahzsqWVRks3zRG~tlBcX2U3M2~OJs~C33-NKhyfZT7-XFBREvb8Szmd~p66jDxrwOnKaku-G6DyoQipJqIz4VHmY9-y5T8RrUcJcM-5lVoMpAAAA.i2p/announce.php=http://tracker.mastertracker.i2p/" // , "Galen", "http://5jpwQMI5FT303YwKa5Rd38PYSX04pbIKgTaKQsWbqoWjIfoancFdWCShXHLI5G5ofOb0Xu11vl2VEMyPsg1jUFYSVnu4-VfMe3y4TKTR6DTpetWrnmEK6m2UXh91J5DZJAKlgmO7UdsFlBkQfR2rY853-DfbJtQIFl91tbsmjcA5CGQi4VxMFyIkBzv-pCsuLQiZqOwWasTlnzey8GcDAPG1LDcvfflGV~6F5no9mnuisZPteZKlrv~~TDoXTj74QjByWc4EOYlwqK8sbU9aOvz~s31XzErbPTfwiawiaZ0RUI-IDrKgyvmj0neuFTWgjRGVTH8bz7cBZIc3viy6ioD-eMQOrXaQL0TCWZUelRwHRvgdPiQrxdYQs7ixkajeHzxi-Pq0EMm5Vbh3j3Q9kfUFW3JjFDA-MLB4g6XnjCbM5J1rC0oOBDCIEfhQkszru5cyLjHiZ5yeA0VThgu~c7xKHybv~OMXION7V8pBKOgET7ZgAkw1xgYe3Kkyq5syAAAA.i2p/tr/announce.php=http://galen.i2p/tr/" , "crstrack", "http://b4G9sCdtfvccMAXh~SaZrPqVQNyGQbhbYMbw6supq2XGzbjU4NcOmjFI0vxQ8w1L05twmkOvg5QERcX6Mi8NQrWnR0stLExu2LucUXg1aYjnggxIR8TIOGygZVIMV3STKH4UQXD--wz0BUrqaLxPhrm2Eh9Hwc8TdB6Na4ShQUq5Xm8D4elzNUVdpM~RtChEyJWuQvoGAHY3ppX-EJJLkiSr1t77neS4Lc-KofMVmgI9a2tSSpNAagBiNI6Ak9L1T0F9uxeDfEG9bBSQPNMOSUbAoEcNxtt7xOW~cNOAyMyGydwPMnrQ5kIYPY8Pd3XudEko970vE0D6gO19yoBMJpKx6Dh50DGgybLQ9CpRaynh2zPULTHxm8rneOGRcQo8D3mE7FQ92m54~SvfjXjD2TwAVGI~ae~n9HDxt8uxOecAAvjjJ3TD4XM63Q9TmB38RmGNzNLDBQMEmJFpqQU8YeuhnS54IVdUoVQFqui5SfDeLXlSkh4vYoMU66pvBfWbAAAA.i2p/tracker/announce.php=http://crstrack.i2p/tracker/" - , "Postman2", "http://lnQ6yoBTxQuQU8EQ1FlF395ITIQF-HGJxUeFvzETLFnoczNjQvKDbtSB7aHhn853zjVXrJBgwlB9sO57KakBDaJ50lUZgVPhjlI19TgJ-CxyHhHSCeKx5JzURdEW-ucdONMynr-b2zwhsx8VQCJwCEkARvt21YkOyQDaB9IdV8aTAmP~PUJQxRwceaTMn96FcVenwdXqleE16fI8CVFOV18jbJKrhTOYpTtcZKV4l1wNYBDwKgwPx5c0kcrRzFyw5~bjuAKO~GJ5dR7BQsL7AwBoQUS4k1lwoYrG1kOIBeDD3XF8BWb6K3GOOoyjc1umYKpur3G~FxBuqtHAsDRICkEbKUqJ9mPYQlTSujhNxiRIW-oLwMtvayCFci99oX8MvazPS7~97x0Gsm-onEK1Td9nBdmq30OqDxpRtXBimbzkLbR1IKObbg9HvrKs3L-kSyGwTUmHG9rSQSoZEvFMA-S0EXO~o4g21q1oikmxPMhkeVwQ22VHB0-LZJfmLr4SAAAA.i2p/announce.php=http://tracker2.postman.i2p/" + , "Postman2", "http://tracker2.postman.i2p/announce.php=http://tracker2.postman.i2p/" }; /** comma delimited list of name=announceURL=baseURL for the trackers to be displayed */ diff --git a/apps/i2psnark/java/src/org/klomp/snark/TrackerClient.java b/apps/i2psnark/java/src/org/klomp/snark/TrackerClient.java index 3ba2f6be633932295243e37c1ea052ee066aa537..da317998a04a63fe1f3f0da622c3e816e9b40ff0 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/TrackerClient.java +++ b/apps/i2psnark/java/src/org/klomp/snark/TrackerClient.java @@ -373,7 +373,7 @@ public class TrackerClient extends I2PAppThread */ public static String urlencode(byte[] bs) { - StringBuffer sb = new StringBuffer(bs.length*3); + StringBuilder sb = new StringBuilder(bs.length*3); for (int i = 0; i < bs.length; i++) { int c = bs[i] & 0xFF; diff --git a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java index 3929fbe1198ddd8c6a62bc088e5bf4bb43836da2..ec5e2b8dbedc31df0a93c1966414a76e7db07405 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java +++ b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java @@ -398,7 +398,7 @@ public class I2PSnarkServlet extends HttpServlet { return rv; } - private static final int MAX_DISPLAYED_FILENAME_LENGTH = 60; + private static final int MAX_DISPLAYED_FILENAME_LENGTH = 44; private static final int MAX_DISPLAYED_ERROR_LENGTH = 40; private void displaySnark(PrintWriter out, Snark snark, String uri, int row, long stats[], boolean showPeers, boolean showDebug) throws IOException { String filename = snark.torrent; @@ -506,7 +506,7 @@ public class I2PSnarkServlet extends HttpServlet { // temporarily hardcoded for postman* and anonymity, requires bytemonsoon patch for lookup by info_hash String announce = snark.meta.getAnnounce(); if (announce.startsWith("http://YRgrgTLG") || announce.startsWith("http://8EoJZIKr") || - announce.startsWith("http://lnQ6yoBT")) { + announce.startsWith("http://lnQ6yoBT") || announce.startsWith("http://tracker2.postman.i2p/")) { Map trackers = _manager.getTrackers(); for (Iterator iter = trackers.entrySet().iterator(); iter.hasNext(); ) { Map.Entry entry = (Map.Entry)iter.next(); @@ -759,7 +759,7 @@ public class I2PSnarkServlet extends HttpServlet { + _manager.util().getI2CPHost() + "\" size=\"15\" /> "); out.write("port: <input type=\"text\" name=\"i2cpPort\" value=\"" + + _manager.util().getI2CPPort() + "\" size=\"5\" maxlength=\"5\" /> <br />\n"); - StringBuffer opts = new StringBuffer(64); + StringBuilder opts = new StringBuilder(64); Map options = new TreeMap(_manager.util().getI2CPOptions()); for (Iterator iter = options.entrySet().iterator(); iter.hasNext(); ) { Map.Entry entry = (Map.Entry)iter.next(); diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelConnectClient.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelConnectClient.java index 79270303b00ec6b8090b1d87aa13e981c6550465..65941f3ba7f4b20d671d75f2c14bc8e7b56884e9 100644 --- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelConnectClient.java +++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelConnectClient.java @@ -179,7 +179,7 @@ public class I2PTunnelConnectClient extends I2PTunnelClientBase implements Runna out = s.getOutputStream(); in = s.getInputStream(); String line, method = null, host = null, destination = null, restofline = null; - StringBuffer newRequest = new StringBuffer(); + StringBuilder newRequest = new StringBuilder(); int ahelper = 0; while (true) { // Use this rather than BufferedReader because we can't have readahead, diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java index 8dabdc0f61f7ceb65afa366bf5b7742ccb39bda7..f450682cd0731051e06ffa6ed247a34f5e66b82b 100644 --- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java +++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java @@ -240,7 +240,7 @@ public class I2PTunnelHTTPClient extends I2PTunnelClientBase implements Runnable out = s.getOutputStream(); InputReader reader = new InputReader(s.getInputStream()); String line, method = null, protocol = null, host = null, destination = null; - StringBuffer newRequest = new StringBuffer(); + StringBuilder newRequest = new StringBuilder(); int ahelper = 0; while ((line = reader.readLine(method)) != null) { line = line.trim(); @@ -811,11 +811,14 @@ public class I2PTunnelHTTPClient extends I2PTunnelClientBase implements Runnable * but inproxy/gateway ops would be wise to block proxy.i2p to prevent * exposing the docs/ directory or perhaps other issues through * uncaught vulnerabilities. + * Restrict to the /themes/ directory for now. * - * @param targetRequest "proxy.i2p/foo.png HTTP/1.1" + * @param targetRequest "proxy.i2p/themes/foo.png HTTP/1.1" */ private static void serveLocalFile(OutputStream out, String method, String targetRequest) { - if (method.equals("GET") || method.equals("HEAD")) { + if ((method.equals("GET") || method.equals("HEAD")) && + targetRequest.startsWith("proxy.i2p/themes/") && + !targetRequest.contains("..")) { int space = targetRequest.indexOf(' '); String filename = null; try { diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPServer.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPServer.java index 2f53f22d036f4244053bd1b8fe87449f8035b8f9..e1ce9084ecb9479dc5590a845f1b5e83f6c131ce 100644 --- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPServer.java +++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPServer.java @@ -74,7 +74,7 @@ public class I2PTunnelHTTPServer extends I2PTunnelServer { InputStream in = socket.getInputStream(); - StringBuffer command = new StringBuffer(128); + StringBuilder command = new StringBuilder(128); Properties headers = readHeaders(in, command); headers.setProperty(HASH_HEADER, socket.getPeerDestination().calculateHash().toBase64()); headers.setProperty(DEST32_HEADER, Base32.encode(socket.getPeerDestination().calculateHash().getData()) + ".b32.i2p" ); @@ -309,8 +309,8 @@ public class I2PTunnelHTTPServer extends I2PTunnelServer { } } - private String formatHeaders(Properties headers, StringBuffer command) { - StringBuffer buf = new StringBuffer(command.length() + headers.size() * 64); + private String formatHeaders(Properties headers, StringBuilder command) { + StringBuilder buf = new StringBuilder(command.length() + headers.size() * 64); buf.append(command.toString().trim()).append("\r\n"); for (Iterator iter = headers.keySet().iterator(); iter.hasNext(); ) { String name = (String)iter.next(); @@ -321,9 +321,9 @@ public class I2PTunnelHTTPServer extends I2PTunnelServer { return buf.toString(); } - private Properties readHeaders(InputStream in, StringBuffer command) throws IOException { + private Properties readHeaders(InputStream in, StringBuilder command) throws IOException { Properties headers = new Properties(); - StringBuffer buf = new StringBuffer(128); + StringBuilder buf = new StringBuilder(128); boolean ok = DataHelper.readLine(in, command); if (!ok) throw new IOException("EOF reached while reading the HTTP command [" + command.toString() + "]"); diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelIRCClient.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelIRCClient.java index 3b5bff785d08377ee6a326e96a4f5d3a0f4c2049..dd8c289d93e828beb547289f2656cbd07a892636 100644 --- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelIRCClient.java +++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelIRCClient.java @@ -82,7 +82,7 @@ public class I2PTunnelIRCClient extends I2PTunnelClientBase implements Runnable try { i2ps = createI2PSocket(dest); i2ps.setReadTimeout(readTimeout); - StringBuffer expectedPong = new StringBuffer(); + StringBuilder expectedPong = new StringBuilder(); Thread in = new I2PThread(new IrcInboundFilter(s,i2ps, expectedPong), "IRC Client " + __clientId + " in"); in.start(); Thread out = new I2PThread(new IrcOutboundFilter(s,i2ps, expectedPong), "IRC Client " + __clientId + " out"); @@ -121,9 +121,9 @@ public class I2PTunnelIRCClient extends I2PTunnelClientBase implements Runnable private Socket local; private I2PSocket remote; - private StringBuffer expectedPong; + private StringBuilder expectedPong; - IrcInboundFilter(Socket _local, I2PSocket _remote, StringBuffer pong) { + IrcInboundFilter(Socket _local, I2PSocket _remote, StringBuilder pong) { local=_local; remote=_remote; expectedPong=pong; @@ -195,9 +195,9 @@ public class I2PTunnelIRCClient extends I2PTunnelClientBase implements Runnable private Socket local; private I2PSocket remote; - private StringBuffer expectedPong; + private StringBuilder expectedPong; - IrcOutboundFilter(Socket _local, I2PSocket _remote, StringBuffer pong) { + IrcOutboundFilter(Socket _local, I2PSocket _remote, StringBuilder pong) { local=_local; remote=_remote; expectedPong=pong; @@ -266,7 +266,7 @@ public class I2PTunnelIRCClient extends I2PTunnelClientBase implements Runnable * */ - public String inboundFilter(String s, StringBuffer expectedPong) { + public String inboundFilter(String s, StringBuilder expectedPong) { String field[]=s.split(" ",4); String command; @@ -353,7 +353,7 @@ public class I2PTunnelIRCClient extends I2PTunnelClientBase implements Runnable return null; } - public String outboundFilter(String s, StringBuffer expectedPong) { + public String outboundFilter(String s, StringBuilder expectedPong) { String field[]=s.split(" ",3); String command; diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelIRCServer.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelIRCServer.java index 2e209dbd74cc725bc05546a378b67c2c9a3b5de2..6e042709554b0c108e20605735950800ced09623 100644 --- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelIRCServer.java +++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelIRCServer.java @@ -135,7 +135,7 @@ public class I2PTunnelIRCServer extends I2PTunnelServer implements Runnable { /** keep reading until we see USER or SERVER */ private String filterRegistration(InputStream in, String newHostname) throws IOException { - StringBuffer buf = new StringBuffer(128); + StringBuilder buf = new StringBuilder(128); int lineCount = 0; while (true) { diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2Ping.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2Ping.java index f57ecd23d1c630de8dd871573655222926c2eefb..1f358abf0a0a4bdbd0548e41cbbc79d974fe7323 100644 --- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2Ping.java +++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2Ping.java @@ -211,7 +211,7 @@ public class I2Ping extends I2PTunnelTask implements Runnable { int fail = 0; long totalTime = 0; int cnt = countPing ? CPING_COUNT : PING_COUNT; - StringBuffer pingResults = new StringBuffer(2 * cnt + destination.length() + 3); + StringBuilder pingResults = new StringBuilder(2 * cnt + destination.length() + 3); for (int i = 0; i < cnt; i++) { boolean sent; sent = ping(dest); diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/TunnelController.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/TunnelController.java index 3dbcfea3067cd106ffb6172146ef2eb754aa230d..6efff96e597ed5c457e5924dc14f909e2ee88b94 100644 --- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/TunnelController.java +++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/TunnelController.java @@ -385,7 +385,7 @@ public class TunnelController implements Logging { public String getI2CPHost() { return _config.getProperty("i2cpHost"); } public String getI2CPPort() { return _config.getProperty("i2cpPort"); } public String getClientOptions() { - StringBuffer opts = new StringBuffer(64); + StringBuilder opts = new StringBuilder(64); for (Iterator iter = _config.keySet().iterator(); iter.hasNext(); ) { String key = (String)iter.next(); String val = _config.getProperty(key); @@ -447,7 +447,7 @@ public class TunnelController implements Logging { return true; } - public void getSummary(StringBuffer buf) { + public void getSummary(StringBuilder buf) { String type = getType(); if ("httpclient".equals(type)) getHttpClientSummary(buf); @@ -461,7 +461,7 @@ public class TunnelController implements Logging { buf.append("Unknown type ").append(type); } - private void getHttpClientSummary(StringBuffer buf) { + private void getHttpClientSummary(StringBuilder buf) { String description = getDescription(); if ( (description != null) && (description.trim().length() > 0) ) buf.append("<i>").append(description).append("</i><br />\n"); @@ -482,7 +482,7 @@ public class TunnelController implements Logging { getOptionSummary(buf); } - private void getClientSummary(StringBuffer buf) { + private void getClientSummary(StringBuilder buf) { String description = getDescription(); if ( (description != null) && (description.trim().length() > 0) ) buf.append("<i>").append(description).append("</i><br />\n"); @@ -499,7 +499,7 @@ public class TunnelController implements Logging { getOptionSummary(buf); } - private void getServerSummary(StringBuffer buf) { + private void getServerSummary(StringBuilder buf) { String description = getDescription(); if ( (description != null) && (description.trim().length() > 0) ) buf.append("<i>").append(description).append("</i><br />\n"); @@ -510,7 +510,7 @@ public class TunnelController implements Logging { getOptionSummary(buf); } - private void getHttpServerSummary(StringBuffer buf) { + private void getHttpServerSummary(StringBuilder buf) { String description = getDescription(); if ( (description != null) && (description.trim().length() > 0) ) buf.append("<i>").append(description).append("</i><br />\n"); @@ -522,7 +522,7 @@ public class TunnelController implements Logging { getOptionSummary(buf); } - private void getOptionSummary(StringBuffer buf) { + private void getOptionSummary(StringBuilder buf) { String opts = getClientOptions(); if ( (opts != null) && (opts.length() > 0) ) buf.append("Network options: ").append(opts).append("<br />\n"); diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/TunnelControllerGroup.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/TunnelControllerGroup.java index 88877ff4c4d33581accf4587b80b541a1f68d3c8..b077179e03e3f996d423b3f0af5c63eb3fd26761 100644 --- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/TunnelControllerGroup.java +++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/TunnelControllerGroup.java @@ -245,7 +245,7 @@ public class TunnelControllerGroup { map.putAll(cur); } - StringBuffer buf = new StringBuffer(1024); + StringBuilder buf = new StringBuilder(1024); for (Iterator iter = map.keySet().iterator(); iter.hasNext(); ) { String key = (String)iter.next(); String val = (String)map.get(key); diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/socks/SOCKS4aServer.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/socks/SOCKS4aServer.java index 23ec70c3fd1d19a61a0df0aa5f56b830d800a823..ef88102cf08ed63ac18a9b67c4ca245e5abf219e 100644 --- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/socks/SOCKS4aServer.java +++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/socks/SOCKS4aServer.java @@ -123,7 +123,7 @@ public class SOCKS4aServer extends SOCKSServer { } private String readString(DataInputStream in) throws IOException { - StringBuffer sb = new StringBuffer(16); + StringBuilder sb = new StringBuilder(16); char c; while ((c = (char) (in.readByte() & 0xff)) != 0) sb.append(c); diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/EditBean.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/EditBean.java index d606467c529629ab304d8d205372d4c6d9ac8d87..fe1096eeacd37bfd6b36245926305d21a2bf0497 100644 --- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/EditBean.java +++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/EditBean.java @@ -223,7 +223,7 @@ public class EditBean extends IndexBean { if (tun != null) { Properties opts = getOptions(tun); if (opts == null) return ""; - StringBuffer buf = new StringBuffer(64); + StringBuilder buf = new StringBuilder(64); int i = 0; for (Iterator iter = opts.keySet().iterator(); iter.hasNext(); ) { String key = (String)iter.next(); diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/IndexBean.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/IndexBean.java index 4c23ced34741bf662e0a9294f9f8ebf2ee30f0af..48bb984b696353152b7f7f293095f88b0316ab95 100644 --- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/IndexBean.java +++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/IndexBean.java @@ -302,7 +302,7 @@ public class IndexBean { if (_group == null) return ""; - StringBuffer buf = new StringBuffer(512); + StringBuilder buf = new StringBuilder(512); if (_action != null) { try { buf.append(processAction()).append("\n"); @@ -927,11 +927,11 @@ public class IndexBean { } private String getMessages(List msgs) { - StringBuffer buf = new StringBuffer(128); + StringBuilder buf = new StringBuilder(128); getMessages(msgs, buf); return buf.toString(); } - private void getMessages(List msgs, StringBuffer buf) { + private void getMessages(List msgs, StringBuilder buf) { if (msgs == null) return; for (int i = 0; i < msgs.size(); i++) { buf.append((String)msgs.get(i)).append("\n"); diff --git a/apps/i2ptunnel/jsp/editClient.jsp b/apps/i2ptunnel/jsp/editClient.jsp index 4f0a5a3385fb62bf25920a41920113fcbba883a5..26e40afad29f76954e7f493bdbaf4ca921ca7e08 100644 --- a/apps/i2ptunnel/jsp/editClient.jsp +++ b/apps/i2ptunnel/jsp/editClient.jsp @@ -18,7 +18,7 @@ <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" /> <% if (editBean.allowCSS()) { - %><link href="images/favicon.ico" type="image/x-icon" rel="shortcut icon" /> + %><link href="/themes/console/images/favicon.ico" type="image/x-icon" rel="shortcut icon" /> <link href="<%=editBean.getTheme()%>default.css" rel="stylesheet" type="text/css" /> <link href="<%=editBean.getTheme()%>i2ptunnel.css" rel="stylesheet" type="text/css" /> <% } @@ -388,7 +388,7 @@ <label for="localDestination" accesskey="L"> <span class="accessKey">L</span>ocal destination: </label> - <textarea rows="1" cols="60" readonly="readonly" id="localDestination" title="Read Only: Local Destination (if known)" wrap="off"><%=editBean.getDestinationBase64(curTunnel)%></textarea> + <textarea rows="1" style="height: 3em;" cols="60" readonly="readonly" id="localDestination" title="Read Only: Local Destination (if known)" wrap="off"><%=editBean.getDestinationBase64(curTunnel)%></textarea> <span class="comment">(if known)</span> </div> diff --git a/apps/i2ptunnel/jsp/editServer.jsp b/apps/i2ptunnel/jsp/editServer.jsp index 3a958fd42ebc8034adb27f60dfef45eeae4b0c2d..2acc75183d1d52c8aa271e7b04035136511b1668 100644 --- a/apps/i2ptunnel/jsp/editServer.jsp +++ b/apps/i2ptunnel/jsp/editServer.jsp @@ -18,7 +18,7 @@ <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" /> <% if (editBean.allowCSS()) { - %><link href="images/favicon.ico" type="image/x-icon" rel="shortcut icon" /> + %><link href="/themes/console/images/favicon.ico" type="image/x-icon" rel="shortcut icon" /> <link href="<%=editBean.getTheme()%>default.css" rel="stylesheet" type="text/css" /> <link href="<%=editBean.getTheme()%>i2ptunnel.css" rel="stylesheet" type="text/css" /> <% } @@ -148,7 +148,7 @@ <label for="localDestination" accesskey="L"> <span class="accessKey">L</span>ocal destination: </label> - <textarea rows="1" cols="60" readonly="readonly" id="localDestination" title="Read Only: Local Destination (if known)" wrap="off"><%=editBean.getDestinationBase64(curTunnel)%></textarea> + <textarea rows="1" style="height: 3em;" cols="60" readonly="readonly" id="localDestination" title="Read Only: Local Destination (if known)" wrap="off"><%=editBean.getDestinationBase64(curTunnel)%></textarea> <% if (!"".equals(editBean.getDestinationBase64(curTunnel))) { %> <a href="/susidns/addressbook.jsp?book=private&hostname=<%=editBean.getTunnelName(curTunnel)%>&destination=<%=editBean.getDestinationBase64(curTunnel)%>#add">Add to local addressbook</a> <% } %> @@ -270,7 +270,7 @@ <label for="encrypt" accesskey="e"> Encryption Key: </label> - <textarea rows="1" cols="44" id="portField" name="encryptKey" title="Encrypt Key" wrap="off"><%=editBean.getEncryptKey(curTunnel)%></textarea> + <textarea rows="1" style="height: 3em;" cols="44" id="portField" name="encryptKey" title="Encrypt Key" wrap="off"><%=editBean.getEncryptKey(curTunnel)%></textarea> </div> <div id="portField" class="rowItem"> <label for="force" accesskey="c"> @@ -299,7 +299,7 @@ <label for="accessList" accesskey="s"> Access List: </label> - <textarea rows="2" cols="60" id="hostField" name="accessList" title="Access List" wrap="off"><%=editBean.getAccessList(curTunnel)%></textarea> + <textarea rows="2" style="height: 4em;" cols="60" id="hostField" name="accessList" title="Access List" wrap="off"><%=editBean.getAccessList(curTunnel)%></textarea> <span class="comment">(Restrict to these clients only)</span> </div> diff --git a/apps/i2ptunnel/jsp/index.jsp b/apps/i2ptunnel/jsp/index.jsp index 6c89d5ff426f1a073720db13c37f6d78216e30b4..d14405bdb6ccd05e14adbbaf6b6f6f99e7f76727 100644 --- a/apps/i2ptunnel/jsp/index.jsp +++ b/apps/i2ptunnel/jsp/index.jsp @@ -10,7 +10,7 @@ <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" /> <% if (indexBean.allowCSS()) { - %><link href="images/favicon.ico" type="image/x-icon" rel="shortcut icon" /> + %><link href="/themes/console/images/favicon.ico" type="image/x-icon" rel="shortcut icon" /> <link href="<%=indexBean.getTheme()%>default.css" rel="stylesheet" type="text/css" /> <link href="<%=indexBean.getTheme()%>i2ptunnel.css" rel="stylesheet" type="text/css" /> <% } @@ -76,7 +76,7 @@ %> <div class="nameField rowItem"> <label>Name:</label> - <span class="text"><a href="edit.jsp?tunnel=<%=curClient%>" title="Edit Tunnel Settings for <%=indexBean.getTunnelName(curClient)%>"><%=indexBean.getTunnelName(curClient)%></a></span> + <span class="text"><a href="edit.jsp?tunnel=<%=curClient%>" title="Edit Tunnel Settings for <%=indexBean.getTunnelName(curClient)%>"><%=indexBean.getTunnelName(curClient)%> (Edit)</a></span> </div> <div class="portField rowItem"> <label>Port:</label> @@ -192,7 +192,7 @@ %> <div class="nameField rowItem"> <label>Name:</label> - <span class="text"><a href="edit.jsp?tunnel=<%=curServer%>" title="Edit Server Tunnel Settings for <%=indexBean.getTunnelName(curServer)%>"><%=indexBean.getTunnelName(curServer)%></a></span> + <span class="text"><a href="edit.jsp?tunnel=<%=curServer%>" title="Edit Server Tunnel Settings for <%=indexBean.getTunnelName(curServer)%>"><%=indexBean.getTunnelName(curServer)%> (Edit)</a></span> </div> <div class="previewField rowItem"> <label>Points at:</label> diff --git a/apps/jetty/java/src/org/mortbay/http/I2PRequestLog.java b/apps/jetty/java/src/org/mortbay/http/I2PRequestLog.java index 4c96e49f2b9c92790495d31b511af36e1e77554e..c83756332481175d81906eebd5f989579d08133a 100644 --- a/apps/jetty/java/src/org/mortbay/http/I2PRequestLog.java +++ b/apps/jetty/java/src/org/mortbay/http/I2PRequestLog.java @@ -88,7 +88,7 @@ public class I2PRequestLog extends NCSARequestLog if (_fileOut==null) return; - StringBuffer buf = new StringBuffer(160); + StringBuilder buf = new StringBuilder(160); String addr = request.getField("X-I2P-DestHash"); if(addr != null) diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigAdvancedHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigAdvancedHelper.java index 3ab6354a6362fba67c97d14e470e41dab077264f..5bffa2a2187c55ada62f78c67dc35a209319720b 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigAdvancedHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigAdvancedHelper.java @@ -10,7 +10,7 @@ public class ConfigAdvancedHelper extends HelperBase { public ConfigAdvancedHelper() {} public String getSettings() { - StringBuffer buf = new StringBuffer(4*1024); + StringBuilder buf = new StringBuilder(4*1024); Set names = _context.router().getConfigSettings(); TreeSet sortedNames = new TreeSet(names); for (Iterator iter = sortedNames.iterator(); iter.hasNext(); ) { diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigClientsHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigClientsHelper.java index 7acccdc49a0940ae51b5d35f3d97d330985345d5..02b31e884237ab954d36e23a66f22e1d48e61427 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigClientsHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigClientsHelper.java @@ -13,7 +13,7 @@ public class ConfigClientsHelper extends HelperBase { public ConfigClientsHelper() {} public String getForm1() { - StringBuffer buf = new StringBuffer(1024); + StringBuilder buf = new StringBuilder(1024); buf.append("<table border=\"1\">\n"); buf.append("<tr><th>Client</th><th>Run at Startup?</th><th>Start Now</th><th>Class and arguments</th></tr>\n"); @@ -29,7 +29,7 @@ public class ConfigClientsHelper extends HelperBase { } public String getForm2() { - StringBuffer buf = new StringBuffer(1024); + StringBuilder buf = new StringBuilder(1024); buf.append("<table border=\"1\">\n"); buf.append("<tr><th>WebApp</th><th>Run at Startup?</th><th>Start Now</th><th>Description</th></tr>\n"); Properties props = RouterConsoleRunner.webAppProperties(); @@ -46,7 +46,7 @@ public class ConfigClientsHelper extends HelperBase { return buf.toString(); } - private void renderForm(StringBuffer buf, String index, String name, boolean urlify, boolean enabled, boolean ro, String desc) { + private void renderForm(StringBuilder buf, String index, String name, boolean urlify, boolean enabled, boolean ro, String desc) { buf.append("<tr><td>"); if (urlify && enabled) { String link = "/"; diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigLoggingHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigLoggingHelper.java index 635d2e5445d3385f02dd6cc50f27f5bf027d0a47..fa32340a8635ae8b455381ee656d8138be06013f 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigLoggingHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigLoggingHelper.java @@ -29,7 +29,7 @@ public class ConfigLoggingHelper extends HelperBase { return (bytes/(1024)) + "k"; } public String getLogLevelTable() { - StringBuffer buf = new StringBuffer(32*1024); + StringBuilder buf = new StringBuilder(32*1024); Properties limits = _context.logManager().getLimits(); TreeSet sortedLogs = new TreeSet(); for (Iterator iter = limits.keySet().iterator(); iter.hasNext(); ) { @@ -51,7 +51,7 @@ public class ConfigLoggingHelper extends HelperBase { } public String getDefaultLogLevelBox() { String cur = _context.logManager().getDefaultLimit(); - StringBuffer buf = new StringBuffer(128); + StringBuilder buf = new StringBuilder(128); buf.append("<select name=\"defaultloglevel\">\n"); buf.append("<option value=\"DEBUG\" "); diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigNetHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigNetHelper.java index 35f65233bd140fa1bd1819dde31dd8434593567f..bf47f3efa76e6967602b835c2f5862434f528504 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigNetHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigNetHelper.java @@ -190,7 +190,7 @@ public class ConfigNetHelper extends HelperBase { } private static String getBurstFactor(int numSeconds, String name) { - StringBuffer buf = new StringBuffer(256); + StringBuilder buf = new StringBuilder(256); buf.append("<select name=\"").append(name).append("\">\n"); boolean found = false; for (int i = 10; i <= 70; i += 10) { @@ -220,7 +220,7 @@ public class ConfigNetHelper extends HelperBase { public String getSharePercentageBox() { int pct = (int) (100 * _context.router().getSharePercentage()); - StringBuffer buf = new StringBuffer(256); + StringBuilder buf = new StringBuilder(256); buf.append("<select style=\"text-align: right;\" name=\"sharePercentage\">\n"); boolean found = false; for (int i = 30; i <= 110; i += 10) { diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigRestartBean.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigRestartBean.java index 7ae7181bc2e4989969213cdc729b186e6b1afff9..c9ab42ddee9e513357237f22217a15d776583dd1 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigRestartBean.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigRestartBean.java @@ -71,7 +71,7 @@ public class ConfigRestartBean { /** @param s value,label,... pairs */ private static String buttons(String url, String nonce, String s) { - StringBuffer buf = new StringBuffer(128); + StringBuilder buf = new StringBuilder(128); StringTokenizer tok = new StringTokenizer(s, ","); buf.append("<form action=\"").append(url).append("\" method=\"GET\">\n"); buf.append("<input type=\"hidden\" name=\"consoleNonce\" value=\"").append(nonce).append("\" >\n"); diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigStatsHandler.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigStatsHandler.java index 00d2f509d67c3e75459afbc72e8e45f99501ac6a..00a384e73f711f73c44bab35ed00a7ccc52413ee 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigStatsHandler.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigStatsHandler.java @@ -102,7 +102,7 @@ public class ConfigStatsHandler extends FormHandler { } } - StringBuffer stats = new StringBuffer(); + StringBuilder stats = new StringBuilder(); for (int i = 0; i < _stats.size(); i++) { stats.append((String)_stats.get(i)); if (i + 1 < _stats.size()) diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigTunnelsHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigTunnelsHelper.java index f1a63e421ae958d03c83574dddadf39a7f52e533..d73b75765802cb92f95e224723f261790d086336 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigTunnelsHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigTunnelsHelper.java @@ -13,7 +13,7 @@ public class ConfigTunnelsHelper extends HelperBase { public String getForm() { - StringBuffer buf = new StringBuffer(1024); + StringBuilder buf = new StringBuilder(1024); buf.append("<table border=\"1\">\n"); TunnelPoolSettings exploratoryIn = _context.tunnelManager().getInboundSettings(); TunnelPoolSettings exploratoryOut = _context.tunnelManager().getOutboundSettings(); @@ -54,7 +54,7 @@ public class ConfigTunnelsHelper extends HelperBase { private static final int MAX_BACKUP_QUANTITY = 3; private static final int MAX_VARIANCE = 2; private static final int MIN_NEG_VARIANCE = -1; - private void renderForm(StringBuffer buf, int index, String prefix, String name, TunnelPoolSettings in, TunnelPoolSettings out) { + private void renderForm(StringBuilder buf, int index, String prefix, String name, TunnelPoolSettings in, TunnelPoolSettings out) { buf.append("<tr><th colspan=\"3\"><a name=\"").append(prefix).append("\">"); buf.append(name).append("</a></th></tr>\n"); @@ -179,7 +179,7 @@ public class ConfigTunnelsHelper extends HelperBase { buf.append("<tr><td colspan=\"3\"><hr /></td></tr>\n"); } - private void renderOptions(StringBuffer buf, int min, int max, int now, String prefix, String name) { + private void renderOptions(StringBuilder buf, int min, int max, int now, String prefix, String name) { for (int i = min; i <= max; i++) { buf.append("<option value=\"").append(i).append("\" "); if (i == now) diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigUpdateHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigUpdateHelper.java index 4aac71dff71fca59478df3411829fd6da64fe785..d67f63bfad4532ff45def426e03ba58876a1d421 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigUpdateHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigUpdateHelper.java @@ -58,7 +58,7 @@ public class ConfigUpdateHelper extends HelperBase { ms = Long.parseLong(freq); } catch (NumberFormatException nfe) {} - StringBuffer buf = new StringBuffer(256); + StringBuilder buf = new StringBuilder(256); buf.append("<select name=\"refreshFrequency\">"); for (int i = 0; i < PERIODS.length; i++) { buf.append("<option value=\"").append(PERIODS[i]); @@ -77,7 +77,7 @@ public class ConfigUpdateHelper extends HelperBase { public String getUpdatePolicySelectBox() { String policy = _context.getProperty(ConfigUpdateHandler.PROP_UPDATE_POLICY, ConfigUpdateHandler.DEFAULT_UPDATE_POLICY); - StringBuffer buf = new StringBuffer(256); + StringBuilder buf = new StringBuilder(256); buf.append("<select name=\"updatePolicy\">"); if ("notify".equals(policy)) diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ContentHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/ContentHelper.java index 721655a512085fe5f682db95af760d027965b6c4..795eeb26c3c9f12d9dbba810709d140c93cba76d 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ContentHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ContentHelper.java @@ -45,7 +45,7 @@ public class ContentHelper extends HelperBase { if (str == null) return ""; else { - StringBuffer sb = new StringBuffer(str.length()+11); + StringBuilder sb = new StringBuilder(str.length()+11); sb.append("<pre>"); for (int i=0; i < str.length(); i++) { char c = str.charAt(i); diff --git a/apps/routerconsole/java/src/net/i2p/router/web/FormHandler.java b/apps/routerconsole/java/src/net/i2p/router/web/FormHandler.java index e8f5e4d4231a4d9825dc780db33f24b4baca77f0..0aba83517e9e7484f3ee105101a37f32a9f2035e 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/FormHandler.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/FormHandler.java @@ -87,7 +87,7 @@ public class FormHandler { process(); if (_errors.size() <= 0 && _notices.size() <= 0) return ""; - StringBuffer buf = new StringBuffer(512); + StringBuilder buf = new StringBuilder(512); buf.append("<div class=\"messages\" id=\"messages\"><p>"); if (_errors.size() > 0) { buf.append("<span class=\"error\">"); @@ -178,7 +178,7 @@ public class FormHandler { if (source.size() <= 0) { return ""; } else { - StringBuffer buf = new StringBuffer(512); + StringBuilder buf = new StringBuilder(512); buf.append("<ul>\n"); for (int i = 0; i < source.size(); i++) { buf.append("<li>"); diff --git a/apps/routerconsole/java/src/net/i2p/router/web/LogsHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/LogsHelper.java index e7fb539ecd8a0622b540d291fe9055d25a48f074..bad1edef45a5eaa279a4f3645beb5060f02029ca 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/LogsHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/LogsHelper.java @@ -46,7 +46,7 @@ public class LogsHelper extends HelperBase { private String formatMessages(List msgs) { boolean colorize = Boolean.valueOf(_context.getProperty("routerconsole.logs.color")).booleanValue(); - StringBuffer buf = new StringBuffer(16*1024); + StringBuilder buf = new StringBuilder(16*1024); buf.append("<ul>"); buf.append("<code>\n"); for (int i = msgs.size(); i > 0; i--) { diff --git a/apps/routerconsole/java/src/net/i2p/router/web/NavHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/NavHelper.java index 2d50379f3402dac022d290471573521a11d2e79a..1ae3029326abbee92c067fac548d36075a819cd2 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/NavHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/NavHelper.java @@ -27,7 +27,7 @@ public class NavHelper extends HelperBase { } public String getClientAppLinks() { - StringBuffer buf = new StringBuffer(1024); + StringBuilder buf = new StringBuilder(1024); for (Iterator iter = _apps.keySet().iterator(); iter.hasNext(); ) { String name = (String)iter.next(); String path = (String)_apps.get(name); diff --git a/apps/routerconsole/java/src/net/i2p/router/web/NewsFetcher.java b/apps/routerconsole/java/src/net/i2p/router/web/NewsFetcher.java index 33178caf6d1c2a227a9873496cefae85383abce1..0a83f65ac7a53740490d5d01bbfc68ad9248eb34 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/NewsFetcher.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/NewsFetcher.java @@ -144,7 +144,7 @@ public class NewsFetcher implements Runnable, EepGet.StatusListener { FileInputStream in = null; try { in = new FileInputStream(_newsFile); - StringBuffer buf = new StringBuffer(128); + StringBuilder buf = new StringBuilder(128); while (DataHelper.readLine(in, buf)) { int index = buf.indexOf(VERSION_PREFIX); if (index == -1) { diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ServiceManager.java b/apps/routerconsole/java/src/net/i2p/router/web/ServiceManager.java index 493bf453fc66ea61e6433e83edd019f63ac3a801..55f104f027eee15a0696820523b4a49acd66c98d 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ServiceManager.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ServiceManager.java @@ -50,7 +50,7 @@ public class ServiceManager { // InputStream StdoutStream = _shellCommand.getInputStream(); // InputStream StderrStream = _shellCommand.getErrorStream(); - StringBuffer result = null; + StringBuilder result = null; if (_shellCommand.executeAndWait(command)) return null; diff --git a/apps/routerconsole/java/src/net/i2p/router/web/StatSummarizer.java b/apps/routerconsole/java/src/net/i2p/router/web/StatSummarizer.java index 331f42d890a2c06e2b2c95e61ddeb6494b61b3b2..15a9bf9b5c03d7dfb543f5314804653256aebcd5 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/StatSummarizer.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/StatSummarizer.java @@ -87,7 +87,7 @@ public class StatSummarizer implements Runnable { removeDb(r); } // add new ones - StringBuffer buf = new StringBuffer(); + StringBuilder buf = new StringBuilder(); for (int i = 0; i < newSpecs.size(); i++) { Rate r = (Rate)newSpecs.get(i); if (!old.contains(r)) diff --git a/apps/routerconsole/java/src/net/i2p/router/web/SummaryHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/SummaryHelper.java index bca3245482e5e2397cbf10a026e7273f60cbe1ac..f5bdd734295b9200109d9d17023b09625efefabd 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/SummaryHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/SummaryHelper.java @@ -344,7 +344,7 @@ public class SummaryHelper extends HelperBase { List clients = new ArrayList(_context.clientManager().listClients()); Collections.sort(clients, new AlphaComparator()); - StringBuffer buf = new StringBuffer(512); + StringBuilder buf = new StringBuilder(512); buf.append("<u><b>Local destinations</b></u><br />"); for (Iterator iter = clients.iterator(); iter.hasNext(); ) { diff --git a/apps/routerconsole/java/src/net/i2p/router/web/UpdateHandler.java b/apps/routerconsole/java/src/net/i2p/router/web/UpdateHandler.java index 1bcdc6ffbaad287ce20813839856a8822e06970b..257e93f1245e91e6dc237d1f8f2227e31379600b 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/UpdateHandler.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/UpdateHandler.java @@ -156,7 +156,7 @@ public class UpdateHandler { // ignored } public void bytesTransferred(long alreadyTransferred, int currentWrite, long bytesTransferred, long bytesRemaining, String url) { - StringBuffer buf = new StringBuffer(64); + StringBuilder buf = new StringBuilder(64); buf.append("<b>Updating</b> "); double pct = ((double)alreadyTransferred + (double)currentWrite) / ((double)alreadyTransferred + (double)currentWrite + (double)bytesRemaining); diff --git a/apps/routerconsole/jsp/configkeyring.jsp b/apps/routerconsole/jsp/configkeyring.jsp index 1aa40408b2436ef47c01788681f7477f87859b68..65c0638f401827f5db6e93b00e8ec28fbc5b5688 100644 --- a/apps/routerconsole/jsp/configkeyring.jsp +++ b/apps/routerconsole/jsp/configkeyring.jsp @@ -43,7 +43,7 @@ <p> <table> <tr><td>Dest. name, hash, or full key: - <td><textarea name="peer" cols="44" rows="1" wrap="off"></textarea> + <td><textarea name="peer" cols="44" rows="1" style="height: 3em;" wrap="off"></textarea> <tr><td align="right">Session Key: <td><input type="text" size="55" name="key" /> <tr><td><td><input type="submit" name="action" value="Add key" /> diff --git a/apps/sam/java/src/net/i2p/sam/SAMUtils.java b/apps/sam/java/src/net/i2p/sam/SAMUtils.java index 61578e333fb82d022992be794c9785e02a1acd8f..859154c4f8eeac606ba1658e50670f17dc39c151 100644 --- a/apps/sam/java/src/net/i2p/sam/SAMUtils.java +++ b/apps/sam/java/src/net/i2p/sam/SAMUtils.java @@ -155,7 +155,7 @@ public class SAMUtils { String token, param; Properties props = new Properties(); - StringBuffer value = new StringBuffer(); + StringBuilder value = new StringBuilder(); for (int i = 0; i < ntoks; ++i) { token = tok.nextToken(); diff --git a/apps/streaming/java/src/net/i2p/client/streaming/Connection.java b/apps/streaming/java/src/net/i2p/client/streaming/Connection.java index e6d99c473137b7a3f87d3807979cf71f92ab67a6..94ec5532c1fbb12977b7c64e9d94d6b98ac4c746 100644 --- a/apps/streaming/java/src/net/i2p/client/streaming/Connection.java +++ b/apps/streaming/java/src/net/i2p/client/streaming/Connection.java @@ -899,7 +899,7 @@ public class Connection { if (_log.shouldLog(Log.WARN)) _log.warn("Closing connection due to inactivity"); if (_log.shouldLog(Log.DEBUG)) { - StringBuffer buf = new StringBuffer(128); + StringBuilder buf = new StringBuilder(128); buf.append("last sent was: ").append(_context.clock().now() - _lastSendTime); buf.append("ms ago, last received was: ").append(_context.clock().now()-_lastReceivedOn); buf.append("ms ago, inactivity timeout is: ").append(_options.getInactivityTimeout()); @@ -934,7 +934,7 @@ public class Connection { @Override public String toString() { - StringBuffer buf = new StringBuffer(128); + StringBuilder buf = new StringBuilder(128); buf.append("[Connection "); if (_receiveStreamId > 0) buf.append(Packet.toId(_receiveStreamId)); diff --git a/apps/streaming/java/src/net/i2p/client/streaming/ConnectionOptions.java b/apps/streaming/java/src/net/i2p/client/streaming/ConnectionOptions.java index 740fdcf8297380102e3d822c181ccd98df90ae68..c7084b4e72d29c79eb41410ad6d55b4572cfec39 100644 --- a/apps/streaming/java/src/net/i2p/client/streaming/ConnectionOptions.java +++ b/apps/streaming/java/src/net/i2p/client/streaming/ConnectionOptions.java @@ -475,7 +475,7 @@ public class ConnectionOptions extends I2PSocketOptionsImpl { @Override public String toString() { - StringBuffer buf = new StringBuffer(128); + StringBuilder buf = new StringBuilder(128); buf.append("conDelay=").append(_connectDelay); buf.append(" maxSize=").append(_maxMessageSize); buf.append(" rtt=").append(_rtt); diff --git a/apps/streaming/java/src/net/i2p/client/streaming/MessageInputStream.java b/apps/streaming/java/src/net/i2p/client/streaming/MessageInputStream.java index 7b87e55836be77ad93c7c8f079cc9f3edd0df018..ad4795c07918126abef625f181895d30f6620664 100644 --- a/apps/streaming/java/src/net/i2p/client/streaming/MessageInputStream.java +++ b/apps/streaming/java/src/net/i2p/client/streaming/MessageInputStream.java @@ -174,7 +174,7 @@ public class MessageInputStream extends InputStream { public void closeReceived() { synchronized (_dataLock) { if (_log.shouldLog(Log.DEBUG)) { - StringBuffer buf = new StringBuffer(128); + StringBuilder buf = new StringBuilder(128); buf.append("Close received, ready bytes: "); long available = 0; for (int i = 0; i < _readyDataBlocks.size(); i++) diff --git a/apps/streaming/java/src/net/i2p/client/streaming/Packet.java b/apps/streaming/java/src/net/i2p/client/streaming/Packet.java index 8fc0f02fa22688c62e6d493cb3bf3af22af1a15b..2a6ae59ad1b4dcf6dc2224b94a450f5b7290a270 100644 --- a/apps/streaming/java/src/net/i2p/client/streaming/Packet.java +++ b/apps/streaming/java/src/net/i2p/client/streaming/Packet.java @@ -598,12 +598,12 @@ public class Packet { @Override public String toString() { - StringBuffer str = formatAsString(); + StringBuilder str = formatAsString(); return str.toString(); } - protected StringBuffer formatAsString() { - StringBuffer buf = new StringBuffer(64); + protected StringBuilder formatAsString() { + StringBuilder buf = new StringBuilder(64); buf.append(toId(_sendStreamId)); //buf.append("<-->"); buf.append(toId(_receiveStreamId)).append(": #").append(_sequenceNum); @@ -629,7 +629,7 @@ public class Packet { } private final String toFlagString() { - StringBuffer buf = new StringBuffer(32); + StringBuilder buf = new StringBuilder(32); if (isFlagSet(FLAG_CLOSE)) buf.append(" CLOSE"); if (isFlagSet(FLAG_DELAY_REQUESTED)) buf.append(" DELAY ").append(_optionDelay); if (isFlagSet(FLAG_ECHO)) buf.append(" ECHO"); diff --git a/apps/streaming/java/src/net/i2p/client/streaming/PacketHandler.java b/apps/streaming/java/src/net/i2p/client/streaming/PacketHandler.java index ff43293a0e0fad57ceac0cec811cc39881e4fca4..bbb5a9536aeb02b8a5dc50532a8d11a4283ccc03 100644 --- a/apps/streaming/java/src/net/i2p/client/streaming/PacketHandler.java +++ b/apps/streaming/java/src/net/i2p/client/streaming/PacketHandler.java @@ -112,7 +112,7 @@ public class PacketHandler { private static final SimpleDateFormat _fmt = new SimpleDateFormat("HH:mm:ss.SSS"); void displayPacket(Packet packet, String prefix, String suffix) { if (!_log.shouldLog(Log.INFO)) return; - StringBuffer buf = new StringBuffer(256); + StringBuilder buf = new StringBuilder(256); synchronized (_fmt) { buf.append(_fmt.format(new Date())); } @@ -198,7 +198,7 @@ public class PacketHandler { // someone is sending us a packet on the wrong stream if (_log.shouldLog(Log.ERROR)) { Set cons = _manager.listConnections(); - StringBuffer buf = new StringBuffer(512); + StringBuilder buf = new StringBuilder(512); buf.append("Received a packet on the wrong stream: "); buf.append(packet); buf.append(" connection: "); @@ -275,7 +275,7 @@ public class PacketHandler { _log.warn("Packet belongs to no other cons, putting on the syn queue: " + packet); } if (_log.shouldLog(Log.DEBUG)) { - StringBuffer buf = new StringBuffer(128); + StringBuilder buf = new StringBuilder(128); Set cons = _manager.listConnections(); for (Iterator iter = cons.iterator(); iter.hasNext(); ) { Connection con = (Connection)iter.next(); diff --git a/apps/streaming/java/src/net/i2p/client/streaming/PacketLocal.java b/apps/streaming/java/src/net/i2p/client/streaming/PacketLocal.java index 827be5b04fb6e035629c582a533716eae2eea625..9ed29b50fb21aca3d865fd281838246ef0926364 100644 --- a/apps/streaming/java/src/net/i2p/client/streaming/PacketLocal.java +++ b/apps/streaming/java/src/net/i2p/client/streaming/PacketLocal.java @@ -133,8 +133,8 @@ public class PacketLocal extends Packet implements MessageOutputStream.WriteStat public void setResendPacketEvent(SimpleTimer2.TimedEvent evt) { _resendEvent = evt; } @Override - public StringBuffer formatAsString() { - StringBuffer buf = super.formatAsString(); + public StringBuilder formatAsString() { + StringBuilder buf = super.formatAsString(); Connection con = _connection; if (con != null) diff --git a/apps/susidns/src/java/src/i2p/susi/dns/ConfigBean.java b/apps/susidns/src/java/src/i2p/susi/dns/ConfigBean.java index 8cddafdc42c624e030b16e4916c0eb3d5def1a7d..7dad7a25006a68ee7d42af425825d8a7aa2d4bd6 100644 --- a/apps/susidns/src/java/src/i2p/susi/dns/ConfigBean.java +++ b/apps/susidns/src/java/src/i2p/susi/dns/ConfigBean.java @@ -83,7 +83,7 @@ public class ConfigBean implements Serializable { { File file = new File( configFileName ); if( file != null && file.isFile() ) { - StringBuffer buf = new StringBuffer(); + StringBuilder buf = new StringBuilder(); BufferedReader br = null; try { br = new BufferedReader( new FileReader( file ) ); diff --git a/apps/susidns/src/java/src/i2p/susi/dns/SubscriptionsBean.java b/apps/susidns/src/java/src/i2p/susi/dns/SubscriptionsBean.java index 9d16701f90dd4247e32be0a7d398fcac578b7ecd..56a42208b31345063f4810194e8e25cfd47ef565 100644 --- a/apps/susidns/src/java/src/i2p/susi/dns/SubscriptionsBean.java +++ b/apps/susidns/src/java/src/i2p/susi/dns/SubscriptionsBean.java @@ -86,7 +86,7 @@ public class SubscriptionsBean { File file = new File( getFileName() ); if( file != null && file.isFile() ) { - StringBuffer buf = new StringBuffer(); + StringBuilder buf = new StringBuilder(); BufferedReader br = null; try { br = new BufferedReader( new FileReader( file ) ); diff --git a/apps/susidns/src/jsp/addressbook.jsp b/apps/susidns/src/jsp/addressbook.jsp index d3cf0c3b4f140ddc4f63ed7766bf3ab9845c52db..cb3eb32c5dd1a46d31454b992eacf6f737620c69 100644 --- a/apps/susidns/src/jsp/addressbook.jsp +++ b/apps/susidns/src/jsp/addressbook.jsp @@ -143,7 +143,7 @@ <td class="names"><a href="http://${addr.name}/">${addr.name}</a> - <span class="addrhlpr"><a href="http://${addr.name}/?i2paddresshelper=${addr.destination}">(addrhlpr)</a></span> </td> -<td class="destinations"><textarea rows="1" cols="40" wrap="off" readonly="readonly" name="dest_${addr.name}" >${addr.destination}</textarea></td> +<td class="destinations"><textarea rows="1" style="height: 3em;" cols="40" wrap="off" readonly="readonly" name="dest_${addr.name}" >${addr.destination}</textarea></td> </tr> </c:forEach> </table> @@ -168,7 +168,7 @@ <p class="add"> <h3>Add new destination:</h3> <b>Hostname:</b> <input type="text" name="hostname" value="${book.hostname}" size="20"> -<b>Destination:</b> <textarea name="destination" rows="1" cols="40" wrap="off" >${book.destination}</textarea><br/> +<b>Destination:</b> <textarea name="destination" rows="1" style="height: 3em;" cols="40" wrap="off" >${book.destination}</textarea><br/> </p><p> <input type="image" name="action" value="add" src="images/add.png" alt="Add destination" /> </p> diff --git a/apps/susimail/src/src/i2p/susi/webmail/Mail.java b/apps/susimail/src/src/i2p/susi/webmail/Mail.java index a60f9b93c59620731bc46e3cc282fce69ce3e324..80f6d67bffffb5d954f62a0cb163638a4eed1c81 100644 --- a/apps/susimail/src/src/i2p/susi/webmail/Mail.java +++ b/apps/susimail/src/src/i2p/susi/webmail/Mail.java @@ -142,7 +142,7 @@ public class Mail { } return ok; } - public static void appendRecipients( StringBuffer buf, ArrayList recipients, String prefix ) + public static void appendRecipients( StringBuilder buf, ArrayList recipients, String prefix ) { for( Iterator it = recipients.iterator(); it.hasNext(); ) { buf.append( prefix ); diff --git a/apps/susimail/src/src/i2p/susi/webmail/WebMail.java b/apps/susimail/src/src/i2p/susi/webmail/WebMail.java index 6e9fad1c5ed4f9cd63b0cd2b825e17432fc807f6..8d3086c746eb23f0f89c345d88fa1e7f0bce1242 100644 --- a/apps/susimail/src/src/i2p/susi/webmail/WebMail.java +++ b/apps/susimail/src/src/i2p/susi/webmail/WebMail.java @@ -444,7 +444,7 @@ public class WebMail extends HttpServlet boolean showBody = false; boolean prepareAttachment = false; String reason = ""; - StringBuffer body = null; + StringBuilder body = null; String ident = quoteHTML( ( mailPart.description != null ? mailPart.description + ", " : "" ) + @@ -485,7 +485,7 @@ public class WebMail extends HttpServlet try { ReadBuffer decoded = e.decode( mailPart.buffer.content, mailPart.beginBody, mailPart.end - mailPart.beginBody ); BufferedReader reader = new BufferedReader( new InputStreamReader( new ByteArrayInputStream( decoded.content, decoded.offset, decoded.length ), charset ) ); - body = new StringBuffer(); + body = new StringBuilder(); String line; while( ( line = reader.readLine() ) != null ) { body.append( quoteHTML( line ) ); @@ -782,7 +782,7 @@ public class WebMail extends HttpServlet /* * extract additional recipients */ - StringBuffer buf = new StringBuffer(); + StringBuilder buf = new StringBuilder(); String pad = ""; if( mail.to != null ) { for( int i = 0; i < mail.to.length; i++ ) { @@ -1429,7 +1429,7 @@ public class WebMail extends HttpServlet } if( ok ) { - StringBuffer body = new StringBuffer(); + StringBuilder body = new StringBuilder(); body.append( "From: " + from + "\r\n" ); Mail.appendRecipients( body, toList, "To: " ); Mail.appendRecipients( body, ccList, "To: " ); diff --git a/apps/susimail/src/src/i2p/susi/webmail/encoding/Base64.java b/apps/susimail/src/src/i2p/susi/webmail/encoding/Base64.java index f9d47152b0e53c908ae30462a950b149542f81f3..b6c8ffaf5a93082b333451122921f0c80450dfc0 100644 --- a/apps/susimail/src/src/i2p/susi/webmail/encoding/Base64.java +++ b/apps/susimail/src/src/i2p/susi/webmail/encoding/Base64.java @@ -70,7 +70,7 @@ public class Base64 implements Encoding { */ private String encode( InputStream in ) throws IOException, EncodingException { - StringBuffer strBuf = new StringBuffer(); + StringBuilder strBuf = new StringBuilder(); int buf[] = new int[3]; int out[] = new int[4]; diff --git a/apps/susimail/src/src/i2p/susi/webmail/encoding/HeaderLine.java b/apps/susimail/src/src/i2p/susi/webmail/encoding/HeaderLine.java index 9eca318fb275fa8677147e7d5e408f0204362b56..96dab529520a2d5870ef862191235166eff70c72 100644 --- a/apps/susimail/src/src/i2p/susi/webmail/encoding/HeaderLine.java +++ b/apps/susimail/src/src/i2p/susi/webmail/encoding/HeaderLine.java @@ -55,7 +55,7 @@ public class HeaderLine implements Encoding { private static final int BUFSIZE = 2; private String encode(InputStream in) throws IOException { - StringBuffer out = new StringBuffer(); + StringBuilder out = new StringBuilder(); int l = 0, buffered = 0, tmp[] = new int[BUFSIZE]; boolean quoting = false; boolean quote = false; diff --git a/apps/susimail/src/src/i2p/susi/webmail/encoding/QuotedPrintable.java b/apps/susimail/src/src/i2p/susi/webmail/encoding/QuotedPrintable.java index f42d3ecea376a142e8cd44f9ac501d796125ed8d..5a98c6a05b4dc6286379a42dfbb3c58c5e620cb7 100644 --- a/apps/susimail/src/src/i2p/susi/webmail/encoding/QuotedPrintable.java +++ b/apps/susimail/src/src/i2p/susi/webmail/encoding/QuotedPrintable.java @@ -69,7 +69,7 @@ public class QuotedPrintable implements Encoding { */ private static int BUFSIZE = 2; private String encode( InputStream in ) throws EncodingException, IOException { - StringBuffer out = new StringBuffer(); + StringBuilder out = new StringBuilder(); int l = 0; int read = 0, buffered = 0, tmp[] = new int[BUFSIZE]; while( true ) { diff --git a/core/java/src/com/nettgryppa/security/HashCash.java b/core/java/src/com/nettgryppa/security/HashCash.java index 7d4e16e92736aff15022d4e3e3fd171c0750e414..6cee4c935e2d7ce6ce6d033fa722bdf6e1c8370f 100644 --- a/core/java/src/com/nettgryppa/security/HashCash.java +++ b/core/java/src/com/nettgryppa/security/HashCash.java @@ -323,7 +323,7 @@ private static long bytesToLong(byte[] b) { if(null == extensions || extensions.isEmpty()) return ""; - StringBuffer result = new StringBuffer(); + StringBuilder result = new StringBuilder(); List<String> tempList; boolean first = true; diff --git a/core/java/src/freenet/support/CPUInformation/CPUID.java b/core/java/src/freenet/support/CPUInformation/CPUID.java index e145c3795f5451462439cccbc60dc6df8027f5d4..378791ccf6edfa1d7a79339e76ad13cfe195460f 100644 --- a/core/java/src/freenet/support/CPUInformation/CPUID.java +++ b/core/java/src/freenet/support/CPUInformation/CPUID.java @@ -74,7 +74,7 @@ public class CPUID { private static String getCPUVendorID() { CPUIDResult c = doCPUID(0); - StringBuffer sb= new StringBuffer(13); + StringBuilder sb= new StringBuilder(13); sb.append((char)( c.EBX & 0xFF)); sb.append((char)((c.EBX >> 8) & 0xFF)); sb.append((char)((c.EBX >> 16) & 0xFF)); diff --git a/core/java/src/net/i2p/client/naming/PetName.java b/core/java/src/net/i2p/client/naming/PetName.java index 128fb9811da05b53bb9270535ce0370050ba7cd6..38d27b60837c893e9acbb3822457dca992b59435 100644 --- a/core/java/src/net/i2p/client/naming/PetName.java +++ b/core/java/src/net/i2p/client/naming/PetName.java @@ -124,7 +124,7 @@ public class PetName { @Override public String toString() { - StringBuffer buf = new StringBuffer(256); + StringBuilder buf = new StringBuilder(256); if (_name != null) buf.append(_name.trim()); buf.append(':'); if (_network != null) buf.append(_network.trim()); diff --git a/core/java/src/net/i2p/crypto/ElGamalEngine.java b/core/java/src/net/i2p/crypto/ElGamalEngine.java index 8733e26cf388f1d930fc0cb067ad5577a1ca3cc3..ae82613c703d58d916761d13c429973ca9f7a4ff 100644 --- a/core/java/src/net/i2p/crypto/ElGamalEngine.java +++ b/core/java/src/net/i2p/crypto/ElGamalEngine.java @@ -130,7 +130,7 @@ public class ElGamalEngine { System.arraycopy(dbytes, 0, out, (dbytes.length < 257 ? 514 - dbytes.length : 257), (dbytes.length > 257 ? 257 : dbytes.length)); /* - StringBuffer buf = new StringBuffer(1024); + StringBuilder buf = new StringBuilder(1024); buf.append("Timing\n"); buf.append("0-1: ").append(t1 - t0).append('\n'); buf.append("1-2: ").append(t2 - t1).append('\n'); diff --git a/core/java/src/net/i2p/crypto/SHA1Test.java b/core/java/src/net/i2p/crypto/SHA1Test.java index de1bf1b8190d0e2cee90a9edf4e464bb3a40d278..2c532c5cdee1742581fc544caf0869d27eebe31c 100644 --- a/core/java/src/net/i2p/crypto/SHA1Test.java +++ b/core/java/src/net/i2p/crypto/SHA1Test.java @@ -179,7 +179,7 @@ public class SHA1Test { } private static final String toHex(final byte[] bytes) { - StringBuffer buf = new StringBuffer(bytes.length * 2); + StringBuilder buf = new StringBuilder(bytes.length * 2); for (int i = 0; i < bytes.length; i++) { if ((i & 3) == 0 && i != 0) buf.append(' '); diff --git a/core/java/src/net/i2p/crypto/TransientSessionKeyManager.java b/core/java/src/net/i2p/crypto/TransientSessionKeyManager.java index 9bda56119f28cd0907e8bc198d1519c9d712c384..f9661240b9414a04b1442b10b2d3782a5d35a7e3 100644 --- a/core/java/src/net/i2p/crypto/TransientSessionKeyManager.java +++ b/core/java/src/net/i2p/crypto/TransientSessionKeyManager.java @@ -452,12 +452,12 @@ public class TransientSessionKeyManager extends SessionKeyManager { int removed = 0; int remaining = 0; long now = _context.clock().now(); - StringBuffer buf = null; - StringBuffer bufSummary = null; + StringBuilder buf = null; + StringBuilder bufSummary = null; if (_log.shouldLog(Log.DEBUG)) { - buf = new StringBuffer(128); + buf = new StringBuilder(128); buf.append("Expiring inbound: "); - bufSummary = new StringBuffer(1024); + bufSummary = new StringBuilder(1024); } synchronized (_inboundTagSets) { for (Iterator<SessionTag> iter = _inboundTagSets.keySet().iterator(); iter.hasNext();) { @@ -500,7 +500,7 @@ public class TransientSessionKeyManager extends SessionKeyManager { } public String renderStatusHTML() { - StringBuffer buf = new StringBuffer(1024); + StringBuilder buf = new StringBuilder(1024); buf.append("<h2>Inbound sessions</h2>"); buf.append("<table border=\"1\">"); Set<TagSet> inbound = getInboundTagSets(); diff --git a/core/java/src/net/i2p/crypto/TrustedUpdate.java b/core/java/src/net/i2p/crypto/TrustedUpdate.java index 469809beb98d37fd4f0797aead2acb44f87b5e14..1024421567bf78f432989d3c2e456ca327b04960 100644 --- a/core/java/src/net/i2p/crypto/TrustedUpdate.java +++ b/core/java/src/net/i2p/crypto/TrustedUpdate.java @@ -255,16 +255,16 @@ D8usM7Dxp5yrDrCYZ5AIijc= } private static final String sanitize(String versionString) { - StringBuffer versionStringBuffer = new StringBuffer(versionString); + StringBuilder versionStringBuilder = new StringBuilder(versionString); - for (int i = 0; i < versionStringBuffer.length(); i++) { - if (VALID_VERSION_CHARS.indexOf(versionStringBuffer.charAt(i)) == -1) { - versionStringBuffer.deleteCharAt(i); + for (int i = 0; i < versionStringBuilder.length(); i++) { + if (VALID_VERSION_CHARS.indexOf(versionStringBuilder.charAt(i)) == -1) { + versionStringBuilder.deleteCharAt(i); i--; } } - return versionStringBuffer.toString(); + return versionStringBuilder.toString(); } private static final void showUsageCLI() { @@ -328,7 +328,7 @@ D8usM7Dxp5yrDrCYZ5AIijc= * delimited by CR LF line breaks. */ public String getTrustedKeysString() { - StringBuffer buf = new StringBuffer(1024); + StringBuilder buf = new StringBuilder(1024); for (int i = 0; i < _trustedKeys.size(); i++) { // If something already buffered, first add line break. if (buf.length() > 0) buf.append("\r\n"); diff --git a/core/java/src/net/i2p/data/Address.java b/core/java/src/net/i2p/data/Address.java index 205c448ff0de60df1db8a676c6a01f927a752b3a..3a69a232f3d0c42ad8d7424f56e5e01fa958ab5f 100644 --- a/core/java/src/net/i2p/data/Address.java +++ b/core/java/src/net/i2p/data/Address.java @@ -73,7 +73,7 @@ public class Address extends DataStructureImpl { @Override public String toString() { - StringBuffer buf = new StringBuffer(64); + StringBuilder buf = new StringBuilder(64); buf.append("[Address: "); buf.append("\n\tHostname: ").append(getHostname()); buf.append("\n\tDestination: ").append(getDestination()); diff --git a/core/java/src/net/i2p/data/Base32.java b/core/java/src/net/i2p/data/Base32.java index b2cc2d548306d42693e852fb8cb1ac518075067b..adb7e9196c0f014d28290764ef98b9736581d22d 100644 --- a/core/java/src/net/i2p/data/Base32.java +++ b/core/java/src/net/i2p/data/Base32.java @@ -137,7 +137,7 @@ public class Base32 { } public static String encode(byte[] source) { - StringBuffer buf = new StringBuffer((source.length + 7) * 8 / 5); + StringBuilder buf = new StringBuilder((source.length + 7) * 8 / 5); encodeBytes(source, buf); return buf.toString(); } @@ -149,7 +149,7 @@ public class Base32 { * * @param source The data to convert */ - private static void encodeBytes(byte[] source, StringBuffer out) { + private static void encodeBytes(byte[] source, StringBuilder out) { int usedbits = 0; for (int i = 0; i < source.length; ) { int fivebits; diff --git a/core/java/src/net/i2p/data/Base64.java b/core/java/src/net/i2p/data/Base64.java index 58ec48d24744aef6acffceb5241bf5dcd8134a02..2b9fe85e6f6c6ed16416368eb24cd3bf6cc0c06a 100644 --- a/core/java/src/net/i2p/data/Base64.java +++ b/core/java/src/net/i2p/data/Base64.java @@ -330,7 +330,7 @@ public class Base64 { } // end switch } // end encode3to4 - private static void encode3to4(byte[] source, int srcOffset, int numSigBytes, StringBuffer buf, byte alpha[]) { + private static void encode3to4(byte[] source, int srcOffset, int numSigBytes, StringBuilder buf, byte alpha[]) { // 1 2 3 // 01234567890123456789012345678901 Bit position // --------000000001111111122222222 Array position from threeBytes @@ -394,7 +394,7 @@ public class Base64 { private static String safeEncode(byte[] source, int off, int len, boolean useStandardAlphabet) { if (len + off > source.length) throw new ArrayIndexOutOfBoundsException("Trying to encode too much! source.len=" + source.length + " off=" + off + " len=" + len); - StringBuffer buf = new StringBuffer(len * 4 / 3); + StringBuilder buf = new StringBuilder(len * 4 / 3); if (useStandardAlphabet) encodeBytes(source, off, len, false, buf, ALPHABET); else @@ -446,7 +446,7 @@ public class Base64 { ******/ private static String encodeBytes(byte[] source, int off, int len, boolean breakLines) { - StringBuffer buf = new StringBuffer( (len*4)/3 ); + StringBuilder buf = new StringBuilder( (len*4)/3 ); encodeBytes(source, off, len, breakLines, buf, ALPHABET); return buf.toString(); } @@ -460,7 +460,7 @@ public class Base64 { * @param breakLines Break lines at 80 characters or less. * @since 1.4 */ - private static void encodeBytes(byte[] source, int off, int len, boolean breakLines, StringBuffer out, byte alpha[]) { + private static void encodeBytes(byte[] source, int off, int len, boolean breakLines, StringBuilder out, byte alpha[]) { //int len43 = len * 4 / 3; //byte[] outBuff = new byte[(len43) // Main 4:3 // + ((len % 3) > 0 ? 4 : 0) // Account for padding diff --git a/core/java/src/net/i2p/data/Certificate.java b/core/java/src/net/i2p/data/Certificate.java index 0d89fcdd886b0aedb6e49155785e8bdce098b8f3..9dcc431e520c1caf5403165f4e3cdc10aad3cd23 100644 --- a/core/java/src/net/i2p/data/Certificate.java +++ b/core/java/src/net/i2p/data/Certificate.java @@ -149,7 +149,7 @@ public class Certificate extends DataStructureImpl { } @Override public String toString() { - StringBuffer buf = new StringBuffer(64); + StringBuilder buf = new StringBuilder(64); buf.append("[Certificate: type: "); if (getCertificateType() == CERTIFICATE_TYPE_NULL) buf.append("Null certificate"); diff --git a/core/java/src/net/i2p/data/DataHelper.java b/core/java/src/net/i2p/data/DataHelper.java index 53e32a347e85d42c584e7bd822e87524fd17e64f..b3806d1b9f873312538bd313f06226fd3d4fb459 100644 --- a/core/java/src/net/i2p/data/DataHelper.java +++ b/core/java/src/net/i2p/data/DataHelper.java @@ -196,7 +196,7 @@ public class DataHelper { * */ public static String toString(Properties options) { - StringBuffer buf = new StringBuffer(); + StringBuilder buf = new StringBuilder(); if (options != null) { for (Iterator iter = options.keySet().iterator(); iter.hasNext();) { String key = (String) iter.next(); @@ -273,7 +273,7 @@ public class DataHelper { * */ public static String toString(Collection col) { - StringBuffer buf = new StringBuffer(); + StringBuilder buf = new StringBuilder(); if (col != null) { for (Iterator iter = col.iterator(); iter.hasNext();) { Object o = iter.next(); @@ -296,17 +296,17 @@ public class DataHelper { public static String toString(byte buf[], int len) { if (buf == null) buf = EMPTY_BUFFER; - StringBuffer out = new StringBuffer(); + StringBuilder out = new StringBuilder(); if (len > buf.length) { for (int i = 0; i < len - buf.length; i++) out.append("00"); } for (int i = 0; i < buf.length && i < len; i++) { - StringBuffer temp = new StringBuffer(Integer.toHexString(buf[i])); + StringBuilder temp = new StringBuilder(Integer.toHexString(buf[i])); while (temp.length() < 2) { temp.insert(0, '0'); } - temp = new StringBuffer(temp.substring(temp.length() - 2)); + temp = new StringBuilder(temp.substring(temp.length() - 2)); out.append(temp.toString()); } return out.toString(); @@ -775,19 +775,27 @@ public class DataHelper { /** * Read a newline delimited line from the stream, returning the line (without * the newline), or null if EOF reached before the newline was found + * Warning - strips \n but not \r */ public static String readLine(InputStream in) throws IOException { return readLine(in, (Sha256Standalone)null); } - /** update the hash along the way */ + + /** + * update the hash along the way + * Warning - strips \n but not \r + */ public static String readLine(InputStream in, Sha256Standalone hash) throws IOException { - StringBuffer buf = new StringBuffer(128); + StringBuilder buf = new StringBuilder(128); boolean ok = readLine(in, buf, hash); if (ok) return buf.toString(); else return null; } + /** * Read in a line, placing it into the buffer (excluding the newline). + * Warning - strips \n but not \r + * @deprecated use StringBuilder version * * @return true if the line was read, false if eof was reached before a * newline was found @@ -795,7 +803,12 @@ public class DataHelper { public static boolean readLine(InputStream in, StringBuffer buf) throws IOException { return readLine(in, buf, null); } - /** update the hash along the way */ + + /** + * update the hash along the way + * Warning - strips \n but not \r + * @deprecated use StringBuilder version + */ public static boolean readLine(InputStream in, StringBuffer buf, Sha256Standalone hash) throws IOException { int c = -1; while ( (c = in.read()) != -1) { @@ -810,6 +823,32 @@ public class DataHelper { return true; } + /** + * Read in a line, placing it into the buffer (excluding the newline). + * Warning - strips \n but not \r + * + * @return true if the line was read, false if eof was reached before a + * newline was found + */ + public static boolean readLine(InputStream in, StringBuilder buf) throws IOException { + return readLine(in, buf, null); + } + + /** + * update the hash along the way + * Warning - strips \n but not \r + */ + public static boolean readLine(InputStream in, StringBuilder buf, Sha256Standalone hash) throws IOException { + int c = -1; + while ( (c = in.read()) != -1) { + if (hash != null) hash.update((byte)c); + if (c == '\n') + break; + buf.append((char)c); + } + return c != -1; + } + public static void write(OutputStream out, byte data[], Sha256Standalone hash) throws IOException { hash.update(data); out.write(data); diff --git a/core/java/src/net/i2p/data/Destination.java b/core/java/src/net/i2p/data/Destination.java index 791dc12098d9aebbad62b748456cd94f4efa7b02..5946056b386559bb5b06b6d9f393472b2bfea467 100644 --- a/core/java/src/net/i2p/data/Destination.java +++ b/core/java/src/net/i2p/data/Destination.java @@ -145,7 +145,7 @@ public class Destination extends DataStructureImpl { @Override public String toString() { - StringBuffer buf = new StringBuffer(128); + StringBuilder buf = new StringBuilder(128); buf.append("[Destination: "); buf.append("\n\tHash: ").append(calculateHash().toBase64()); buf.append("\n\tPublic Key: ").append(getPublicKey()); diff --git a/core/java/src/net/i2p/data/Hash.java b/core/java/src/net/i2p/data/Hash.java index e986b2b5d4ad9b4b55bd93221f5bf9eff49c9579..c04bc62c4bab9b4372beded2f013cf6ff92e9ab2 100644 --- a/core/java/src/net/i2p/data/Hash.java +++ b/core/java/src/net/i2p/data/Hash.java @@ -104,7 +104,7 @@ public class Hash extends DataStructureImpl { } if (_log.shouldLog(Log.DEBUG)) { // explicit buffer, since the compiler can't guess how long it'll be - StringBuffer buf = new StringBuffer(128); + StringBuilder buf = new StringBuilder(128); buf.append("miss [").append(cached).append("] from "); buf.append(DataHelper.toHexString(getData())).append(" to "); buf.append(DataHelper.toHexString(key.getData())); @@ -113,7 +113,7 @@ public class Hash extends DataStructureImpl { } else { if (_log.shouldLog(Log.DEBUG)) { // explicit buffer, since the compiler can't guess how long it'll be - StringBuffer buf = new StringBuffer(128); + StringBuilder buf = new StringBuilder(128); buf.append("hit from "); buf.append(DataHelper.toHexString(getData())).append(" to "); buf.append(DataHelper.toHexString(key.getData())); @@ -155,7 +155,7 @@ public class Hash extends DataStructureImpl { @Override public String toString() { if (_stringified == null) { - StringBuffer buf = new StringBuffer(64); + StringBuilder buf = new StringBuilder(64); buf.append("[Hash: "); if (_data == null) { buf.append("null hash"); diff --git a/core/java/src/net/i2p/data/Lease.java b/core/java/src/net/i2p/data/Lease.java index 5f7b3159e28ac43ee1c6778595a2108cf6e3db82..eb22d64cfe9ef3bacc08cd7ca46a5797c8b63c4a 100644 --- a/core/java/src/net/i2p/data/Lease.java +++ b/core/java/src/net/i2p/data/Lease.java @@ -147,7 +147,7 @@ public class Lease extends DataStructureImpl { @Override public String toString() { - StringBuffer buf = new StringBuffer(128); + StringBuilder buf = new StringBuilder(128); buf.append("[Lease: "); buf.append("\n\tEnd Date: ").append(getEndDate()); buf.append("\n\tGateway: ").append(getGateway()); diff --git a/core/java/src/net/i2p/data/LeaseSet.java b/core/java/src/net/i2p/data/LeaseSet.java index 66d10da94471cf3bbcea595eb8e6246fc23be417..3dcbf97a6addeef00c518c938af5554ddba2c757 100644 --- a/core/java/src/net/i2p/data/LeaseSet.java +++ b/core/java/src/net/i2p/data/LeaseSet.java @@ -355,7 +355,7 @@ public class LeaseSet extends DataStructureImpl { @Override public String toString() { - StringBuffer buf = new StringBuffer(128); + StringBuilder buf = new StringBuilder(128); buf.append("[LeaseSet: "); buf.append("\n\tDestination: ").append(getDestination()); buf.append("\n\tEncryptionKey: ").append(getEncryptionKey()); diff --git a/core/java/src/net/i2p/data/Payload.java b/core/java/src/net/i2p/data/Payload.java index 2c730a2365408aa63934683183629046c4a51c05..5f3af7c16600a7004076de0ad0d449965ca3af57 100644 --- a/core/java/src/net/i2p/data/Payload.java +++ b/core/java/src/net/i2p/data/Payload.java @@ -108,7 +108,7 @@ public class Payload extends DataStructureImpl { @Override public String toString() { if (true) return "[Payload]"; - StringBuffer buf = new StringBuffer(128); + StringBuilder buf = new StringBuilder(128); buf.append("[Payload: "); if (getUnencryptedData() != null) buf.append("\n\tData: ").append(DataHelper.toString(getUnencryptedData(), 16)); diff --git a/core/java/src/net/i2p/data/PrivateKey.java b/core/java/src/net/i2p/data/PrivateKey.java index e6c06dfd25b93d9b6811d1228be15a87d3dc4f92..7ea047314439b4110ed84960a3e800636331781e 100644 --- a/core/java/src/net/i2p/data/PrivateKey.java +++ b/core/java/src/net/i2p/data/PrivateKey.java @@ -77,7 +77,7 @@ public class PrivateKey extends DataStructureImpl { @Override public String toString() { - StringBuffer buf = new StringBuffer(64); + StringBuilder buf = new StringBuilder(64); buf.append("[PrivateKey: "); if (_data == null) { buf.append("null key"); diff --git a/core/java/src/net/i2p/data/PrivateKeyFile.java b/core/java/src/net/i2p/data/PrivateKeyFile.java index 497733cc4e348aedbe250da35b4d5118eb8b4549..7ba7f1b6af6b3ec80e5fd5039f9cffd402a04862 100644 --- a/core/java/src/net/i2p/data/PrivateKeyFile.java +++ b/core/java/src/net/i2p/data/PrivateKeyFile.java @@ -263,7 +263,7 @@ public class PrivateKeyFile { } public String toString() { - StringBuffer s = new StringBuffer(128); + StringBuilder s = new StringBuilder(128); s.append("Dest: "); s.append(this.dest != null ? this.dest.toBase64() : "null"); s.append("\nContains: "); diff --git a/core/java/src/net/i2p/data/PublicKey.java b/core/java/src/net/i2p/data/PublicKey.java index aaf25b04a6bbb3549863643c79e8e8cf4185373c..d653ea9a42dceeac49922e21aaa49bb6aeb29b54 100644 --- a/core/java/src/net/i2p/data/PublicKey.java +++ b/core/java/src/net/i2p/data/PublicKey.java @@ -79,7 +79,7 @@ public class PublicKey extends DataStructureImpl { @Override public String toString() { - StringBuffer buf = new StringBuffer(64); + StringBuilder buf = new StringBuilder(64); buf.append("[PublicKey: "); if (_data == null) { buf.append("null key"); diff --git a/core/java/src/net/i2p/data/RouterAddress.java b/core/java/src/net/i2p/data/RouterAddress.java index f87e2b4ce0111c19ed680c1ffa4e780a7cb1bc8c..393bf9621f903a92edc54166b47e58720c263cb8 100644 --- a/core/java/src/net/i2p/data/RouterAddress.java +++ b/core/java/src/net/i2p/data/RouterAddress.java @@ -138,7 +138,7 @@ public class RouterAddress extends DataStructureImpl { @Override public String toString() { - StringBuffer buf = new StringBuffer(64); + StringBuilder buf = new StringBuilder(64); buf.append("[RouterAddress: "); buf.append("\n\tTransportStyle: ").append(getTransportStyle()); buf.append("\n\tCost: ").append(getCost()); diff --git a/core/java/src/net/i2p/data/RouterIdentity.java b/core/java/src/net/i2p/data/RouterIdentity.java index c1ad540ef097fb2a768f32c15adbc73b197384c0..d7375b2903bda35bf121da0e7dc14935dee7a7ae 100644 --- a/core/java/src/net/i2p/data/RouterIdentity.java +++ b/core/java/src/net/i2p/data/RouterIdentity.java @@ -109,7 +109,7 @@ public class RouterIdentity extends DataStructureImpl { @Override public String toString() { - StringBuffer buf = new StringBuffer(64); + StringBuilder buf = new StringBuilder(64); buf.append("[RouterIdentity: "); buf.append("\n\tHash: ").append(getHash().toBase64()); buf.append("\n\tCertificate: ").append(getCertificate()); diff --git a/core/java/src/net/i2p/data/RouterInfo.java b/core/java/src/net/i2p/data/RouterInfo.java index 191c7201951a57d522ffcf4e2826cd12de7e635f..e22c033e1dc3cbcf917e158e343824d2798c2f24 100644 --- a/core/java/src/net/i2p/data/RouterInfo.java +++ b/core/java/src/net/i2p/data/RouterInfo.java @@ -382,7 +382,7 @@ public class RouterInfo extends DataStructureImpl { } else if ((idx = caps.indexOf(cap)) == -1) { return; } else { - StringBuffer buf = new StringBuffer(caps); + StringBuilder buf = new StringBuilder(caps); while ( (idx = buf.indexOf(""+cap)) != -1) buf.deleteCharAt(idx); _options.setProperty(PROP_CAPABILITIES, buf.toString()); @@ -555,7 +555,7 @@ public class RouterInfo extends DataStructureImpl { @Override public String toString() { if (_stringified != null) return _stringified; - StringBuffer buf = new StringBuffer(5*1024); + StringBuilder buf = new StringBuilder(5*1024); buf.append("[RouterInfo: "); buf.append("\n\tIdentity: ").append(getIdentity()); buf.append("\n\tSignature: ").append(getSignature()); diff --git a/core/java/src/net/i2p/data/SessionKey.java b/core/java/src/net/i2p/data/SessionKey.java index a5963259246965419b4fa04baf94059a0a2d6bee..b89bee50511acb714865892d8496a4871d85cedb 100644 --- a/core/java/src/net/i2p/data/SessionKey.java +++ b/core/java/src/net/i2p/data/SessionKey.java @@ -84,7 +84,7 @@ public class SessionKey extends DataStructureImpl { @Override public String toString() { if (true) return super.toString(); - StringBuffer buf = new StringBuffer(64); + StringBuilder buf = new StringBuilder(64); buf.append("[SessionKey: "); if (_data == null) { buf.append("null key"); diff --git a/core/java/src/net/i2p/data/Signature.java b/core/java/src/net/i2p/data/Signature.java index 4ab11b947a7cc74768d8b74dec21f9cf7ed3e594..41a56aacd765788b6fc4068bd7c4a94447c378ed 100644 --- a/core/java/src/net/i2p/data/Signature.java +++ b/core/java/src/net/i2p/data/Signature.java @@ -69,7 +69,7 @@ public class Signature extends DataStructureImpl { @Override public String toString() { - StringBuffer buf = new StringBuffer(64); + StringBuilder buf = new StringBuilder(64); buf.append("[Signature: "); if (_data == null) { buf.append("null signature"); diff --git a/core/java/src/net/i2p/data/SigningPrivateKey.java b/core/java/src/net/i2p/data/SigningPrivateKey.java index 5f4d64ec06424bf6341d68a1e4c31b3bc739b59f..4a1a99ccb60c098a9df3e1b34b4e048c66ead2b6 100644 --- a/core/java/src/net/i2p/data/SigningPrivateKey.java +++ b/core/java/src/net/i2p/data/SigningPrivateKey.java @@ -75,7 +75,7 @@ public class SigningPrivateKey extends DataStructureImpl { @Override public String toString() { - StringBuffer buf = new StringBuffer(64); + StringBuilder buf = new StringBuilder(64); buf.append("[SigningPrivateKey: "); if (_data == null) { buf.append("null key"); diff --git a/core/java/src/net/i2p/data/SigningPublicKey.java b/core/java/src/net/i2p/data/SigningPublicKey.java index 148fc242e61bc5b98d7e1755c3ed3a5891975ec2..09097593f1a4959add8527ccaa4db7310e5f6f10 100644 --- a/core/java/src/net/i2p/data/SigningPublicKey.java +++ b/core/java/src/net/i2p/data/SigningPublicKey.java @@ -74,7 +74,7 @@ public class SigningPublicKey extends DataStructureImpl { @Override public String toString() { - StringBuffer buf = new StringBuffer(64); + StringBuilder buf = new StringBuilder(64); buf.append("[SigningPublicKey: "); if (_data == null) { buf.append("null key"); diff --git a/core/java/src/net/i2p/data/VerifiedDestination.java b/core/java/src/net/i2p/data/VerifiedDestination.java index 888d6a21129379f7f7385c2a312359a427e53684..19fd1079ee5e88d96dec7b06e17d5fb3ff413320 100644 --- a/core/java/src/net/i2p/data/VerifiedDestination.java +++ b/core/java/src/net/i2p/data/VerifiedDestination.java @@ -155,7 +155,7 @@ public class VerifiedDestination extends Destination { @Override public String toString() { - StringBuffer buf = new StringBuffer(128); + StringBuilder buf = new StringBuilder(128); buf.append(super.toString()); buf.append("\n\tVerified Certificate? ").append(verifyCert(true)); return buf.toString(); diff --git a/core/java/src/net/i2p/data/i2cp/BandwidthLimitsMessage.java b/core/java/src/net/i2p/data/i2cp/BandwidthLimitsMessage.java index 2f8d567869d70abf06bbb9690967d78e33c9affc..888242d6b9a17e06a627584cc0c772a1630c49e0 100644 --- a/core/java/src/net/i2p/data/i2cp/BandwidthLimitsMessage.java +++ b/core/java/src/net/i2p/data/i2cp/BandwidthLimitsMessage.java @@ -91,7 +91,7 @@ public class BandwidthLimitsMessage extends I2CPMessageImpl { @Override public String toString() { - StringBuffer buf = new StringBuffer(); + StringBuilder buf = new StringBuilder(); buf.append("[BandwidthLimitsMessage"); buf.append("\n\tIn: ").append(data[0]); buf.append("\n\tOut: ").append(data[1]); diff --git a/core/java/src/net/i2p/data/i2cp/CreateLeaseSetMessage.java b/core/java/src/net/i2p/data/i2cp/CreateLeaseSetMessage.java index f31aaa3aadaff42949520486a227baae8e832b84..5b22929e9837cdc113352753cf9c9752cb485b45 100644 --- a/core/java/src/net/i2p/data/i2cp/CreateLeaseSetMessage.java +++ b/core/java/src/net/i2p/data/i2cp/CreateLeaseSetMessage.java @@ -128,7 +128,7 @@ public class CreateLeaseSetMessage extends I2CPMessageImpl { @Override public String toString() { - StringBuffer buf = new StringBuffer(); + StringBuilder buf = new StringBuilder(); buf.append("[CreateLeaseSetMessage: "); buf.append("\n\tLeaseSet: ").append(getLeaseSet()); buf.append("\n\tSigningPrivateKey: ").append(getSigningPrivateKey()); diff --git a/core/java/src/net/i2p/data/i2cp/CreateSessionMessage.java b/core/java/src/net/i2p/data/i2cp/CreateSessionMessage.java index fa47ce57f6c55b40fceb46063f9fad59ad535f0b..909238625885e324a9534f5da7e8f894e248040f 100644 --- a/core/java/src/net/i2p/data/i2cp/CreateSessionMessage.java +++ b/core/java/src/net/i2p/data/i2cp/CreateSessionMessage.java @@ -84,7 +84,7 @@ public class CreateSessionMessage extends I2CPMessageImpl { @Override public String toString() { - StringBuffer buf = new StringBuffer(); + StringBuilder buf = new StringBuilder(); buf.append("[CreateSessionMessage: "); buf.append("\n\tConfig: ").append(getSessionConfig()); buf.append("]"); diff --git a/core/java/src/net/i2p/data/i2cp/DestLookupMessage.java b/core/java/src/net/i2p/data/i2cp/DestLookupMessage.java index 13135a2a41150016461ea5a726ff9bb15af658e7..09b405d6e84da76f6d482d6f971775423439cb04 100644 --- a/core/java/src/net/i2p/data/i2cp/DestLookupMessage.java +++ b/core/java/src/net/i2p/data/i2cp/DestLookupMessage.java @@ -67,7 +67,7 @@ public class DestLookupMessage extends I2CPMessageImpl { } public String toString() { - StringBuffer buf = new StringBuffer(); + StringBuilder buf = new StringBuilder(); buf.append("[DestLookupMessage: "); buf.append("\n\tHash: ").append(_hash); buf.append("]"); diff --git a/core/java/src/net/i2p/data/i2cp/DestReplyMessage.java b/core/java/src/net/i2p/data/i2cp/DestReplyMessage.java index 1ed601dc28075bc73bfe273882fde94551f4978b..fbbb93c3da272f76b61f318433dc9f846749ec22 100644 --- a/core/java/src/net/i2p/data/i2cp/DestReplyMessage.java +++ b/core/java/src/net/i2p/data/i2cp/DestReplyMessage.java @@ -69,7 +69,7 @@ public class DestReplyMessage extends I2CPMessageImpl { } public String toString() { - StringBuffer buf = new StringBuffer(); + StringBuilder buf = new StringBuilder(); buf.append("[DestReplyMessage: "); buf.append("\n\tDestination: ").append(_dest); buf.append("]"); diff --git a/core/java/src/net/i2p/data/i2cp/DestroySessionMessage.java b/core/java/src/net/i2p/data/i2cp/DestroySessionMessage.java index a6f43dc7b5142ab548f25f196740f35d61d68d51..2c932c2b82bc6bd6da99063035c591c53364de0f 100644 --- a/core/java/src/net/i2p/data/i2cp/DestroySessionMessage.java +++ b/core/java/src/net/i2p/data/i2cp/DestroySessionMessage.java @@ -80,7 +80,7 @@ public class DestroySessionMessage extends I2CPMessageImpl { @Override public String toString() { - StringBuffer buf = new StringBuffer(); + StringBuilder buf = new StringBuilder(); buf.append("[DestroySessionMessage: "); buf.append("\n\tSessionId: ").append(getSessionId()); buf.append("]"); diff --git a/core/java/src/net/i2p/data/i2cp/DisconnectMessage.java b/core/java/src/net/i2p/data/i2cp/DisconnectMessage.java index 3ccd5263a4402eec738c8a628b59a4c6228b5cb2..cdfa638cc0787ec6d7de785ed1de727bc3790363 100644 --- a/core/java/src/net/i2p/data/i2cp/DisconnectMessage.java +++ b/core/java/src/net/i2p/data/i2cp/DisconnectMessage.java @@ -76,7 +76,7 @@ public class DisconnectMessage extends I2CPMessageImpl { @Override public String toString() { - StringBuffer buf = new StringBuffer(); + StringBuilder buf = new StringBuilder(); buf.append("[DisconnectMessage: "); buf.append("\n\tReason: ").append(getReason()); buf.append("]"); diff --git a/core/java/src/net/i2p/data/i2cp/GetBandwidthLimitsMessage.java b/core/java/src/net/i2p/data/i2cp/GetBandwidthLimitsMessage.java index a47f883d78a200a776e0d313d05d5fd4bd178c99..67ad71decf106d40ebb5b2c005da0fc7c5ee475a 100644 --- a/core/java/src/net/i2p/data/i2cp/GetBandwidthLimitsMessage.java +++ b/core/java/src/net/i2p/data/i2cp/GetBandwidthLimitsMessage.java @@ -49,7 +49,7 @@ public class GetBandwidthLimitsMessage extends I2CPMessageImpl { @Override public String toString() { - StringBuffer buf = new StringBuffer(); + StringBuilder buf = new StringBuilder(); buf.append("[GetBandwidthLimitsMessage]"); return buf.toString(); } diff --git a/core/java/src/net/i2p/data/i2cp/GetDateMessage.java b/core/java/src/net/i2p/data/i2cp/GetDateMessage.java index 003ab534db2c960cfdf4580c24aa1f839eea47d5..a928f1f68e0704ea5071bd4e5b329018df52981c 100644 --- a/core/java/src/net/i2p/data/i2cp/GetDateMessage.java +++ b/core/java/src/net/i2p/data/i2cp/GetDateMessage.java @@ -52,7 +52,7 @@ public class GetDateMessage extends I2CPMessageImpl { @Override public String toString() { - StringBuffer buf = new StringBuffer(); + StringBuilder buf = new StringBuilder(); buf.append("[GetDateMessage]"); return buf.toString(); } diff --git a/core/java/src/net/i2p/data/i2cp/MessagePayloadMessage.java b/core/java/src/net/i2p/data/i2cp/MessagePayloadMessage.java index 5dc4a5d710f7fa5f4459898e3b3753033b08f7e7..3301b90d269da0ca8a7a18badc9faffc6ce1b20f 100644 --- a/core/java/src/net/i2p/data/i2cp/MessagePayloadMessage.java +++ b/core/java/src/net/i2p/data/i2cp/MessagePayloadMessage.java @@ -123,7 +123,7 @@ public class MessagePayloadMessage extends I2CPMessageImpl { @Override public String toString() { - StringBuffer buf = new StringBuffer(); + StringBuilder buf = new StringBuilder(); buf.append("[MessagePayloadMessage: "); buf.append("\n\tSessionId: ").append(getSessionId()); buf.append("\n\tMessageId: ").append(getMessageId()); diff --git a/core/java/src/net/i2p/data/i2cp/MessageStatusMessage.java b/core/java/src/net/i2p/data/i2cp/MessageStatusMessage.java index 998069041922cdc6e4fe1f79c1791c29db630a48..912b38b20fc371aa20c7031963b96cc58ab9f972 100644 --- a/core/java/src/net/i2p/data/i2cp/MessageStatusMessage.java +++ b/core/java/src/net/i2p/data/i2cp/MessageStatusMessage.java @@ -168,7 +168,7 @@ public class MessageStatusMessage extends I2CPMessageImpl { @Override public String toString() { - StringBuffer buf = new StringBuffer(); + StringBuilder buf = new StringBuilder(); buf.append("[MessageStatusMessage: "); buf.append("\n\tSessionId: ").append(getSessionId()); buf.append("\n\tNonce: ").append(getNonce()); diff --git a/core/java/src/net/i2p/data/i2cp/ReceiveMessageBeginMessage.java b/core/java/src/net/i2p/data/i2cp/ReceiveMessageBeginMessage.java index 29320c82ae8be2341da776fdebc2e2279206a193..b942a7173297bcd144b29ef38a92055c56c46660 100644 --- a/core/java/src/net/i2p/data/i2cp/ReceiveMessageBeginMessage.java +++ b/core/java/src/net/i2p/data/i2cp/ReceiveMessageBeginMessage.java @@ -102,7 +102,7 @@ public class ReceiveMessageBeginMessage extends I2CPMessageImpl { @Override public String toString() { - StringBuffer buf = new StringBuffer(); + StringBuilder buf = new StringBuilder(); buf.append("[ReceiveMessageBeginMessage: "); buf.append("\n\tSessionId: ").append(getSessionId()); buf.append("\n\tMessageId: ").append(getMessageId()); diff --git a/core/java/src/net/i2p/data/i2cp/ReceiveMessageEndMessage.java b/core/java/src/net/i2p/data/i2cp/ReceiveMessageEndMessage.java index dcdae6e14e72419883f153f84b6079eb2d13e846..f17298d0a9ab15210c3910ea0e5f09e73ba4ac15 100644 --- a/core/java/src/net/i2p/data/i2cp/ReceiveMessageEndMessage.java +++ b/core/java/src/net/i2p/data/i2cp/ReceiveMessageEndMessage.java @@ -86,7 +86,7 @@ public class ReceiveMessageEndMessage extends I2CPMessageImpl { @Override public String toString() { - StringBuffer buf = new StringBuffer(); + StringBuilder buf = new StringBuilder(); buf.append("[ReceiveMessageEndMessage: "); buf.append("\n\tSessionId: ").append(getSessionId()); buf.append("\n\tMessageId: ").append(getMessageId()); diff --git a/core/java/src/net/i2p/data/i2cp/ReconfigureSessionMessage.java b/core/java/src/net/i2p/data/i2cp/ReconfigureSessionMessage.java index 7165f6d3271c9d88b085d694bd0249f4a0d4ef59..4e3eede842117f48289677504dbce5ca8811ce8c 100644 --- a/core/java/src/net/i2p/data/i2cp/ReconfigureSessionMessage.java +++ b/core/java/src/net/i2p/data/i2cp/ReconfigureSessionMessage.java @@ -93,7 +93,7 @@ public class ReconfigureSessionMessage extends I2CPMessageImpl { @Override public String toString() { - StringBuffer buf = new StringBuffer(); + StringBuilder buf = new StringBuilder(); buf.append("[ReconfigureSessionMessage: "); buf.append("\n\tSessionId: ").append(getSessionId()); buf.append("\n\tSessionConfig: ").append(getSessionConfig()); diff --git a/core/java/src/net/i2p/data/i2cp/ReportAbuseMessage.java b/core/java/src/net/i2p/data/i2cp/ReportAbuseMessage.java index 0800359f20918f0a9d54254231beae4d00db2929..2499610b6e4b5f73345818f97f5009742cdc3f92 100644 --- a/core/java/src/net/i2p/data/i2cp/ReportAbuseMessage.java +++ b/core/java/src/net/i2p/data/i2cp/ReportAbuseMessage.java @@ -123,7 +123,7 @@ public class ReportAbuseMessage extends I2CPMessageImpl { @Override public String toString() { - StringBuffer buf = new StringBuffer(); + StringBuilder buf = new StringBuilder(); buf.append("[ReportAbuseMessage: "); buf.append("\n\tSessionID: ").append(getSessionId()); buf.append("\n\tSeverity: ").append(getSeverity()); diff --git a/core/java/src/net/i2p/data/i2cp/RequestLeaseSetMessage.java b/core/java/src/net/i2p/data/i2cp/RequestLeaseSetMessage.java index b5fca013d78cb4c8c22e31225666228843b8ad9c..f5a0557aaf5d66af0d9ea6ebeef9ac3872ebf022 100644 --- a/core/java/src/net/i2p/data/i2cp/RequestLeaseSetMessage.java +++ b/core/java/src/net/i2p/data/i2cp/RequestLeaseSetMessage.java @@ -143,7 +143,7 @@ public class RequestLeaseSetMessage extends I2CPMessageImpl { @Override public String toString() { - StringBuffer buf = new StringBuffer(); + StringBuilder buf = new StringBuilder(); buf.append("[RequestLeaseMessage: "); buf.append("\n\tSessionId: ").append(getSessionId()); buf.append("\n\tTunnels:"); diff --git a/core/java/src/net/i2p/data/i2cp/SendMessageExpiresMessage.java b/core/java/src/net/i2p/data/i2cp/SendMessageExpiresMessage.java index d15c1979c4427f1673856cfe2ecff3cbcf731ccf..fabd6e3545f35e5e53158520c08c6fd44dda4335 100644 --- a/core/java/src/net/i2p/data/i2cp/SendMessageExpiresMessage.java +++ b/core/java/src/net/i2p/data/i2cp/SendMessageExpiresMessage.java @@ -104,7 +104,7 @@ public class SendMessageExpiresMessage extends SendMessageMessage { @Override public String toString() { - StringBuffer buf = new StringBuffer(); + StringBuilder buf = new StringBuilder(); buf.append("[SendMessageMessage: "); buf.append("\n\tSessionId: ").append(getSessionId()); buf.append("\n\tNonce: ").append(getNonce()); diff --git a/core/java/src/net/i2p/data/i2cp/SendMessageMessage.java b/core/java/src/net/i2p/data/i2cp/SendMessageMessage.java index 2b9973c0ee7ffc118fee751171f3ef152eb4ea70..a9bb5fb58fef0851cb2d3194d559d90705772419 100644 --- a/core/java/src/net/i2p/data/i2cp/SendMessageMessage.java +++ b/core/java/src/net/i2p/data/i2cp/SendMessageMessage.java @@ -149,7 +149,7 @@ public class SendMessageMessage extends I2CPMessageImpl { @Override public String toString() { - StringBuffer buf = new StringBuffer(); + StringBuilder buf = new StringBuilder(); buf.append("[SendMessageMessage: "); buf.append("\n\tSessionId: ").append(getSessionId()); buf.append("\n\tNonce: ").append(getNonce()); diff --git a/core/java/src/net/i2p/data/i2cp/SessionConfig.java b/core/java/src/net/i2p/data/i2cp/SessionConfig.java index d16ffe126645c48bb3349140d7cc99e708b8e266..89d56c736889742e7e5de61cc5b408fa44e59054 100644 --- a/core/java/src/net/i2p/data/i2cp/SessionConfig.java +++ b/core/java/src/net/i2p/data/i2cp/SessionConfig.java @@ -218,7 +218,7 @@ public class SessionConfig extends DataStructureImpl { @Override public String toString() { - StringBuffer buf = new StringBuffer("[SessionConfig: "); + StringBuilder buf = new StringBuilder("[SessionConfig: "); buf.append("\n\tDestination: ").append(getDestination()); buf.append("\n\tSignature: ").append(getSignature()); buf.append("\n\tCreation Date: ").append(getCreationDate()); diff --git a/core/java/src/net/i2p/data/i2cp/SessionStatusMessage.java b/core/java/src/net/i2p/data/i2cp/SessionStatusMessage.java index cf989c90868afa17937cb2a389aa5ee340e30c90..051bad5045a0daef1fc449fd730c8c12a8045068 100644 --- a/core/java/src/net/i2p/data/i2cp/SessionStatusMessage.java +++ b/core/java/src/net/i2p/data/i2cp/SessionStatusMessage.java @@ -96,7 +96,7 @@ public class SessionStatusMessage extends I2CPMessageImpl { @Override public String toString() { - StringBuffer buf = new StringBuffer(); + StringBuilder buf = new StringBuilder(); buf.append("[SessionStatusMessage: "); buf.append("\n\tSessionId: ").append(getSessionId()); buf.append("\n\tStatus: ").append(getStatus()); diff --git a/core/java/src/net/i2p/data/i2cp/SetDateMessage.java b/core/java/src/net/i2p/data/i2cp/SetDateMessage.java index 605b0a928707db56f56f1cb6639e163b44596f15..174dea6d638a0b0103ff8c7116310bde24eb4cc5 100644 --- a/core/java/src/net/i2p/data/i2cp/SetDateMessage.java +++ b/core/java/src/net/i2p/data/i2cp/SetDateMessage.java @@ -79,7 +79,7 @@ public class SetDateMessage extends I2CPMessageImpl { @Override public String toString() { - StringBuffer buf = new StringBuffer(); + StringBuilder buf = new StringBuilder(); buf.append("[SetDateMessage"); buf.append("\n\tDate: ").append(getDate()); buf.append("]"); diff --git a/core/java/src/net/i2p/stat/PersistenceHelper.java b/core/java/src/net/i2p/stat/PersistenceHelper.java index 8132688991ecb05ca1f1e3b07ba5aa096675c611..d8c1312d42432ac31275f1fee0f6abdb0a459f79 100644 --- a/core/java/src/net/i2p/stat/PersistenceHelper.java +++ b/core/java/src/net/i2p/stat/PersistenceHelper.java @@ -9,13 +9,13 @@ class PersistenceHelper { private final static Log _log = new Log(PersistenceHelper.class); private final static String NL = System.getProperty("line.separator"); - public final static void add(StringBuffer buf, String prefix, String name, String description, double value) { + public final static void add(StringBuilder buf, String prefix, String name, String description, double value) { buf.append("# ").append(prefix).append(name).append(NL); buf.append("# ").append(description).append(NL); buf.append(prefix).append(name).append('=').append(value).append(NL).append(NL); } - public final static void add(StringBuffer buf, String prefix, String name, String description, long value) { + public final static void add(StringBuilder buf, String prefix, String name, String description, long value) { buf.append("# ").append(prefix).append(name).append(NL); buf.append("# ").append(description).append(NL); buf.append(prefix).append(name).append('=').append(value).append(NL).append(NL); diff --git a/core/java/src/net/i2p/stat/Rate.java b/core/java/src/net/i2p/stat/Rate.java index d4164c2b5679bdf8297e39304da06e50dbf8aa36..03dc696a589dbc648e9419d886e0ec4564aa9f0e 100644 --- a/core/java/src/net/i2p/stat/Rate.java +++ b/core/java/src/net/i2p/stat/Rate.java @@ -363,7 +363,7 @@ public class Rate { return 0.0D; } - public void store(String prefix, StringBuffer buf) throws IOException { + public void store(String prefix, StringBuilder buf) throws IOException { PersistenceHelper.add(buf, prefix, ".period", "Number of milliseconds in the period", _period); PersistenceHelper.add(buf, prefix, ".creationDate", "When was this rate created? (milliseconds since the epoch, GMT)", _creationDate); @@ -454,7 +454,7 @@ public class Rate { @Override public String toString() { - StringBuffer buf = new StringBuffer(2048); + StringBuilder buf = new StringBuilder(2048); buf.append("\n\t total value: ").append(getLastTotalValue()); buf.append("\n\t highest total value: ").append(getExtremeTotalValue()); buf.append("\n\t lifetime total value: ").append(getLifetimeTotalValue()); @@ -494,7 +494,7 @@ public class Rate { rate.addData(i * 100, 20); } rate.coalesce(); - StringBuffer buf = new StringBuffer(1024); + StringBuilder buf = new StringBuilder(1024); try { rate.store("rate.test", buf); byte data[] = buf.toString().getBytes(); diff --git a/core/java/src/net/i2p/stat/RateStat.java b/core/java/src/net/i2p/stat/RateStat.java index dd1fe63e3f6b0a5acafe4ea4caa354694bfd7fd6..b021d59f4ef0eeec4aa1a2ea2650835a14721894 100644 --- a/core/java/src/net/i2p/stat/RateStat.java +++ b/core/java/src/net/i2p/stat/RateStat.java @@ -93,7 +93,7 @@ public class RateStat { @Override public String toString() { - StringBuffer buf = new StringBuffer(4096); + StringBuilder buf = new StringBuilder(4096); buf.append(getGroupName()).append('.').append(getName()).append(": ").append(getDescription()).append('\n'); long periods[] = getPeriods(); Arrays.sort(periods); @@ -121,7 +121,7 @@ public class RateStat { } public void store(OutputStream out, String prefix) throws IOException { - StringBuffer buf = new StringBuffer(1024); + StringBuilder buf = new StringBuilder(1024); buf.append(NL); buf.append("################################################################################").append(NL); buf.append("# Rate: ").append(_groupName).append(": ").append(_statName).append(NL); diff --git a/core/java/src/net/i2p/stat/SimpleStatDumper.java b/core/java/src/net/i2p/stat/SimpleStatDumper.java index 2a7d4ae788c54ab78917f5a7ee89eb255759b8dc..eb48e5fce886f61a3f61b8984c5e7aa1e1bbfc67 100644 --- a/core/java/src/net/i2p/stat/SimpleStatDumper.java +++ b/core/java/src/net/i2p/stat/SimpleStatDumper.java @@ -14,13 +14,13 @@ public class SimpleStatDumper { public static void dumpStats(I2PAppContext context, int logLevel) { if (!_log.shouldLog(logLevel)) return; - StringBuffer buf = new StringBuffer(4 * 1024); + StringBuilder buf = new StringBuilder(4 * 1024); dumpFrequencies(context, buf); dumpRates(context, buf); _log.log(logLevel, buf.toString()); } - private static void dumpFrequencies(I2PAppContext ctx, StringBuffer buf) { + private static void dumpFrequencies(I2PAppContext ctx, StringBuilder buf) { Set frequencies = new TreeSet(ctx.statManager().getFrequencyNames()); for (Iterator iter = frequencies.iterator(); iter.hasNext();) { String name = (String) iter.next(); @@ -40,7 +40,7 @@ public class SimpleStatDumper { } } - private static void dumpRates(I2PAppContext ctx, StringBuffer buf) { + private static void dumpRates(I2PAppContext ctx, StringBuilder buf) { Set rates = new TreeSet(ctx.statManager().getRateNames()); for (Iterator iter = rates.iterator(); iter.hasNext();) { String name = (String) iter.next(); @@ -59,7 +59,7 @@ public class SimpleStatDumper { } } - static void dumpRate(Rate curRate, StringBuffer buf) { + static void dumpRate(Rate curRate, StringBuilder buf) { buf.append(curRate.toString()); } } \ No newline at end of file diff --git a/core/java/src/net/i2p/time/Timestamper.java b/core/java/src/net/i2p/time/Timestamper.java index b3f5290e330f26487adc425d301577d82379c945..c452f110a12ec2328e1ad726e1d1e8ab621515af 100644 --- a/core/java/src/net/i2p/time/Timestamper.java +++ b/core/java/src/net/i2p/time/Timestamper.java @@ -197,7 +197,7 @@ public class Timestamper implements Runnable { } else { if (Math.abs(delta - expectedDelta) > MAX_VARIANCE) { if (_log.shouldLog(Log.ERROR)) { - StringBuffer err = new StringBuffer(96); + StringBuilder err = new StringBuilder(96); err.append("SNTP client variance exceeded at query ").append(i); err.append(". expected = "); err.append(expectedDelta); @@ -214,7 +214,7 @@ public class Timestamper implements Runnable { } stampTime(now); if (_log.shouldLog(Log.DEBUG)) { - StringBuffer buf = new StringBuffer(64); + StringBuilder buf = new StringBuilder(64); buf.append("Deltas: "); for (int i = 0; i < found.length; i++) buf.append(found[i]).append(' '); diff --git a/core/java/src/net/i2p/util/BufferedRandomSource.java b/core/java/src/net/i2p/util/BufferedRandomSource.java index dc975671a5d1b18e151ec587f93de9582a849cdb..c6ecd274046ed4084c6d37830ee1750c21ca79cc 100644 --- a/core/java/src/net/i2p/util/BufferedRandomSource.java +++ b/core/java/src/net/i2p/util/BufferedRandomSource.java @@ -218,7 +218,7 @@ public class BufferedRandomSource extends RandomSource { System.out.println("Data: " + data.length + "/" + compressed.length + ": " + toString(data)); } private static final String toString(byte data[]) { - StringBuffer buf = new StringBuffer(data.length * 9); + StringBuilder buf = new StringBuilder(data.length * 9); for (int i = 0; i < data.length; i++) { for (int j = 0; j < 8; j++) { if ((data[i] & (1 << j)) != 0) diff --git a/core/java/src/net/i2p/util/EepGet.java b/core/java/src/net/i2p/util/EepGet.java index c3c18866a7d251cde86d187735d02fa4cb80c668..035d0c6be8689ba4dac19544f162c3723c9d2d8d 100644 --- a/core/java/src/net/i2p/util/EepGet.java +++ b/core/java/src/net/i2p/util/EepGet.java @@ -207,7 +207,7 @@ public class EepGet { "01234567890.,_=@#:"; private static String sanitize(String name) { name = name.replace('/', '_'); - StringBuffer buf = new StringBuffer(name); + StringBuilder buf = new StringBuilder(name); for (int i = 0; i < name.length(); i++) if (_safeChars.indexOf(buf.charAt(i)) == -1) buf.setCharAt(i, '_'); @@ -292,7 +292,7 @@ public class EepGet { long now = _context.clock().now(); long timeToSend = now - _lastComplete; if (timeToSend > 0) { - StringBuffer buf = new StringBuffer(50); + StringBuilder buf = new StringBuilder(50); buf.append(" "); if ( bytesRemaining > 0 ) { double pct = ((double)_written + _previousWritten) / @@ -353,7 +353,7 @@ public class EepGet { if (_etag != null) System.out.println("== ETag: " + _etag); if (transferred > 0) { - StringBuffer buf = new StringBuffer(50); + StringBuilder buf = new StringBuilder(50); buf.append("== Transfer rate: "); double kbps = (1000.0d*(double)(transferred)/((double)timeToSend*1024.0d)); synchronized (_kbps) { @@ -381,7 +381,7 @@ public class EepGet { long timeToSend = _context.clock().now() - _startedOn; System.out.println("== Transfer time: " + DataHelper.formatDuration(timeToSend)); double kbps = (timeToSend > 0 ? (1000.0d*(double)(bytesTransferred)/((double)timeToSend*1024.0d)) : 0); - StringBuffer buf = new StringBuffer(50); + StringBuilder buf = new StringBuilder(50); buf.append("== Transfer rate: "); synchronized (_kbps) { buf.append(_kbps.format(kbps)); @@ -627,7 +627,7 @@ public class EepGet { private void readHeaders() throws IOException { String key = null; - StringBuffer buf = new StringBuffer(32); + StringBuilder buf = new StringBuilder(32); boolean read = DataHelper.readLine(_proxyIn, buf); if (!read) throw new IOException("Unable to read the first line"); @@ -738,7 +738,7 @@ public class EepGet { } private long readChunkLength() throws IOException { - StringBuffer buf = new StringBuffer(8); + StringBuilder buf = new StringBuilder(8); int nl = 0; while (true) { int cur = _proxyIn.read(); @@ -893,7 +893,7 @@ public class EepGet { } private String getRequest() throws IOException { - StringBuffer buf = new StringBuffer(512); + StringBuilder buf = new StringBuilder(512); boolean post = false; if ( (_postData != null) && (_postData.length() > 0) ) post = true; @@ -922,7 +922,8 @@ public class EepGet { buf.append("-\r\n"); } buf.append("Accept-Encoding: \r\n"); - buf.append("X-Accept-Encoding: x-i2p-gzip;q=1.0, identity;q=0.5, deflate;q=0, gzip;q=0, *;q=0\r\n"); + if (_shouldProxy) + buf.append("X-Accept-Encoding: x-i2p-gzip;q=1.0, identity;q=0.5, deflate;q=0, gzip;q=0, *;q=0\r\n"); if (!_allowCaching) { buf.append("Cache-control: no-cache\r\n"); buf.append("Pragma: no-cache\r\n"); diff --git a/core/java/src/net/i2p/util/EepPost.java b/core/java/src/net/i2p/util/EepPost.java index 50929f3cf5e8e3cf1746acea77f7346005516f0a..615361e2045ef3ed4742ec620a7fd68c8a029a1a 100644 --- a/core/java/src/net/i2p/util/EepPost.java +++ b/core/java/src/net/i2p/util/EepPost.java @@ -184,7 +184,7 @@ public class EepPost { } private String getHeader(boolean isProxy, String path, String host, int port, String separator, long length) { - StringBuffer buf = new StringBuffer(512); + StringBuilder buf = new StringBuilder(512); buf.append("POST "); if (isProxy) { buf.append("http://").append(host); @@ -212,7 +212,7 @@ public class EepPost { return "------------------------" + new java.util.Random().nextLong(); byte separator[] = new byte[32]; // 2^-128 chance of this being a problem I2PAppContext.getGlobalContext().random().nextBytes(separator); - StringBuffer sep = new StringBuffer(48); + StringBuilder sep = new StringBuilder(48); for (int i = 0; i < separator.length; i++) sep.append((char)((int)'a' + (int)(separator[i]&0x0F))).append((char)((int)'a' + (int)((separator[i] >>> 4) & 0x0F))); return sep.toString(); diff --git a/core/java/src/net/i2p/util/FileUtil.java b/core/java/src/net/i2p/util/FileUtil.java index b6140b6e43cc8a33ca7ae12f1ad7c6d7df707eb2..9232ec4dcdcae6bcc750b39edef4bf8daeb3b2df 100644 --- a/core/java/src/net/i2p/util/FileUtil.java +++ b/core/java/src/net/i2p/util/FileUtil.java @@ -160,7 +160,7 @@ public class FileUtil { lines.remove(0); } } - StringBuffer buf = new StringBuffer(lines.size() * 80); + StringBuilder buf = new StringBuilder(lines.size() * 80); for (int i = 0; i < lines.size(); i++) buf.append((String)lines.get(i)).append('\n'); return buf.toString(); diff --git a/core/java/src/net/i2p/util/LogManager.java b/core/java/src/net/i2p/util/LogManager.java index 73178b0d62ba5882b4b17c5696bbb9fca99b8568..054e79a2287f1258b29dbc9788b3b23fb2a0a762 100644 --- a/core/java/src/net/i2p/util/LogManager.java +++ b/core/java/src/net/i2p/util/LogManager.java @@ -546,7 +546,7 @@ public class LogManager { } private String createConfig() { - StringBuffer buf = new StringBuffer(8*1024); + StringBuilder buf = new StringBuilder(8*1024); buf.append(PROP_FORMAT).append('=').append(new String(_format)).append('\n'); buf.append(PROP_DATEFORMAT).append('=').append(_dateFormatPattern).append('\n'); buf.append(PROP_DISPLAYONSCREEN).append('=').append((_displayOnScreen ? "TRUE" : "FALSE")).append('\n'); diff --git a/core/java/src/net/i2p/util/LogRecordFormatter.java b/core/java/src/net/i2p/util/LogRecordFormatter.java index f280e7bf950fdc35de6c673616fd99b99ff101b1..72d6ef9ee7d694ce3388127a3a3fb8fc60ed8f92 100644 --- a/core/java/src/net/i2p/util/LogRecordFormatter.java +++ b/core/java/src/net/i2p/util/LogRecordFormatter.java @@ -30,7 +30,7 @@ class LogRecordFormatter { int size = 128 + rec.getMessage().length(); if (rec.getThrowable() != null) size += 512; - StringBuffer buf = new StringBuffer(size); + StringBuilder buf = new StringBuilder(size); char format[] = manager.getFormat(); for (int i = 0; i < format.length; ++i) { switch (format[i]) { @@ -93,7 +93,7 @@ class LogRecordFormatter { } private static String toString(String str, int size) { - StringBuffer buf = new StringBuffer(); + StringBuilder buf = new StringBuilder(); if (str == null) str = ""; if (str.length() > size) str = str.substring(str.length() - size); buf.append(str); diff --git a/core/java/src/net/i2p/util/LogWriter.java b/core/java/src/net/i2p/util/LogWriter.java index b6302c3c4a49c70199ef237e349e4dd48f916020..ed94081c6be7f1d43f34884f013cb6c8030e1ee1 100644 --- a/core/java/src/net/i2p/util/LogWriter.java +++ b/core/java/src/net/i2p/util/LogWriter.java @@ -238,7 +238,7 @@ class LogWriter implements Runnable { private static final String replace(String pattern, int num) { char c[] = pattern.toCharArray(); - StringBuffer buf = new StringBuffer(); + StringBuilder buf = new StringBuilder(); for (int i = 0; i < c.length; i++) { if ( (c[i] != '#') && (c[i] != '@') ) buf.append(c[i]); diff --git a/core/java/src/net/i2p/util/SimpleTimer.java b/core/java/src/net/i2p/util/SimpleTimer.java index 87aa7b4e54193504b9152c7ff4ce8eac8bf11fe3..bb0a2e67e2fb5fd7ca1ee53d676e94d38d366b8c 100644 --- a/core/java/src/net/i2p/util/SimpleTimer.java +++ b/core/java/src/net/i2p/util/SimpleTimer.java @@ -233,7 +233,7 @@ public class SimpleTimer { } else { _occurredTime = now; if (_occurredEventCount > 2500) { - StringBuffer buf = new StringBuffer(128); + StringBuilder buf = new StringBuilder(128); buf.append("Too many simpleTimerJobs (").append(_occurredEventCount); buf.append(") in a second!"); _log.log(Log.WARN, buf.toString()); diff --git a/core/java/src/net/i2p/util/SocketTimeout.java b/core/java/src/net/i2p/util/SocketTimeout.java index 65238dd0dcc7f82439ae573b16aa18f835447357..3813ec6e83880a807b136acce74c950a7a9d0457 100644 --- a/core/java/src/net/i2p/util/SocketTimeout.java +++ b/core/java/src/net/i2p/util/SocketTimeout.java @@ -58,7 +58,7 @@ public class SocketTimeout implements SimpleTimer.TimedEvent { private static String ts(long when) { synchronized (_fmt) { return _fmt.format(new Date(when)); } } @Override public String toString() { - StringBuffer buf = new StringBuffer(); + StringBuilder buf = new StringBuilder(); buf.append("started on "); buf.append(ts(_startTime)); buf.append("idle for "); diff --git a/core/java/src/org/xlattice/crypto/filters/BloomSHA1.java b/core/java/src/org/xlattice/crypto/filters/BloomSHA1.java index 05b515bd2357a071e7d53cf25539121d1c9478ca..6da1f0f60742f64a9b048f57984aa94c8353954c 100644 --- a/core/java/src/org/xlattice/crypto/filters/BloomSHA1.java +++ b/core/java/src/org/xlattice/crypto/filters/BloomSHA1.java @@ -212,7 +212,7 @@ public class BloomSHA1 { } // DEBUG METHODS public static String keyToString(byte[] key) { - StringBuffer sb = new StringBuffer().append(key[0]); + StringBuilder sb = new StringBuilder().append(key[0]); for (int i = 1; i < key.length; i++) { sb.append(".").append(Integer.toString(key[i], 16)); } @@ -220,14 +220,14 @@ public class BloomSHA1 { } /** convert 64-bit integer to hex String */ public static String ltoh (long i) { - StringBuffer sb = new StringBuffer().append("#") + StringBuilder sb = new StringBuilder().append("#") .append(Long.toString(i, 16)); return sb.toString(); } /** convert 32-bit integer to String */ public static String itoh (int i) { - StringBuffer sb = new StringBuffer().append("#") + StringBuilder sb = new StringBuilder().append("#") .append(Integer.toString(i, 16)); return sb.toString(); } diff --git a/core/java/test/net/i2p/crypto/HMACSHA256Bench.java b/core/java/test/net/i2p/crypto/HMACSHA256Bench.java index 762821f1589429ff4f33de456f44c9ba8ee75bd1..00474e0e463cb56e960552f754c8b4db40585d4d 100644 --- a/core/java/test/net/i2p/crypto/HMACSHA256Bench.java +++ b/core/java/test/net/i2p/crypto/HMACSHA256Bench.java @@ -70,12 +70,12 @@ public class HMACSHA256Bench { long maxLong1 = 0; byte[] smess = new String("abc").getBytes(); - StringBuffer buf = new StringBuffer(); + StringBuilder buf = new StringBuilder(); for (int x = 0; x < 2*1024; x++) { buf.append("a"); } byte[] mmess = buf.toString().getBytes(); // new String("abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq").getBytes(); - buf = new StringBuffer(); + buf = new StringBuilder(); for (int x = 0; x < 10000; x++) { buf.append("a"); } diff --git a/core/java/test/net/i2p/crypto/SHA1HashTest.java b/core/java/test/net/i2p/crypto/SHA1HashTest.java index 140f784ebf68143a480b2fed24d5bf8311d2124d..b8388382133e8c7a32ff6bb558f8995482fbb7a2 100644 --- a/core/java/test/net/i2p/crypto/SHA1HashTest.java +++ b/core/java/test/net/i2p/crypto/SHA1HashTest.java @@ -133,7 +133,7 @@ public class SHA1HashTest extends TestCase{ } private final String toHex(final byte[] bytes) { - StringBuffer buf = new StringBuffer(bytes.length * 2); + StringBuilder buf = new StringBuilder(bytes.length * 2); for (int i = 0; i < bytes.length; i++) { if ((i & 3) == 0 && i != 0) buf.append(' '); diff --git a/core/java/test/net/i2p/crypto/SHA256Bench.java b/core/java/test/net/i2p/crypto/SHA256Bench.java index dc5f14163c776d2c68766dd307b442ff77719c48..0988fde34f8f6f76e4bb6831c20ccd472583230a 100644 --- a/core/java/test/net/i2p/crypto/SHA256Bench.java +++ b/core/java/test/net/i2p/crypto/SHA256Bench.java @@ -57,12 +57,12 @@ public class SHA256Bench { long maxLong1 = 0; byte[] smess = new String("abc").getBytes(); - StringBuffer buf = new StringBuffer(); + StringBuilder buf = new StringBuilder(); for (int x = 0; x < 10*1024; x++) { buf.append("a"); } byte[] mmess = buf.toString().getBytes(); // new String("abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq").getBytes(); - buf = new StringBuffer(); + buf = new StringBuilder(); for (int x = 0; x < 1000000; x++) { buf.append("a"); } diff --git a/core/java/test/net/i2p/stat/RateTest.java b/core/java/test/net/i2p/stat/RateTest.java index fd565054ac1693eaaec30054884d0c9325c53918..471e7bb8f328ac396e848a83bc13852f63f60a77 100644 --- a/core/java/test/net/i2p/stat/RateTest.java +++ b/core/java/test/net/i2p/stat/RateTest.java @@ -13,7 +13,7 @@ public class RateTest extends TestCase { rate.addData(i * 100, 20); } rate.coalesce(); - StringBuffer buf = new StringBuffer(1024); + StringBuilder buf = new StringBuilder(1024); rate.store("rate.test", buf); byte data[] = buf.toString().getBytes(); diff --git a/router/java/src/net/i2p/data/i2np/DataMessage.java b/router/java/src/net/i2p/data/i2np/DataMessage.java index 8ba6b13460e579a88e5898e44859a49242574595..cd4c4d327a265b7e541bad14d36714bb0581cc28 100644 --- a/router/java/src/net/i2p/data/i2np/DataMessage.java +++ b/router/java/src/net/i2p/data/i2np/DataMessage.java @@ -106,7 +106,7 @@ public class DataMessage extends I2NPMessageImpl { @Override public String toString() { - StringBuffer buf = new StringBuffer(); + StringBuilder buf = new StringBuilder(); buf.append("[DataMessage: "); buf.append("\n\tData: ").append(DataHelper.toString(getData(), 64)); buf.append("]"); diff --git a/router/java/src/net/i2p/data/i2np/DatabaseLookupMessage.java b/router/java/src/net/i2p/data/i2np/DatabaseLookupMessage.java index 79dec2ee9b41d0ba257e3d2fbf0b9d2e934fdfee..43e2ee8d560cc0c46fbb741203cbec193ba4c105 100644 --- a/router/java/src/net/i2p/data/i2np/DatabaseLookupMessage.java +++ b/router/java/src/net/i2p/data/i2np/DatabaseLookupMessage.java @@ -238,7 +238,7 @@ public class DatabaseLookupMessage extends I2NPMessageImpl { @Override public String toString() { - StringBuffer buf = new StringBuffer(); + StringBuilder buf = new StringBuilder(); buf.append("[DatabaseLookupMessage: "); buf.append("\n\tSearch Key: ").append(getSearchKey()); buf.append("\n\tFrom: ").append(getFrom()); diff --git a/router/java/src/net/i2p/data/i2np/DatabaseSearchReplyMessage.java b/router/java/src/net/i2p/data/i2np/DatabaseSearchReplyMessage.java index c8dc9aa901bc651814ce1124e2318a136e8cb5cf..f477ef2a1f98fd6d5c7a8631594867e708342976 100644 --- a/router/java/src/net/i2p/data/i2np/DatabaseSearchReplyMessage.java +++ b/router/java/src/net/i2p/data/i2np/DatabaseSearchReplyMessage.java @@ -131,7 +131,7 @@ public class DatabaseSearchReplyMessage extends I2NPMessageImpl { @Override public String toString() { - StringBuffer buf = new StringBuffer(); + StringBuilder buf = new StringBuilder(); buf.append("[DatabaseSearchReplyMessage: "); buf.append("\n\tSearch Key: ").append(getSearchKey()); buf.append("\n\tReplies: # = ").append(getNumReplies()); diff --git a/router/java/src/net/i2p/data/i2np/DatabaseStoreMessage.java b/router/java/src/net/i2p/data/i2np/DatabaseStoreMessage.java index 04ef417d3adfc776afcd465daa0f10452b83d378..9bf61e84390ecae056687c9d13be4db6eb64e7b4 100644 --- a/router/java/src/net/i2p/data/i2np/DatabaseStoreMessage.java +++ b/router/java/src/net/i2p/data/i2np/DatabaseStoreMessage.java @@ -260,7 +260,7 @@ public class DatabaseStoreMessage extends I2NPMessageImpl { @Override public String toString() { - StringBuffer buf = new StringBuffer(); + StringBuilder buf = new StringBuilder(); buf.append("[DatabaseStoreMessage: "); buf.append("\n\tExpiration: ").append(getMessageExpiration()); buf.append("\n\tUnique ID: ").append(getUniqueId()); diff --git a/router/java/src/net/i2p/data/i2np/DateMessage.java b/router/java/src/net/i2p/data/i2np/DateMessage.java index b5388eda5ae8373d0e6c8607125511d4fd99b8f0..166ecafd3c181779fafc2532f810c0096f219c89 100644 --- a/router/java/src/net/i2p/data/i2np/DateMessage.java +++ b/router/java/src/net/i2p/data/i2np/DateMessage.java @@ -70,7 +70,7 @@ public class DateMessage extends I2NPMessageImpl { @Override public String toString() { - StringBuffer buf = new StringBuffer(); + StringBuilder buf = new StringBuilder(); buf.append("[DateMessage: "); buf.append("Now: ").append(_now); buf.append("]"); diff --git a/router/java/src/net/i2p/data/i2np/DeliveryInstructions.java b/router/java/src/net/i2p/data/i2np/DeliveryInstructions.java index 8ad3ddff28c269a48c07b605acf182d2c84d926f..98935a3947ae3e0d666ce5d1037d4cf38236d118 100644 --- a/router/java/src/net/i2p/data/i2np/DeliveryInstructions.java +++ b/router/java/src/net/i2p/data/i2np/DeliveryInstructions.java @@ -377,7 +377,7 @@ public class DeliveryInstructions extends DataStructureImpl { @Override public String toString() { - StringBuffer buf = new StringBuffer(128); + StringBuilder buf = new StringBuilder(128); buf.append("[DeliveryInstructions: "); buf.append("\n\tDelivery mode: "); switch (getDeliveryMode()) { diff --git a/router/java/src/net/i2p/data/i2np/DeliveryStatusMessage.java b/router/java/src/net/i2p/data/i2np/DeliveryStatusMessage.java index ff8ad12cbdc4da0f3997379a6b8e552d481d116e..9325a63331ee49f186c43c206745af837fda81fd 100644 --- a/router/java/src/net/i2p/data/i2np/DeliveryStatusMessage.java +++ b/router/java/src/net/i2p/data/i2np/DeliveryStatusMessage.java @@ -82,7 +82,7 @@ public class DeliveryStatusMessage extends I2NPMessageImpl { @Override public String toString() { - StringBuffer buf = new StringBuffer(); + StringBuilder buf = new StringBuilder(); buf.append("[DeliveryStatusMessage: "); buf.append("\n\tMessage ID: ").append(getMessageId()); buf.append("\n\tArrival: ").append(_context.clock().now() - _arrival); diff --git a/router/java/src/net/i2p/data/i2np/GarlicClove.java b/router/java/src/net/i2p/data/i2np/GarlicClove.java index aa37994a07fe0539bbc26a6ad12b3beff4048a54..867071c869e9cced894d5c792943cc7ea44da66d 100644 --- a/router/java/src/net/i2p/data/i2np/GarlicClove.java +++ b/router/java/src/net/i2p/data/i2np/GarlicClove.java @@ -107,25 +107,25 @@ public class GarlicClove extends DataStructureImpl { public void writeBytes(OutputStream out) throws DataFormatException, IOException { - StringBuffer error = null; + StringBuilder error = null; if (_instructions == null) { - if (error == null) error = new StringBuffer(); + if (error == null) error = new StringBuilder(); error.append("No instructions "); } if (_msg == null) { - if (error == null) error = new StringBuffer(); + if (error == null) error = new StringBuilder(); error.append("No message "); } if (_cloveId < 0) { - if (error == null) error = new StringBuffer(); + if (error == null) error = new StringBuilder(); error.append("CloveID < 0 [").append(_cloveId).append("] "); } if (_expiration == null) { - if (error == null) error = new StringBuffer(); + if (error == null) error = new StringBuilder(); error.append("Expiration is null "); } if (_certificate == null) { - if (error == null) error = new StringBuffer(); + if (error == null) error = new StringBuilder(); error.append("Certificate is null "); } @@ -210,7 +210,7 @@ public class GarlicClove extends DataStructureImpl { @Override public String toString() { - StringBuffer buf = new StringBuffer(128); + StringBuilder buf = new StringBuilder(128); buf.append("[GarlicClove: "); buf.append("\n\tInstructions: ").append(getInstructions()); buf.append("\n\tCertificate: ").append(getCertificate()); diff --git a/router/java/src/net/i2p/data/i2np/GarlicMessage.java b/router/java/src/net/i2p/data/i2np/GarlicMessage.java index 357e7d2f5ee0603db1853e22155063ddf5b2c03c..88d2f2b3780136faa9b195cf7c6000a366812c8b 100644 --- a/router/java/src/net/i2p/data/i2np/GarlicMessage.java +++ b/router/java/src/net/i2p/data/i2np/GarlicMessage.java @@ -90,7 +90,7 @@ public class GarlicMessage extends I2NPMessageImpl { @Override public String toString() { - StringBuffer buf = new StringBuffer(); + StringBuilder buf = new StringBuilder(); buf.append("[GarlicMessage: "); buf.append("\n\tData length: ").append(getData().length).append(" bytes"); buf.append("]"); diff --git a/router/java/src/net/i2p/data/i2np/TunnelCreateMessage.java b/router/java/src/net/i2p/data/i2np/TunnelCreateMessage.java index b611f46728173e34c2b49f1b05972859b83ad2e1..4d0008642ef6ee06e87cd843c591b28b43b10189 100644 --- a/router/java/src/net/i2p/data/i2np/TunnelCreateMessage.java +++ b/router/java/src/net/i2p/data/i2np/TunnelCreateMessage.java @@ -263,7 +263,7 @@ public class TunnelCreateMessage extends I2NPMessageImpl { @Override public String toString() { - StringBuffer buf = new StringBuffer(); + StringBuilder buf = new StringBuilder(); buf.append("[TunnelCreateMessage: "); buf.append("\n\tNext Router: ").append(getNextRouter()); buf.append("\n\tNext Tunnel: ").append(getNextTunnelId()); diff --git a/router/java/src/net/i2p/data/i2np/TunnelCreateStatusMessage.java b/router/java/src/net/i2p/data/i2np/TunnelCreateStatusMessage.java index 515436f5dd019e13fd606465ba9281812ef94983..07185f3406763aea73cb7897040ddba095d0dc90 100644 --- a/router/java/src/net/i2p/data/i2np/TunnelCreateStatusMessage.java +++ b/router/java/src/net/i2p/data/i2np/TunnelCreateStatusMessage.java @@ -108,7 +108,7 @@ public class TunnelCreateStatusMessage extends I2NPMessageImpl { @Override public String toString() { - StringBuffer buf = new StringBuffer(); + StringBuilder buf = new StringBuilder(); buf.append("[TunnelCreateStatusMessage: "); buf.append("\n\tTunnel ID: ").append(getReceiveTunnelId()); buf.append("\n\tStatus: ").append(getStatus()); diff --git a/router/java/src/net/i2p/data/i2np/TunnelDataMessage.java b/router/java/src/net/i2p/data/i2np/TunnelDataMessage.java index 77c967f5871a3d19d772c479b9dab842033ab4b3..a55efc2b1fd40292ed79e00c3e1b609125d8b85c 100644 --- a/router/java/src/net/i2p/data/i2np/TunnelDataMessage.java +++ b/router/java/src/net/i2p/data/i2np/TunnelDataMessage.java @@ -139,7 +139,7 @@ public class TunnelDataMessage extends I2NPMessageImpl { @Override public String toString() { - StringBuffer buf = new StringBuffer(); + StringBuilder buf = new StringBuilder(); buf.append("[TunnelDataMessage:"); buf.append(" MessageId: ").append(getUniqueId()); buf.append(" Tunnel ID: ").append(getTunnelId()); diff --git a/router/java/src/net/i2p/data/i2np/TunnelGatewayMessage.java b/router/java/src/net/i2p/data/i2np/TunnelGatewayMessage.java index a436472e4319d679d1ff9d5ba3021a95cbb10d77..43fc4bce65d89d10e298eb7d207e40146498d2d6 100644 --- a/router/java/src/net/i2p/data/i2np/TunnelGatewayMessage.java +++ b/router/java/src/net/i2p/data/i2np/TunnelGatewayMessage.java @@ -131,7 +131,7 @@ public class TunnelGatewayMessage extends I2NPMessageImpl { @Override public String toString() { - StringBuffer buf = new StringBuffer(); + StringBuilder buf = new StringBuilder(); buf.append("[TunnelGatewayMessage:"); buf.append(" Tunnel ID: ").append(getTunnelId()); buf.append(" Message: ").append(_msg); diff --git a/router/java/src/net/i2p/router/Blocklist.java b/router/java/src/net/i2p/router/Blocklist.java index 6195d6a76914dbccea1f601afb8a289de1b1e939..1ce5cb5e7d7afd60e9fd8e96ce4f537fcde20f59 100644 --- a/router/java/src/net/i2p/router/Blocklist.java +++ b/router/java/src/net/i2p/router/Blocklist.java @@ -188,7 +188,7 @@ public class Blocklist { FileInputStream in = null; try { in = new FileInputStream(BLFile); - StringBuffer buf = new StringBuffer(128); + StringBuilder buf = new StringBuilder(128); while (DataHelper.readLine(in, buf) && count < maxSize) { Entry e = parse(buf, true); buf.setLength(0); @@ -267,7 +267,7 @@ public class Blocklist { } } - private Entry parse(StringBuffer buf, boolean bitch) { + private Entry parse(StringBuilder buf, boolean bitch) { byte[] ip1; byte[] ip2; int start1 = 0; @@ -378,7 +378,7 @@ public class Blocklist { FileInputStream in = null; try { in = new FileInputStream(BLFile); - StringBuffer buf = new StringBuffer(128); + StringBuilder buf = new StringBuilder(128); while (DataHelper.readLine(in, buf)) { lines++; buf.setLength(0); @@ -628,7 +628,7 @@ public class Blocklist { } private static String toStr(long entry) { - StringBuffer buf = new StringBuffer(32); + StringBuilder buf = new StringBuilder(32); for (int i = 7; i >= 0; i--) { buf.append((entry >> (8*i)) & 0xff); if (i == 4) @@ -640,7 +640,7 @@ public class Blocklist { } private static String toStr(int ip) { - StringBuffer buf = new StringBuffer(16); + StringBuilder buf = new StringBuilder(16); for (int i = 3; i >= 0; i--) { buf.append((ip >> (8*i)) & 0xff); if (i > 0) @@ -719,7 +719,7 @@ public class Blocklist { FileInputStream in = null; try { in = new FileInputStream(BLFile); - StringBuffer buf = new StringBuffer(128); + StringBuilder buf = new StringBuilder(128); // assume the file is unsorted, so go through the whole thing while (DataHelper.readLine(in, buf)) { Entry e = parse(buf, false); diff --git a/router/java/src/net/i2p/router/ClientTunnelSettings.java b/router/java/src/net/i2p/router/ClientTunnelSettings.java index 6cd3981954c642a23d53395f4b649dd98fe8f15b..cc8c74e6cc059c78e7b4ade8a640476c2bfe2fe1 100644 --- a/router/java/src/net/i2p/router/ClientTunnelSettings.java +++ b/router/java/src/net/i2p/router/ClientTunnelSettings.java @@ -46,7 +46,7 @@ public class ClientTunnelSettings { @Override public String toString() { - StringBuffer buf = new StringBuffer(); + StringBuilder buf = new StringBuilder(); Properties p = new Properties(); writeToProperties(p); buf.append("Client tunnel settings:\n"); diff --git a/router/java/src/net/i2p/router/JobImpl.java b/router/java/src/net/i2p/router/JobImpl.java index a72f852967f3053345d2ba8b811a36787a1baae9..2934855c8d60ac8781810e305652491a9520d2b1 100644 --- a/router/java/src/net/i2p/router/JobImpl.java +++ b/router/java/src/net/i2p/router/JobImpl.java @@ -35,7 +35,7 @@ public abstract class JobImpl implements Job { @Override public String toString() { - StringBuffer buf = new StringBuffer(128); + StringBuilder buf = new StringBuilder(128); buf.append(super.toString()); buf.append(": Job ").append(_id).append(": ").append(getName()); return buf.toString(); diff --git a/router/java/src/net/i2p/router/JobQueue.java b/router/java/src/net/i2p/router/JobQueue.java index 890b303c0c49eebd3dea2083c6307839df12297c..f14cb514663194000c12eec683a1ac1f342ecbbf 100644 --- a/router/java/src/net/i2p/router/JobQueue.java +++ b/router/java/src/net/i2p/router/JobQueue.java @@ -245,7 +245,7 @@ public class JobQueue { _jobLock.notifyAll(); } if (_log.shouldLog(Log.WARN)) { - StringBuffer buf = new StringBuffer(1024); + StringBuilder buf = new StringBuilder(1024); buf.append("current jobs: \n"); for (Iterator iter = _queueRunners.values().iterator(); iter.hasNext(); ) { JobQueueRunner runner = (JobQueueRunner)iter.next(); @@ -587,7 +587,7 @@ public class JobQueue { numRunners = _queueRunners.size(); } - StringBuffer str = new StringBuffer(128); + StringBuilder str = new StringBuilder(128); str.append("<!-- after queueRunner sync: states: "); for (int i = 0; states != null && i < states.length; i++) str.append(states[i]).append(" "); @@ -606,7 +606,7 @@ public class JobQueue { out.write("<!-- jobQueue rendering: after jobLock sync -->\n"); out.flush(); - StringBuffer buf = new StringBuffer(32*1024); + StringBuilder buf = new StringBuilder(32*1024); buf.append("<h2>JobQueue</h2>"); buf.append("# runners: ").append(numRunners).append(" [states="); if (states != null) @@ -667,7 +667,7 @@ public class JobQueue { } /** render the HTML for the job stats */ - private void getJobStats(StringBuffer buf) { + private void getJobStats(StringBuilder buf) { buf.append("<table border=\"1\">\n"); buf.append("<tr><th>Job</th><th>Runs</th>"); buf.append("<th>Time</th><th><i>Avg</i></th><th><i>Max</i></th><th><i>Min</i></th>"); diff --git a/router/java/src/net/i2p/router/JobStats.java b/router/java/src/net/i2p/router/JobStats.java index ec571299311603df7e0e13c74999b8e1d6019931..148fb7410f096a99d7b59f2ef2a245b42c95e25f 100644 --- a/router/java/src/net/i2p/router/JobStats.java +++ b/router/java/src/net/i2p/router/JobStats.java @@ -77,7 +77,7 @@ class JobStats { @Override public String toString() { - StringBuffer buf = new StringBuffer(); + StringBuilder buf = new StringBuilder(); buf.append("Over ").append(getRuns()).append(" runs, job <b>").append(getName()).append("</b> took "); buf.append(getTotalTime()).append("ms (").append(getAvgTime()).append("ms/").append(getMaxTime()).append("ms/"); buf.append(getMinTime()).append("ms avg/max/min) after a total lag of "); diff --git a/router/java/src/net/i2p/router/MessageHistory.java b/router/java/src/net/i2p/router/MessageHistory.java index f875c03b31ab514fbb33e3a64b7e00231fd534a8..a116aaca7cc209cc889ad894d9d31dc1af2522a3 100644 --- a/router/java/src/net/i2p/router/MessageHistory.java +++ b/router/java/src/net/i2p/router/MessageHistory.java @@ -144,7 +144,7 @@ public class MessageHistory { */ public void requestTunnelCreate(TunnelId createTunnel, TunnelId outTunnel, Hash peerRequested, Hash nextPeer, TunnelId replyTunnel, Hash replyThrough) { if (!_doLog) return; - StringBuffer buf = new StringBuffer(128); + StringBuilder buf = new StringBuilder(128); buf.append(getPrefix()); buf.append("request [").append(getName(peerRequested)).append("] to create tunnel ["); buf.append(createTunnel.getTunnelId()).append("] "); @@ -169,7 +169,7 @@ public class MessageHistory { */ public void receiveTunnelCreate(TunnelId createTunnel, Hash nextPeer, Date expire, boolean ok, Hash sourceRoutePeer) { if (!_doLog) return; - StringBuffer buf = new StringBuffer(128); + StringBuilder buf = new StringBuilder(128); buf.append(getPrefix()); buf.append("receive tunnel create [").append(createTunnel.getTunnelId()).append("] "); if (nextPeer != null) @@ -187,7 +187,7 @@ public class MessageHistory { public void tunnelJoined(String state, TunnelInfo tunnel) { if (!_doLog) return; if (tunnel == null) return; - StringBuffer buf = new StringBuffer(128); + StringBuilder buf = new StringBuilder(128); buf.append(getPrefix()); buf.append("joining as [").append(state); buf.append("] to tunnel: ").append(tunnel.toString()); @@ -203,7 +203,7 @@ public class MessageHistory { public void tunnelJoined(String state, HopConfig tunnel) { if (!_doLog) return; if (tunnel == null) return; - StringBuffer buf = new StringBuffer(128); + StringBuilder buf = new StringBuilder(128); buf.append(getPrefix()); buf.append("joining as [").append(state); buf.append("] to tunnel: ").append(tunnel.toString()); @@ -242,7 +242,7 @@ public class MessageHistory { public void tunnelFailed(TunnelId tunnel) { if (!_doLog) return; if (tunnel == null) return; - StringBuffer buf = new StringBuffer(128); + StringBuilder buf = new StringBuilder(128); buf.append(getPrefix()); buf.append("failing tunnel [").append(tunnel.getTunnelId()).append("]"); addEntry(buf.toString()); @@ -258,7 +258,7 @@ public class MessageHistory { public void tunnelValid(TunnelInfo tunnel, long timeToTest) { if (!_doLog) return; if (tunnel == null) return; - StringBuffer buf = new StringBuffer(128); + StringBuilder buf = new StringBuilder(128); buf.append(getPrefix()); buf.append("tunnel ").append(tunnel).append(" tested ok after ").append(timeToTest).append("ms"); addEntry(buf.toString()); @@ -271,7 +271,7 @@ public class MessageHistory { public void tunnelRejected(Hash peer, TunnelId tunnel, Hash replyThrough, String reason) { if (!_doLog) return; if ( (tunnel == null) || (peer == null) ) return; - StringBuffer buf = new StringBuffer(128); + StringBuilder buf = new StringBuilder(128); buf.append(getPrefix()); buf.append("tunnel [").append(tunnel.getTunnelId()).append("] was rejected by ["); buf.append(getName(peer)).append("] for [").append(reason).append("]"); @@ -283,7 +283,7 @@ public class MessageHistory { public void tunnelParticipantRejected(Hash peer, String msg) { if (!_doLog) return; if (peer == null) return; - StringBuffer buf = new StringBuffer(128); + StringBuilder buf = new StringBuilder(128); buf.append(getPrefix()); buf.append("tunnel participation rejected by ["); buf.append(getName(peer)).append("]: ").append(msg); @@ -298,7 +298,7 @@ public class MessageHistory { public void tunnelRequestTimedOut(Hash peer, TunnelId tunnel) { if (!_doLog) return; if ( (tunnel == null) || (peer == null) ) return; - StringBuffer buf = new StringBuffer(128); + StringBuilder buf = new StringBuilder(128); buf.append(getPrefix()); buf.append("tunnel [").append(tunnel.getTunnelId()).append("] timed out on ["); buf.append(getName(peer)).append("]"); @@ -314,7 +314,7 @@ public class MessageHistory { */ public void droppedTunnelMessage(TunnelId id, long msgId, Date expiration, Hash from) { if (!_doLog) return; - StringBuffer buf = new StringBuffer(128); + StringBuilder buf = new StringBuilder(128); buf.append(getPrefix()); buf.append("dropped message ").append(msgId).append(" for unknown tunnel [").append(id.getTunnelId()); buf.append("] from [").append(getName(from)).append("]").append(" expiring on "); @@ -328,7 +328,7 @@ public class MessageHistory { public void droppedOtherMessage(I2NPMessage message, Hash from) { if (!_doLog) return; if (message == null) return; - StringBuffer buf = new StringBuffer(512); + StringBuilder buf = new StringBuilder(512); buf.append(getPrefix()); buf.append("dropped [").append(message.getClass().getName()).append("] ").append(message.getUniqueId()); buf.append(" [").append(message.toString()).append("] from ["); @@ -342,7 +342,7 @@ public class MessageHistory { public void droppedInboundMessage(long messageId, Hash from, String info) { if (!_doLog) return; - StringBuffer buf = new StringBuffer(512); + StringBuilder buf = new StringBuilder(512); buf.append(getPrefix()); buf.append("dropped inbound message ").append(messageId); buf.append(" from "); @@ -364,7 +364,7 @@ public class MessageHistory { public void replyTimedOut(OutNetMessage sentMessage) { if (!_doLog) return; if (sentMessage == null) return; - StringBuffer buf = new StringBuffer(512); + StringBuilder buf = new StringBuilder(512); buf.append(getPrefix()); buf.append("timed out waiting for a reply to [").append(sentMessage.getMessageType()); buf.append("] [").append(sentMessage.getMessageId()).append("] expiring on ["); @@ -383,7 +383,7 @@ public class MessageHistory { */ public void messageProcessingError(long messageId, String messageType, String error) { if (!_doLog) return; - StringBuffer buf = new StringBuffer(128); + StringBuilder buf = new StringBuilder(128); buf.append(getPrefix()); buf.append("Error processing [").append(messageType).append("] [").append(messageId).append("] failed with [").append(error).append("]"); addEntry(buf.toString()); @@ -420,7 +420,7 @@ public class MessageHistory { public void sendMessage(String messageType, long messageId, long expiration, Hash peer, boolean sentOk, String info) { if (!_doLog) return; if (false) return; - StringBuffer buf = new StringBuffer(256); + StringBuilder buf = new StringBuilder(256); buf.append(getPrefix()); buf.append("send [").append(messageType).append("] message [").append(messageId).append("] "); buf.append("to [").append(getName(peer)).append("] "); @@ -448,7 +448,7 @@ public class MessageHistory { public void receiveMessage(String messageType, long messageId, long expiration, Hash from, boolean isValid) { if (!_doLog) return; if (false) return; - StringBuffer buf = new StringBuffer(256); + StringBuilder buf = new StringBuilder(256); buf.append(getPrefix()); buf.append("receive [").append(messageType).append("] with id [").append(messageId).append("] "); if (from != null) @@ -470,7 +470,7 @@ public class MessageHistory { */ public void wrap(String bodyMessageType, long bodyMessageId, String containerMessageType, long containerMessageId) { if (!_doLog) return; - StringBuffer buf = new StringBuffer(128); + StringBuilder buf = new StringBuilder(128); buf.append(getPrefix()); buf.append("Wrap message [").append(bodyMessageType).append("] id [").append(bodyMessageId).append("] "); buf.append("in [").append(containerMessageType).append("] id [").append(containerMessageId).append("]"); @@ -483,7 +483,7 @@ public class MessageHistory { */ public void receivePayloadMessage(long messageId) { if (!_doLog) return; - StringBuffer buf = new StringBuffer(64); + StringBuilder buf = new StringBuilder(64); buf.append(getPrefix()); buf.append("Receive payload message [").append(messageId).append("]"); addEntry(buf.toString()); @@ -498,7 +498,7 @@ public class MessageHistory { */ public void sendPayloadMessage(long messageId, boolean successfullySent, long timeToSend) { if (!_doLog) return; - StringBuffer buf = new StringBuffer(128); + StringBuilder buf = new StringBuilder(128); buf.append(getPrefix()); buf.append("Send payload message in [").append(messageId).append("] in [").append(timeToSend).append("] successfully? ").append(successfullySent); addEntry(buf.toString()); @@ -507,7 +507,7 @@ public class MessageHistory { public void receiveTunnelFragment(long messageId, int fragmentId, Object status) { if (!_doLog) return; if (messageId == -1) throw new IllegalArgumentException("why are you -1?"); - StringBuffer buf = new StringBuffer(48); + StringBuilder buf = new StringBuilder(48); buf.append(getPrefix()); buf.append("Receive fragment ").append(fragmentId).append(" in ").append(messageId); buf.append(" status: ").append(status.toString()); @@ -516,7 +516,7 @@ public class MessageHistory { public void receiveTunnelFragmentComplete(long messageId) { if (!_doLog) return; if (messageId == -1) throw new IllegalArgumentException("why are you -1?"); - StringBuffer buf = new StringBuffer(48); + StringBuilder buf = new StringBuilder(48); buf.append(getPrefix()); buf.append("Receive fragmented message completely: ").append(messageId); addEntry(buf.toString()); @@ -524,7 +524,7 @@ public class MessageHistory { public void droppedFragmentedMessage(long messageId, String status) { if (!_doLog) return; if (messageId == -1) throw new IllegalArgumentException("why are you -1?"); - StringBuffer buf = new StringBuffer(48); + StringBuilder buf = new StringBuilder(48); buf.append(getPrefix()); buf.append("Fragmented message dropped: ").append(messageId); buf.append(" ").append(status); @@ -533,7 +533,7 @@ public class MessageHistory { public void fragmentMessage(long messageId, int numFragments, int totalLength, List messageIds, String msg) { if (!_doLog) return; //if (messageId == -1) throw new IllegalArgumentException("why are you -1?"); - StringBuffer buf = new StringBuffer(48); + StringBuilder buf = new StringBuilder(48); buf.append(getPrefix()); buf.append("Break message ").append(messageId).append(" into fragments: ").append(numFragments); buf.append(" total size ").append(totalLength); @@ -545,7 +545,7 @@ public class MessageHistory { public void fragmentMessage(long messageId, int numFragments, int totalLength, List messageIds, Object tunnel, String msg) { if (!_doLog) return; //if (messageId == -1) throw new IllegalArgumentException("why are you -1?"); - StringBuffer buf = new StringBuffer(48); + StringBuilder buf = new StringBuilder(48); buf.append(getPrefix()); buf.append("Break message ").append(messageId).append(" into fragments: ").append(numFragments); buf.append(" total size ").append(totalLength); @@ -559,7 +559,7 @@ public class MessageHistory { public void droppedTunnelDataMessageUnknown(long msgId, long tunnelId) { if (!_doLog) return; if (msgId == -1) throw new IllegalArgumentException("why are you -1?"); - StringBuffer buf = new StringBuffer(48); + StringBuilder buf = new StringBuilder(48); buf.append(getPrefix()); buf.append("Dropped data message ").append(msgId).append(" for unknown tunnel ").append(tunnelId); addEntry(buf.toString()); @@ -567,7 +567,7 @@ public class MessageHistory { public void droppedTunnelGatewayMessageUnknown(long msgId, long tunnelId) { if (!_doLog) return; if (msgId == -1) throw new IllegalArgumentException("why are you -1?"); - StringBuffer buf = new StringBuffer(48); + StringBuilder buf = new StringBuilder(48); buf.append(getPrefix()); buf.append("Dropped gateway message ").append(msgId).append(" for unknown tunnel ").append(tunnelId); addEntry(buf.toString()); @@ -585,7 +585,7 @@ public class MessageHistory { } private final String getPrefix() { - StringBuffer buf = new StringBuffer(48); + StringBuilder buf = new StringBuilder(48); buf.append(getTime(_context.clock().now())); buf.append(' ').append(_localIdent).append(": "); return buf.toString(); diff --git a/router/java/src/net/i2p/router/MultiRouterBuilder.java b/router/java/src/net/i2p/router/MultiRouterBuilder.java index 9518e4fac7328130f7cfde60551535270575dbc9..6a7c635bc8a3a5731387cf02cbc0edc9b9394bd3 100644 --- a/router/java/src/net/i2p/router/MultiRouterBuilder.java +++ b/router/java/src/net/i2p/router/MultiRouterBuilder.java @@ -77,7 +77,7 @@ public class MultiRouterBuilder { buildStartupScriptNix(args); } private static void buildStartupScriptNix(String args[]) { - StringBuffer buf = new StringBuffer(4096); + StringBuilder buf = new StringBuilder(4096); buf.append("#!/bin/sh\n"); buf.append("export CP=.; for LIB in lib/* ; do export CP=$CP:$LIB ; done\n"); buf.append("nohup java -cp $CP "); @@ -106,7 +106,7 @@ public class MultiRouterBuilder { File baseDir = new File(dir); baseDir.mkdirs(); File cfgFile = new File(baseDir, "router.config"); - StringBuffer buf = new StringBuffer(8*1024); + StringBuilder buf = new StringBuilder(8*1024); buf.append("router.profileDir=").append(baseDir.getPath()).append("/peerProfiles\n"); buf.append("router.historyFilename=").append(baseDir.getPath()).append("/messageHistory.txt\n"); buf.append("router.sessionKeys.location=").append(baseDir.getPath()).append("/sessionKeys.dat\n"); diff --git a/router/java/src/net/i2p/router/OutNetMessage.java b/router/java/src/net/i2p/router/OutNetMessage.java index e1cd2a896622d6aa3489375315f843f36ec725b5..39921a5e7a6b580c449a5408166f4fc60672a972 100644 --- a/router/java/src/net/i2p/router/OutNetMessage.java +++ b/router/java/src/net/i2p/router/OutNetMessage.java @@ -287,7 +287,7 @@ public class OutNetMessage { public void finalize() throws Throwable { if (_message != null) { if (_log.shouldLog(Log.WARN)) { - StringBuffer buf = new StringBuffer(1024); + StringBuilder buf = new StringBuilder(1024); buf.append("Undiscarded ").append(_messageSize).append("byte "); buf.append(_messageType).append(" message created "); buf.append((_context.clock().now() - _created)).append("ms ago: "); @@ -304,7 +304,7 @@ public class OutNetMessage { */ @Override public String toString() { - StringBuffer buf = new StringBuffer(128); + StringBuilder buf = new StringBuilder(128); buf.append("[OutNetMessage contains "); if (_message == null) { buf.append("*no message*"); @@ -334,7 +334,7 @@ public class OutNetMessage { return buf.toString(); } - private void renderTimestamps(StringBuffer buf) { + private void renderTimestamps(StringBuilder buf) { if (_log.shouldLog(Log.INFO)) { synchronized (this) { long lastWhen = -1; diff --git a/router/java/src/net/i2p/router/PersistentKeyRing.java b/router/java/src/net/i2p/router/PersistentKeyRing.java index f1f4fe55a117bfb0fb09714b14f41c8aad871b68..9b7ffe0f388609241e51ddad5c8507209931a5cd 100644 --- a/router/java/src/net/i2p/router/PersistentKeyRing.java +++ b/router/java/src/net/i2p/router/PersistentKeyRing.java @@ -66,7 +66,7 @@ public class PersistentKeyRing extends KeyRing { @Override public void renderStatusHTML(Writer out) throws IOException { - StringBuffer buf = new StringBuffer(1024); + StringBuilder buf = new StringBuilder(1024); buf.append("\n<table border=\"1\"><tr><th align=\"left\">Destination Hash<th align=\"left\">Name or Dest.<th align=\"left\">Session Key</tr>"); for (Entry<Hash, SessionKey> e : entrySet()) { buf.append("\n<tr><td>"); diff --git a/router/java/src/net/i2p/router/Router.java b/router/java/src/net/i2p/router/Router.java index 8c918d93ff45445e76bb9f4120323bef9e2aa3bb..1539750adb23688a682840072805abef98e18263 100644 --- a/router/java/src/net/i2p/router/Router.java +++ b/router/java/src/net/i2p/router/Router.java @@ -589,7 +589,7 @@ public class Router { "</select> <input type=\"submit\" value=\"GO\" /> </form>" + "<hr />\n"); - StringBuffer buf = new StringBuffer(32*1024); + StringBuilder buf = new StringBuilder(32*1024); if ( (_routerInfo != null) && (_routerInfo.getIdentity() != null) ) buf.append("<b>Router: </b> ").append(_routerInfo.getIdentity().getHash().toBase64()).append("<br />\n"); @@ -762,7 +762,7 @@ public class Router { } private static int MAX_MSG_LENGTH = 120; - private static final void appendLogMessage(StringBuffer buf, String msg) { + private static final void appendLogMessage(StringBuilder buf, String msg) { // disable this code for the moment because i think it // looks ugly (on the router console) if (true) { @@ -804,7 +804,7 @@ public class Router { /** main-ish method for testing appendLogMessage */ private static final void testAppendLog() { - StringBuffer buf = new StringBuffer(1024); + StringBuilder buf = new StringBuilder(1024); Router.appendLogMessage(buf, "hi\nhow are you\nh0h0h0"); System.out.println("line: [" + buf.toString() + "]"); buf.setLength(0); @@ -1005,7 +1005,7 @@ public class Router { FileOutputStream fos = null; try { fos = new FileOutputStream(_configFilename); - StringBuffer buf = new StringBuffer(8*1024); + StringBuilder buf = new StringBuilder(8*1024); synchronized (_config) { TreeSet ordered = new TreeSet(_config.keySet()); for (Iterator iter = ordered.iterator() ; iter.hasNext(); ) { diff --git a/router/java/src/net/i2p/router/RouterContext.java b/router/java/src/net/i2p/router/RouterContext.java index 656b1299bd5f06372dcb8309c1e4b7b9f1dbf2ea..6dd7282b0d0a0aab4dcb7a4da47a4ad0229f99b1 100644 --- a/router/java/src/net/i2p/router/RouterContext.java +++ b/router/java/src/net/i2p/router/RouterContext.java @@ -268,7 +268,7 @@ public class RouterContext extends I2PAppContext { @Override public String toString() { - StringBuffer buf = new StringBuffer(512); + StringBuilder buf = new StringBuilder(512); buf.append("RouterContext: ").append(super.toString()).append('\n'); buf.append(_router).append('\n'); buf.append(_clientManagerFacade).append('\n'); diff --git a/router/java/src/net/i2p/router/Shitlist.java b/router/java/src/net/i2p/router/Shitlist.java index 4e94090a4bf0b91af03413abeb1035aa5736fa47..6f38826b3c348373f5e6c7f1b35f5aea96ee8590 100644 --- a/router/java/src/net/i2p/router/Shitlist.java +++ b/router/java/src/net/i2p/router/Shitlist.java @@ -252,7 +252,7 @@ public class Shitlist { } public void renderStatusHTML(Writer out) throws IOException { - StringBuffer buf = new StringBuffer(1024); + StringBuilder buf = new StringBuilder(1024); buf.append("<h2>Shitlist</h2>"); Map<Hash, Entry> entries = new TreeMap(new HashComparator()); diff --git a/router/java/src/net/i2p/router/StatisticsManager.java b/router/java/src/net/i2p/router/StatisticsManager.java index df51e36b465d24cfd0e3c1a72c8dc95d0d72e4ad..a3c54458aa92676aea1feebd5a7fbbccbd3ae7a4 100644 --- a/router/java/src/net/i2p/router/StatisticsManager.java +++ b/router/java/src/net/i2p/router/StatisticsManager.java @@ -200,7 +200,7 @@ public class StatisticsManager implements Service { } private String renderRate(Rate rate, boolean fudgeQuantity) { - StringBuffer buf = new StringBuffer(128); + StringBuilder buf = new StringBuilder(128); buf.append(num(rate.getAverageValue())).append(';'); buf.append(num(rate.getExtremeAverageValue())).append(';'); buf.append(pct(rate.getPercentageOfLifetimeValue())).append(';'); @@ -259,7 +259,7 @@ public class StatisticsManager implements Service { } private String renderRate(Rate rate, double fudgeQuantity) { - StringBuffer buf = new StringBuffer(128); + StringBuilder buf = new StringBuilder(128); buf.append(num(rate.getAverageValue())).append(';'); buf.append(num(rate.getExtremeAverageValue())).append(';'); buf.append(pct(rate.getPercentageOfLifetimeValue())).append(';'); diff --git a/router/java/src/net/i2p/router/TunnelPoolSettings.java b/router/java/src/net/i2p/router/TunnelPoolSettings.java index fab33d919a077b1d5af69126aca2e734f66fcc2b..bf7eb0638b8cb79be39bbfefb935af04eceb2ee8 100644 --- a/router/java/src/net/i2p/router/TunnelPoolSettings.java +++ b/router/java/src/net/i2p/router/TunnelPoolSettings.java @@ -187,7 +187,7 @@ public class TunnelPoolSettings { @Override public String toString() { - StringBuffer buf = new StringBuffer(); + StringBuilder buf = new StringBuilder(); Properties p = new Properties(); writeToProperties("", p); buf.append("Tunnel pool settings:\n"); diff --git a/router/java/src/net/i2p/router/admin/AdminRunner.java b/router/java/src/net/i2p/router/admin/AdminRunner.java index c515f897692f93d11b30fd6c68caa72f1d168e23..2851d7d867b9d4e9f965c90289bcdb3b2fafdfca 100644 --- a/router/java/src/net/i2p/router/admin/AdminRunner.java +++ b/router/java/src/net/i2p/router/admin/AdminRunner.java @@ -73,7 +73,7 @@ class AdminRunner implements Runnable { } private void reply(OutputStream out, String content) throws IOException { - StringBuffer reply = new StringBuffer(10240); + StringBuilder reply = new StringBuilder(10240); reply.append("HTTP/1.1 200 OK\n"); reply.append("Connection: close\n"); reply.append("Cache-control: no-cache\n"); @@ -90,7 +90,7 @@ class AdminRunner implements Runnable { } private void replyText(OutputStream out, String content) throws IOException { - StringBuffer reply = new StringBuffer(10240); + StringBuilder reply = new StringBuilder(10240); reply.append("HTTP/1.1 200 OK\n"); reply.append("Connection: close\n"); reply.append("Cache-control: no-cache\n"); diff --git a/router/java/src/net/i2p/router/admin/StatsGenerator.java b/router/java/src/net/i2p/router/admin/StatsGenerator.java index cb2b49ac50004fe47572f6e86f8d8d7869df960b..5bfbb64ee29236825e618134d54429ae7c1bb424 100644 --- a/router/java/src/net/i2p/router/admin/StatsGenerator.java +++ b/router/java/src/net/i2p/router/admin/StatsGenerator.java @@ -28,7 +28,7 @@ public class StatsGenerator { } public void generateStatsPage(Writer out) throws IOException { - StringBuffer buf = new StringBuffer(16*1024); + StringBuilder buf = new StringBuilder(16*1024); buf.append("<h1>Router statistics</h1><hr />"); buf.append("<form action=\"/oldstats.jsp\">"); buf.append("<select name=\"go\" onChange='location.href=this.value'>"); @@ -94,7 +94,7 @@ public class StatsGenerator { out.flush(); } - private void renderFrequency(String name, StringBuffer buf) { + private void renderFrequency(String name, StringBuilder buf) { FrequencyStat freq = _context.statManager().getFrequency(name); buf.append("<i>"); buf.append(freq.getDescription()); @@ -130,7 +130,7 @@ public class StatsGenerator { buf.append("<br />"); } - private void renderRate(String name, StringBuffer buf) { + private void renderRate(String name, StringBuilder buf) { RateStat rate = _context.statManager().getRate(name); String d = rate.getDescription(); if (! "".equals(d)) { @@ -223,7 +223,7 @@ public class StatsGenerator { buf.append("<br />"); } - private static void renderPeriod(StringBuffer buf, long period, String name) { + private static void renderPeriod(StringBuilder buf, long period, String name) { buf.append("<b>"); buf.append(DataHelper.formatDuration(period)); buf.append(" "); diff --git a/router/java/src/net/i2p/router/client/ClientManager.java b/router/java/src/net/i2p/router/client/ClientManager.java index e58f16b2623a06d18473e4cf8612e6e565977da5..b042d524015cbaf3aeb792a6f3c82ac9d92583b0 100644 --- a/router/java/src/net/i2p/router/client/ClientManager.java +++ b/router/java/src/net/i2p/router/client/ClientManager.java @@ -387,7 +387,7 @@ public class ClientManager { } public void renderStatusHTML(Writer out) throws IOException { - StringBuffer buf = new StringBuffer(8*1024); + StringBuilder buf = new StringBuilder(8*1024); buf.append("<u><b>Local destinations</b></u><br />"); Map runners = null; diff --git a/router/java/src/net/i2p/router/message/CloveSet.java b/router/java/src/net/i2p/router/message/CloveSet.java index d18aa55b44baed89829747cf5e0b0b4475ec8784..8c414edcdedd861d9f2ef2fd3d348610a8b80819 100644 --- a/router/java/src/net/i2p/router/message/CloveSet.java +++ b/router/java/src/net/i2p/router/message/CloveSet.java @@ -44,7 +44,7 @@ public class CloveSet { @Override public String toString() { - StringBuffer buf = new StringBuffer(128); + StringBuilder buf = new StringBuilder(128); buf.append("{"); for (int i = 0; i < _cloves.size(); i++) { GarlicClove clove = (GarlicClove)_cloves.get(i); diff --git a/router/java/src/net/i2p/router/message/GarlicConfig.java b/router/java/src/net/i2p/router/message/GarlicConfig.java index ead346e0067f239af6f7caca0acdab0f66f549e9..1c616f43cfb59be51e006109830ae3c559f006b8 100644 --- a/router/java/src/net/i2p/router/message/GarlicConfig.java +++ b/router/java/src/net/i2p/router/message/GarlicConfig.java @@ -158,7 +158,7 @@ public class GarlicConfig { private final static String NL = System.getProperty("line.separator"); @Override public String toString() { - StringBuffer buf = new StringBuffer(); + StringBuilder buf = new StringBuilder(); buf.append("<garlicConfig>").append(NL); buf.append("<certificate>").append(getCertificate()).append("</certificate>").append(NL); buf.append("<instructions>").append(getDeliveryInstructions()).append("</instructions>").append(NL); diff --git a/router/java/src/net/i2p/router/message/PayloadGarlicConfig.java b/router/java/src/net/i2p/router/message/PayloadGarlicConfig.java index 2b2a8f9c88741c865d0a6640bf2e0e7d6d9d45a5..a5e8368d3438355c4773bd3c64f32e05f6657679 100644 --- a/router/java/src/net/i2p/router/message/PayloadGarlicConfig.java +++ b/router/java/src/net/i2p/router/message/PayloadGarlicConfig.java @@ -35,7 +35,7 @@ public class PayloadGarlicConfig extends GarlicConfig { @Override protected String getSubData() { - StringBuffer buf = new StringBuffer(); + StringBuilder buf = new StringBuilder(); buf.append("<payloadMessage>").append(_payload).append("</payloadMessage>"); return buf.toString(); } diff --git a/router/java/src/net/i2p/router/networkdb/kademlia/KBucketImpl.java b/router/java/src/net/i2p/router/networkdb/kademlia/KBucketImpl.java index c6668a41e4fcefd5527dce2c5f0682228202cb2e..58e6b16c4c2e5b0858aa50b93460a6175525343f 100644 --- a/router/java/src/net/i2p/router/networkdb/kademlia/KBucketImpl.java +++ b/router/java/src/net/i2p/router/networkdb/kademlia/KBucketImpl.java @@ -330,7 +330,7 @@ class KBucketImpl implements KBucket { @Override public String toString() { - StringBuffer buf = new StringBuffer(1024); + StringBuilder buf = new StringBuilder(1024); buf.append("KBucketImpl: "); synchronized (_entries) { buf.append(_entries.toString()).append("\n"); @@ -380,7 +380,7 @@ class KBucketImpl implements KBucket { } private static void testRand() { - StringBuffer buf = new StringBuffer(2048); + StringBuilder buf = new StringBuilder(2048); int low = 1; int high = 3; Log log = I2PAppContext.getGlobalContext().logManager().getLog(KBucketImpl.class); @@ -416,7 +416,7 @@ class KBucketImpl implements KBucket { private static void testRand2() { Log log = I2PAppContext.getGlobalContext().logManager().getLog(KBucketImpl.class); - StringBuffer buf = new StringBuffer(1024*1024*16); + StringBuilder buf = new StringBuilder(1024*1024*16); int low = 1; int high = 200; byte hash[] = new byte[Hash.HASH_LENGTH]; @@ -452,7 +452,7 @@ class KBucketImpl implements KBucket { private final static String toString(byte b[]) { if (true) return DataHelper.toHexString(b); - StringBuffer buf = new StringBuffer(b.length); + StringBuilder buf = new StringBuilder(b.length); for (int i = 0; i < b.length; i++) { buf.append(toString(b[i])); buf.append(" "); @@ -461,7 +461,7 @@ class KBucketImpl implements KBucket { } private final static String toString(byte b) { - StringBuffer buf = new StringBuffer(8); + StringBuilder buf = new StringBuilder(8); for (int i = 7; i >= 0; i--) { boolean bb = (0 != (b & (1<<i))); if (bb) diff --git a/router/java/src/net/i2p/router/networkdb/kademlia/KBucketSet.java b/router/java/src/net/i2p/router/networkdb/kademlia/KBucketSet.java index ddbfb06f7f176a35a51fb976aafa8877c32426f2..c17292bdd4dfa769e8b8f2601c1fc9ce17c2628d 100644 --- a/router/java/src/net/i2p/router/networkdb/kademlia/KBucketSet.java +++ b/router/java/src/net/i2p/router/networkdb/kademlia/KBucketSet.java @@ -141,7 +141,7 @@ class KBucketSet { @Override public String toString() { BigInteger us = new BigInteger(1, _us.getData()); - StringBuffer buf = new StringBuffer(1024); + StringBuilder buf = new StringBuilder(1024); buf.append("Bucket set rooted on: ").append(us.toString()).append(" (aka ").append(us.toString(2)).append("): \n"); for (int i = 0; i < NUM_BUCKETS; i++) { buf.append("* Bucket ").append(i).append("/").append(NUM_BUCKETS-1).append(": )\n"); @@ -159,7 +159,7 @@ class KBucketSet { System.arraycopy(b, 0, val, Hash.HASH_LENGTH-b.length-1, b.length); else System.arraycopy(b, Hash.HASH_LENGTH-b.length, val, 0, val.length); - StringBuffer buf = new StringBuffer(KEYSIZE_BITS); + StringBuilder buf = new StringBuilder(KEYSIZE_BITS); for (int i = 0; i < val.length; i++) { for (int j = 7; j >= 0; j--) { boolean bb = (0 != (val[i] & (1<<j))); diff --git a/router/java/src/net/i2p/router/networkdb/kademlia/KademliaNetworkDatabaseFacade.java b/router/java/src/net/i2p/router/networkdb/kademlia/KademliaNetworkDatabaseFacade.java index e61a5855414b9b869941ef72b023a84875da9c8f..7650397700d43a4d7ed7222c337d3d56467be45f 100644 --- a/router/java/src/net/i2p/router/networkdb/kademlia/KademliaNetworkDatabaseFacade.java +++ b/router/java/src/net/i2p/router/networkdb/kademlia/KademliaNetworkDatabaseFacade.java @@ -910,7 +910,7 @@ public class KademliaNetworkDatabaseFacade extends NetworkDatabaseFacade { @Override public void renderRouterInfoHTML(Writer out, String routerPrefix) throws IOException { - StringBuffer buf = new StringBuffer(4*1024); + StringBuilder buf = new StringBuilder(4*1024); buf.append("<h2>Network Database RouterInfo Lookup</h2>\n"); if (".".equals(routerPrefix)) { renderRouterInfo(buf, _context.router().getRouterInfo(), true, true); @@ -938,7 +938,7 @@ public class KademliaNetworkDatabaseFacade extends NetworkDatabaseFacade { @Override public void renderLeaseSetHTML(Writer out) throws IOException { - StringBuffer buf = new StringBuffer(4*1024); + StringBuilder buf = new StringBuilder(4*1024); buf.append("<h2>Network Database Contents</h2>\n"); buf.append("<a href=\"netdb.jsp\">View RouterInfo</a>"); buf.append("<h3>LeaseSets</h3>\n"); @@ -992,7 +992,7 @@ public class KademliaNetworkDatabaseFacade extends NetworkDatabaseFacade { int size = getKnownRouters() * 512; if (full) size *= 4; - StringBuffer buf = new StringBuffer(size); + StringBuilder buf = new StringBuilder(size); out.write("<h2>Network Database Contents</h2>\n"); if (!_initialized) { buf.append("<i>Not initialized</i>\n"); @@ -1073,7 +1073,7 @@ public class KademliaNetworkDatabaseFacade extends NetworkDatabaseFacade { out.flush(); } - private void renderRouterInfo(StringBuffer buf, RouterInfo info, boolean isUs, boolean full) { + private void renderRouterInfo(StringBuilder buf, RouterInfo info, boolean isUs, boolean full) { String hash = info.getIdentity().getHash().toBase64(); buf.append("<a name=\"").append(hash.substring(0, 6)).append("\" />"); if (isUs) { diff --git a/router/java/src/net/i2p/router/networkdb/kademlia/SearchState.java b/router/java/src/net/i2p/router/networkdb/kademlia/SearchState.java index a12f58fd74e5f377f5a620ae7b15dc72eb589ec8..6fe5831ddfa2b83bf1e59342a0fd9a09a35cd3a7 100644 --- a/router/java/src/net/i2p/router/networkdb/kademlia/SearchState.java +++ b/router/java/src/net/i2p/router/networkdb/kademlia/SearchState.java @@ -168,7 +168,7 @@ class SearchState { @Override public String toString() { - StringBuffer buf = new StringBuffer(256); + StringBuilder buf = new StringBuilder(256); buf.append("Searching for ").append(_searchKey); buf.append(" "); if (_completed <= 0) diff --git a/router/java/src/net/i2p/router/networkdb/kademlia/StoreMessageSelector.java b/router/java/src/net/i2p/router/networkdb/kademlia/StoreMessageSelector.java index e8f0eca7ea290d66d5e21ee10a1ea1db2f9e34d2..de9f946b932ce47a7f486141211f641082f43b50 100644 --- a/router/java/src/net/i2p/router/networkdb/kademlia/StoreMessageSelector.java +++ b/router/java/src/net/i2p/router/networkdb/kademlia/StoreMessageSelector.java @@ -57,7 +57,7 @@ class StoreMessageSelector implements MessageSelector { @Override public String toString() { - StringBuffer rv = new StringBuffer(64); + StringBuilder rv = new StringBuilder(64); rv.append("Waiting for netDb confirm from ").append(_peer.toBase64()).append(", found? "); rv.append(_found).append(" waiting for ").append(_waitingForId); return rv.toString(); diff --git a/router/java/src/net/i2p/router/networkdb/kademlia/StoreState.java b/router/java/src/net/i2p/router/networkdb/kademlia/StoreState.java index 184c337a9bc587436a37842ea35b2be1ad273514..91e7687ba3c020d5b1846acb3c89c110aee5f4e8 100644 --- a/router/java/src/net/i2p/router/networkdb/kademlia/StoreState.java +++ b/router/java/src/net/i2p/router/networkdb/kademlia/StoreState.java @@ -149,7 +149,7 @@ class StoreState { @Override public String toString() { - StringBuffer buf = new StringBuffer(256); + StringBuilder buf = new StringBuilder(256); buf.append("Storing ").append(_key); buf.append(" "); if (_completed <= 0) diff --git a/router/java/src/net/i2p/router/networkdb/kademlia/TransientDataStore.java b/router/java/src/net/i2p/router/networkdb/kademlia/TransientDataStore.java index ace0a9666ec22100db5127b738cd3a8912c617ac..a09bc4860c69e1bad3816bef6725e768ee72d0bc 100644 --- a/router/java/src/net/i2p/router/networkdb/kademlia/TransientDataStore.java +++ b/router/java/src/net/i2p/router/networkdb/kademlia/TransientDataStore.java @@ -147,7 +147,7 @@ class TransientDataStore implements DataStore { } @Override public String toString() { - StringBuffer buf = new StringBuffer(); + StringBuilder buf = new StringBuilder(); buf.append("Transient DataStore: ").append(_data.size()).append("\nKeys: "); for (Map.Entry<Hash, DataStructure> e : _data.entrySet()) { Hash key = e.getKey(); diff --git a/router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java b/router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java index bcecf0753ab1f0ba0f596d59b21f9c512af15432..71eca220a7fbe319d8bfc455384234b0f158ea25 100644 --- a/router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java +++ b/router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java @@ -34,7 +34,10 @@ public class Reseeder { // Reject unreasonably big files, because we download into a ByteArrayOutputStream. private static final long MAX_RESEED_RESPONSE_SIZE = 8 * 1024 * 1024; - private static final String DEFAULT_SEED_URL = "http://i2pdb.tin0.de/netDb/,http://netdb.i2p2.de/"; + private static final String DEFAULT_SEED_URL = "http://netdb.i2p2.de/,http://b.netdb.i2p2.de/"; + private static final String PROP_INPROGRESS = "net.i2p.router.web.ReseedHandler.reseedInProgress"; + private static final String PROP_ERROR = "net.i2p.router.web.ReseedHandler.errorMessage"; + private static final String PROP_STATUS = "net.i2p.router.web.ReseedHandler.statusMessage"; public Reseeder(RouterContext ctx) { _context = ctx; @@ -48,7 +51,7 @@ public class Reseeder { if (_reseedRunner.isRunning()) { return; } else { - System.setProperty("net.i2p.router.web.Reseeder.reseedInProgress", "true"); + System.setProperty(PROP_INPROGRESS, "true"); I2PThread reseed = new I2PThread(_reseedRunner, "Reseed"); reseed.start(); } @@ -61,7 +64,7 @@ public class Reseeder { public ReseedRunner() { _isRunning = false; - System.setProperty("net.i2p.router.web.Reseeder.statusMessage","Reseeding."); + System.setProperty(PROP_STATUS, "Reseeding."); } public boolean isRunning() { return _isRunning; } public void run() { @@ -69,7 +72,7 @@ public class Reseeder { System.out.println("Reseed start"); reseed(false); System.out.println("Reseed complete"); - System.setProperty("net.i2p.router.web.Reseeder.reseedInProgress", "false"); + System.setProperty(PROP_INPROGRESS, "false"); _isRunning = false; } @@ -126,13 +129,13 @@ public class Reseeder { private void reseedOne(String seedURL, boolean echoStatus) { try { - System.setProperty("net.i2p.router.web.Reseeder.errorMessage",""); - System.setProperty("net.i2p.router.web.Reseeder.statusMessage","Reseeding: fetching seed URL."); + System.setProperty(PROP_ERROR, ""); + System.setProperty(PROP_STATUS, "Reseeding: fetching seed URL."); System.err.println("Reseed from " + seedURL); URL dir = new URL(seedURL); byte contentRaw[] = readURL(dir); if (contentRaw == null) { - System.setProperty("net.i2p.router.web.Reseeder.errorMessage", + System.setProperty(PROP_ERROR, "Last reseed failed fully (failed reading seed URL). " + RESEED_TIPS); // Logging deprecated here since attemptFailed() provides better info @@ -158,7 +161,7 @@ public class Reseeder { } if (total <= 0) { _log.error("Read " + contentRaw.length + " bytes from seed " + seedURL + ", but found no routerInfo URLs."); - System.setProperty("net.i2p.router.web.Reseeder.errorMessage", + System.setProperty(PROP_ERROR, "Last reseed failed fully (no routerInfo URLs at seed URL). " + RESEED_TIPS); return; @@ -171,7 +174,7 @@ public class Reseeder { // 200 max from one URL for (Iterator iter = urlList.iterator(); iter.hasNext() && fetched < 200; ) { try { - System.setProperty("net.i2p.router.web.Reseeder.statusMessage", + System.setProperty(PROP_STATUS, "Reseeding: fetching router info from seed URL (" + fetched + " successful, " + errors + " errors, " + total + " total)."); @@ -193,12 +196,12 @@ public class Reseeder { // Less than 10% of failures is considered success, // because some routerInfos will always fail. if ((failPercent >= 10) && (failPercent < 90)) { - System.setProperty("net.i2p.router.web.Reseeder.errorMessage", + System.setProperty(PROP_ERROR, "Last reseed failed partly (" + failPercent + "% of " + total + "). " + RESEED_TIPS); } if (failPercent >= 90) { - System.setProperty("net.i2p.router.web.Reseeder.errorMessage", + System.setProperty(PROP_ERROR, "Last reseed failed (" + failPercent + "% of " + total + "). " + RESEED_TIPS); } @@ -208,7 +211,7 @@ public class Reseeder { if (fetched >= 100) _isRunning = false; } catch (Throwable t) { - System.setProperty("net.i2p.router.web.Reseeder.errorMessage", + System.setProperty(PROP_ERROR, "Last reseed failed fully (exception caught). " + RESEED_TIPS); _log.error("Error reseeding", t); diff --git a/router/java/src/net/i2p/router/peermanager/DBHistory.java b/router/java/src/net/i2p/router/peermanager/DBHistory.java index 2c4448be890d74dd380533eaf30cd09b750fd948..b941e6faaf55381fe307c4f5b9fb50268244b4da 100644 --- a/router/java/src/net/i2p/router/peermanager/DBHistory.java +++ b/router/java/src/net/i2p/router/peermanager/DBHistory.java @@ -165,7 +165,7 @@ public class DBHistory { private final static String NL = System.getProperty("line.separator"); public void store(OutputStream out) throws IOException { - StringBuffer buf = new StringBuffer(512); + StringBuilder buf = new StringBuilder(512); buf.append(NL); buf.append("#################").append(NL); buf.append("# DB history").append(NL); @@ -186,7 +186,7 @@ public class DBHistory { _invalidReplyRate.store(out, "dbHistory.invalidReplyRate"); } - private void add(StringBuffer buf, String name, long val, String description) { + private void add(StringBuilder buf, String name, long val, String description) { buf.append("# ").append(name.toUpperCase()).append(NL).append("# ").append(description).append(NL); buf.append("dbHistory.").append(name).append('=').append(val).append(NL).append(NL); } diff --git a/router/java/src/net/i2p/router/peermanager/PeerProfile.java b/router/java/src/net/i2p/router/peermanager/PeerProfile.java index ec05f69f61e09e5f881ec8adf7b9f79f6a546179..5a5d51eedd266b9f2e2ff01032cc50c22acf0b9d 100644 --- a/router/java/src/net/i2p/router/peermanager/PeerProfile.java +++ b/router/java/src/net/i2p/router/peermanager/PeerProfile.java @@ -297,7 +297,7 @@ public class PeerProfile { } if (_log.shouldLog(Log.DEBUG) ) { - StringBuffer buf = new StringBuffer(128); + StringBuilder buf = new StringBuilder(128); buf.append("Updating 1m throughput after ").append(size).append(" to "); for (int i = 0; i < THROUGHPUT_COUNT; i++) buf.append(_peakTunnel1mThroughput[i]).append(','); @@ -509,7 +509,7 @@ public class PeerProfile { fmt.setPositivePrefix("+"); ProfilePersistenceHelper helper = new ProfilePersistenceHelper(ctx); try { Thread.sleep(5*1000); } catch (InterruptedException e) {} - StringBuffer buf = new StringBuffer(1024); + StringBuilder buf = new StringBuilder(1024); for (int i = 0; i < args.length; i++) { PeerProfile profile = helper.readProfile(new File(args[i])); if (profile == null) { diff --git a/router/java/src/net/i2p/router/peermanager/PeerTestJob.java b/router/java/src/net/i2p/router/peermanager/PeerTestJob.java index c4ba39db59447f63971753d99313809c25e5419c..89a3572f921b043d207b024c647445056f0671e4 100644 --- a/router/java/src/net/i2p/router/peermanager/PeerTestJob.java +++ b/router/java/src/net/i2p/router/peermanager/PeerTestJob.java @@ -224,7 +224,7 @@ public class PeerTestJob extends JobImpl { public boolean matchFound() { return _matchFound; } @Override public String toString() { - StringBuffer buf = new StringBuffer(64); + StringBuilder buf = new StringBuilder(64); buf.append("Test peer ").append(_peer.toBase64().substring(0,4)); buf.append(" with nonce ").append(_nonce); return buf.toString(); diff --git a/router/java/src/net/i2p/router/peermanager/ProfileManagerImpl.java b/router/java/src/net/i2p/router/peermanager/ProfileManagerImpl.java index df7691bd16a44d45482a4e51f217bdd7c95098c8..1c40b003dbf4436ce5d93ffebf65bacde1c88255 100644 --- a/router/java/src/net/i2p/router/peermanager/ProfileManagerImpl.java +++ b/router/java/src/net/i2p/router/peermanager/ProfileManagerImpl.java @@ -304,7 +304,7 @@ public class ProfileManagerImpl implements ProfileManager { PeerProfile prof = getProfile(peer); if (prof == null) continue; - StringBuffer buf = new StringBuffer(64); + StringBuilder buf = new StringBuilder(64); buf.append("status: "); if (_context.profileOrganizer().isFast(peer)) { diff --git a/router/java/src/net/i2p/router/peermanager/ProfileOrganizer.java b/router/java/src/net/i2p/router/peermanager/ProfileOrganizer.java index b0de2092d7b4c1bb7fa20f76190109016c8d464f..90792571e33a21580737955d7b2b0830cc53e5a0 100644 --- a/router/java/src/net/i2p/router/peermanager/ProfileOrganizer.java +++ b/router/java/src/net/i2p/router/peermanager/ProfileOrganizer.java @@ -676,7 +676,7 @@ public class ProfileOrganizer { + ", capacity: " + _thresholdCapacityValue + ", speed: " + _thresholdSpeedValue + "]"); /***** if (_log.shouldLog(Log.DEBUG)) { - StringBuffer buf = new StringBuffer(512); + StringBuilder buf = new StringBuilder(512); for (Iterator iter = _strictCapacityOrder.iterator(); iter.hasNext(); ) { PeerProfile prof = (PeerProfile)iter.next(); buf.append('[').append(prof.toString()).append('=').append(prof.getCapacityValue()).append("] "); diff --git a/router/java/src/net/i2p/router/peermanager/ProfileOrganizerRenderer.java b/router/java/src/net/i2p/router/peermanager/ProfileOrganizerRenderer.java index 20806cca7fa21bd9d2a04586d4cb9c1b8a00204d..4b871962c0ab63feb1777eba2ec5ef69a6cb1f2b 100644 --- a/router/java/src/net/i2p/router/peermanager/ProfileOrganizerRenderer.java +++ b/router/java/src/net/i2p/router/peermanager/ProfileOrganizerRenderer.java @@ -56,7 +56,7 @@ class ProfileOrganizerRenderer { int reliable = 0; int integrated = 0; int failing = 0; - StringBuffer buf = new StringBuffer(16*1024); + StringBuilder buf = new StringBuilder(16*1024); buf.append("<h2>Peer Profiles</h2>\n"); buf.append("<p>Showing ").append(order.size()).append(" recent profiles, hiding ").append(peers.size()-order.size()).append(" older profiles</p>"); buf.append("<table border=\"1\">"); diff --git a/router/java/src/net/i2p/router/peermanager/ProfilePersistenceHelper.java b/router/java/src/net/i2p/router/peermanager/ProfilePersistenceHelper.java index e1f265d8f1499c03f30df5f3b2704a36b077019a..e7151314e1985ff9e73f95823e11c836cc32f1c5 100644 --- a/router/java/src/net/i2p/router/peermanager/ProfilePersistenceHelper.java +++ b/router/java/src/net/i2p/router/peermanager/ProfilePersistenceHelper.java @@ -89,7 +89,7 @@ class ProfilePersistenceHelper { groups = groups + ", well integrated"; } - StringBuffer buf = new StringBuffer(512); + StringBuilder buf = new StringBuilder(512); buf.append("########################################################################").append(NL); buf.append("# profile for ").append(profile.getPeer().toBase64()).append(NL); if (_us != null) diff --git a/router/java/src/net/i2p/router/peermanager/TunnelHistory.java b/router/java/src/net/i2p/router/peermanager/TunnelHistory.java index d43aff6cd4d234d093aa10d4bcbe4c75d0db4cf9..bdf352501e8a8b41ab348feeef97e149414b322d 100644 --- a/router/java/src/net/i2p/router/peermanager/TunnelHistory.java +++ b/router/java/src/net/i2p/router/peermanager/TunnelHistory.java @@ -131,7 +131,7 @@ public class TunnelHistory { private final static String NL = System.getProperty("line.separator"); public void store(OutputStream out) throws IOException { - StringBuffer buf = new StringBuffer(512); + StringBuilder buf = new StringBuilder(512); buf.append(NL); buf.append("#################").append(NL); buf.append("# Tunnel history").append(NL); @@ -150,7 +150,7 @@ public class TunnelHistory { _failRate.store(out, "tunnelHistory.failRate"); } - private void add(StringBuffer buf, String name, long val, String description) { + private void add(StringBuilder buf, String name, long val, String description) { buf.append("# ").append(name.toUpperCase()).append(NL).append("# ").append(description).append(NL); buf.append("tunnels.").append(name).append('=').append(val).append(NL).append(NL); } diff --git a/router/java/src/net/i2p/router/startup/ClientAppConfig.java b/router/java/src/net/i2p/router/startup/ClientAppConfig.java index f5d48cb1f2dd109612a26463c6e1cfcaaa97096b..70d61f346fe8ad307eb66d0c981699a502ab2698 100644 --- a/router/java/src/net/i2p/router/startup/ClientAppConfig.java +++ b/router/java/src/net/i2p/router/startup/ClientAppConfig.java @@ -47,13 +47,15 @@ public class ClientAppConfig { cfgFile = new File(ctx.getConfigDir(), clientConfigFile); // fall back to use router.config's clientApp.* lines - if (!cfgFile.exists()) + if (!cfgFile.exists()) { + System.out.println("Warning - No client config file " + cfgFile.getAbsolutePath()); return ctx.router().getConfigMap(); + } try { DataHelper.loadProps(rv, cfgFile); } catch (IOException ioe) { - // _log.warn("Error loading the client app properties from " + cfgFile.getName(), ioe); + System.out.println("Error loading the client app properties from " + cfgFile.getAbsolutePath() + ' ' + ioe); } return rv; @@ -99,7 +101,7 @@ public class ClientAppConfig { FileOutputStream fos = null; try { fos = new FileOutputStream(cfgFile); - StringBuffer buf = new StringBuffer(2048); + StringBuilder buf = new StringBuilder(2048); for(int i = 0; i < apps.size(); i++) { ClientAppConfig app = (ClientAppConfig) apps.get(i); buf.append(PREFIX).append(i).append(".main=").append(app.className).append("\n"); diff --git a/router/java/src/net/i2p/router/startup/LoadClientAppsJob.java b/router/java/src/net/i2p/router/startup/LoadClientAppsJob.java index 0770241d6b4f66886ef5efce791a3f6e9e25fafd..0f86f5b61b3f02813f9bd96b863d8d211f379f54 100644 --- a/router/java/src/net/i2p/router/startup/LoadClientAppsJob.java +++ b/router/java/src/net/i2p/router/startup/LoadClientAppsJob.java @@ -29,6 +29,11 @@ public class LoadClientAppsJob extends JobImpl { _loaded = true; } List apps = ClientAppConfig.getClientApps(getContext()); + if (apps.size() <= 0) { + _log.error("Warning - No client apps or router console configured - we are just a router"); + System.err.println("Warning - No client apps or router console configured - we are just a router"); + return; + } for(int i = 0; i < apps.size(); i++) { ClientAppConfig app = (ClientAppConfig) apps.get(i); if (app.disabled) @@ -64,7 +69,7 @@ public class LoadClientAppsJob extends JobImpl { List argList = new ArrayList(4); if (args != null) { char data[] = args.toCharArray(); - StringBuffer buf = new StringBuffer(32); + StringBuilder buf = new StringBuilder(32); boolean isQuoted = false; for (int i = 0; i < data.length; i++) { switch (data[i]) { @@ -74,7 +79,7 @@ public class LoadClientAppsJob extends JobImpl { String str = buf.toString().trim(); if (str.length() > 0) argList.add(str); - buf = new StringBuffer(32); + buf = new StringBuilder(32); } else { isQuoted = true; } @@ -89,7 +94,7 @@ public class LoadClientAppsJob extends JobImpl { String str = buf.toString().trim(); if (str.length() > 0) argList.add(str); - buf = new StringBuffer(32); + buf = new StringBuilder(32); } break; default: diff --git a/router/java/src/net/i2p/router/transport/CommSystemFacadeImpl.java b/router/java/src/net/i2p/router/transport/CommSystemFacadeImpl.java index 03d3071bb512fcdd24ff56fa53d8b977c77f8a8c..a426c45304e0150d838f6fa013aa6b8df3f39606 100644 --- a/router/java/src/net/i2p/router/transport/CommSystemFacadeImpl.java +++ b/router/java/src/net/i2p/router/transport/CommSystemFacadeImpl.java @@ -206,14 +206,15 @@ public class CommSystemFacadeImpl extends CommSystemFacade { public final static String PROP_I2NP_NTCP_AUTO_IP = "i2np.ntcp.autoip"; /** + * This only creates an address if the hostname AND port are set in router.config, + * which should be rare. + * Otherwise, notifyReplaceAddress() below takes care of it. + * Note this is called both from above and from NTCPTransport.startListening() + * * This should really be moved to ntcp/NTCPTransport.java, why is it here? */ public static RouterAddress createNTCPAddress(RouterContext ctx) { if (!TransportManager.enableNTCP(ctx)) return null; - RouterAddress addr = new RouterAddress(); - addr.setCost(10); - addr.setExpiration(null); - Properties props = new Properties(); String name = ctx.router().getConfigSetting(PROP_I2NP_NTCP_HOSTNAME); String port = ctx.router().getConfigSetting(PROP_I2NP_NTCP_PORT); /* @@ -236,12 +237,16 @@ public class CommSystemFacadeImpl extends CommSystemFacade { } catch (NumberFormatException nfe) { return null; } + Properties props = new Properties(); props.setProperty(NTCPAddress.PROP_HOST, name); props.setProperty(NTCPAddress.PROP_PORT, port); + RouterAddress addr = new RouterAddress(); + addr.setCost(10); + addr.setExpiration(null); addr.setOptions(props); addr.setTransportStyle(NTCPTransport.STYLE); //if (isNew) { - if (false) return null; + // why save the same thing? ctx.router().setConfigSetting(PROP_I2NP_NTCP_HOSTNAME, name); ctx.router().setConfigSetting(PROP_I2NP_NTCP_PORT, port); ctx.router().saveConfig(); @@ -334,6 +339,15 @@ public class CommSystemFacadeImpl extends CommSystemFacade { } } else if (ohost == null || ohost.length() <= 0) { return; + } else if (enabled.equalsIgnoreCase("true") && status != STATUS_OK) { + // UDP transitioned to not-OK, turn off NTCP address + // This will commonly happen at startup if we were initially OK + // because UPnP was successful, but a subsequent SSU Peer Test determines + // we are still firewalled (SW firewall, bad UPnP indication, etc.) + if (_log.shouldLog(Log.INFO)) + _log.info("old: " + ohost + " config: " + name + " new: null"); + newAddr = null; + changed = true; } if (!changed) { @@ -346,10 +360,12 @@ public class CommSystemFacadeImpl extends CommSystemFacade { // // really need to fix this so that we can change or create an inbound address // without tearing down everything + // Especially on disabling the address, we shouldn't tear everything down. // _log.warn("Halting NTCP to change address"); t.stopListening(); - newAddr.setOptions(newProps); + if (newAddr != null) + newAddr.setOptions(newProps); // Wait for NTCP Pumper to stop so we don't end up with two... while (t.isAlive()) { try { Thread.sleep(5*1000); } catch (InterruptedException ie) {} @@ -448,7 +464,7 @@ public class CommSystemFacadeImpl extends CommSystemFacade { /** Provide a consistent "look" for displaying router IDs in the console */ public String renderPeerHTML(Hash peer) { String h = peer.toBase64().substring(0, 4); - StringBuffer buf = new StringBuffer(128); + StringBuilder buf = new StringBuilder(128); String c = getCountry(peer); if (c != null) { buf.append("<img alt=\"").append(c.toUpperCase()).append("\" title=\""); diff --git a/router/java/src/net/i2p/router/transport/FIFOBandwidthLimiter.java b/router/java/src/net/i2p/router/transport/FIFOBandwidthLimiter.java index 1f643b48df7fb23ce21226f8b6dbe15514383852..a4ded13edd6a146770c7154a6852a2a2bd9cee1d 100644 --- a/router/java/src/net/i2p/router/transport/FIFOBandwidthLimiter.java +++ b/router/java/src/net/i2p/router/transport/FIFOBandwidthLimiter.java @@ -199,8 +199,8 @@ public class FIFOBandwidthLimiter { void setInboundBurstBytes(int bytes) { _maxInboundBurst = bytes; } void setOutboundBurstBytes(int bytes) { _maxOutboundBurst = bytes; } - StringBuffer getStatus() { - StringBuffer rv = new StringBuffer(64); + StringBuilder getStatus() { + StringBuilder rv = new StringBuilder(64); rv.append("Available: ").append(_availableInbound).append('/').append(_availableOutbound).append(' '); rv.append("Max: ").append(_maxInbound).append('/').append(_maxOutbound).append(' '); rv.append("Burst: ").append(_unavailableInboundBurst).append('/').append(_unavailableOutboundBurst).append(' '); @@ -618,7 +618,7 @@ public class FIFOBandwidthLimiter { public void renderStatusHTML(Writer out) throws IOException { long now = now(); - StringBuffer buf = new StringBuffer(4096); + StringBuilder buf = new StringBuilder(4096); buf.append("<p><b id=\"bwlim\">Limiter Status:</b><br />").append(getStatus().toString()).append("</p>\n"); buf.append("<p><b>Pending bandwidth requests:</b><ul>"); buf.append("<li>Inbound requests: <ol>"); diff --git a/router/java/src/net/i2p/router/transport/GeoIP.java b/router/java/src/net/i2p/router/transport/GeoIP.java index fb4984978d99b1f7f55aa9740e3342cd6e25628d..185547a319d0e57a4b68292f006886a50262b12e 100644 --- a/router/java/src/net/i2p/router/transport/GeoIP.java +++ b/router/java/src/net/i2p/router/transport/GeoIP.java @@ -140,7 +140,7 @@ public class GeoIP { FileInputStream in = null; try { in = new FileInputStream(GeoFile); - StringBuffer buf = new StringBuffer(128); + StringBuilder buf = new StringBuilder(128); while (DataHelper.readLine(in, buf)) { try { if (buf.charAt(0) == '#') { @@ -202,7 +202,7 @@ public class GeoIP { FileInputStream in = null; try { in = new FileInputStream(GeoFile); - StringBuffer buf = new StringBuffer(128); + StringBuilder buf = new StringBuilder(128); while (DataHelper.readLine(in, buf) && idx < search.length) { try { if (buf.charAt(0) == '#') { diff --git a/router/java/src/net/i2p/router/transport/TransportImpl.java b/router/java/src/net/i2p/router/transport/TransportImpl.java index e6e3c80e50e8e172ab5ac39207be49d49f602d9f..7f27766a76f0bc7333faa61259ceabc9c083f9a3 100644 --- a/router/java/src/net/i2p/router/transport/TransportImpl.java +++ b/router/java/src/net/i2p/router/transport/TransportImpl.java @@ -364,7 +364,7 @@ public abstract class TransportImpl implements Transport { if (msToReceive > 5000) level = Log.WARN; if (_log.shouldLog(level)) { - StringBuffer buf = new StringBuffer(128); + StringBuilder buf = new StringBuilder(128); buf.append("Message received: ").append(inMsg.getClass().getName()); buf.append(" / ").append(inMsg.getUniqueId()); buf.append(" in ").append(msToReceive).append("ms containing "); diff --git a/router/java/src/net/i2p/router/transport/TransportManager.java b/router/java/src/net/i2p/router/transport/TransportManager.java index c61ed14f8bfec4f039fc9bdab7854edcbf01664b..d432f80fd2d0e7cd4a585f3896392b414da4ec5e 100644 --- a/router/java/src/net/i2p/router/transport/TransportManager.java +++ b/router/java/src/net/i2p/router/transport/TransportManager.java @@ -486,7 +486,7 @@ public class TransportManager implements TransportEventListener { Transport t= (Transport)iter.next(); t.renderStatusHTML(out, urlBase, sortFlags); } - StringBuffer buf = new StringBuffer(4*1024); + StringBuilder buf = new StringBuilder(4*1024); buf.append("<p><b>Router Transport Addresses:</b><br /><pre>\n"); for (int i = 0; i < _transports.size(); i++) { Transport t = (Transport)_transports.get(i); diff --git a/router/java/src/net/i2p/router/transport/ntcp/EstablishState.java b/router/java/src/net/i2p/router/transport/ntcp/EstablishState.java index e462764d5915d69d649aa39d660568bab1a6c0e2..89d1cf85b8f65f07499da0b306e910bd7563f886 100644 --- a/router/java/src/net/i2p/router/transport/ntcp/EstablishState.java +++ b/router/java/src/net/i2p/router/transport/ntcp/EstablishState.java @@ -662,7 +662,7 @@ public class EstablishState { private String prefix() { return toString(); } @Override public String toString() { - StringBuffer buf = new StringBuffer(64); + StringBuilder buf = new StringBuilder(64); buf.append("est").append(System.identityHashCode(this)); if (_con.isInbound()) buf.append(" inbound"); else buf.append(" outbound"); diff --git a/router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java b/router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java index 84cd7673212bbc6395618cadb7479e7160cd35c4..5fa10b3108c47049eadb42bd0fd88177256561f4 100644 --- a/router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java +++ b/router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java @@ -417,7 +417,7 @@ public class NTCPTransport extends TransportImpl { private static final int NUM_CONCURRENT_WRITERS = 3; public synchronized RouterAddress startListening() { - if (_log.shouldLog(Log.DEBUG)) _log.debug("Starting ntcp transport listening"); + if (_log.shouldLog(Log.WARN)) _log.warn("Starting ntcp transport listening"); _finisher.start(); _pumper.startPumping(); @@ -429,14 +429,17 @@ public class NTCPTransport extends TransportImpl { } public synchronized RouterAddress restartListening(RouterAddress addr) { - if (_log.shouldLog(Log.DEBUG)) _log.debug("Restarting ntcp transport listening"); + if (_log.shouldLog(Log.WARN)) _log.warn("Restarting ntcp transport listening"); _finisher.start(); _pumper.startPumping(); _reader.startReading(NUM_CONCURRENT_READERS); _writer.startWriting(NUM_CONCURRENT_WRITERS); - _myAddress = new NTCPAddress(addr); + if (addr == null) + _myAddress = null; + else + _myAddress = new NTCPAddress(addr); return bindAddress(); } @@ -603,7 +606,7 @@ public class NTCPTransport extends TransportImpl { * before calling startListening() or restartListening() */ public synchronized void stopListening() { - if (_log.shouldLog(Log.DEBUG)) _log.debug("Stopping ntcp transport"); + if (_log.shouldLog(Log.WARN)) _log.warn("Stopping ntcp transport"); _pumper.stopPumping(); _writer.stopWriting(); _reader.stopReading(); @@ -643,7 +646,7 @@ public class NTCPTransport extends TransportImpl { long totalSend = 0; long totalRecv = 0; - StringBuffer buf = new StringBuffer(512); + StringBuilder buf = new StringBuilder(512); buf.append("<p><b id=\"ntcpcon\">NTCP connections: ").append(peers.size()); buf.append(" limit: ").append(getMaxConnections()); buf.append(" timeout: ").append(DataHelper.formatDuration(_pumper.getIdleTimeout())); diff --git a/router/java/src/net/i2p/router/transport/udp/InboundEstablishState.java b/router/java/src/net/i2p/router/transport/udp/InboundEstablishState.java index 290a5139b060c81018be0cc21b735b26e4bae32a..7b2bce4b0e2048b0c76a3493046632a6d7a3db38 100644 --- a/router/java/src/net/i2p/router/transport/udp/InboundEstablishState.java +++ b/router/java/src/net/i2p/router/transport/udp/InboundEstablishState.java @@ -181,7 +181,7 @@ public class InboundEstablishState { _sentSignature = _context.dsa().sign(signed, _context.keyManager().getSigningPrivateKey()); if (_log.shouldLog(Log.DEBUG)) { - StringBuffer buf = new StringBuffer(128); + StringBuilder buf = new StringBuilder(128); buf.append("Signing sessionCreated:"); buf.append(" ReceivedX: ").append(Base64.encode(_receivedX)); buf.append(" SentY: ").append(Base64.encode(_sentY)); @@ -333,7 +333,7 @@ public class InboundEstablishState { @Override public String toString() { - StringBuffer buf = new StringBuffer(128); + StringBuilder buf = new StringBuilder(128); buf.append(super.toString()); if (_receivedX != null) buf.append(" ReceivedX: ").append(Base64.encode(_receivedX, 0, 4)); diff --git a/router/java/src/net/i2p/router/transport/udp/InboundMessageState.java b/router/java/src/net/i2p/router/transport/udp/InboundMessageState.java index 71ce7d0815d9165ff7429cc27761410a558e70e8..7338e0b8355c190a21b7b991064efe59d6ab447a 100644 --- a/router/java/src/net/i2p/router/transport/udp/InboundMessageState.java +++ b/router/java/src/net/i2p/router/transport/udp/InboundMessageState.java @@ -140,7 +140,7 @@ public class InboundMessageState { @Override public String toString() { - StringBuffer buf = new StringBuffer(64); + StringBuilder buf = new StringBuilder(64); buf.append("Partial ACK of "); buf.append(_bitfieldMessageId); buf.append(" with ACKs for: "); @@ -165,7 +165,7 @@ public class InboundMessageState { @Override public String toString() { - StringBuffer buf = new StringBuffer(32); + StringBuilder buf = new StringBuilder(32); buf.append("Message: ").append(_messageId); if (isComplete()) { buf.append(" completely received with "); diff --git a/router/java/src/net/i2p/router/transport/udp/OutboundEstablishState.java b/router/java/src/net/i2p/router/transport/udp/OutboundEstablishState.java index 47a54ce116a6d23f44fc357975a6351b8127dabb..a5c732e080fa727e3701c2e1f7d962dfe0e552a4 100644 --- a/router/java/src/net/i2p/router/transport/udp/OutboundEstablishState.java +++ b/router/java/src/net/i2p/router/transport/udp/OutboundEstablishState.java @@ -291,7 +291,7 @@ public class OutboundEstablishState { DataHelper.toLong(signed, off, 4, _receivedSignedOnTime); boolean valid = _context.dsa().verifySignature(_receivedSignature, signed, _remotePeer.getSigningPublicKey()); if (!valid || _log.shouldLog(Log.DEBUG)) { - StringBuffer buf = new StringBuffer(128); + StringBuilder buf = new StringBuilder(128); buf.append("Signed sessionCreated:"); buf.append(" AliceIP: ").append(Base64.encode(_aliceIP)); buf.append(" AlicePort: ").append(_alicePort); diff --git a/router/java/src/net/i2p/router/transport/udp/OutboundMessageState.java b/router/java/src/net/i2p/router/transport/udp/OutboundMessageState.java index 052ff2b4f7de23bc883837265a8fcab7fedd6298..650c17592a3798f679adf7fdfe73e3d8e0272895 100644 --- a/router/java/src/net/i2p/router/transport/udp/OutboundMessageState.java +++ b/router/java/src/net/i2p/router/transport/udp/OutboundMessageState.java @@ -295,7 +295,7 @@ public class OutboundMessageState { public String toString() { short sends[] = _fragmentSends; ByteArray messageBuf = _messageBuf; - StringBuffer buf = new StringBuffer(64); + StringBuilder buf = new StringBuilder(64); buf.append("Message ").append(_messageId); if (sends != null) buf.append(" with ").append(sends.length).append(" fragments"); diff --git a/router/java/src/net/i2p/router/transport/udp/PacketBuilder.java b/router/java/src/net/i2p/router/transport/udp/PacketBuilder.java index dcdf5fb6d95f95ca7ed7fd830415f85b408b8559..d12076e7f4161da6e9f0bf868de367a31cd08f7b 100644 --- a/router/java/src/net/i2p/router/transport/udp/PacketBuilder.java +++ b/router/java/src/net/i2p/router/transport/udp/PacketBuilder.java @@ -61,10 +61,10 @@ public class PacketBuilder { public UDPPacket buildPacket(OutboundMessageState state, int fragment, PeerState peer, List ackIdsRemaining, List partialACKsRemaining) { UDPPacket packet = UDPPacket.acquire(_context, false); - StringBuffer msg = null; + StringBuilder msg = null; boolean acksIncluded = false; if (_log.shouldLog(Log.INFO)) { - msg = new StringBuffer(128); + msg = new StringBuilder(128); msg.append("Send to ").append(peer.getRemotePeer().toBase64()); msg.append(" msg ").append(state.getMessageId()).append(":").append(fragment); if (fragment == state.getFragmentCount() - 1) @@ -219,9 +219,9 @@ public class PacketBuilder { public UDPPacket buildACK(PeerState peer, List ackBitfields) { UDPPacket packet = UDPPacket.acquire(_context, false); - StringBuffer msg = null; + StringBuilder msg = null; if (_log.shouldLog(Log.DEBUG)) { - msg = new StringBuffer(128); + msg = new StringBuilder(128); msg.append("building ACK packet to ").append(peer.getRemotePeer().toBase64().substring(0,6)); } @@ -379,7 +379,7 @@ public class PacketBuilder { off += 8; if (_log.shouldLog(Log.DEBUG)) { - StringBuffer buf = new StringBuffer(128); + StringBuilder buf = new StringBuilder(128); buf.append("Sending sessionCreated:"); buf.append(" AliceIP: ").append(Base64.encode(sentIP)); buf.append(" AlicePort: ").append(state.getSentPort()); diff --git a/router/java/src/net/i2p/router/transport/udp/PacketHandler.java b/router/java/src/net/i2p/router/transport/udp/PacketHandler.java index d32e8526dbef6f3b18625b95dc62f8de92f2f687..fb5d2e9c9e9864c012b4b14633e215767303a0e4 100644 --- a/router/java/src/net/i2p/router/transport/udp/PacketHandler.java +++ b/router/java/src/net/i2p/router/transport/udp/PacketHandler.java @@ -93,7 +93,7 @@ public class PacketHandler { } String getHandlerStatus() { - StringBuffer rv = new StringBuffer(); + StringBuilder rv = new StringBuilder(); int size = _handlers.size(); rv.append("Handlers: ").append(size); for (int i = 0; i < size; i++) { @@ -324,7 +324,7 @@ public class PacketHandler { private void receivePacket(UDPPacketReader reader, UDPPacket packet, InboundEstablishState state, boolean allowFallback) { _state = 31; if ( (state != null) && (_log.shouldLog(Log.DEBUG)) ) { - StringBuffer buf = new StringBuffer(128); + StringBuilder buf = new StringBuilder(128); buf.append("Attempting to receive a packet on a known inbound state: "); buf.append(state); buf.append(" MAC key: ").append(state.getMACKey()); @@ -362,7 +362,7 @@ public class PacketHandler { private void receivePacket(UDPPacketReader reader, UDPPacket packet, OutboundEstablishState state) { _state = 35; if ( (state != null) && (_log.shouldLog(Log.DEBUG)) ) { - StringBuffer buf = new StringBuffer(128); + StringBuilder buf = new StringBuilder(128); buf.append("Attempting to receive a packet on a known outbound state: "); buf.append(state); buf.append(" MAC key: ").append(state.getMACKey()); @@ -470,7 +470,7 @@ public class PacketHandler { if (state != null) { UDPPacketReader.DataReader dr = reader.getDataReader(); if (_log.shouldLog(Log.INFO)) { - StringBuffer msg = new StringBuffer(); + StringBuilder msg = new StringBuilder(); msg.append("Receive ").append(System.identityHashCode(packet)); msg.append(" from ").append(state.getRemotePeer().toBase64()).append(" ").append(state.getRemoteHostId()); for (int i = 0; i < dr.readFragmentCount(); i++) { diff --git a/router/java/src/net/i2p/router/transport/udp/PeerState.java b/router/java/src/net/i2p/router/transport/udp/PeerState.java index 74608069c5dafbf5adeeb39c1a26e7d5dc3aada8..85169b0495b25cd4b120a592a016b409db833c8a 100644 --- a/router/java/src/net/i2p/router/transport/udp/PeerState.java +++ b/router/java/src/net/i2p/router/transport/udp/PeerState.java @@ -1555,7 +1555,7 @@ public class PeerState { @Override public String toString() { - StringBuffer buf = new StringBuffer(64); + StringBuilder buf = new StringBuilder(64); buf.append(_remoteHostId.toString()); if (_remotePeer != null) buf.append(" ").append(_remotePeer.toBase64().substring(0,6)); diff --git a/router/java/src/net/i2p/router/transport/udp/PeerTestState.java b/router/java/src/net/i2p/router/transport/udp/PeerTestState.java index 625bf648a7c9e1079ebf12c93ff18a6bcf8b300c..16fff5fa8fd1d15ef8abc0a70edc23ea87580e45 100644 --- a/router/java/src/net/i2p/router/transport/udp/PeerTestState.java +++ b/router/java/src/net/i2p/router/transport/udp/PeerTestState.java @@ -98,7 +98,7 @@ class PeerTestState { @Override public synchronized String toString() { - StringBuffer buf = new StringBuffer(512); + StringBuilder buf = new StringBuilder(512); buf.append("Role: "); if (_ourRole == ALICE) buf.append("Alice"); else if (_ourRole == BOB) buf.append("Bob"); diff --git a/router/java/src/net/i2p/router/transport/udp/RemoteHostId.java b/router/java/src/net/i2p/router/transport/udp/RemoteHostId.java index 4bb2338f1f5e7e6ce86525936ea513cb7b3032b3..510d712a0bb478838e0e6a3977ca823b4ce6e9dc 100644 --- a/router/java/src/net/i2p/router/transport/udp/RemoteHostId.java +++ b/router/java/src/net/i2p/router/transport/udp/RemoteHostId.java @@ -60,7 +60,7 @@ final class RemoteHostId { } } public static String toString(byte ip[]) { - StringBuffer buf = new StringBuffer(ip.length+5); + StringBuilder buf = new StringBuilder(ip.length+5); for (int i = 0; i < ip.length; i++) { buf.append(ip[i]&0xFF); if (i + 1 < ip.length) diff --git a/router/java/src/net/i2p/router/transport/udp/UDPAddress.java b/router/java/src/net/i2p/router/transport/udp/UDPAddress.java index 723817e0104b526a9e6fbcaf898c7d2c758d515d..6db0b1c6c2d840106582216896634306eeaff141 100644 --- a/router/java/src/net/i2p/router/transport/udp/UDPAddress.java +++ b/router/java/src/net/i2p/router/transport/udp/UDPAddress.java @@ -42,7 +42,7 @@ public class UDPAddress { @Override public String toString() { - StringBuffer rv = new StringBuffer(64); + StringBuilder rv = new StringBuilder(64); if (_introHosts != null) { for (int i = 0; i < _introHosts.length; i++) { rv.append("ssu://"); diff --git a/router/java/src/net/i2p/router/transport/udp/UDPPacket.java b/router/java/src/net/i2p/router/transport/udp/UDPPacket.java index 4a5ef837f3e96bcf73f1ba2cfb116e7f7baab386..37fd5ad1293cd05f9564105b8791321e807bc6e8 100644 --- a/router/java/src/net/i2p/router/transport/udp/UDPPacket.java +++ b/router/java/src/net/i2p/router/transport/udp/UDPPacket.java @@ -168,7 +168,7 @@ public class UDPPacket { Hash hmac = _context.hmac().calculate(macKey, buf.getData(), 0, off); if (_log.shouldLog(Log.DEBUG)) { - StringBuffer str = new StringBuffer(128); + StringBuilder str = new StringBuilder(128); str.append(_packet.getLength()).append(" byte packet received, payload length "); str.append(payloadLength); str.append("\nIV: ").append(Base64.encode(buf.getData(), payloadLength, IV_SIZE)); @@ -237,7 +237,7 @@ public class UDPPacket { @Override public String toString() { verifyNotReleased(); - StringBuffer buf = new StringBuffer(64); + StringBuilder buf = new StringBuilder(64); buf.append(_packet.getLength()); buf.append(" byte packet with "); buf.append(_packet.getAddress().getHostAddress()).append(":"); diff --git a/router/java/src/net/i2p/router/transport/udp/UDPPacketReader.java b/router/java/src/net/i2p/router/transport/udp/UDPPacketReader.java index 5bff1789d77d92a016fa8433792fb05add487cc7..9bb665f6b645412fdaa636750e72edaa3e87c2f5 100644 --- a/router/java/src/net/i2p/router/transport/udp/UDPPacketReader.java +++ b/router/java/src/net/i2p/router/transport/udp/UDPPacketReader.java @@ -129,7 +129,7 @@ public class UDPPacketReader { } } - public void toRawString(StringBuffer buf) { + public void toRawString(StringBuilder buf) { if (_message != null) buf.append(Base64.encode(_message, _payloadBeginOffset, _payloadLength)); } @@ -401,7 +401,7 @@ public class UDPPacketReader { @Override public String toString() { - StringBuffer buf = new StringBuffer(256); + StringBuilder buf = new StringBuilder(256); long msAgo = _context.clock().now() - readTimestamp()*1000; buf.append("Data packet sent ").append(msAgo).append("ms ago "); buf.append("IV "); @@ -463,7 +463,7 @@ public class UDPPacketReader { return buf.toString(); } - public void toRawString(StringBuffer buf) { + public void toRawString(StringBuilder buf) { UDPPacketReader.this.toRawString(buf); buf.append(" payload: "); @@ -506,7 +506,7 @@ public class UDPPacketReader { } @Override public String toString() { - StringBuffer buf = new StringBuffer(64); + StringBuilder buf = new StringBuilder(64); buf.append("Read partial ACK of "); buf.append(getMessageId()); buf.append(" with ACKs for: "); diff --git a/router/java/src/net/i2p/router/transport/udp/UDPReceiver.java b/router/java/src/net/i2p/router/transport/udp/UDPReceiver.java index 6dec9779eea94ca82d0c95cc600d8d1d63c62b02..82d0ea656092bfbaaf8658e4db9b89fc9fb8ba5d 100644 --- a/router/java/src/net/i2p/router/transport/udp/UDPReceiver.java +++ b/router/java/src/net/i2p/router/transport/udp/UDPReceiver.java @@ -164,7 +164,7 @@ public class UDPReceiver { packet.release(); _context.statManager().addRateData("udp.droppedInbound", queueSize, headPeriod); if (_log.shouldLog(Log.WARN)) { - StringBuffer msg = new StringBuffer(); + StringBuilder msg = new StringBuilder(); msg.append("Dropping inbound packet with "); msg.append(queueSize); msg.append(" queued for "); diff --git a/router/java/src/net/i2p/router/transport/udp/UDPTransport.java b/router/java/src/net/i2p/router/transport/udp/UDPTransport.java index e010e5213f851dd2663b70b0780289fc447a6ba8..47edd62c3af35b00442524a5ce83fcd430da1813 100644 --- a/router/java/src/net/i2p/router/transport/udp/UDPTransport.java +++ b/router/java/src/net/i2p/router/transport/udp/UDPTransport.java @@ -437,12 +437,16 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority synchronized (this) { if ( (_externalListenHost == null) || (!eq(_externalListenHost.getAddress(), _externalListenPort, ourIP, ourPort)) ) { + if (_log.shouldLog(Log.WARN)) + _log.warn("Change address? status = " + _reachabilityStatus + + " diff = " + (_context.clock().now() - _reachabilityStatusLastUpdated) + + " old = " + _externalListenHost + ':' + _externalListenPort); if ( (_reachabilityStatus != CommSystemFacade.STATUS_OK) || (_externalListenHost == null) || (_externalListenPort <= 0) || (_context.clock().now() - _reachabilityStatusLastUpdated > 2*TEST_FREQUENCY) ) { // they told us something different and our tests are either old or failing - if (_log.shouldLog(Log.INFO)) - _log.info("Trying to change our external address..."); + if (_log.shouldLog(Log.WARN)) + _log.warn("Trying to change our external address..."); try { _externalListenHost = InetAddress.getByAddress(ourIP); // fixed port defaults to true so we never do this @@ -455,15 +459,15 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority } } catch (UnknownHostException uhe) { _externalListenHost = null; - if (_log.shouldLog(Log.INFO)) - _log.info("Error trying to change our external address", uhe); + if (_log.shouldLog(Log.WARN)) + _log.warn("Error trying to change our external address", uhe); } } else { // they told us something different, but our tests are recent and positive, // so lets test again fireTest = true; - if (_log.shouldLog(Log.INFO)) - _log.info("Different address, but we're fine.. (" + _reachabilityStatus + ")"); + if (_log.shouldLog(Log.WARN)) + _log.warn("Different address, but we're fine.. (" + _reachabilityStatus + ")"); } } else { // matched what we expect @@ -760,7 +764,7 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority private void dropPeer(PeerState peer, boolean shouldShitlist, String why) { if (_log.shouldLog(Log.WARN)) { long now = _context.clock().now(); - StringBuffer buf = new StringBuffer(4096); + StringBuilder buf = new StringBuilder(4096); long timeSinceSend = now - peer.getLastSendTime(); long timeSinceRecv = now - peer.getLastReceiveTime(); long timeSinceAck = now - peer.getLastACKSend(); @@ -1282,7 +1286,7 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority OutNetMessage m = msg.getMessage(); PeerState p = msg.getPeer(); - StringBuffer buf = new StringBuffer(64); + StringBuilder buf = new StringBuilder(64); buf.append(" lifetime: ").append(msg.getLifetime()); buf.append(" sends: ").append(sends); buf.append(" pushes: ").append(pushCount); @@ -1727,7 +1731,7 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority } } - private void appendSortLinks(StringBuffer buf, String urlBase, int sortFlags, String descr, int ascending) { + private void appendSortLinks(StringBuilder buf, String urlBase, int sortFlags, String descr, int ascending) { if (sortFlags == ascending) { buf.append(" <a href=\"").append(urlBase).append("?sort=").append(0-ascending); buf.append("\" title=\"").append(descr).append("\">V</a><b>^</b> "); @@ -1763,7 +1767,7 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority long dupRecvTotal = 0; int numPeers = 0; - StringBuffer buf = new StringBuffer(512); + StringBuilder buf = new StringBuilder(512); buf.append("<p><b id=\"udpcon\">UDP connections: ").append(peers.size()); buf.append(" limit: ").append(getMaxConnections()); buf.append(" timeout: ").append(DataHelper.formatDuration(_expireTimeout)); diff --git a/router/java/src/net/i2p/router/tunnel/BatchedPreprocessor.java b/router/java/src/net/i2p/router/tunnel/BatchedPreprocessor.java index 2de7868dbfa2b21dca5a24cda9c75fafede5f0e2..751d629a54451553e1950556b9e4b0d61ce517ec 100644 --- a/router/java/src/net/i2p/router/tunnel/BatchedPreprocessor.java +++ b/router/java/src/net/i2p/router/tunnel/BatchedPreprocessor.java @@ -65,10 +65,10 @@ public class BatchedPreprocessor extends TrivialPreprocessor { @Override public boolean preprocessQueue(List pending, TunnelGateway.Sender sender, TunnelGateway.Receiver rec) { - StringBuffer timingBuf = null; + StringBuilder timingBuf = null; if (_log.shouldLog(Log.DEBUG)) { _log.debug("Preprocess queue with " + pending.size() + " to send"); - timingBuf = new StringBuffer(128); + timingBuf = new StringBuilder(128); timingBuf.append("Preprocess with " + pending.size() + " to send. "); } if (DISABLE_BATCHING) { @@ -246,7 +246,7 @@ public class BatchedPreprocessor extends TrivialPreprocessor { private void display(long allocated, List pending, String title) { if (_log.shouldLog(Log.INFO)) { long highestDelay = 0; - StringBuffer buf = new StringBuffer(); + StringBuilder buf = new StringBuilder(); buf.append(_name).append(": "); buf.append(title); buf.append(" allocated: ").append(allocated); @@ -286,7 +286,7 @@ public class BatchedPreprocessor extends TrivialPreprocessor { // generate the final preprocessed data if (offset <= 0) { - StringBuffer buf = new StringBuffer(128); + StringBuilder buf = new StringBuilder(128); buf.append("wtf, written offset is ").append(offset); buf.append(" for ").append(startAt).append(" through ").append(sendThrough); for (int i = startAt; i <= sendThrough; i++) { diff --git a/router/java/src/net/i2p/router/tunnel/FragmentedMessage.java b/router/java/src/net/i2p/router/tunnel/FragmentedMessage.java index 94e2c8c2487ccaf00cbe9b79f0de66f6e5d9d9cf..77f54bb2c4fd8f1da0d7e8aed20db3643da3d0f4 100644 --- a/router/java/src/net/i2p/router/tunnel/FragmentedMessage.java +++ b/router/java/src/net/i2p/router/tunnel/FragmentedMessage.java @@ -275,7 +275,7 @@ public class FragmentedMessage { @Override public String toString() { - StringBuffer buf = new StringBuffer(128); + StringBuilder buf = new StringBuilder(128); buf.append("Fragments for ").append(_messageId).append(": "); for (int i = 0; i <= _highFragmentNum; i++) { ByteArray ba = _fragments[i]; diff --git a/router/java/src/net/i2p/router/tunnel/HopConfig.java b/router/java/src/net/i2p/router/tunnel/HopConfig.java index ab0c32a3f35a455c8650d1bb8a02d0a57497e3aa..532bdfe20c5157f28d16dcca4c9c47a871363862 100644 --- a/router/java/src/net/i2p/router/tunnel/HopConfig.java +++ b/router/java/src/net/i2p/router/tunnel/HopConfig.java @@ -137,7 +137,7 @@ public class HopConfig { @Override public String toString() { - StringBuffer buf = new StringBuffer(64); + StringBuilder buf = new StringBuilder(64); if (_receiveTunnelId != null) { buf.append("recv on "); buf.append(DataHelper.fromLong(_receiveTunnelId, 0, 4)); diff --git a/router/java/src/net/i2p/router/tunnel/TrivialPreprocessor.java b/router/java/src/net/i2p/router/tunnel/TrivialPreprocessor.java index d687df726f2b80366c4f925c2ac749336516b3db..4792b14c266bcc66e33e73117288f74dab5d46ad 100644 --- a/router/java/src/net/i2p/router/tunnel/TrivialPreprocessor.java +++ b/router/java/src/net/i2p/router/tunnel/TrivialPreprocessor.java @@ -43,9 +43,9 @@ public class TrivialPreprocessor implements TunnelGateway.QueuePreprocessor { */ public boolean preprocessQueue(List pending, TunnelGateway.Sender sender, TunnelGateway.Receiver rec) { long begin = System.currentTimeMillis(); - StringBuffer buf = null; + StringBuilder buf = null; if (_log.shouldLog(Log.DEBUG)) { - buf = new StringBuffer(256); + buf = new StringBuilder(256); buf.append("Trivial preprocessing of ").append(pending.size()).append(" "); } while (pending.size() > 0) { diff --git a/router/java/src/net/i2p/router/tunnel/TunnelCreatorConfig.java b/router/java/src/net/i2p/router/tunnel/TunnelCreatorConfig.java index 72dccf45c19a9775aaff444a93baeb70cea64b11..c91af69293b3458975dcc56c618626dfb124c9b9 100644 --- a/router/java/src/net/i2p/router/tunnel/TunnelCreatorConfig.java +++ b/router/java/src/net/i2p/router/tunnel/TunnelCreatorConfig.java @@ -166,7 +166,7 @@ public class TunnelCreatorConfig implements TunnelInfo { @Override public String toString() { // H0:1235-->H1:2345-->H2:2345 - StringBuffer buf = new StringBuffer(128); + StringBuilder buf = new StringBuilder(128); if (_isInbound) buf.append("inbound"); else diff --git a/router/java/src/net/i2p/router/tunnel/TunnelGateway.java b/router/java/src/net/i2p/router/tunnel/TunnelGateway.java index 077a43b7de30c3886c793ac5c0b727ded695773f..75887f4063b5b4783944c925cdbca2f6c8405a5f 100644 --- a/router/java/src/net/i2p/router/tunnel/TunnelGateway.java +++ b/router/java/src/net/i2p/router/tunnel/TunnelGateway.java @@ -238,7 +238,7 @@ public class TunnelGateway { @Override public String toString() { - StringBuffer buf = new StringBuffer(64); + StringBuilder buf = new StringBuilder(64); buf.append("Message ").append(_messageId).append(" on "); buf.append(TunnelGateway.this.toString()); if (_toRouter != null) { diff --git a/router/java/src/net/i2p/router/tunnel/TunnelParticipant.java b/router/java/src/net/i2p/router/tunnel/TunnelParticipant.java index 5e4a92641bb4e5adf99cb72851be12f0790f59ed..b9d660751b0a45e3c592ebd0c9ee9a96682db291 100644 --- a/router/java/src/net/i2p/router/tunnel/TunnelParticipant.java +++ b/router/java/src/net/i2p/router/tunnel/TunnelParticipant.java @@ -221,7 +221,7 @@ public class TunnelParticipant { @Override public String toString() { if (_config != null) { - StringBuffer buf = new StringBuffer(64); + StringBuilder buf = new StringBuilder(64); buf.append("participant at ").append(_config.toString()); return buf.toString(); } else { diff --git a/router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java b/router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java index bee05c9c67013776b95d03869723a8ed349579c9..0583c73b118fb4bb66a87c3a5a17c50f8a959623 100644 --- a/router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java +++ b/router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java @@ -206,7 +206,7 @@ class BuildHandler { long replyMessageId = state.msg.getUniqueId(); PooledTunnelCreatorConfig cfg = null; List building = _exec.locked_getCurrentlyBuilding(); - StringBuffer buf = null; + StringBuilder buf = null; synchronized (building) { for (int i = 0; i < building.size(); i++) { PooledTunnelCreatorConfig cur = (PooledTunnelCreatorConfig)building.get(i); @@ -217,7 +217,7 @@ class BuildHandler { } } if ( (cfg == null) && (_log.shouldLog(Log.DEBUG)) ) - buf = new StringBuffer(building.toString()); + buf = new StringBuilder(building.toString()); } if (cfg == null) { diff --git a/router/java/src/net/i2p/router/tunnel/pool/TestJob.java b/router/java/src/net/i2p/router/tunnel/pool/TestJob.java index 24b379543e6cc58ea5039e042f557440e72eb138..c0633ef9ff20571e56c6a672c3bf33930aab4c1c 100644 --- a/router/java/src/net/i2p/router/tunnel/pool/TestJob.java +++ b/router/java/src/net/i2p/router/tunnel/pool/TestJob.java @@ -252,7 +252,7 @@ class TestJob extends JobImpl { @Override public String toString() { - StringBuffer rv = new StringBuffer(64); + StringBuilder rv = new StringBuilder(64); rv.append("Testing tunnel ").append(_cfg.toString()).append(" waiting for "); rv.append(_id).append(" found? ").append(_found); return rv.toString(); @@ -284,7 +284,7 @@ class TestJob extends JobImpl { @Override public String toString() { - StringBuffer rv = new StringBuffer(64); + StringBuilder rv = new StringBuilder(64); rv.append("Testing tunnel ").append(_cfg.toString()); rv.append(" successful after ").append(_successTime); return rv.toString(); @@ -310,7 +310,7 @@ class TestJob extends JobImpl { @Override public String toString() { - StringBuffer rv = new StringBuffer(64); + StringBuilder rv = new StringBuilder(64); rv.append("Testing tunnel ").append(_cfg.toString()); rv.append(" timed out"); return rv.toString(); diff --git a/router/java/src/net/i2p/router/tunnel/pool/TunnelPeerSelector.java b/router/java/src/net/i2p/router/tunnel/pool/TunnelPeerSelector.java index c515310051d3e6973ee19f86b1cd8799eb62bd15..2cfac2cc4fc9ae4d657b8cd4aa436daab221fb2e 100644 --- a/router/java/src/net/i2p/router/tunnel/pool/TunnelPeerSelector.java +++ b/router/java/src/net/i2p/router/tunnel/pool/TunnelPeerSelector.java @@ -129,7 +129,7 @@ public abstract class TunnelPeerSelector { rv.remove(0); if (log.shouldLog(Log.INFO)) { - StringBuffer buf = new StringBuffer(); + StringBuilder buf = new StringBuilder(); if (settings.getDestinationNickname() != null) buf.append("peers for ").append(settings.getDestinationNickname()); else if (settings.getDestination() != null) diff --git a/router/java/src/net/i2p/router/tunnel/pool/TunnelPool.java b/router/java/src/net/i2p/router/tunnel/pool/TunnelPool.java index 8ce5859df0877bcfb4b5c096fb74ff9b0e9aacd4..39e6c2280c70af4458e03fad5ef6c9be08ef86c9 100644 --- a/router/java/src/net/i2p/router/tunnel/pool/TunnelPool.java +++ b/router/java/src/net/i2p/router/tunnel/pool/TunnelPool.java @@ -892,7 +892,7 @@ public class TunnelPool { else return "Outbound exploratory pool"; } else { - StringBuffer rv = new StringBuffer(32); + StringBuilder rv = new StringBuilder(32); if (_settings.isInbound()) rv.append("Inbound client pool for "); else diff --git a/router/java/src/net/i2p/router/SSUDemo.java b/router/java/test/net/i2p/router/SSUDemo.java similarity index 100% rename from router/java/src/net/i2p/router/SSUDemo.java rename to router/java/test/net/i2p/router/SSUDemo.java