Changeset 5a87c23


Ignore:
Timestamp:
Nov 26, 2016 3:11:06 PM (4 years ago)
Author:
zzz <zzz@…>
Branches:
master
Children:
8d494ad
Parents:
f6778c5
Message:

NetDb?: Add advanced lookup form
Fix /16 and /8 lookup
Fix tab highlighted for all lookups
Add sybil points for banlist

Location:
apps/routerconsole
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • apps/routerconsole/java/src/net/i2p/router/web/NetDbHelper.java

    rf6778c5 r5a87c23  
    2222                                           "LeaseSet Debug",                    // 5
    2323                                           _x("LeaseSets"),                     // 6
    24                                            "Sybil"   };                         // 7
     24                                           "Sybil",                             // 7
     25                                           "Advanced Lookup"   };               // 8
    2526
    2627    private static final String links[] =
     
    3233                                           "?l=2",                              // 5
    3334                                           "?l=1",                              // 6
    34                                            "?f=3" };                            // 7
     35                                           "?f=3",                              // 7
     36                                           "?f=4" };                            // 8
    3537
    3638    public void setRouter(String r) {
    37         if (r != null)
     39        if (r != null && r.length() > 0)
    3840            _routerPrefix = DataHelper.stripHTML(r);  // XSS
    3941    }
     
    4143    /** @since 0.9.21 */
    4244    public void setVersion(String v) {
    43         if (v != null)
     45        if (v != null && v.length() > 0)
    4446            _version = DataHelper.stripHTML(v);  // XSS
    4547    }
     
    4749    /** @since 0.9.21 */
    4850    public void setCountry(String c) {
    49         if (c != null)
     51        if (c != null && c.length() > 0)
    5052            _country = DataHelper.stripHTML(c);  // XSS
    5153    }
     
    5355    /** @since 0.9.28 */
    5456    public void setFamily(String c) {
    55         if (c != null)
     57        if (c != null && c.length() > 0)
    5658            _family = DataHelper.stripHTML(c);  // XSS
    5759    }
     
    5961    /** @since 0.9.28 */
    6062    public void setCaps(String c) {
    61         if (c != null)
     63        if (c != null && c.length() > 0)
    6264            _caps = DataHelper.stripHTML(c);  // XSS
    6365    }
     
    6567    /** @since 0.9.28 */
    6668    public void setIp(String c) {
    67         if (c != null)
     69        if (c != null && c.length() > 0)
    6870            _ip = DataHelper.stripHTML(c);  // XSS
    6971    }
     
    7274    public void setSybil(String c) {
    7375        if (c != null)
     76            _sybil = DataHelper.stripHTML(c);  // XSS
     77    }
     78
     79    /** For form, same as above but with a length check
     80     *  @since 0.9.28
     81     */
     82    public void setSybil2(String c) {
     83        if (c != null && c.length() > 0)
    7484            _sybil = DataHelper.stripHTML(c);  // XSS
    7585    }
     
    109119            else if (_full == 3)
    110120                (new SybilRenderer(_context)).getNetDbSummary(_out);
     121            else if (_full == 4)
     122                renderLookupForm();
    111123            else
    112124                renderer.renderStatusHTML(_out, _full);
     
    127139        if (".".equals(_routerPrefix))
    128140            return 1;
    129         if (_routerPrefix != null)
     141        if (_routerPrefix != null || _version != null || _country != null ||
     142            _family != null || _caps != null || _ip != null || _sybil != null)
    130143            return 2;
    131144        if (_full == 2)
     
    135148        if (_full == 3)
    136149            return 7;
     150        if (_full == 4)
     151            return 8;
    137152        return 0;
    138153    }
     
    153168            if (i == 2 && tab != 2)
    154169                continue;   // can't nav to lookup
    155             if ((i == 5 || i == 7) && !_context.getBooleanProperty(PROP_ADVANCED))
     170            if ((i == 5 || i == 7 || i == 8) && !_context.getBooleanProperty(PROP_ADVANCED))
    156171                continue;
    157172            if (i == tab) {
     
    176191        _out.write(buf.toString());
    177192    }
     193
     194    /**
     195     *  @since 0.9.28
     196     */
     197    private void renderLookupForm() throws IOException {
     198        _out.write("<form action=\"/netdb\" method=\"GET\"><p><b>Pick One</b></p>\n" +
     199                   "Caps <input type=\"text\" name=\"caps\">e.g. f or XOfR<br>\n" +
     200                   "Country code <input type=\"text\" name=\"c\">e.g. ru<br>\n" +
     201                   "Family <input type=\"text\" name=\"fam\"><br>\n" +
     202                   "Hash prefix <input type=\"text\" name=\"r\"><br>\n" +
     203                   "IP <input type=\"text\" name=\"ip\">IPv4 or IPv6, /24,/16,/8 suffixes optional for IPv4<br>\n" +
     204                   "Version <input type=\"text\" name=\"v\"><br>\n" +
     205                   "<p><b>Add Sybil analysis (must pick one above):</b></p>\n" +
     206                   "Sybil close to <input type=\"text\" name=\"sybil2\">Router hash, dest hash, b32, or from address book<br>\n" +
     207                   "or Sybil close to this router <input type=\"checkbox\" class=\"optbox\" value=\"1\" name=\"sybil\"><br>" +
     208                   "<p><input type=\"submit\" class=\"search\" value=\"Lookup\"></p>" +
     209                   "</form>\n");
     210    }
    178211}
  • apps/routerconsole/java/src/net/i2p/router/web/NetDbRenderer.java

    rf6778c5 r5a87c23  
    108108                }
    109109                for (int i = 0; i < ipMode; i++) {
    110                     int last = ip.lastIndexOf('.');
     110                    int last = ip.substring(0, ip.length() - 1).lastIndexOf('.');
    111111                    if (last > 0)
    112112                        ip = ip.substring(0, last + 1);
  • apps/routerconsole/java/src/net/i2p/router/web/SybilRenderer.java

    rf6778c5 r5a87c23  
    7676    private static final double POINTS_UNREACHABLE = 4.0;
    7777    private static final double POINTS_NEW = 4.0;
     78    private static final double POINTS_BANLIST = 25.0;
    7879
    7980    public SybilRenderer(RouterContext ctx) {
     
    639640        for (RouterInfo info : ris) {
    640641            Hash h = info.getHash();
     642            if (_context.banlist().isBanlisted(h))
     643                addPoints(points, h, POINTS_BANLIST, "Banlisted");
    641644            PeerProfile prof = _context.profileOrganizer().getProfileNonblocking(h);
    642645            if (prof != null) {
  • apps/routerconsole/jsp/netdb.jsp

    rf6778c5 r5a87c23  
    3030 <jsp:setProperty name="netdbHelper" property="ip" value="<%=request.getParameter(\"ip\")%>" />
    3131 <jsp:setProperty name="netdbHelper" property="sybil" value="<%=request.getParameter(\"sybil\")%>" />
     32 <jsp:setProperty name="netdbHelper" property="sybil2" value="<%=request.getParameter(\"sybil2\")%>" />
    3233 <jsp:getProperty name="netdbHelper" property="netDbSummary" />
    3334</div></div></body></html>
Note: See TracChangeset for help on using the changeset viewer.