Replace all <hr /> and <br /> with <hr> and <br> whilst we're in html4 transitional.

This commit is contained in:
z3d
2009-08-17 14:35:18 +00:00
parent 33a7f3351b
commit 1b63aa411b
21 changed files with 163 additions and 163 deletions

View File

@ -111,9 +111,9 @@ public class I2PSnarkServlet extends HttpServlet {
out.write(TABLE_HEADER); out.write(TABLE_HEADER);
if (_manager.util().connected() && snarks.size() > 0) { if (_manager.util().connected() && snarks.size() > 0) {
if (peerParam != null) if (peerParam != null)
out.write("(<a href=\"" + req.getRequestURI() + "\">Hide Peers</a>)<br />\n"); out.write("(<a href=\"" + req.getRequestURI() + "\">Hide Peers</a>)<br>\n");
else else
out.write("(<a href=\"" + req.getRequestURI() + "?p=1" + "\">Show Peers</a>)<br />\n"); out.write("(<a href=\"" + req.getRequestURI() + "?p=1" + "\">Show Peers</a>)<br>\n");
} }
out.write(TABLE_HEADER2); out.write(TABLE_HEADER2);
out.write("<th align=\"left\">"); out.write("<th align=\"left\">");
@ -455,7 +455,7 @@ public class I2PSnarkServlet extends HttpServlet {
else { else {
if (err.length() > MAX_DISPLAYED_ERROR_LENGTH) if (err.length() > MAX_DISPLAYED_ERROR_LENGTH)
err = err.substring(0, MAX_DISPLAYED_ERROR_LENGTH) + "&hellip;"; err = err.substring(0, MAX_DISPLAYED_ERROR_LENGTH) + "&hellip;";
statusString = "TrackerErr<br />(" + err + ")"; statusString = "TrackerErr<br>(" + err + ")";
} }
} else if (remaining <= 0) { } else if (remaining <= 0) {
if (isRunning && curPeers > 0 && !showPeers) if (isRunning && curPeers > 0 && !showPeers)
@ -553,7 +553,7 @@ public class I2PSnarkServlet extends HttpServlet {
out.write("<a href=\"" + uri + "?action=Start" + parameters out.write("<a href=\"" + uri + "?action=Start" + parameters
+ "\" title=\"Start the torrent\">Start</a> "); + "\" title=\"Start the torrent\">Start</a> ");
out.write("<a href=\"" + uri + "?action=Remove" + parameters out.write("<a href=\"" + uri + "?action=Remove" + parameters
+ "\" title=\"Remove the torrent from the active list, deleting the .torrent file\">Remove</a><br />"); + "\" title=\"Remove the torrent from the active list, deleting the .torrent file\">Remove</a><br>");
out.write("<a href=\"" + uri + "?action=Delete" + parameters out.write("<a href=\"" + uri + "?action=Delete" + parameters
+ "\" title=\"Delete the .torrent file and the associated data file(s)\">Delete</a> "); + "\" title=\"Delete the .torrent file and the associated data file(s)\">Delete</a> ");
} }
@ -655,13 +655,13 @@ public class I2PSnarkServlet extends HttpServlet {
// *not* enctype="multipart/form-data", so that the input type=file sends the filename, not the file // *not* enctype="multipart/form-data", so that the input type=file sends the filename, not the file
out.write("<form action=\"" + uri + "\" method=\"POST\">\n"); out.write("<form action=\"" + uri + "\" method=\"POST\">\n");
out.write("<input type=\"hidden\" name=\"nonce\" value=\"" + _nonce + "\" />\n"); out.write("<input type=\"hidden\" name=\"nonce\" value=\"" + _nonce + "\" />\n");
out.write("<div class=\"addtorrentsection\"><span class=\"snarkConfigTitle\">Add Torrent:</span><br />\n"); out.write("<div class=\"addtorrentsection\"><span class=\"snarkConfigTitle\">Add Torrent:</span><br>\n");
out.write("From URL&nbsp;: <input type=\"text\" name=\"newURL\" size=\"80\" value=\"" + newURL + "\" /> \n"); out.write("From URL&nbsp;: <input type=\"text\" name=\"newURL\" size=\"80\" value=\"" + newURL + "\" /> \n");
// not supporting from file at the moment, since the file name passed isn't always absolute (so it may not resolve) // not supporting from file at the moment, since the file name passed isn't always absolute (so it may not resolve)
//out.write("From file: <input type=\"file\" name=\"newFile\" size=\"50\" value=\"" + newFile + "\" /><br />\n"); //out.write("From file: <input type=\"file\" name=\"newFile\" size=\"50\" value=\"" + newFile + "\" /><br>\n");
out.write("<input type=\"submit\" value=\"Add torrent\" name=\"action\" /><br />\n"); out.write("<input type=\"submit\" value=\"Add torrent\" name=\"action\" /><br>\n");
out.write("<span class=\"snarkAddInfo\">Alternately, you can copy .torrent files to " + _manager.getDataDir().getAbsolutePath() + "<br />\n"); out.write("<span class=\"snarkAddInfo\">Alternately, you can copy .torrent files to " + _manager.getDataDir().getAbsolutePath() + "<br>\n");
out.write("Removing that .torrent file will cause the torrent to stop.<br /></span>\n"); out.write("Removing that .torrent file will cause the torrent to stop.<br></span>\n");
out.write("</form>\n</span></div>"); out.write("</form>\n</span></div>");
} }
@ -675,11 +675,11 @@ public class I2PSnarkServlet extends HttpServlet {
// *not* enctype="multipart/form-data", so that the input type=file sends the filename, not the file // *not* enctype="multipart/form-data", so that the input type=file sends the filename, not the file
out.write("<form action=\"" + uri + "\" method=\"POST\">\n"); out.write("<form action=\"" + uri + "\" method=\"POST\">\n");
out.write("<input type=\"hidden\" name=\"nonce\" value=\"" + _nonce + "\" />\n"); out.write("<input type=\"hidden\" name=\"nonce\" value=\"" + _nonce + "\" />\n");
out.write("<span class=\"snarkConfigTitle\">Create Torrent:</span><br />\n"); out.write("<span class=\"snarkConfigTitle\">Create Torrent:</span><br>\n");
//out.write("From file: <input type=\"file\" name=\"newFile\" size=\"50\" value=\"" + newFile + "\" /><br />\n"); //out.write("From file: <input type=\"file\" name=\"newFile\" size=\"50\" value=\"" + newFile + "\" /><br>\n");
out.write("Data to seed: " + _manager.getDataDir().getAbsolutePath() + File.separatorChar out.write("Data to seed: " + _manager.getDataDir().getAbsolutePath() + File.separatorChar
+ "<input type=\"text\" name=\"baseFile\" size=\"20\" value=\"" + baseFile + "<input type=\"text\" name=\"baseFile\" size=\"20\" value=\"" + baseFile
+ "\" title=\"File to seed (must be within the specified path)\" /><br />\n"); + "\" title=\"File to seed (must be within the specified path)\" /><br>\n");
out.write("Tracker: <select name=\"announceURL\"><option value=\"\">Select a tracker</option>\n"); out.write("Tracker: <select name=\"announceURL\"><option value=\"\">Select a tracker</option>\n");
Map trackers = _manager.getTrackers(); Map trackers = _manager.getTrackers();
for (Iterator iter = trackers.entrySet().iterator(); iter.hasNext(); ) { for (Iterator iter = trackers.entrySet().iterator(); iter.hasNext(); ) {
@ -709,15 +709,15 @@ public class I2PSnarkServlet extends HttpServlet {
out.write("<form action=\"" + uri + "\" method=\"POST\">\n"); out.write("<form action=\"" + uri + "\" method=\"POST\">\n");
out.write("<div class=\"configsection\"><span class=\"snarkConfig\">\n"); out.write("<div class=\"configsection\"><span class=\"snarkConfig\">\n");
out.write("<input type=\"hidden\" name=\"nonce\" value=\"" + _nonce + "\" />\n"); out.write("<input type=\"hidden\" name=\"nonce\" value=\"" + _nonce + "\" />\n");
out.write("<span class=\"snarkConfigTitle\">Configuration:</span><br />\n"); out.write("<span class=\"snarkConfigTitle\">Configuration:</span><br>\n");
out.write("Data directory: <input type=\"text\" size=\"40\" name=\"dataDir\" value=\"" + dataDir + "\" "); out.write("Data directory: <input type=\"text\" size=\"40\" name=\"dataDir\" value=\"" + dataDir + "\" ");
out.write("title=\"Directory to store torrents and data\" disabled=\"true\" /> <i>(Edit i2psnark.config and restart to change)</i><br />\n"); out.write("title=\"Directory to store torrents and data\" disabled=\"true\" /> <i>(Edit i2psnark.config and restart to change)</i><br>\n");
out.write("Auto start: <input type=\"checkbox\" class=\"optbox\" name=\"autoStart\" value=\"true\" " out.write("Auto start: <input type=\"checkbox\" class=\"optbox\" name=\"autoStart\" value=\"true\" "
+ (autoStart ? "checked " : "") + (autoStart ? "checked " : "")
+ "title=\"If true, automatically start torrents that are added\" />"); + "title=\"If true, automatically start torrents that are added\" />");
//Auto add: <input type="checkbox" name="autoAdd" value="true" title="If true, automatically add torrents that are found in the data directory" /> //Auto add: <input type="checkbox" name="autoAdd" value="true" title="If true, automatically add torrents that are found in the data directory" />
//Auto stop: <input type="checkbox" name="autoStop" value="true" title="If true, automatically stop torrents that are removed from the data directory" /> //Auto stop: <input type="checkbox" name="autoStop" value="true" title="If true, automatically stop torrents that are removed from the data directory" />
//out.write("<br />\n"); //out.write("<br>\n");
/* /*
out.write("Seed percentage: <select name=\"seedPct\" disabled=\"true\" >\n\t"); out.write("Seed percentage: <select name=\"seedPct\" disabled=\"true\" >\n\t");
if (seedPct <= 0) if (seedPct <= 0)
@ -732,28 +732,28 @@ public class I2PSnarkServlet extends HttpServlet {
out.write("<option value=\"150\" selected=\"true\">150%</option>\n\t"); out.write("<option value=\"150\" selected=\"true\">150%</option>\n\t");
else else
out.write("<option value=\"150\">150%</option>\n\t"); out.write("<option value=\"150\">150%</option>\n\t");
out.write("</select><br />\n"); out.write("</select><br>\n");
*/ */
out.write("Total uploader limit: <input type=\"text\" name=\"upLimit\" value=\"" out.write("Total uploader limit: <input type=\"text\" name=\"upLimit\" value=\""
+ _manager.util().getMaxUploaders() + "\" size=\"3\" maxlength=\"3\" /> peers<br />\n"); + _manager.util().getMaxUploaders() + "\" size=\"3\" maxlength=\"3\" /> peers<br>\n");
out.write("Up bandwidth limit: <input type=\"text\" name=\"upBW\" value=\"" out.write("Up bandwidth limit: <input type=\"text\" name=\"upBW\" value=\""
+ _manager.util().getMaxUpBW() + "\" size=\"3\" maxlength=\"3\" /> KBps <i>(Half <a href=\"/config.jsp\" target=\"blank\">available bandwidth</a> recommended.)</i><br />\n"); + _manager.util().getMaxUpBW() + "\" size=\"3\" maxlength=\"3\" /> KBps <i>(Half <a href=\"/config.jsp\" target=\"blank\">available bandwidth</a> recommended.)</i><br>\n");
out.write("Use open trackers also: <input type=\"checkbox\" class=\"optbox\" name=\"useOpenTrackers\" value=\"true\" " out.write("Use open trackers also: <input type=\"checkbox\" class=\"optbox\" name=\"useOpenTrackers\" value=\"true\" "
+ (useOpenTrackers ? "checked " : "") + (useOpenTrackers ? "checked " : "")
+ "title=\"If true, uses open trackers in addition\" /> "); + "title=\"If true, uses open trackers in addition\" /> ");
out.write("Announce URLs: <input type=\"text\" name=\"openTrackers\" value=\"" out.write("Announce URLs: <input type=\"text\" name=\"openTrackers\" value=\""
+ openTrackers + "\" size=\"50\" /><br />\n"); + openTrackers + "\" size=\"50\" /><br>\n");
//out.write("\n"); //out.write("\n");
out.write("EepProxy host: <input type=\"text\" name=\"eepHost\" value=\"" out.write("EepProxy host: <input type=\"text\" name=\"eepHost\" value=\""
+ _manager.util().getEepProxyHost() + "\" size=\"15\" /> "); + _manager.util().getEepProxyHost() + "\" size=\"15\" /> ");
out.write("port: <input type=\"text\" name=\"eepPort\" value=\"" out.write("port: <input type=\"text\" name=\"eepPort\" value=\""
+ _manager.util().getEepProxyPort() + "\" size=\"5\" maxlength=\"5\" /><br />\n"); + _manager.util().getEepProxyPort() + "\" size=\"5\" maxlength=\"5\" /><br>\n");
out.write("I2CP host: <input type=\"text\" name=\"i2cpHost\" value=\"" out.write("I2CP host: <input type=\"text\" name=\"i2cpHost\" value=\""
+ _manager.util().getI2CPHost() + "\" size=\"15\" /> "); + _manager.util().getI2CPHost() + "\" size=\"15\" /> ");
out.write("port: <input type=\"text\" name=\"i2cpPort\" value=\"" + out.write("port: <input type=\"text\" name=\"i2cpPort\" value=\"" +
+ _manager.util().getI2CPPort() + "\" size=\"5\" maxlength=\"5\" /> <br />\n"); + _manager.util().getI2CPPort() + "\" size=\"5\" maxlength=\"5\" /> <br>\n");
StringBuilder opts = new StringBuilder(64); StringBuilder opts = new StringBuilder(64);
Map options = new TreeMap(_manager.util().getI2CPOptions()); Map options = new TreeMap(_manager.util().getI2CPOptions());
for (Iterator iter = options.entrySet().iterator(); iter.hasNext(); ) { for (Iterator iter = options.entrySet().iterator(); iter.hasNext(); ) {
@ -763,7 +763,7 @@ public class I2PSnarkServlet extends HttpServlet {
opts.append(key).append('=').append(val).append(' '); opts.append(key).append('=').append(val).append(' ');
} }
out.write("I2CP opts: <input type=\"text\" name=\"i2cpOpts\" size=\"80\" value=\"" out.write("I2CP opts: <input type=\"text\" name=\"i2cpOpts\" size=\"80\" value=\""
+ opts.toString() + "\" /><br />\n"); + opts.toString() + "\" /><br>\n");
out.write("<input type=\"submit\" value=\"Save configuration\" name=\"action\" />\n"); out.write("<input type=\"submit\" value=\"Save configuration\" name=\"action\" />\n");
out.write("</span>\n"); out.write("</span>\n");
out.write("</form></div>"); out.write("</form></div>");

View File

@ -464,7 +464,7 @@ public class TunnelController implements Logging {
private void getHttpClientSummary(StringBuilder buf) { private void getHttpClientSummary(StringBuilder buf) {
String description = getDescription(); String description = getDescription();
if ( (description != null) && (description.trim().length() > 0) ) if ( (description != null) && (description.trim().length() > 0) )
buf.append("<i>").append(description).append("</i><br />\n"); buf.append("<i>").append(description).append("</i><br>\n");
buf.append("HTTP proxy listening on port ").append(getListenPort()); buf.append("HTTP proxy listening on port ").append(getListenPort());
String listenOn = getListenOnInterface(); String listenOn = getListenOnInterface();
if ("0.0.0.0".equals(listenOn)) if ("0.0.0.0".equals(listenOn))
@ -473,19 +473,19 @@ public class TunnelController implements Logging {
buf.append(" (reachable locally only)"); buf.append(" (reachable locally only)");
else else
buf.append(" (reachable at the ").append(listenOn).append(" interface)"); buf.append(" (reachable at the ").append(listenOn).append(" interface)");
buf.append("<br />\n"); buf.append("<br>\n");
String proxies = getProxyList(); String proxies = getProxyList();
if ( (proxies == null) || (proxies.trim().length() <= 0) ) if ( (proxies == null) || (proxies.trim().length() <= 0) )
buf.append("Outproxy: default [squid.i2p]<br />\n"); buf.append("Outproxy: default [squid.i2p]<br>\n");
else else
buf.append("Outproxy: ").append(proxies).append("<br />\n"); buf.append("Outproxy: ").append(proxies).append("<br>\n");
getOptionSummary(buf); getOptionSummary(buf);
} }
private void getClientSummary(StringBuilder buf) { private void getClientSummary(StringBuilder buf) {
String description = getDescription(); String description = getDescription();
if ( (description != null) && (description.trim().length() > 0) ) if ( (description != null) && (description.trim().length() > 0) )
buf.append("<i>").append(description).append("</i><br />\n"); buf.append("<i>").append(description).append("</i><br>\n");
buf.append("Client tunnel listening on port ").append(getListenPort()); buf.append("Client tunnel listening on port ").append(getListenPort());
buf.append(" pointing at ").append(getTargetDestination()); buf.append(" pointing at ").append(getTargetDestination());
String listenOn = getListenOnInterface(); String listenOn = getListenOnInterface();
@ -495,58 +495,58 @@ public class TunnelController implements Logging {
buf.append(" (reachable locally only)"); buf.append(" (reachable locally only)");
else else
buf.append(" (reachable at the ").append(listenOn).append(" interface)"); buf.append(" (reachable at the ").append(listenOn).append(" interface)");
buf.append("<br />\n"); buf.append("<br>\n");
getOptionSummary(buf); getOptionSummary(buf);
} }
private void getServerSummary(StringBuilder buf) { private void getServerSummary(StringBuilder buf) {
String description = getDescription(); String description = getDescription();
if ( (description != null) && (description.trim().length() > 0) ) if ( (description != null) && (description.trim().length() > 0) )
buf.append("<i>").append(description).append("</i><br />\n"); buf.append("<i>").append(description).append("</i><br>\n");
buf.append("Server tunnel pointing at port ").append(getTargetPort()); buf.append("Server tunnel pointing at port ").append(getTargetPort());
buf.append(" on ").append(getTargetHost()); buf.append(" on ").append(getTargetHost());
buf.append("<br />\n"); buf.append("<br>\n");
buf.append("Private destination loaded from ").append(getPrivKeyFile()).append("<br />\n"); buf.append("Private destination loaded from ").append(getPrivKeyFile()).append("<br>\n");
getOptionSummary(buf); getOptionSummary(buf);
} }
private void getHttpServerSummary(StringBuilder buf) { private void getHttpServerSummary(StringBuilder buf) {
String description = getDescription(); String description = getDescription();
if ( (description != null) && (description.trim().length() > 0) ) if ( (description != null) && (description.trim().length() > 0) )
buf.append("<i>").append(description).append("</i><br />\n"); buf.append("<i>").append(description).append("</i><br>\n");
buf.append("Server tunnel pointing at port ").append(getTargetPort()); buf.append("Server tunnel pointing at port ").append(getTargetPort());
buf.append(" on ").append(getTargetHost()); buf.append(" on ").append(getTargetHost());
buf.append(" for the site ").append(getSpoofedHost()); buf.append(" for the site ").append(getSpoofedHost());
buf.append("<br />\n"); buf.append("<br>\n");
buf.append("Private destination loaded from ").append(getPrivKeyFile()).append("<br />\n"); buf.append("Private destination loaded from ").append(getPrivKeyFile()).append("<br>\n");
getOptionSummary(buf); getOptionSummary(buf);
} }
private void getOptionSummary(StringBuilder buf) { private void getOptionSummary(StringBuilder buf) {
String opts = getClientOptions(); String opts = getClientOptions();
if ( (opts != null) && (opts.length() > 0) ) if ( (opts != null) && (opts.length() > 0) )
buf.append("Network options: ").append(opts).append("<br />\n"); buf.append("Network options: ").append(opts).append("<br>\n");
if (_running) { if (_running) {
List sessions = _tunnel.getSessions(); List sessions = _tunnel.getSessions();
for (int i = 0; i < sessions.size(); i++) { for (int i = 0; i < sessions.size(); i++) {
I2PSession session = (I2PSession)sessions.get(i); I2PSession session = (I2PSession)sessions.get(i);
Destination dest = session.getMyDestination(); Destination dest = session.getMyDestination();
if (dest != null) { if (dest != null) {
buf.append("Destination hash: ").append(dest.calculateHash().toBase64()).append("<br />\n"); buf.append("Destination hash: ").append(dest.calculateHash().toBase64()).append("<br>\n");
if ( ("server".equals(getType())) || ("httpserver".equals(getType())) ) { if ( ("server".equals(getType())) || ("httpserver".equals(getType())) ) {
buf.append("Full destination: "); buf.append("Full destination: ");
buf.append("<input type=\"text\" size=\"10\" onclick=\"this.select();\" "); buf.append("<input type=\"text\" size=\"10\" onclick=\"this.select();\" ");
buf.append("value=\"").append(dest.toBase64()).append("\" />\n"); buf.append("value=\"").append(dest.toBase64()).append("\" />\n");
long val = new Random().nextLong(); long val = new Random().nextLong();
if (val < 0) val = 0 - val; if (val < 0) val = 0 - val;
buf.append("<br />You can <a href=\"http://temp").append(val); buf.append("<br>You can <a href=\"http://temp").append(val);
buf.append(".i2p/?i2paddresshelper=").append(dest.toBase64()).append("\">view</a>"); buf.append(".i2p/?i2paddresshelper=").append(dest.toBase64()).append("\">view</a>");
buf.append(" it in a browser (only when you're using the eepProxy)\n"); buf.append(" it in a browser (only when you're using the eepProxy)\n");
buf.append("<br />If you are going to share this on IRC, you need to split it up:<br />\n"); buf.append("<br>If you are going to share this on IRC, you need to split it up:<br>\n");
String str = dest.toBase64(); String str = dest.toBase64();
buf.append(str.substring(0, str.length()/2)).append("<br />\n"); buf.append(str.substring(0, str.length()/2)).append("<br>\n");
buf.append(str.substring(str.length()/2)).append("<br />\n"); buf.append(str.substring(str.length()/2)).append("<br>\n");
buf.append("You can also post it to <a href=\"http://forum.i2p/viewforum.php?f=16\">Eepsite announcement forum</a><br />"); buf.append("You can also post it to <a href=\"http://forum.i2p/viewforum.php?f=16\">Eepsite announcement forum</a><br>");
} }
} }
} }

View File

@ -50,7 +50,7 @@
</div> </div>
<div class="separator"> <div class="separator">
<hr /> <hr>
</div> </div>
<div id="nameField" class="rowItem"> <div id="nameField" class="rowItem">
@ -71,7 +71,7 @@
</div> </div>
<div class="subdivider"> <div class="subdivider">
<hr /> <hr>
</div> </div>
<div id="accessField" class="rowItem"> <div id="accessField" class="rowItem">
@ -129,7 +129,7 @@
</div> </div>
<div class="subdivider"> <div class="subdivider">
<hr /> <hr>
</div> </div>
<% if ("httpclient".equals(tunnelType) || "connectclient".equals(tunnelType)) { <% if ("httpclient".equals(tunnelType) || "connectclient".equals(tunnelType)) {
@ -197,7 +197,7 @@
</div> </div>
<div class="separator"> <div class="separator">
<hr /> <hr>
</div> </div>
<div id="tunnelOptionsField" class="rowItem"> <div id="tunnelOptionsField" class="rowItem">
@ -265,7 +265,7 @@
</div> </div>
<div class="subdivider"> <div class="subdivider">
<hr /> <hr>
</div> </div>
<div id="optionsField" class="rowItem"> <div id="optionsField" class="rowItem">
@ -286,7 +286,7 @@
<% if (!"streamrclient".equals(tunnelType)) { // streamr client sends pings so it will never be idle %> <% if (!"streamrclient".equals(tunnelType)) { // streamr client sends pings so it will never be idle %>
<div class="subdivider"> <div class="subdivider">
<hr /> <hr>
</div> </div>
<div id="optionsField" class="rowItem"> <div id="optionsField" class="rowItem">
@ -314,7 +314,7 @@
</div> </div>
<div class="subdivider"> <div class="subdivider">
<hr /> <hr>
</div> </div>
<div id="optionsField" class="rowItem"> <div id="optionsField" class="rowItem">
@ -349,7 +349,7 @@
</div> </div>
<div class="subdivider"> <div class="subdivider">
<hr /> <hr>
</div> </div>
<div id="optionsField" class="rowItem"> <div id="optionsField" class="rowItem">
@ -366,7 +366,7 @@
<% } // !streamrclient %> <% } // !streamrclient %>
<div class="subdivider"> <div class="subdivider">
<hr /> <hr>
</div> </div>
<% if ("client".equals(tunnelType) || "ircclient".equals(tunnelType)) { %> <% if ("client".equals(tunnelType) || "ircclient".equals(tunnelType)) { %>
@ -393,7 +393,7 @@
</div> </div>
<div class="subdivider"> <div class="subdivider">
<hr /> <hr>
</div> </div>
<% } %> <% } %>

View File

@ -50,7 +50,7 @@
</div> </div>
<div class="separator"> <div class="separator">
<hr /> <hr>
</div> </div>
<div id="nameField" class="rowItem"> <div id="nameField" class="rowItem">
@ -78,7 +78,7 @@
</div> </div>
<div class="subdivider"> <div class="subdivider">
<hr /> <hr>
</div> </div>
<div id="targetField" class="rowItem"> <div id="targetField" class="rowItem">
@ -110,7 +110,7 @@
</div> </div>
<div class="subdivider"> <div class="subdivider">
<hr /> <hr>
</div> </div>
<% if ("httpserver".equals(tunnelType)) { <% if ("httpserver".equals(tunnelType)) {
@ -164,7 +164,7 @@
</div> </div>
<div class="separator"> <div class="separator">
<hr /> <hr>
</div> </div>
<div id="tunnelOptionsField" class="rowItem"> <div id="tunnelOptionsField" class="rowItem">
@ -232,7 +232,7 @@
</div> </div>
<div class="subdivider"> <div class="subdivider">
<hr /> <hr>
</div> </div>
<div id="optionsField" class="rowItem"> <div id="optionsField" class="rowItem">
@ -252,7 +252,7 @@
</div> </div>
<div class="subdivider"> <div class="subdivider">
<hr /> <hr>
</div> </div>
<div id="optionsField" class="rowItem"> <div id="optionsField" class="rowItem">
@ -281,7 +281,7 @@
</div> </div>
<div class="subdivider"> <div class="subdivider">
<hr /> <hr>
</div> </div>
<div id="optionsField" class="rowItem"> <div id="optionsField" class="rowItem">
@ -304,7 +304,7 @@
</div> </div>
<div class="subdivider"> <div class="subdivider">
<hr /> <hr>
</div> </div>
<div id="optionsField" class="rowItem"> <div id="optionsField" class="rowItem">
@ -332,7 +332,7 @@
</div> </div>
<div class="subdivider"> <div class="subdivider">
<hr /> <hr>
</div> </div>
<div id="tunnelOptionsField" class="rowItem"> <div id="tunnelOptionsField" class="rowItem">
@ -382,7 +382,7 @@
</div> </div>
<div class="subdivider"> <div class="subdivider">
<hr /> <hr>
</div> </div>
<div id="customOptionsField" class="rowItem"> <div id="customOptionsField" class="rowItem">

View File

@ -27,13 +27,13 @@ p-equiv="Content-Type" content="text/html; charset=UTF-8" />
</div> </div>
<div class="separator"> <div class="separator">
<hr /> <hr>
</div> </div>
<textarea id="statusMessages" rows="4" cols="60" readonly="readonly"><jsp:getProperty name="indexBean" property="messages" /></textarea> <textarea id="statusMessages" rows="4" cols="60" readonly="readonly"><jsp:getProperty name="indexBean" property="messages" /></textarea>
<div class="separator"> <div class="separator">
<hr /> <hr>
</div> </div>
<div class="footer"> <div class="footer">
@ -74,7 +74,7 @@ p-equiv="Content-Type" content="text/html; charset=UTF-8" />
</div> </div>
<div class="statusHeaderField rowItem"> <div class="statusHeaderField rowItem">
<label>Status:</label> <label>Status:</label>
<hr /> </div> <hr> </div>
<% <%
for (int curServer = 0; curServer < indexBean.getTunnelCount(); curServer++) { for (int curServer = 0; curServer < indexBean.getTunnelCount(); curServer++) {
@ -141,13 +141,13 @@ p-equiv="Content-Type" content="text/html; charset=UTF-8" />
</div> </div>
<div class="subdivider"> <div class="subdivider">
<hr /> <hr>
</div> </div>
<% <%
} }
%> %>
<div class="separator"> <div class="separator">
<hr /> <hr>
</div> </div>
<div class="footer"> <div class="footer">
@ -194,7 +194,7 @@ p-equiv="Content-Type" content="text/html; charset=UTF-8" />
</div> </div>
<div class="separator"> <div class="separator">
<hr /> <hr>
</div> </div>
<% <%
for (int curClient = 0; curClient < indexBean.getTunnelCount(); curClient++) { for (int curClient = 0; curClient < indexBean.getTunnelCount(); curClient++) {
@ -262,13 +262,13 @@ p-equiv="Content-Type" content="text/html; charset=UTF-8" />
</div> </div>
<div class="subdivider"> <div class="subdivider">
<hr /> <hr>
</div> </div>
<% <%
} }
%> %>
<div class="separator"> <div class="separator">
<hr /> <hr>
</div> </div>
<div class="footer"> <div class="footer">

View File

@ -117,7 +117,7 @@ public class StreamSinkClient {
} }
/** /**
* Fire up the client. <code>Usage: StreamSinkClient [i2cpHost i2cpPort] sendSizeKB writeDelayMs serverDestFile [concurrentSends]</code> <br /> * Fire up the client. <code>Usage: StreamSinkClient [i2cpHost i2cpPort] sendSizeKB writeDelayMs serverDestFile [concurrentSends]</code> <br>
* <ul> * <ul>
* <li><b>sendSizeKB</b>: how many KB to send, or -1 for unlimited</li> * <li><b>sendSizeKB</b>: how many KB to send, or -1 for unlimited</li>
* <li><b>writeDelayMs</b>: how long to wait between each .write (0 for no delay)</li> * <li><b>writeDelayMs</b>: how long to wait between each .write (0 for no delay)</li>

View File

@ -104,7 +104,7 @@ public class StreamSinkSend {
} }
/** /**
* Fire up the client. <code>Usage: StreamSinkClient sendFile writeDelayMs serverDestFile</code> <br /> * Fire up the client. <code>Usage: StreamSinkClient sendFile writeDelayMs serverDestFile</code> <br>
* <ul> * <ul>
* <li><b>sendFile</b>: filename to send</li> * <li><b>sendFile</b>: filename to send</li>
* <li><b>writeDelayMs</b>: how long to wait between each .write (0 for no delay)</li> * <li><b>writeDelayMs</b>: how long to wait between each .write (0 for no delay)</li>

View File

@ -155,7 +155,7 @@ public class StreamSinkServer {
} }
/** /**
* Fire up the streaming server. <code>Usage: StreamSinkServer [i2cpHost i2cpPort] sinkDir ourDestFile [numHandlers]</code><br /> * Fire up the streaming server. <code>Usage: StreamSinkServer [i2cpHost i2cpPort] sinkDir ourDestFile [numHandlers]</code><br>
* <ul> * <ul>
* <li><b>sinkDir</b>: Directory to store received files in</li> * <li><b>sinkDir</b>: Directory to store received files in</li>
* <li><b>ourDestFile</b>: filename to write our binary destination to</li> * <li><b>ourDestFile</b>: filename to write our binary destination to</li>

View File

@ -8,7 +8,7 @@ import net.i2p.util.Log;
* connection was reset.</p> * connection was reset.</p>
* *
* <h2>Entry conditions:</h2><ul> * <h2>Entry conditions:</h2><ul>
* <li>Both sides have closed and ACKed and the timeout has passed. <br /> * <li>Both sides have closed and ACKed and the timeout has passed. <br>
* <b>or</b></li> * <b>or</b></li>
* <li>A RESET was received</li> * <li>A RESET was received</li>
* </ul> * </ul>

View File

@ -536,9 +536,9 @@ public class TransientSessionKeyManager extends SessionKeyManager {
Set<OutboundSession> outbound = getOutboundSessions(); Set<OutboundSession> outbound = getOutboundSessions();
for (Iterator<OutboundSession> iter = outbound.iterator(); iter.hasNext();) { for (Iterator<OutboundSession> iter = outbound.iterator(); iter.hasNext();) {
OutboundSession sess = iter.next(); OutboundSession sess = iter.next();
buf.append("<tr><td><b>Target key:</b> ").append(sess.getTarget().toString()).append("<br />"); buf.append("<tr><td><b>Target key:</b> ").append(sess.getTarget().toString()).append("<br>");
buf.append("<b>Established:</b> ").append(new Date(sess.getEstablishedDate())).append("<br />"); buf.append("<b>Established:</b> ").append(new Date(sess.getEstablishedDate())).append("<br>");
buf.append("<b>Last Used:</b> ").append(new Date(sess.getLastUsedDate())).append("<br />"); buf.append("<b>Last Used:</b> ").append(new Date(sess.getLastUsedDate())).append("<br>");
buf.append("<b># Sets:</b> ").append(sess.getTagSets().size()).append("</td></tr>"); buf.append("<b># Sets:</b> ").append(sess.getTagSets().size()).append("</td></tr>");
buf.append("<tr><td><b>Session key:</b> ").append(sess.getCurrentKey().toBase64()).append("</td></tr>"); buf.append("<tr><td><b>Session key:</b> ").append(sess.getCurrentKey().toBase64()).append("</td></tr>");
buf.append("<tr><td><ul>"); buf.append("<tr><td><ul>");

View File

@ -611,7 +611,7 @@ public class JobQueue {
if (states != null) if (states != null)
for (int i = 0; i < states.length; i++) for (int i = 0; i < states.length; i++)
buf.append(states[i]).append(" "); buf.append(states[i]).append(" ");
buf.append("]</b><br />\n"); buf.append("]</b><br>\n");
long now = _context.clock().now(); long now = _context.clock().now();
@ -720,7 +720,7 @@ public class JobQueue {
avgPendingTime = totPendingTime / totRuns; avgPendingTime = totPendingTime / totRuns;
} }
buf.append("<tr><td colspan=\"10\"><hr /></td><tr>"); buf.append("<tr><td colspan=\"10\"><hr></td><tr>");
buf.append("<tr>"); buf.append("<tr>");
buf.append("<td><i><b>").append("SUMMARY").append("</b></i></td>"); buf.append("<td><i><b>").append("SUMMARY").append("</b></i></td>");
buf.append("<td><i>").append(totRuns).append("</i></td>"); buf.append("<td><i>").append(totRuns).append("</i></td>");

View File

@ -597,23 +597,23 @@ public class Router {
"<option value=\"/oldconsole.jsp#netdb\">Network Database</option>\n" + "<option value=\"/oldconsole.jsp#netdb\">Network Database</option>\n" +
"<option value=\"/oldconsole.jsp#logs\">Log messages</option>\n" + "<option value=\"/oldconsole.jsp#logs\">Log messages</option>\n" +
"</select> <input type=\"submit\" value=\"GO\" /> </form>" + "</select> <input type=\"submit\" value=\"GO\" /> </form>" +
"<hr />\n"); "<hr>\n");
StringBuilder buf = new StringBuilder(32*1024); StringBuilder buf = new StringBuilder(32*1024);
if ( (_routerInfo != null) && (_routerInfo.getIdentity() != null) ) if ( (_routerInfo != null) && (_routerInfo.getIdentity() != null) )
buf.append("<b>Router: </b> ").append(_routerInfo.getIdentity().getHash().toBase64()).append("<br />\n"); buf.append("<b>Router: </b> ").append(_routerInfo.getIdentity().getHash().toBase64()).append("<br>\n");
buf.append("<b>As of: </b> ").append(new Date(_context.clock().now())).append(" (uptime: ").append(DataHelper.formatDuration(getUptime())).append(") <br />\n"); buf.append("<b>As of: </b> ").append(new Date(_context.clock().now())).append(" (uptime: ").append(DataHelper.formatDuration(getUptime())).append(") <br>\n");
buf.append("<b>Started on: </b> ").append(new Date(getWhenStarted())).append("<br />\n"); buf.append("<b>Started on: </b> ").append(new Date(getWhenStarted())).append("<br>\n");
buf.append("<b>Clock offset: </b> ").append(_context.clock().getOffset()).append("ms (OS time: ").append(new Date(_context.clock().now() - _context.clock().getOffset())).append(")<br />\n"); buf.append("<b>Clock offset: </b> ").append(_context.clock().getOffset()).append("ms (OS time: ").append(new Date(_context.clock().now() - _context.clock().getOffset())).append(")<br>\n");
long tot = Runtime.getRuntime().totalMemory()/1024; long tot = Runtime.getRuntime().totalMemory()/1024;
long free = Runtime.getRuntime().freeMemory()/1024; long free = Runtime.getRuntime().freeMemory()/1024;
buf.append("<b>Memory:</b> In use: ").append((tot-free)).append("KB Free: ").append(free).append("KB <br />\n"); buf.append("<b>Memory:</b> In use: ").append((tot-free)).append("KB Free: ").append(free).append("KB <br>\n");
buf.append("<b>Version:</b> Router: ").append(RouterVersion.VERSION).append(" / SDK: ").append(CoreVersion.VERSION).append("<br />\n"); buf.append("<b>Version:</b> Router: ").append(RouterVersion.VERSION).append(" / SDK: ").append(CoreVersion.VERSION).append("<br>\n");
if (_higherVersionSeen) if (_higherVersionSeen)
buf.append("<b><font color=\"red\">HIGHER VERSION SEEN</font><b> - please <a href=\"http://www.i2p.net/\">check</a> to see if there is a new release out<br />\n"); buf.append("<b><font color=\"red\">HIGHER VERSION SEEN</font><b> - please <a href=\"http://www.i2p.net/\">check</a> to see if there is a new release out<br>\n");
buf.append("<hr /><a name=\"bandwidth\"> </a><h2>Bandwidth</h2>\n"); buf.append("<hr><a name=\"bandwidth\"> </a><h2>Bandwidth</h2>\n");
long sent = _context.bandwidthLimiter().getTotalAllocatedOutboundBytes(); long sent = _context.bandwidthLimiter().getTotalAllocatedOutboundBytes();
long received = _context.bandwidthLimiter().getTotalAllocatedInboundBytes(); long received = _context.bandwidthLimiter().getTotalAllocatedInboundBytes();
buf.append("<ul>"); buf.append("<ul>");
@ -723,41 +723,41 @@ public class Router {
_context.bandwidthLimiter().renderStatusHTML(out); _context.bandwidthLimiter().renderStatusHTML(out);
out.write("<hr /><a name=\"clients\"> </a>\n"); out.write("<hr><a name=\"clients\"> </a>\n");
_context.clientManager().renderStatusHTML(out); _context.clientManager().renderStatusHTML(out);
out.write("\n<hr /><a name=\"transports\"> </a>\n"); out.write("\n<hr><a name=\"transports\"> </a>\n");
_context.commSystem().renderStatusHTML(out); _context.commSystem().renderStatusHTML(out);
out.write("\n<hr /><a name=\"profiles\"> </a>\n"); out.write("\n<hr><a name=\"profiles\"> </a>\n");
_context.peerManager().renderStatusHTML(out); _context.peerManager().renderStatusHTML(out);
out.write("\n<hr /><a name=\"tunnels\"> </a>\n"); out.write("\n<hr><a name=\"tunnels\"> </a>\n");
_context.tunnelManager().renderStatusHTML(out); _context.tunnelManager().renderStatusHTML(out);
out.write("\n<hr /><a name=\"jobs\"> </a>\n"); out.write("\n<hr><a name=\"jobs\"> </a>\n");
_context.jobQueue().renderStatusHTML(out); _context.jobQueue().renderStatusHTML(out);
out.write("\n<hr /><a name=\"shitlist\"> </a>\n"); out.write("\n<hr><a name=\"shitlist\"> </a>\n");
_context.shitlist().renderStatusHTML(out); _context.shitlist().renderStatusHTML(out);
out.write("\n<hr /><a name=\"pending\"> </a>\n"); out.write("\n<hr><a name=\"pending\"> </a>\n");
_context.messageRegistry().renderStatusHTML(out); _context.messageRegistry().renderStatusHTML(out);
out.write("\n<hr /><a name=\"netdb\"> </a>\n"); out.write("\n<hr><a name=\"netdb\"> </a>\n");
_context.netDb().renderLeaseSetHTML(out); _context.netDb().renderLeaseSetHTML(out);
_context.netDb().renderStatusHTML(out); _context.netDb().renderStatusHTML(out);
buf.setLength(0); buf.setLength(0);
buf.append("\n<hr /><a name=\"logs\"> </a>\n"); buf.append("\n<hr><a name=\"logs\"> </a>\n");
List msgs = _context.logManager().getBuffer().getMostRecentMessages(); List msgs = _context.logManager().getBuffer().getMostRecentMessages();
buf.append("\n<h2>Most recent console messages:</h2><table>\n"); buf.append("\n<h2>Most recent console messages:</h2><table>\n");
for (Iterator iter = msgs.iterator(); iter.hasNext(); ) { for (Iterator iter = msgs.iterator(); iter.hasNext(); ) {

View File

@ -270,7 +270,7 @@ public class Shitlist {
if ( (transports != null) && (transports.size() > 0) ) if ( (transports != null) && (transports.size() > 0) )
buf.append(" on the following transport: ").append(transports); buf.append(" on the following transport: ").append(transports);
if (entry.cause != null) { if (entry.cause != null) {
buf.append("<br />\n"); buf.append("<br>\n");
buf.append(entry.cause); buf.append(entry.cause);
} }
buf.append(" (<a href=\"configpeer.jsp?peer=").append(key.toBase64()).append("#unsh\">unban now</a>)"); buf.append(" (<a href=\"configpeer.jsp?peer=").append(key.toBase64()).append("#unsh\">unban now</a>)");

View File

@ -388,7 +388,7 @@ public class ClientManager {
public void renderStatusHTML(Writer out) throws IOException { public void renderStatusHTML(Writer out) throws IOException {
StringBuilder buf = new StringBuilder(8*1024); StringBuilder buf = new StringBuilder(8*1024);
buf.append("<u><b>Local destinations</b></u><br />"); buf.append("<u><b>Local destinations</b></u><br>");
Map runners = null; Map runners = null;
synchronized (_runners) { synchronized (_runners) {
@ -397,39 +397,39 @@ public class ClientManager {
for (Iterator iter = runners.keySet().iterator(); iter.hasNext(); ) { for (Iterator iter = runners.keySet().iterator(); iter.hasNext(); ) {
Destination dest = (Destination)iter.next(); Destination dest = (Destination)iter.next();
ClientConnectionRunner runner = (ClientConnectionRunner)runners.get(dest); ClientConnectionRunner runner = (ClientConnectionRunner)runners.get(dest);
buf.append("<b>*</b> ").append(dest.calculateHash().toBase64().substring(0,6)).append("<br />\n"); buf.append("<b>*</b> ").append(dest.calculateHash().toBase64().substring(0,6)).append("<br>\n");
LeaseSet ls = runner.getLeaseSet(); LeaseSet ls = runner.getLeaseSet();
if (ls == null) { if (ls == null) {
buf.append("<font color=\"red\"><i>No lease</i></font><br />\n"); buf.append("<font color=\"red\"><i>No lease</i></font><br>\n");
} else { } else {
long leaseAge = ls.getEarliestLeaseDate() - _ctx.clock().now(); long leaseAge = ls.getEarliestLeaseDate() - _ctx.clock().now();
if (leaseAge <= 0) { if (leaseAge <= 0) {
buf.append("<font color=\"red\"><i>Lease expired "); buf.append("<font color=\"red\"><i>Lease expired ");
buf.append(DataHelper.formatDuration(0-leaseAge)).append(" ago</i></font><br />\n"); buf.append(DataHelper.formatDuration(0-leaseAge)).append(" ago</i></font><br>\n");
} else { } else {
int count = ls.getLeaseCount(); int count = ls.getLeaseCount();
if (count <= 0) { if (count <= 0) {
buf.append("<font color=\"red\"><i>No tunnels</i></font><br />\n"); buf.append("<font color=\"red\"><i>No tunnels</i></font><br>\n");
} else { } else {
TunnelId id = ls.getLease(0).getTunnelId(); TunnelId id = ls.getLease(0).getTunnelId();
TunnelInfo info = _ctx.tunnelManager().getTunnelInfo(id); TunnelInfo info = _ctx.tunnelManager().getTunnelInfo(id);
if (info == null) { if (info == null) {
buf.append("<font color=\"red\"><i>Failed tunnels</i></font><br />\n"); buf.append("<font color=\"red\"><i>Failed tunnels</i></font><br>\n");
} else { } else {
buf.append(count).append(" x "); buf.append(count).append(" x ");
buf.append(info.getLength() - 1).append(" hop tunnel"); buf.append(info.getLength() - 1).append(" hop tunnel");
if (count != 1) if (count != 1)
buf.append('s'); buf.append('s');
buf.append("<br />\n"); buf.append("<br>\n");
buf.append("Expiring in ").append(DataHelper.formatDuration(leaseAge)); buf.append("Expiring in ").append(DataHelper.formatDuration(leaseAge));
buf.append("<br />\n"); buf.append("<br>\n");
} }
} }
} }
} }
} }
buf.append("\n<hr />\n"); buf.append("\n<hr>\n");
out.write(buf.toString()); out.write(buf.toString());
out.flush(); out.flush();
} }

View File

@ -967,18 +967,18 @@ public class KademliaNetworkDatabaseFacade extends NetworkDatabaseFacade {
else else
buf.append(dest.toBase64().substring(0, 6)); buf.append(dest.toBase64().substring(0, 6));
} }
buf.append(")</b><br />\n"); buf.append(")</b><br>\n");
long exp = ls.getEarliestLeaseDate()-now; long exp = ls.getEarliestLeaseDate()-now;
if (exp > 0) if (exp > 0)
buf.append("Earliest expiration date in: <i>").append(DataHelper.formatDuration(exp)).append("</i><br />\n"); buf.append("Earliest expiration date in: <i>").append(DataHelper.formatDuration(exp)).append("</i><br>\n");
else else
buf.append("Earliest expiration date was: <i>").append(DataHelper.formatDuration(0-exp)).append(" ago</i><br />\n"); buf.append("Earliest expiration date was: <i>").append(DataHelper.formatDuration(0-exp)).append(" ago</i><br>\n");
for (int i = 0; i < ls.getLeaseCount(); i++) { for (int i = 0; i < ls.getLeaseCount(); i++) {
buf.append("Lease ").append(i).append(": gateway <i>"); buf.append("Lease ").append(i).append(": gateway <i>");
buf.append(ls.getLease(i).getGateway().toBase64().substring(0,6)); buf.append(ls.getLease(i).getGateway().toBase64().substring(0,6));
buf.append("</i> tunnelId <i>").append(ls.getLease(i).getTunnelId().getTunnelId()).append("</i><br />\n"); buf.append("</i> tunnelId <i>").append(ls.getLease(i).getTunnelId().getTunnelId()).append("</i><br>\n");
} }
buf.append("<hr />\n"); buf.append("<hr>\n");
out.write(buf.toString()); out.write(buf.toString());
buf.setLength(0); buf.setLength(0);
} }
@ -1076,18 +1076,18 @@ public class KademliaNetworkDatabaseFacade extends NetworkDatabaseFacade {
String hash = info.getIdentity().getHash().toBase64(); String hash = info.getIdentity().getHash().toBase64();
buf.append("<a name=\"").append(hash.substring(0, 6)).append("\" ></a>"); buf.append("<a name=\"").append(hash.substring(0, 6)).append("\" ></a>");
if (isUs) { if (isUs) {
buf.append("<a name=\"our-info\" ></a><b>Our info: ").append(hash).append("</b><br />\n"); buf.append("<a name=\"our-info\" ></a><b>Our info: ").append(hash).append("</b><br>\n");
} else { } else {
buf.append("<b>Peer info for:</b> ").append(hash).append("<br />\n"); buf.append("<b>Peer info for:</b> ").append(hash).append("<br>\n");
} }
long age = _context.clock().now() - info.getPublished(); long age = _context.clock().now() - info.getPublished();
if (isUs && _context.router().isHidden()) if (isUs && _context.router().isHidden())
buf.append("Hidden, Updated: <i>").append(DataHelper.formatDuration(age)).append(" ago</i><br />\n"); buf.append("Hidden, Updated: <i>").append(DataHelper.formatDuration(age)).append(" ago</i><br>\n");
else if (age > 0) else if (age > 0)
buf.append("Published: <i>").append(DataHelper.formatDuration(age)).append(" ago</i><br />\n"); buf.append("Published: <i>").append(DataHelper.formatDuration(age)).append(" ago</i><br>\n");
else else
buf.append("Published: <i>in ").append(DataHelper.formatDuration(0-age)).append("???</i><br />\n"); buf.append("Published: <i>in ").append(DataHelper.formatDuration(0-age)).append("???</i><br>\n");
buf.append("Address(es): <i>"); buf.append("Address(es): <i>");
String country = _context.commSystem().getCountry(info.getIdentity().getHash()); String country = _context.commSystem().getCountry(info.getIdentity().getHash());
if(country != null) { if(country != null) {
@ -1103,19 +1103,19 @@ public class KademliaNetworkDatabaseFacade extends NetworkDatabaseFacade {
buf.append('[').append(DataHelper.stripHTML(name)).append('=').append(DataHelper.stripHTML(val)).append("] "); buf.append('[').append(DataHelper.stripHTML(name)).append('=').append(DataHelper.stripHTML(val)).append("] ");
} }
} }
buf.append("</i><br />\n"); buf.append("</i><br>\n");
if (full) { if (full) {
buf.append("Stats: <br /><i><code>\n"); buf.append("Stats: <br><i><code>\n");
for (Iterator iter = info.getOptions().keySet().iterator(); iter.hasNext(); ) { for (Iterator iter = info.getOptions().keySet().iterator(); iter.hasNext(); ) {
String key = (String)iter.next(); String key = (String)iter.next();
String val = info.getOption(key); String val = info.getOption(key);
buf.append(DataHelper.stripHTML(key)).append(" = ").append(DataHelper.stripHTML(val)).append("<br />\n"); buf.append(DataHelper.stripHTML(key)).append(" = ").append(DataHelper.stripHTML(val)).append("<br>\n");
} }
buf.append("</code></i>\n"); buf.append("</code></i>\n");
} else { } else {
buf.append("<a href=\"netdb.jsp?r=").append(hash.substring(0, 6)).append("\" >Full entry</a>\n"); buf.append("<a href=\"netdb.jsp?r=").append(hash.substring(0, 6)).append("\" >Full entry</a>\n");
} }
buf.append("<hr />\n"); buf.append("<hr>\n");
} }
} }

View File

@ -95,7 +95,7 @@ class ProfileOrganizerRenderer {
} }
if (tier != prevTier) if (tier != prevTier)
buf.append("<tr><td colspan=\"7\"><hr /></td></tr>\n"); buf.append("<tr><td colspan=\"7\"><hr></td></tr>\n");
prevTier = tier; prevTier = tier;
buf.append("<tr><td align=\"center\" nowrap>"); buf.append("<tr><td align=\"center\" nowrap>");
@ -219,8 +219,8 @@ class ProfileOrganizerRenderer {
buf.append("</table>"); buf.append("</table>");
buf.append("<h3>Thresholds:</h3>"); buf.append("<h3>Thresholds:</h3>");
buf.append("<b>Speed:</b> ").append(num(_organizer.getSpeedThreshold())).append(" (").append(fast).append(" fast peers)<br />"); buf.append("<b>Speed:</b> ").append(num(_organizer.getSpeedThreshold())).append(" (").append(fast).append(" fast peers)<br>");
buf.append("<b>Capacity:</b> ").append(num(_organizer.getCapacityThreshold())).append(" (").append(reliable).append(" high capacity peers)<br />"); buf.append("<b>Capacity:</b> ").append(num(_organizer.getCapacityThreshold())).append(" (").append(reliable).append(" high capacity peers)<br>");
buf.append("<b>Integration:</b> ").append(num(_organizer.getIntegrationThreshold())).append(" (").append(integrated).append(" well integrated peers)"); buf.append("<b>Integration:</b> ").append(num(_organizer.getIntegrationThreshold())).append(" (").append(integrated).append(" well integrated peers)");
buf.append("<h3>Definitions:</h3><ul>"); buf.append("<h3>Definitions:</h3><ul>");
buf.append("<li><b>groups</b>: as determined by the profile organizer</li>"); buf.append("<li><b>groups</b>: as determined by the profile organizer</li>");

View File

@ -454,7 +454,7 @@ public class UPnP extends ControlPoint implements DeviceChangeListener, EventLis
/** warning - slow */ /** warning - slow */
public String renderStatusHTML() { public String renderStatusHTML() {
final StringBuilder sb = new StringBuilder(); final StringBuilder sb = new StringBuilder();
sb.append("<a name=\"upnp\"></a><b>UPnP Status:</b><br />"); sb.append("<a name=\"upnp\"></a><b>UPnP Status:</b><br>");
if(isDisabled) { if(isDisabled) {
sb.append("UPnP has been disabled; Do you have more than one UPnP Internet Gateway Device on your LAN ?"); sb.append("UPnP has been disabled; Do you have more than one UPnP Internet Gateway Device on your LAN ?");

View File

@ -720,7 +720,7 @@ public class NTCPTransport extends TransportImpl {
} }
if (peers.size() > 0) { if (peers.size() > 0) {
// buf.append("<tr> <td colspan=\"11\"><hr /></td></tr>\n"); // buf.append("<tr> <td colspan=\"11\"><hr></td></tr>\n");
buf.append("<tr class=\"tablefooter\"> <td align=\"center\"><b>").append(peers.size()).append(" peers</b></td> <td>&nbsp;</td> <td>&nbsp;"); buf.append("<tr class=\"tablefooter\"> <td align=\"center\"><b>").append(peers.size()).append(" peers</b></td> <td>&nbsp;</td> <td>&nbsp;");
buf.append("</td> <td align=\"center\"><b>").append(formatRate(bpsRecv/1024)).append("/").append(formatRate(bpsSend/1024)).append("K/s</b>"); buf.append("</td> <td align=\"center\"><b>").append(formatRate(bpsRecv/1024)).append("/").append(formatRate(bpsSend/1024)).append("K/s</b>");
buf.append("</td> <td align=\"center\"><b>").append(DataHelper.formatDuration(totalUptime/peers.size())); buf.append("</td> <td align=\"center\"><b>").append(DataHelper.formatDuration(totalUptime/peers.size()));

View File

@ -1843,17 +1843,17 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority
boolean appended = false; boolean appended = false;
if (_activeThrottle.isChoked(peer.getRemotePeer())) { if (_activeThrottle.isChoked(peer.getRemotePeer())) {
if (!appended) buf.append("<br />"); if (!appended) buf.append("<br>");
buf.append(" <i>Choked</i>"); buf.append(" <i>Choked</i>");
appended = true; appended = true;
} }
if (peer.getConsecutiveFailedSends() > 0) { if (peer.getConsecutiveFailedSends() > 0) {
if (!appended) buf.append("<br />"); if (!appended) buf.append("<br>");
buf.append(" <i>").append(peer.getConsecutiveFailedSends()).append(" fail(s)</i>"); buf.append(" <i>").append(peer.getConsecutiveFailedSends()).append(" fail(s)</i>");
appended = true; appended = true;
} }
if (_context.shitlist().isShitlisted(peer.getRemotePeer(), STYLE)) { if (_context.shitlist().isShitlisted(peer.getRemotePeer(), STYLE)) {
if (!appended) buf.append("<br />"); if (!appended) buf.append("<br>");
buf.append(" <i>Shitlist</i>"); buf.append(" <i>Shitlist</i>");
appended = true; appended = true;
} }
@ -1985,7 +1985,7 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority
numPeers++; numPeers++;
} }
// buf.append("<tr><td colspan=\"16\"><hr /></td></tr>\n"); // buf.append("<tr><td colspan=\"16\"><hr></td></tr>\n");
buf.append(" <tr class=\"tablefooter\"> <td colspan=\"3\" align=\"right\"><b>Total</b></td>"); buf.append(" <tr class=\"tablefooter\"> <td colspan=\"3\" align=\"right\"><b>Total</b></td>");
buf.append(" <td align=\"center\" nowrap><b>"); buf.append(" <td align=\"center\" nowrap><b>");
buf.append(formatKBps(bpsIn)).append("/").append(formatKBps(bpsOut)); buf.append(formatKBps(bpsIn)).append("/").append(formatKBps(bpsOut));
@ -2012,7 +2012,7 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority
double nondupSent = ((double)bytesTransmitted - ((double)resentTotal)*averagePacketSize); double nondupSent = ((double)bytesTransmitted - ((double)resentTotal)*averagePacketSize);
double bwResent = (nondupSent <= 0 ? 0d : ((((double)resentTotal)*averagePacketSize) / nondupSent)); double bwResent = (nondupSent <= 0 ? 0d : ((((double)resentTotal)*averagePacketSize) / nondupSent));
buf.append("<h3>Percentage of bytes retransmitted (lifetime): ").append(formatPct(bwResent)); buf.append("<h3>Percentage of bytes retransmitted (lifetime): ").append(formatPct(bwResent));
buf.append("</h3><i>(Includes retransmission required by packet loss)</i><br /></p>\n"); buf.append("</h3><i>(Includes retransmission required by packet loss)</i><br></p>\n");
out.write(buf.toString()); out.write(buf.toString());
buf.setLength(0); buf.setLength(0);
out.write(KEY); out.write(KEY);
@ -2032,24 +2032,24 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority
} }
private static final String KEY = "<h3>Definitions:</h3><div class=\"configure\">" + private static final String KEY = "<h3>Definitions:</h3><div class=\"configure\">" +
"<br><b id=\"def.peer\">Peer</b>: the remote peer.<br />\n" + "<br><b id=\"def.peer\">Peer</b>: the remote peer.<br>\n" +
"<b id=\"def.dir\">Dir</b>: v means they offer to introduce us, ^ means we offer to introduce them.<br />\n" + "<b id=\"def.dir\">Dir</b>: v means they offer to introduce us, ^ means we offer to introduce them.<br>\n" +
"<b id=\"def.idle\">Idle</b>: the idle time is how long since a packet has been received or sent.<br />\n" + "<b id=\"def.idle\">Idle</b>: the idle time is how long since a packet has been received or sent.<br>\n" +
"<b id=\"def.rate\">In/out</b>: the rates show a smoothed inbound and outbound transfer rate (KBytes per second).<br />\n" + "<b id=\"def.rate\">In/out</b>: the rates show a smoothed inbound and outbound transfer rate (KBytes per second).<br>\n" +
"<b id=\"def.up\">Up</b>: the uptime is how long ago this session was established.<br />\n" + "<b id=\"def.up\">Up</b>: the uptime is how long ago this session was established.<br>\n" +
"<b id=\"def.skew\">Skew</b>: the skew says how far off the other user's clock is, relative to your own.<br />\n" + "<b id=\"def.skew\">Skew</b>: the skew says how far off the other user's clock is, relative to your own.<br>\n" +
"<b id=\"def.cwnd\">Cwnd</b>: the congestion window is how many bytes in 'in flight' you can send w/out an acknowledgement, / <br />\n" + "<b id=\"def.cwnd\">Cwnd</b>: the congestion window is how many bytes in 'in flight' you can send w/out an acknowledgement, / <br>\n" +
"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; the number of currently active messages being sent, /<br />\n" + "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; the number of currently active messages being sent, /<br>\n" +
"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; the maximum number of concurrent messages to send, /<br />\n"+ "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; the maximum number of concurrent messages to send, /<br>\n"+
"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; the number of consecutive sends which were blocked due to throws message window size.<br />\n" + "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; the number of consecutive sends which were blocked due to throws message window size.<br>\n" +
"<b id=\"def.ssthresh\">Sst</b>: the slow start threshold helps make sure the cwnd doesn't grow too fast.<br />\n" + "<b id=\"def.ssthresh\">Sst</b>: the slow start threshold helps make sure the cwnd doesn't grow too fast.<br>\n" +
"<b id=\"def.rtt\">Rtt</b>: the round trip time is how long it takes to get an acknowledgement of a packet.<br />\n" + "<b id=\"def.rtt\">Rtt</b>: the round trip time is how long it takes to get an acknowledgement of a packet.<br>\n" +
"<b id=\"def.dev\">Dev</b>: the standard deviation of the round trip time, to help control the retransmit timeout.<br />\n" + "<b id=\"def.dev\">Dev</b>: the standard deviation of the round trip time, to help control the retransmit timeout.<br>\n" +
"<b id=\"def.rto\">Rto</b>: the retransmit timeout controls how frequently an unacknowledged packet will be retransmitted.<br />\n" + "<b id=\"def.rto\">Rto</b>: the retransmit timeout controls how frequently an unacknowledged packet will be retransmitted.<br>\n" +
"<b id=\"def.mtu\">Mtu</b>: current sending packet size / estimated receiving packet size.<br />\n" + "<b id=\"def.mtu\">Mtu</b>: current sending packet size / estimated receiving packet size.<br>\n" +
"<b id=\"def.send\">TX</b>: the number of packets sent to the peer.<br />\n" + "<b id=\"def.send\">TX</b>: the number of packets sent to the peer.<br>\n" +
"<b id=\"def.recv\">RX</b>: the number of packets received from the peer.<br />\n" + "<b id=\"def.recv\">RX</b>: the number of packets received from the peer.<br>\n" +
"<b id=\"def.resent\">ReTX</b>: the number of packets retransmitted to the peer.<br />\n" + "<b id=\"def.resent\">ReTX</b>: the number of packets retransmitted to the peer.<br>\n" +
"<b id=\"def.dupRecv\">DupRX</b>: the number of duplicate packets received from the peer." + "<b id=\"def.dupRecv\">DupRX</b>: the number of duplicate packets received from the peer." +
"</div>\n"; "</div>\n";

View File

@ -20,7 +20,7 @@ import java.util.Vector;
* a comma separated list of class names of factories or parsers to try (in order from * a comma separated list of class names of factories or parsers to try (in order from
* left to the right). If none found, it will throw an exception. * left to the right). If none found, it will throw an exception.
* *
* <br /><strong>NOTE:</strong>In J2SE or J2EE environments, you may want to use * <br><strong>NOTE:</strong>In J2SE or J2EE environments, you may want to use
* <code>newInstance(property, classLoaderCtx)</code> * <code>newInstance(property, classLoaderCtx)</code>
* where first argument is * where first argument is
* <code>System.getProperty(XmlPullParserFactory.PROPERTY_NAME)</code> * <code>System.getProperty(XmlPullParserFactory.PROPERTY_NAME)</code>

View File

@ -233,15 +233,15 @@ public interface XmlSerializer {
// /** // /**
// * Writes a start tag with the given namespace and name. // * Writes a start tag with the given namespace and name.
// * <br />If there is no prefix defined (prefix == null) for the given namespace, // * <br>If there is no prefix defined (prefix == null) for the given namespace,
// * a prefix will be defined automatically. // * a prefix will be defined automatically.
// * <br />If explicit prefixes is passed (prefix != null) then it will be used // * <br>If explicit prefixes is passed (prefix != null) then it will be used
// *and namespace declared if not already declared or // *and namespace declared if not already declared or
// * throw IllegalStateException the same prefix was already set on this // * throw IllegalStateException the same prefix was already set on this
// * element (setPrefix()) and was bound to different namespace. // * element (setPrefix()) and was bound to different namespace.
// * <br />If namespace is null then prefix must be null too or IllegalStateException is thrown. // * <br>If namespace is null then prefix must be null too or IllegalStateException is thrown.
// * <br />If namespace is null then no namespace prefix is printed but just name. // * <br>If namespace is null then no namespace prefix is printed but just name.
// * <br />If namespace is empty string then serializer will make sure that // * <br>If namespace is empty string then serializer will make sure that
// * default empty namespace is declared (in XML 1.0 xmlns='') // * default empty namespace is declared (in XML 1.0 xmlns='')
// * or throw IllegalStateException if default namespace is already bound // * or throw IllegalStateException if default namespace is already bound
// * to non-empty string. // * to non-empty string.
@ -252,15 +252,15 @@ public interface XmlSerializer {
// /** // /**
// * Write an attribute. Calls to attribute() MUST follow a call to // * Write an attribute. Calls to attribute() MUST follow a call to
// * startTag() immediately. // * startTag() immediately.
// * <br />If there is no prefix defined (prefix == null) for the given namespace, // * <br>If there is no prefix defined (prefix == null) for the given namespace,
// * a prefix will be defined automatically. // * a prefix will be defined automatically.
// * <br />If explicit prefixes is passed (prefix != null) then it will be used // * <br>If explicit prefixes is passed (prefix != null) then it will be used
// * and namespace declared if not already declared or // * and namespace declared if not already declared or
// * throw IllegalStateException the same prefix was already set on this // * throw IllegalStateException the same prefix was already set on this
// * element (setPrefix()) and was bound to different namespace. // * element (setPrefix()) and was bound to different namespace.
// * <br />If namespace is null then prefix must be null too or IllegalStateException is thrown. // * <br>If namespace is null then prefix must be null too or IllegalStateException is thrown.
// * <br />If namespace is null then no namespace prefix is printed but just name. // * <br>If namespace is null then no namespace prefix is printed but just name.
// * <br />If namespace is empty string then serializer will make sure that // * <br>If namespace is empty string then serializer will make sure that
// * default empty namespace is declared (in XML 1.0 xmlns='') // * default empty namespace is declared (in XML 1.0 xmlns='')
// * or throw IllegalStateException if default namespace is already bound // * or throw IllegalStateException if default namespace is already bound
// * to non-empty string. // * to non-empty string.
@ -270,12 +270,12 @@ public interface XmlSerializer {
// //
// /** // /**
// * Write end tag. Repetition of namespace, prefix, and name is just for avoiding errors. // * Write end tag. Repetition of namespace, prefix, and name is just for avoiding errors.
// * <br />If namespace or name arguments are different from corresponding startTag call // * <br>If namespace or name arguments are different from corresponding startTag call
// * then IllegalArgumentException is thrown, if prefix argument is not null and is different // * then IllegalArgumentException is thrown, if prefix argument is not null and is different
// * from corresponding starTag then IllegalArgumentException is thrown. // * from corresponding starTag then IllegalArgumentException is thrown.
// * <br />If namespace is null then prefix must be null too or IllegalStateException is thrown. // * <br>If namespace is null then prefix must be null too or IllegalStateException is thrown.
// * <br />If namespace is null then no namespace prefix is printed but just name. // * <br>If namespace is null then no namespace prefix is printed but just name.
// * <br />If namespace is empty string then serializer will make sure that // * <br>If namespace is empty string then serializer will make sure that
// * default empty namespace is declared (in XML 1.0 xmlns=''). // * default empty namespace is declared (in XML 1.0 xmlns='').
// * <p><b>Background:</b> in kXML endTag had no arguments, and non matching tags were // * <p><b>Background:</b> in kXML endTag had no arguments, and non matching tags were
// * very difficult to find...</p> // * very difficult to find...</p>