Changeset 1b63aa4


Ignore:
Timestamp:
Aug 17, 2009 2:35:18 PM (11 years ago)
Author:
z3d <z3d@…>
Branches:
master
Children:
6a8dd0f
Parents:
33a7f33
Message:

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

Files:
21 edited

Legend:

Unmodified
Added
Removed
  • apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java

    r33a7f33 r1b63aa4  
    112112        if (_manager.util().connected() && snarks.size() > 0) {
    113113            if (peerParam != null)
    114                 out.write("(<a href=\"" + req.getRequestURI() + "\">Hide Peers</a>)<br />\n");
     114                out.write("(<a href=\"" + req.getRequestURI() + "\">Hide Peers</a>)<br>\n");
    115115            else
    116                 out.write("(<a href=\"" + req.getRequestURI() + "?p=1" + "\">Show Peers</a>)<br />\n");
     116                out.write("(<a href=\"" + req.getRequestURI() + "?p=1" + "\">Show Peers</a>)<br>\n");
    117117        }
    118118        out.write(TABLE_HEADER2);
     
    456456                if (err.length() > MAX_DISPLAYED_ERROR_LENGTH)
    457457                    err = err.substring(0, MAX_DISPLAYED_ERROR_LENGTH) + "&hellip;";
    458                 statusString = "TrackerErr<br />(" + err + ")";
     458                statusString = "TrackerErr<br>(" + err + ")";
    459459            }
    460460        } else if (remaining <= 0) {
     
    554554                          + "\" title=\"Start the torrent\">Start</a> ");
    555555            out.write("<a href=\"" + uri + "?action=Remove" + parameters
    556                       + "\" title=\"Remove the torrent from the active list, deleting the .torrent file\">Remove</a><br />");
     556                      + "\" title=\"Remove the torrent from the active list, deleting the .torrent file\">Remove</a><br>");
    557557            out.write("<a href=\"" + uri + "?action=Delete" + parameters
    558558                      + "\" title=\"Delete the .torrent file and the associated data file(s)\">Delete</a> ");
     
    656656        out.write("<form action=\"" + uri + "\" method=\"POST\">\n");
    657657        out.write("<input type=\"hidden\" name=\"nonce\" value=\"" + _nonce + "\" />\n");
    658         out.write("<div class=\"addtorrentsection\"><span class=\"snarkConfigTitle\">Add Torrent:</span><br />\n");
     658        out.write("<div class=\"addtorrentsection\"><span class=\"snarkConfigTitle\">Add Torrent:</span><br>\n");
    659659        out.write("From URL&nbsp;: <input type=\"text\" name=\"newURL\" size=\"80\" value=\"" + newURL + "\" /> \n");
    660660        // not supporting from file at the moment, since the file name passed isn't always absolute (so it may not resolve)
    661         //out.write("From file: <input type=\"file\" name=\"newFile\" size=\"50\" value=\"" + newFile + "\" /><br />\n");
    662         out.write("<input type=\"submit\" value=\"Add torrent\" name=\"action\" /><br />\n");
    663         out.write("<span class=\"snarkAddInfo\">Alternately, you can copy .torrent files to " + _manager.getDataDir().getAbsolutePath() + "<br />\n");
    664         out.write("Removing that .torrent file will cause the torrent to stop.<br /></span>\n");
     661        //out.write("From file: <input type=\"file\" name=\"newFile\" size=\"50\" value=\"" + newFile + "\" /><br>\n");
     662        out.write("<input type=\"submit\" value=\"Add torrent\" name=\"action\" /><br>\n");
     663        out.write("<span class=\"snarkAddInfo\">Alternately, you can copy .torrent files to " + _manager.getDataDir().getAbsolutePath() + "<br>\n");
     664        out.write("Removing that .torrent file will cause the torrent to stop.<br></span>\n");
    665665        out.write("</form>\n</span></div>"); 
    666666    }
     
    676676        out.write("<form action=\"" + uri + "\" method=\"POST\">\n");
    677677        out.write("<input type=\"hidden\" name=\"nonce\" value=\"" + _nonce + "\" />\n");
    678         out.write("<span class=\"snarkConfigTitle\">Create Torrent:</span><br />\n");
    679         //out.write("From file: <input type=\"file\" name=\"newFile\" size=\"50\" value=\"" + newFile + "\" /><br />\n");
     678        out.write("<span class=\"snarkConfigTitle\">Create Torrent:</span><br>\n");
     679        //out.write("From file: <input type=\"file\" name=\"newFile\" size=\"50\" value=\"" + newFile + "\" /><br>\n");
    680680        out.write("Data to seed: " + _manager.getDataDir().getAbsolutePath() + File.separatorChar
    681681                  + "<input type=\"text\" name=\"baseFile\" size=\"20\" value=\"" + baseFile
    682                   + "\" title=\"File to seed (must be within the specified path)\" /><br />\n");
     682                  + "\" title=\"File to seed (must be within the specified path)\" /><br>\n");
    683683        out.write("Tracker: <select name=\"announceURL\"><option value=\"\">Select a tracker</option>\n");
    684684        Map trackers = _manager.getTrackers();
     
    710710        out.write("<div class=\"configsection\"><span class=\"snarkConfig\">\n");
    711711        out.write("<input type=\"hidden\" name=\"nonce\" value=\"" + _nonce + "\" />\n");
    712         out.write("<span class=\"snarkConfigTitle\">Configuration:</span><br />\n");
     712        out.write("<span class=\"snarkConfigTitle\">Configuration:</span><br>\n");
    713713        out.write("Data directory: <input type=\"text\" size=\"40\" name=\"dataDir\" value=\"" + dataDir + "\" ");
    714         out.write("title=\"Directory to store torrents and data\" disabled=\"true\" /> <i>(Edit i2psnark.config and restart to change)</i><br />\n");
     714        out.write("title=\"Directory to store torrents and data\" disabled=\"true\" /> <i>(Edit i2psnark.config and restart to change)</i><br>\n");
    715715        out.write("Auto start: <input type=\"checkbox\" class=\"optbox\" name=\"autoStart\" value=\"true\" "
    716716                  + (autoStart ? "checked " : "")
     
    718718        //Auto add: <input type="checkbox" name="autoAdd" value="true" title="If true, automatically add torrents that are found in the data directory" />
    719719        //Auto stop: <input type="checkbox" name="autoStop" value="true" title="If true, automatically stop torrents that are removed from the data directory" />
    720         //out.write("<br />\n");
     720        //out.write("<br>\n");
    721721/*
    722722        out.write("Seed percentage: <select name=\"seedPct\" disabled=\"true\" >\n\t");
     
    733733        else
    734734            out.write("<option value=\"150\">150%</option>\n\t");
    735         out.write("</select><br />\n");
     735        out.write("</select><br>\n");
    736736*/
    737737        out.write("Total uploader limit: <input type=\"text\" name=\"upLimit\" value=\""
    738                   + _manager.util().getMaxUploaders() + "\" size=\"3\" maxlength=\"3\" /> peers<br />\n");
     738                  + _manager.util().getMaxUploaders() + "\" size=\"3\" maxlength=\"3\" /> peers<br>\n");
    739739        out.write("Up bandwidth limit: <input type=\"text\" name=\"upBW\" value=\""
    740                   + _manager.util().getMaxUpBW() + "\" size=\"3\" maxlength=\"3\" /> KBps <i>(Half <a href=\"/config.jsp\" target=\"blank\">available bandwidth</a> recommended.)</i><br />\n");
     740                  + _manager.util().getMaxUpBW() + "\" size=\"3\" maxlength=\"3\" /> KBps <i>(Half <a href=\"/config.jsp\" target=\"blank\">available bandwidth</a> recommended.)</i><br>\n");
    741741       
    742742        out.write("Use open trackers also: <input type=\"checkbox\" class=\"optbox\" name=\"useOpenTrackers\" value=\"true\" "
     
    744744                  + "title=\"If true, uses open trackers in addition\" /> ");
    745745        out.write("Announce URLs: <input type=\"text\" name=\"openTrackers\" value=\""
    746                   + openTrackers + "\" size=\"50\" /><br />\n");
     746                  + openTrackers + "\" size=\"50\" /><br>\n");
    747747
    748748        //out.write("\n");
     
    750750                  + _manager.util().getEepProxyHost() + "\" size=\"15\" /> ");
    751751        out.write("port: <input type=\"text\" name=\"eepPort\" value=\""
    752                   + _manager.util().getEepProxyPort() + "\" size=\"5\" maxlength=\"5\" /><br />\n");
     752                  + _manager.util().getEepProxyPort() + "\" size=\"5\" maxlength=\"5\" /><br>\n");
    753753        out.write("I2CP host: <input type=\"text\" name=\"i2cpHost\" value=\""
    754754                  + _manager.util().getI2CPHost() + "\" size=\"15\" /> ");
    755755        out.write("port: <input type=\"text\" name=\"i2cpPort\" value=\"" +
    756                   + _manager.util().getI2CPPort() + "\" size=\"5\" maxlength=\"5\" /> <br />\n");
     756                  + _manager.util().getI2CPPort() + "\" size=\"5\" maxlength=\"5\" /> <br>\n");
    757757        StringBuilder opts = new StringBuilder(64);
    758758        Map options = new TreeMap(_manager.util().getI2CPOptions());
     
    764764        }
    765765        out.write("I2CP opts: <input type=\"text\" name=\"i2cpOpts\" size=\"80\" value=\""
    766                   + opts.toString() + "\" /><br />\n");
     766                  + opts.toString() + "\" /><br>\n");
    767767        out.write("<input type=\"submit\" value=\"Save configuration\" name=\"action\" />\n");
    768768        out.write("</span>\n");
  • apps/i2ptunnel/java/src/net/i2p/i2ptunnel/TunnelController.java

    r33a7f33 r1b63aa4  
    465465        String description = getDescription();
    466466        if ( (description != null) && (description.trim().length() > 0) )
    467             buf.append("<i>").append(description).append("</i><br />\n");
     467            buf.append("<i>").append(description).append("</i><br>\n");
    468468        buf.append("HTTP proxy listening on port ").append(getListenPort());
    469469        String listenOn = getListenOnInterface();
     
    474474        else
    475475            buf.append(" (reachable at the ").append(listenOn).append(" interface)");
    476         buf.append("<br />\n");
     476        buf.append("<br>\n");
    477477        String proxies = getProxyList();
    478478        if ( (proxies == null) || (proxies.trim().length() <= 0) )
    479             buf.append("Outproxy: default [squid.i2p]<br />\n");
     479            buf.append("Outproxy: default [squid.i2p]<br>\n");
    480480        else
    481             buf.append("Outproxy: ").append(proxies).append("<br />\n");
     481            buf.append("Outproxy: ").append(proxies).append("<br>\n");
    482482        getOptionSummary(buf);
    483483    }
     
    486486        String description = getDescription();
    487487        if ( (description != null) && (description.trim().length() > 0) )
    488             buf.append("<i>").append(description).append("</i><br />\n");
     488            buf.append("<i>").append(description).append("</i><br>\n");
    489489        buf.append("Client tunnel listening on port ").append(getListenPort());
    490490        buf.append(" pointing at ").append(getTargetDestination());
     
    496496        else
    497497            buf.append(" (reachable at the ").append(listenOn).append(" interface)");
    498         buf.append("<br />\n");
     498        buf.append("<br>\n");
    499499        getOptionSummary(buf);
    500500    }
     
    503503        String description = getDescription();
    504504        if ( (description != null) && (description.trim().length() > 0) )
    505             buf.append("<i>").append(description).append("</i><br />\n");
     505            buf.append("<i>").append(description).append("</i><br>\n");
    506506        buf.append("Server tunnel pointing at port ").append(getTargetPort());
    507507        buf.append(" on ").append(getTargetHost());
    508         buf.append("<br />\n");
    509         buf.append("Private destination loaded from ").append(getPrivKeyFile()).append("<br />\n");
     508        buf.append("<br>\n");
     509        buf.append("Private destination loaded from ").append(getPrivKeyFile()).append("<br>\n");
    510510        getOptionSummary(buf);
    511511    }
     
    514514        String description = getDescription();
    515515        if ( (description != null) && (description.trim().length() > 0) )
    516             buf.append("<i>").append(description).append("</i><br />\n");
     516            buf.append("<i>").append(description).append("</i><br>\n");
    517517        buf.append("Server tunnel pointing at port ").append(getTargetPort());
    518518        buf.append(" on ").append(getTargetHost());
    519519        buf.append(" for the site ").append(getSpoofedHost());
    520         buf.append("<br />\n");
    521         buf.append("Private destination loaded from ").append(getPrivKeyFile()).append("<br />\n");
     520        buf.append("<br>\n");
     521        buf.append("Private destination loaded from ").append(getPrivKeyFile()).append("<br>\n");
    522522        getOptionSummary(buf);
    523523    }
     
    526526        String opts = getClientOptions();
    527527        if ( (opts != null) && (opts.length() > 0) )
    528             buf.append("Network options: ").append(opts).append("<br />\n");
     528            buf.append("Network options: ").append(opts).append("<br>\n");
    529529        if (_running) {
    530530            List sessions = _tunnel.getSessions();
     
    533533                Destination dest = session.getMyDestination();
    534534                if (dest != null) {
    535                     buf.append("Destination hash: ").append(dest.calculateHash().toBase64()).append("<br />\n");
     535                    buf.append("Destination hash: ").append(dest.calculateHash().toBase64()).append("<br>\n");
    536536                    if ( ("server".equals(getType())) || ("httpserver".equals(getType())) ) {
    537537                        buf.append("Full destination: ");
     
    540540                        long val = new Random().nextLong();
    541541                        if (val < 0) val = 0 - val;
    542                         buf.append("<br />You can <a href=\"http://temp").append(val);
     542                        buf.append("<br>You can <a href=\"http://temp").append(val);
    543543                        buf.append(".i2p/?i2paddresshelper=").append(dest.toBase64()).append("\">view</a>");
    544544                        buf.append(" it in a browser (only when you're using the eepProxy)\n");
    545                         buf.append("<br />If you are going to share this on IRC, you need to split it up:<br />\n");
     545                        buf.append("<br>If you are going to share this on IRC, you need to split it up:<br>\n");
    546546                        String str = dest.toBase64();
    547                         buf.append(str.substring(0, str.length()/2)).append("<br />\n");
    548                         buf.append(str.substring(str.length()/2)).append("<br />\n");
    549                         buf.append("You can also post it to <a href=\"http://forum.i2p/viewforum.php?f=16\">Eepsite announcement forum</a><br />");
     547                        buf.append(str.substring(0, str.length()/2)).append("<br>\n");
     548                        buf.append(str.substring(str.length()/2)).append("<br>\n");
     549                        buf.append("You can also post it to <a href=\"http://forum.i2p/viewforum.php?f=16\">Eepsite announcement forum</a><br>");
    550550                    }
    551551                }
  • apps/i2ptunnel/jsp/editClient.jsp

    r33a7f33 r1b63aa4  
    5151     
    5252            <div class="separator">
    53                 <hr />
     53                <hr>
    5454            </div>
    5555
     
    7272                 
    7373            <div class="subdivider">
    74                 <hr />
     74                <hr>
    7575            </div>
    7676                 
     
    130130                                           
    131131            <div class="subdivider">
    132                 <hr />
     132                <hr>
    133133            </div>
    134134           
     
    198198
    199199            <div class="separator">
    200                 <hr />
     200                <hr>
    201201            </div>
    202202           
     
    266266                           
    267267            <div class="subdivider">
    268                 <hr />
     268                <hr>
    269269            </div>
    270270           
     
    287287         <% if (!"streamrclient".equals(tunnelType)) { // streamr client sends pings so it will never be idle %>
    288288            <div class="subdivider">
    289                 <hr />
     289                <hr>
    290290            </div>
    291291           
     
    315315           
    316316            <div class="subdivider">
    317                 <hr />
     317                <hr>
    318318            </div>
    319319           
     
    350350                 
    351351            <div class="subdivider">
    352                 <hr />
     352                <hr>
    353353            </div>
    354354
     
    367367                 
    368368            <div class="subdivider">
    369                 <hr />
     369                <hr>
    370370            </div>
    371371
     
    394394
    395395            <div class="subdivider">
    396                 <hr />
     396                <hr>
    397397            </div>
    398398         <% } %>
  • apps/i2ptunnel/jsp/editServer.jsp

    r33a7f33 r1b63aa4  
    5151     
    5252            <div class="separator">
    53                 <hr />
     53                <hr>
    5454            </div>
    5555
     
    7979                 
    8080            <div class="subdivider">
    81                 <hr />
     81                <hr>
    8282            </div>
    8383                 
     
    111111           
    112112            <div class="subdivider">
    113                 <hr />
     113                <hr>
    114114            </div>
    115115           
     
    165165
    166166            <div class="separator">
    167                 <hr />
     167                <hr>
    168168            </div>
    169169           
     
    233233                           
    234234            <div class="subdivider">
    235                 <hr />
     235                <hr>
    236236            </div>
    237237           
     
    253253           
    254254            <div class="subdivider">
    255                 <hr />
     255                <hr>
    256256            </div>
    257257           
     
    282282                 
    283283            <div class="subdivider">
    284                 <hr />
     284                <hr>
    285285            </div>
    286286           
     
    305305                 
    306306            <div class="subdivider">
    307                 <hr />
     307                <hr>
    308308            </div>
    309309           
     
    333333
    334334            <div class="subdivider">
    335                 <hr />
     335                <hr>
    336336            </div>
    337337           
     
    383383                 
    384384            <div class="subdivider">
    385                 <hr />
     385                <hr>
    386386            </div>
    387387                 
  • apps/i2ptunnel/jsp/index.jsp

    r33a7f33 r1b63aa4  
    2828
    2929        <div class="separator">
    30             <hr />
     30            <hr>
    3131        </div>
    3232
     
    3434
    3535        <div class="separator">
    36             <hr />
     36            <hr>
    3737        </div>
    3838
     
    7575        <div class="statusHeaderField rowItem">
    7676            <label>Status:</label>
    77 <hr />        </div>
     77<hr>        </div>
    7878       
    7979        <%
     
    142142
    143143        <div class="subdivider">
    144             <hr />
     144            <hr>
    145145        </div>
    146146        <%
     
    148148      %>
    149149        <div class="separator">
    150             <hr />
     150            <hr>
    151151        </div>
    152152           
     
    195195
    196196        <div class="separator">
    197             <hr />
     197            <hr>
    198198        </div>
    199199        <%
     
    263263
    264264        <div class="subdivider">
    265             <hr />
     265            <hr>
    266266        </div>
    267267        <%
     
    269269      %>           
    270270        <div class="separator">
    271             <hr />
     271            <hr>
    272272        </div>
    273273   
  • apps/ministreaming/java/src/net/i2p/client/streaming/StreamSinkClient.java

    r33a7f33 r1b63aa4  
    118118
    119119    /**
    120      * Fire up the client.  <code>Usage: StreamSinkClient [i2cpHost i2cpPort] sendSizeKB writeDelayMs serverDestFile [concurrentSends]</code> <br />
     120     * Fire up the client.  <code>Usage: StreamSinkClient [i2cpHost i2cpPort] sendSizeKB writeDelayMs serverDestFile [concurrentSends]</code> <br>
    121121     * <ul>
    122122     *  <li><b>sendSizeKB</b>: how many KB to send, or -1 for unlimited</li>
  • apps/ministreaming/java/src/net/i2p/client/streaming/StreamSinkSend.java

    r33a7f33 r1b63aa4  
    105105
    106106    /**
    107      * Fire up the client.  <code>Usage: StreamSinkClient sendFile writeDelayMs serverDestFile</code> <br />
     107     * Fire up the client.  <code>Usage: StreamSinkClient sendFile writeDelayMs serverDestFile</code> <br>
    108108     * <ul>
    109109     *  <li><b>sendFile</b>: filename to send</li>
  • apps/ministreaming/java/src/net/i2p/client/streaming/StreamSinkServer.java

    r33a7f33 r1b63aa4  
    156156   
    157157    /**
    158      * Fire up the streaming server.  <code>Usage: StreamSinkServer [i2cpHost i2cpPort] sinkDir ourDestFile [numHandlers]</code><br />
     158     * Fire up the streaming server.  <code>Usage: StreamSinkServer [i2cpHost i2cpPort] sinkDir ourDestFile [numHandlers]</code><br>
    159159     * <ul>
    160160     *  <li><b>sinkDir</b>: Directory to store received files in</li>
  • apps/streaming/java/src/net/i2p/client/streaming/SchedulerDead.java

    r33a7f33 r1b63aa4  
    99 *
    1010 * <h2>Entry conditions:</h2><ul>
    11  * <li>Both sides have closed and ACKed and the timeout has passed. <br />
     11 * <li>Both sides have closed and ACKed and the timeout has passed. <br>
    1212 *     <b>or</b></li>
    1313 * <li>A RESET was received</li>
  • core/java/src/net/i2p/crypto/TransientSessionKeyManager.java

    r33a7f33 r1b63aa4  
    537537        for (Iterator<OutboundSession> iter = outbound.iterator(); iter.hasNext();) {
    538538            OutboundSession sess = iter.next();
    539             buf.append("<tr><td><b>Target key:</b> ").append(sess.getTarget().toString()).append("<br />");
    540             buf.append("<b>Established:</b> ").append(new Date(sess.getEstablishedDate())).append("<br />");
    541             buf.append("<b>Last Used:</b> ").append(new Date(sess.getLastUsedDate())).append("<br />");
     539            buf.append("<tr><td><b>Target key:</b> ").append(sess.getTarget().toString()).append("<br>");
     540            buf.append("<b>Established:</b> ").append(new Date(sess.getEstablishedDate())).append("<br>");
     541            buf.append("<b>Last Used:</b> ").append(new Date(sess.getLastUsedDate())).append("<br>");
    542542            buf.append("<b># Sets:</b> ").append(sess.getTagSets().size()).append("</td></tr>");
    543543            buf.append("<tr><td><b>Session key:</b> ").append(sess.getCurrentKey().toBase64()).append("</td></tr>");
  • router/java/src/net/i2p/router/JobQueue.java

    r33a7f33 r1b63aa4  
    612612            for (int i = 0; i < states.length; i++)
    613613                buf.append(states[i]).append(" ");
    614         buf.append("]</b><br />\n");
     614        buf.append("]</b><br>\n");
    615615
    616616        long now = _context.clock().now();
     
    721721        }
    722722
    723         buf.append("<tr><td colspan=\"10\"><hr /></td><tr>");
     723        buf.append("<tr><td colspan=\"10\"><hr></td><tr>");
    724724        buf.append("<tr>");
    725725        buf.append("<td><i><b>").append("SUMMARY").append("</b></i></td>");
  • router/java/src/net/i2p/router/Router.java

    r33a7f33 r1b63aa4  
    598598                   "<option value=\"/oldconsole.jsp#logs\">Log messages</option>\n" +
    599599                   "</select> <input type=\"submit\" value=\"GO\" /> </form>" +
    600                    "<hr />\n");
     600                   "<hr>\n");
    601601
    602602        StringBuilder buf = new StringBuilder(32*1024);
    603603       
    604604        if ( (_routerInfo != null) && (_routerInfo.getIdentity() != null) )
    605             buf.append("<b>Router: </b> ").append(_routerInfo.getIdentity().getHash().toBase64()).append("<br />\n");
    606         buf.append("<b>As of: </b> ").append(new Date(_context.clock().now())).append(" (uptime: ").append(DataHelper.formatDuration(getUptime())).append(") <br />\n");
    607         buf.append("<b>Started on: </b> ").append(new Date(getWhenStarted())).append("<br />\n");
    608         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");
     605            buf.append("<b>Router: </b> ").append(_routerInfo.getIdentity().getHash().toBase64()).append("<br>\n");
     606        buf.append("<b>As of: </b> ").append(new Date(_context.clock().now())).append(" (uptime: ").append(DataHelper.formatDuration(getUptime())).append(") <br>\n");
     607        buf.append("<b>Started on: </b> ").append(new Date(getWhenStarted())).append("<br>\n");
     608        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");
    609609        long tot = Runtime.getRuntime().totalMemory()/1024;
    610610        long free = Runtime.getRuntime().freeMemory()/1024;
    611         buf.append("<b>Memory:</b> In use: ").append((tot-free)).append("KB Free: ").append(free).append("KB <br />\n");
    612         buf.append("<b>Version:</b> Router: ").append(RouterVersion.VERSION).append(" / SDK: ").append(CoreVersion.VERSION).append("<br />\n");
     611        buf.append("<b>Memory:</b> In use: ").append((tot-free)).append("KB Free: ").append(free).append("KB <br>\n");
     612        buf.append("<b>Version:</b> Router: ").append(RouterVersion.VERSION).append(" / SDK: ").append(CoreVersion.VERSION).append("<br>\n");
    613613        if (_higherVersionSeen)
    614             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");
    615 
    616         buf.append("<hr /><a name=\"bandwidth\"> </a><h2>Bandwidth</h2>\n");
     614            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");
     615
     616        buf.append("<hr><a name=\"bandwidth\"> </a><h2>Bandwidth</h2>\n");
    617617        long sent = _context.bandwidthLimiter().getTotalAllocatedOutboundBytes();
    618618        long received = _context.bandwidthLimiter().getTotalAllocatedInboundBytes();
     
    724724        _context.bandwidthLimiter().renderStatusHTML(out);
    725725
    726         out.write("<hr /><a name=\"clients\"> </a>\n");
     726        out.write("<hr><a name=\"clients\"> </a>\n");
    727727       
    728728        _context.clientManager().renderStatusHTML(out);
    729729       
    730         out.write("\n<hr /><a name=\"transports\"> </a>\n");
     730        out.write("\n<hr><a name=\"transports\"> </a>\n");
    731731       
    732732        _context.commSystem().renderStatusHTML(out);
    733733       
    734         out.write("\n<hr /><a name=\"profiles\"> </a>\n");
     734        out.write("\n<hr><a name=\"profiles\"> </a>\n");
    735735       
    736736        _context.peerManager().renderStatusHTML(out);
    737737       
    738         out.write("\n<hr /><a name=\"tunnels\"> </a>\n");
     738        out.write("\n<hr><a name=\"tunnels\"> </a>\n");
    739739       
    740740        _context.tunnelManager().renderStatusHTML(out);
    741741       
    742         out.write("\n<hr /><a name=\"jobs\"> </a>\n");
     742        out.write("\n<hr><a name=\"jobs\"> </a>\n");
    743743       
    744744        _context.jobQueue().renderStatusHTML(out);
    745745       
    746         out.write("\n<hr /><a name=\"shitlist\"> </a>\n");
     746        out.write("\n<hr><a name=\"shitlist\"> </a>\n");
    747747       
    748748        _context.shitlist().renderStatusHTML(out);
    749749       
    750         out.write("\n<hr /><a name=\"pending\"> </a>\n");
     750        out.write("\n<hr><a name=\"pending\"> </a>\n");
    751751       
    752752        _context.messageRegistry().renderStatusHTML(out);
    753753       
    754         out.write("\n<hr /><a name=\"netdb\"> </a>\n");
     754        out.write("\n<hr><a name=\"netdb\"> </a>\n");
    755755       
    756756        _context.netDb().renderLeaseSetHTML(out);
     
    758758       
    759759        buf.setLength(0);
    760         buf.append("\n<hr /><a name=\"logs\"> </a>\n");
     760        buf.append("\n<hr><a name=\"logs\"> </a>\n");   
    761761        List msgs = _context.logManager().getBuffer().getMostRecentMessages();
    762762        buf.append("\n<h2>Most recent console messages:</h2><table>\n");
  • router/java/src/net/i2p/router/Shitlist.java

    r33a7f33 r1b63aa4  
    271271                buf.append(" on the following transport: ").append(transports);
    272272            if (entry.cause != null) {
    273                 buf.append("<br />\n");
     273                buf.append("<br>\n");
    274274                buf.append(entry.cause);
    275275            }
  • router/java/src/net/i2p/router/client/ClientManager.java

    r33a7f33 r1b63aa4  
    389389    public void renderStatusHTML(Writer out) throws IOException {
    390390        StringBuilder buf = new StringBuilder(8*1024);
    391         buf.append("<u><b>Local destinations</b></u><br />");
     391        buf.append("<u><b>Local destinations</b></u><br>");
    392392       
    393393        Map runners = null;
     
    398398            Destination dest = (Destination)iter.next();
    399399            ClientConnectionRunner runner = (ClientConnectionRunner)runners.get(dest);
    400             buf.append("<b>*</b> ").append(dest.calculateHash().toBase64().substring(0,6)).append("<br />\n");
     400            buf.append("<b>*</b> ").append(dest.calculateHash().toBase64().substring(0,6)).append("<br>\n");
    401401            LeaseSet ls = runner.getLeaseSet();
    402402            if (ls == null) {
    403                 buf.append("<font color=\"red\"><i>No lease</i></font><br />\n");
     403                buf.append("<font color=\"red\"><i>No lease</i></font><br>\n");
    404404            } else {
    405405                long leaseAge = ls.getEarliestLeaseDate() - _ctx.clock().now();
    406406                if (leaseAge <= 0) {
    407407                    buf.append("<font color=\"red\"><i>Lease expired ");
    408                     buf.append(DataHelper.formatDuration(0-leaseAge)).append(" ago</i></font><br />\n");
     408                    buf.append(DataHelper.formatDuration(0-leaseAge)).append(" ago</i></font><br>\n");
    409409                } else {
    410410                    int count = ls.getLeaseCount();
    411411                    if (count <= 0) {
    412                         buf.append("<font color=\"red\"><i>No tunnels</i></font><br />\n");
     412                        buf.append("<font color=\"red\"><i>No tunnels</i></font><br>\n");
    413413                    } else {
    414414                        TunnelId id = ls.getLease(0).getTunnelId();
    415415                        TunnelInfo info = _ctx.tunnelManager().getTunnelInfo(id);
    416416                        if (info == null) {
    417                             buf.append("<font color=\"red\"><i>Failed tunnels</i></font><br />\n");
     417                            buf.append("<font color=\"red\"><i>Failed tunnels</i></font><br>\n");
    418418                        } else {
    419419                            buf.append(count).append(" x ");
     
    421421                            if (count != 1)
    422422                                buf.append('s');
    423                             buf.append("<br />\n");
     423                            buf.append("<br>\n");
    424424                            buf.append("Expiring in ").append(DataHelper.formatDuration(leaseAge));
    425                             buf.append("<br />\n");
     425                            buf.append("<br>\n");
    426426                        }
    427427                    }
     
    430430        }
    431431       
    432         buf.append("\n<hr />\n");
     432        buf.append("\n<hr>\n");
    433433        out.write(buf.toString());
    434434        out.flush();
  • router/java/src/net/i2p/router/networkdb/kademlia/KademliaNetworkDatabaseFacade.java

    r33a7f33 r1b63aa4  
    968968                    buf.append(dest.toBase64().substring(0, 6));
    969969            }
    970             buf.append(")</b><br />\n");
     970            buf.append(")</b><br>\n");
    971971            long exp = ls.getEarliestLeaseDate()-now;
    972972            if (exp > 0)
    973                 buf.append("Earliest expiration date in: <i>").append(DataHelper.formatDuration(exp)).append("</i><br />\n");
     973                buf.append("Earliest expiration date in: <i>").append(DataHelper.formatDuration(exp)).append("</i><br>\n");
    974974            else
    975                 buf.append("Earliest expiration date was: <i>").append(DataHelper.formatDuration(0-exp)).append(" ago</i><br />\n");
     975                buf.append("Earliest expiration date was: <i>").append(DataHelper.formatDuration(0-exp)).append(" ago</i><br>\n");
    976976            for (int i = 0; i < ls.getLeaseCount(); i++) {
    977977                buf.append("Lease ").append(i).append(": gateway <i>");
    978978                buf.append(ls.getLease(i).getGateway().toBase64().substring(0,6));
    979                 buf.append("</i> tunnelId <i>").append(ls.getLease(i).getTunnelId().getTunnelId()).append("</i><br />\n");
    980             }
    981             buf.append("<hr />\n");
     979                buf.append("</i> tunnelId <i>").append(ls.getLease(i).getTunnelId().getTunnelId()).append("</i><br>\n");
     980            }
     981            buf.append("<hr>\n");
    982982            out.write(buf.toString());
    983983            buf.setLength(0);
     
    10771077        buf.append("<a name=\"").append(hash.substring(0, 6)).append("\" ></a>");
    10781078        if (isUs) {
    1079             buf.append("<a name=\"our-info\" ></a><b>Our info: ").append(hash).append("</b><br />\n");
     1079            buf.append("<a name=\"our-info\" ></a><b>Our info: ").append(hash).append("</b><br>\n");
    10801080        } else {
    1081             buf.append("<b>Peer info for:</b> ").append(hash).append("<br />\n");
     1081            buf.append("<b>Peer info for:</b> ").append(hash).append("<br>\n");
    10821082        }
    10831083       
    10841084        long age = _context.clock().now() - info.getPublished();
    10851085        if (isUs && _context.router().isHidden())
    1086             buf.append("Hidden, Updated: <i>").append(DataHelper.formatDuration(age)).append(" ago</i><br />\n");
     1086            buf.append("Hidden, Updated: <i>").append(DataHelper.formatDuration(age)).append(" ago</i><br>\n");
    10871087        else if (age > 0)
    1088             buf.append("Published: <i>").append(DataHelper.formatDuration(age)).append(" ago</i><br />\n");
     1088            buf.append("Published: <i>").append(DataHelper.formatDuration(age)).append(" ago</i><br>\n");
    10891089        else
    1090             buf.append("Published: <i>in ").append(DataHelper.formatDuration(0-age)).append("???</i><br />\n");
     1090            buf.append("Published: <i>in ").append(DataHelper.formatDuration(0-age)).append("???</i><br>\n");
    10911091        buf.append("Address(es): <i>");
    10921092        String country = _context.commSystem().getCountry(info.getIdentity().getHash());
     
    11041104            }
    11051105        }
    1106         buf.append("</i><br />\n");
     1106        buf.append("</i><br>\n");
    11071107        if (full) {
    1108             buf.append("Stats: <br /><i><code>\n");
     1108            buf.append("Stats: <br><i><code>\n");
    11091109            for (Iterator iter = info.getOptions().keySet().iterator(); iter.hasNext(); ) {
    11101110                String key = (String)iter.next();
    11111111                String val = info.getOption(key);
    1112                 buf.append(DataHelper.stripHTML(key)).append(" = ").append(DataHelper.stripHTML(val)).append("<br />\n");
     1112                buf.append(DataHelper.stripHTML(key)).append(" = ").append(DataHelper.stripHTML(val)).append("<br>\n");
    11131113            }
    11141114            buf.append("</code></i>\n");
     
    11161116            buf.append("<a href=\"netdb.jsp?r=").append(hash.substring(0, 6)).append("\" >Full entry</a>\n");
    11171117        }
    1118         buf.append("<hr />\n");
     1118        buf.append("<hr>\n");
    11191119    }
    11201120   
  • router/java/src/net/i2p/router/peermanager/ProfileOrganizerRenderer.java

    r33a7f33 r1b63aa4  
    9696           
    9797            if (tier != prevTier)
    98                 buf.append("<tr><td colspan=\"7\"><hr /></td></tr>\n");
     98                buf.append("<tr><td colspan=\"7\"><hr></td></tr>\n");
    9999            prevTier = tier;
    100100           
     
    220220
    221221        buf.append("<h3>Thresholds:</h3>");
    222         buf.append("<b>Speed:</b> ").append(num(_organizer.getSpeedThreshold())).append(" (").append(fast).append(" fast peers)<br />");
    223         buf.append("<b>Capacity:</b> ").append(num(_organizer.getCapacityThreshold())).append(" (").append(reliable).append(" high capacity peers)<br />");
     222        buf.append("<b>Speed:</b> ").append(num(_organizer.getSpeedThreshold())).append(" (").append(fast).append(" fast peers)<br>");
     223        buf.append("<b>Capacity:</b> ").append(num(_organizer.getCapacityThreshold())).append(" (").append(reliable).append(" high capacity peers)<br>");
    224224        buf.append("<b>Integration:</b> ").append(num(_organizer.getIntegrationThreshold())).append(" (").append(integrated).append(" well integrated peers)");
    225225        buf.append("<h3>Definitions:</h3><ul>");
  • router/java/src/net/i2p/router/transport/UPnP.java

    r33a7f33 r1b63aa4  
    455455        public String renderStatusHTML() {
    456456                final StringBuilder sb = new StringBuilder();
    457                 sb.append("<a name=\"upnp\"></a><b>UPnP Status:</b><br />");
     457                sb.append("<a name=\"upnp\"></a><b>UPnP Status:</b><br>");
    458458               
    459459                if(isDisabled) {
  • router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java

    r33a7f33 r1b63aa4  
    721721
    722722        if (peers.size() > 0) {
    723 //            buf.append("<tr> <td colspan=\"11\"><hr /></td></tr>\n");
     723//            buf.append("<tr> <td colspan=\"11\"><hr></td></tr>\n");
    724724            buf.append("<tr class=\"tablefooter\"> <td align=\"center\"><b>").append(peers.size()).append(" peers</b></td> <td>&nbsp;</td> <td>&nbsp;");
    725725            buf.append("</td> <td align=\"center\"><b>").append(formatRate(bpsRecv/1024)).append("/").append(formatRate(bpsSend/1024)).append("K/s</b>");
  • router/java/src/net/i2p/router/transport/udp/UDPTransport.java

    r33a7f33 r1b63aa4  
    18441844            boolean appended = false;
    18451845            if (_activeThrottle.isChoked(peer.getRemotePeer())) {
    1846                 if (!appended) buf.append("<br />");
     1846                if (!appended) buf.append("<br>");
    18471847                buf.append(" <i>Choked</i>");
    18481848                appended = true;
    18491849            }
    18501850            if (peer.getConsecutiveFailedSends() > 0) {
    1851                 if (!appended) buf.append("<br />");
     1851                if (!appended) buf.append("<br>");
    18521852                buf.append(" <i>").append(peer.getConsecutiveFailedSends()).append(" fail(s)</i>");
    18531853                appended = true;
    18541854            }
    18551855            if (_context.shitlist().isShitlisted(peer.getRemotePeer(), STYLE)) {
    1856                 if (!appended) buf.append("<br />");
     1856                if (!appended) buf.append("<br>");
    18571857                buf.append(" <i>Shitlist</i>");
    18581858                appended = true;
     
    19861986        }
    19871987       
    1988 //        buf.append("<tr><td colspan=\"16\"><hr /></td></tr>\n");
     1988//        buf.append("<tr><td colspan=\"16\"><hr></td></tr>\n");
    19891989        buf.append(" <tr class=\"tablefooter\"> <td colspan=\"3\" align=\"right\"><b>Total</b></td>");
    19901990        buf.append("      <td align=\"center\" nowrap><b>");
     
    20132013        double bwResent = (nondupSent <= 0 ? 0d : ((((double)resentTotal)*averagePacketSize) / nondupSent));
    20142014        buf.append("<h3>Percentage of bytes retransmitted (lifetime): ").append(formatPct(bwResent));
    2015         buf.append("</h3><i>(Includes retransmission required by packet loss)</i><br /></p>\n");
     2015        buf.append("</h3><i>(Includes retransmission required by packet loss)</i><br></p>\n");
    20162016        out.write(buf.toString());
    20172017        buf.setLength(0);
     
    20332033   
    20342034    private static final String KEY = "<h3>Definitions:</h3><div class=\"configure\">" +
    2035         "<br><b id=\"def.peer\">Peer</b>: the remote peer.<br />\n" +
    2036         "<b id=\"def.dir\">Dir</b>: v means they offer to introduce us, ^ means we offer to introduce them.<br />\n" +
    2037         "<b id=\"def.idle\">Idle</b>: the idle time is how long since a packet has been received or sent.<br />\n" +
    2038         "<b id=\"def.rate\">In/out</b>: the rates show a smoothed inbound and outbound transfer rate (KBytes per second).<br />\n" +
    2039         "<b id=\"def.up\">Up</b>: the uptime is how long ago this session was established.<br />\n" +
    2040         "<b id=\"def.skew\">Skew</b>: the skew says how far off the other user's clock is, relative to your own.<br />\n" +
    2041         "<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" +
    2042         "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; the number of currently active messages being sent, /<br />\n" +
    2043         "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; the maximum number of concurrent messages to send, /<br />\n"+
    2044         "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; the number of consecutive sends which were blocked due to throws message window size.<br />\n" +
    2045         "<b id=\"def.ssthresh\">Sst</b>: the slow start threshold helps make sure the cwnd doesn't grow too fast.<br />\n" +
    2046         "<b id=\"def.rtt\">Rtt</b>: the round trip time is how long it takes to get an acknowledgement of a packet.<br />\n" +
    2047         "<b id=\"def.dev\">Dev</b>: the standard deviation of the round trip time, to help control the retransmit timeout.<br />\n" +
    2048         "<b id=\"def.rto\">Rto</b>: the retransmit timeout controls how frequently an unacknowledged packet will be retransmitted.<br />\n" +
    2049         "<b id=\"def.mtu\">Mtu</b>: current sending packet size / estimated receiving packet size.<br />\n" +
    2050         "<b id=\"def.send\">TX</b>: the number of packets sent to the peer.<br />\n" +
    2051         "<b id=\"def.recv\">RX</b>: the number of packets received from the peer.<br />\n" +
    2052         "<b id=\"def.resent\">ReTX</b>: the number of packets retransmitted to the peer.<br />\n" +
     2035        "<br><b id=\"def.peer\">Peer</b>: the remote peer.<br>\n" +
     2036        "<b id=\"def.dir\">Dir</b>: v means they offer to introduce us, ^ means we offer to introduce them.<br>\n" +
     2037        "<b id=\"def.idle\">Idle</b>: the idle time is how long since a packet has been received or sent.<br>\n" +
     2038        "<b id=\"def.rate\">In/out</b>: the rates show a smoothed inbound and outbound transfer rate (KBytes per second).<br>\n" +
     2039        "<b id=\"def.up\">Up</b>: the uptime is how long ago this session was established.<br>\n" +
     2040        "<b id=\"def.skew\">Skew</b>: the skew says how far off the other user's clock is, relative to your own.<br>\n" +
     2041        "<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" +
     2042        "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; the number of currently active messages being sent, /<br>\n" +
     2043        "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; the maximum number of concurrent messages to send, /<br>\n"+
     2044        "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; the number of consecutive sends which were blocked due to throws message window size.<br>\n" +
     2045        "<b id=\"def.ssthresh\">Sst</b>: the slow start threshold helps make sure the cwnd doesn't grow too fast.<br>\n" +
     2046        "<b id=\"def.rtt\">Rtt</b>: the round trip time is how long it takes to get an acknowledgement of a packet.<br>\n" +
     2047        "<b id=\"def.dev\">Dev</b>: the standard deviation of the round trip time, to help control the retransmit timeout.<br>\n" +
     2048        "<b id=\"def.rto\">Rto</b>: the retransmit timeout controls how frequently an unacknowledged packet will be retransmitted.<br>\n" +
     2049        "<b id=\"def.mtu\">Mtu</b>: current sending packet size / estimated receiving packet size.<br>\n" +
     2050        "<b id=\"def.send\">TX</b>: the number of packets sent to the peer.<br>\n" +
     2051        "<b id=\"def.recv\">RX</b>: the number of packets received from the peer.<br>\n" +
     2052        "<b id=\"def.resent\">ReTX</b>: the number of packets retransmitted to the peer.<br>\n" +
    20532053        "<b id=\"def.dupRecv\">DupRX</b>: the number of duplicate packets received from the peer." +
    20542054        "</div>\n";
  • router/java/src/org/xmlpull/v1/XmlPullParserFactory.java

    r33a7f33 r1b63aa4  
    2121 * left to the right). If none found, it will throw an exception.
    2222 *
    23  * <br /><strong>NOTE:</strong>In J2SE or J2EE environments, you may want to use
     23 * <br><strong>NOTE:</strong>In J2SE or J2EE environments, you may want to use
    2424 * <code>newInstance(property, classLoaderCtx)</code>
    2525 * where first argument is
  • router/java/src/org/xmlpull/v1/XmlSerializer.java

    r33a7f33 r1b63aa4  
    234234    //    /**
    235235    //     * Writes a start tag with the given namespace and name.
    236     //     * <br />If there is no prefix defined (prefix == null) for the given namespace,
     236    //     * <br>If there is no prefix defined (prefix == null) for the given namespace,
    237237    //     * a prefix will be defined automatically.
    238     //     * <br />If explicit prefixes is passed (prefix != null) then it will be used
     238    //     * <br>If explicit prefixes is passed (prefix != null) then it will be used
    239239    //      *and namespace declared if not already declared or
    240240    //     * throw IllegalStateException the same prefix was already set on this
    241241    //     * element (setPrefix()) and was bound to different namespace.
    242     //     * <br />If namespace is null then prefix must be null too or IllegalStateException is thrown.
    243     //     * <br />If namespace is null then no namespace prefix is printed but just name.
    244     //     * <br />If namespace is empty string then serializer will make sure that
     242    //     * <br>If namespace is null then prefix must be null too or IllegalStateException is thrown.
     243    //     * <br>If namespace is null then no namespace prefix is printed but just name.
     244    //     * <br>If namespace is empty string then serializer will make sure that
    245245    //     * default empty namespace is declared (in XML 1.0 xmlns='')
    246246    //     * or throw IllegalStateException if default namespace is already bound
     
    253253    //     * Write an attribute. Calls to attribute() MUST follow a call to
    254254    //     * startTag() immediately.
    255     //     * <br />If there is no prefix defined (prefix == null) for the given namespace,
     255    //     * <br>If there is no prefix defined (prefix == null) for the given namespace,
    256256    //     * a prefix will be defined automatically.
    257     //     * <br />If explicit prefixes is passed (prefix != null) then it will be used
     257    //     * <br>If explicit prefixes is passed (prefix != null) then it will be used
    258258    //     * and namespace declared if not already declared or
    259259    //     * throw IllegalStateException the same prefix was already set on this
    260260    //     * element (setPrefix()) and was bound to different namespace.
    261     //     * <br />If namespace is null then prefix must be null too or IllegalStateException is thrown.
    262     //     * <br />If namespace is null then no namespace prefix is printed but just name.
    263     //     * <br />If namespace is empty string then serializer will make sure that
     261    //     * <br>If namespace is null then prefix must be null too or IllegalStateException is thrown.
     262    //     * <br>If namespace is null then no namespace prefix is printed but just name.
     263    //     * <br>If namespace is empty string then serializer will make sure that
    264264    //     * default empty namespace is declared (in XML 1.0 xmlns='')
    265265    //     * or throw IllegalStateException if default namespace is already bound
     
    271271    //    /**
    272272    //     * Write end tag. Repetition of namespace, prefix, and name is just for avoiding errors.
    273     //     * <br />If namespace or name arguments are different from corresponding startTag call
     273    //     * <br>If namespace or name arguments are different from corresponding startTag call
    274274    //     * then IllegalArgumentException is thrown, if prefix argument is not null and is different
    275275    //     * from corresponding starTag then IllegalArgumentException is thrown.
    276     //     * <br />If namespace is null then prefix must be null too or IllegalStateException is thrown.
    277     //     * <br />If namespace is null then no namespace prefix is printed but just name.
    278     //     * <br />If namespace is empty string then serializer will make sure that
     276    //     * <br>If namespace is null then prefix must be null too or IllegalStateException is thrown.
     277    //     * <br>If namespace is null then no namespace prefix is printed but just name.
     278    //     * <br>If namespace is empty string then serializer will make sure that
    279279    //     * default empty namespace is declared (in XML 1.0 xmlns='').
    280280    //     * <p><b>Background:</b> in kXML endTag had no arguments, and non matching tags were
Note: See TracChangeset for help on using the changeset viewer.