Changeset 1d28015


Ignore:
Timestamp:
Nov 23, 2016 6:08:15 PM (4 years ago)
Author:
zzz <zzz@…>
Branches:
master
Children:
64f5fed0
Parents:
08f7e5d
Message:

Console: Lookup RI by IP with netmask

Location:
apps/routerconsole/java/src/net/i2p/router/web
Files:
2 edited

Legend:

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

    r08f7e5d r1d28015  
    9696            boolean notFound = true;
    9797            Set<RouterInfo> routers = _context.netDb().getRouters();
     98            int ipMode = 0;
     99            if (ip != null) {
     100                if (ip.endsWith("/24")) {
     101                    ipMode = 1;
     102                } else if (ip.endsWith("/16")) {
     103                    ipMode = 2;
     104                } else if (ip.endsWith("/8")) {
     105                    ipMode = 3;
     106                }
     107                for (int i = 0; i < ipMode; i++) {
     108                    int last = ip.lastIndexOf('.');
     109                    if (last > 0)
     110                        ip = ip.substring(0, last + 1);
     111                }
     112            }
    98113            for (RouterInfo ri : routers) {
    99114                Hash key = ri.getIdentity().getHash();
     
    107122                } else if (ip != null) {
    108123                    for (RouterAddress ra : ri.getAddresses()) {
    109                         if (ip.equals(ra.getHost())) {
    110                             renderRouterInfo(buf, ri, false, true);
    111                             notFound = false;
    112                             break;
     124                        if (ipMode == 0) {
     125                            if (ip.equals(ra.getHost())) {
     126                                renderRouterInfo(buf, ri, false, true);
     127                                notFound = false;
     128                                break;
     129                            }
     130                        } else {
     131                            String host = ra.getHost();
     132                            if (host != null && host.startsWith(ip)) {
     133                                renderRouterInfo(buf, ri, false, true);
     134                                notFound = false;
     135                                break;
     136                            }
    113137                        }
    114138                    }
  • apps/routerconsole/java/src/net/i2p/router/web/SybilRenderer.java

    r08f7e5d r1d28015  
    502502            int i1 = (i >> 8) & 0xff;
    503503            int i2 = i & 0xff;
    504             buf.append("<p><b>").append(count).append(" floodfills in ").append(i0).append('.')
    505                .append(i1).append('.').append(i2).append(".0/24:</b></p>");
     504            String sip = i0 + "." + i1 + '.' + i2 + ".0/24";
     505            buf.append("<p><b>").append(count).append(" floodfills with IP <a href=\"/netdb?ip=")
     506               .append(sip).append("\">").append(sip)
     507               .append("</a>:</b></p>");
    506508            for (RouterInfo info : ris) {
    507509                byte[] ip = getIP(info);
     
    550552            int i0 = i >> 8;
    551553            int i1 = i & 0xff;
    552             buf.append("<p><b>").append(count).append(" floodfills in ").append(i0).append('.')
    553                .append(i1).append(".0.0/16</b></p>");
     554            String sip = i0 + "." + i1 + ".0/16";
     555            buf.append("<p><b>").append(count).append(" floodfills with IP <a href=\"/netdb?ip=")
     556               .append(sip).append("\">").append(sip)
     557               .append("</a></b></p>");
    554558            for (RouterInfo info : ris) {
    555559                byte[] ip = getIP(info);
Note: See TracChangeset for help on using the changeset viewer.