Changeset 73b00eb


Ignore:
Timestamp:
May 27, 2019 3:44:51 PM (11 months ago)
Author:
zzz <zzz@…>
Branches:
master
Children:
0c7c1945
Parents:
90e6458
Message:

Console: Start rework of /configkeyring for LS2
Not hooked up yet - WIP

Files:
4 edited

Legend:

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

    r90e6458 r73b00eb  
    33import java.io.IOException;
    44import java.io.StringWriter;
     5import java.util.List;
    56import java.util.Map;
    67
     8import net.i2p.data.BlindData;
    79import net.i2p.data.Destination;
    810import net.i2p.data.Hash;
     11import net.i2p.data.PrivateKey;
    912import net.i2p.data.SessionKey;
    1013import net.i2p.router.TunnelPoolSettings;
     
    4043    /**
    4144     *  @since 0.9.33 moved from PersistentKeyRing
     45     *  @param local true for local (Enc. LS1 only), false for remote (all types)
    4246     */
    4347    private void render(StringBuilder buf, boolean local) {
    4448        buf.append("\n<table class=\"configtable\"><tr><th align=\"left\">").append(_t("Destination"))
    45            .append("<th align=\"left\">").append(_t("Name"))
    46            .append("<th align=\"left\">").append(_t("Encryption Key"))
    47            .append("</tr>");
     49           .append("<th align=\"left\">").append(_t("Name"));
     50        if (!local)
     51            buf.append("<th align=\"left\">").append(_t("Type"));
     52        buf.append("<th align=\"left\">").append(_t("Encryption Key"));
     53        if (!local)
     54            buf.append("<th align=\"left\">").append(_t("Lookup Password"));
     55        buf.append("</tr>");
     56        // Enc. LS1
    4857        for (Map.Entry<Hash, SessionKey> e : _context.keyRing().entrySet()) {
    4958            Hash h = e.getKey();
     
    6473            }
    6574            buf.append("</td><td>");
     75            if (!local)
     76                buf.append(_t("Encrypted")).append("</td><td>");
    6677            SessionKey sk = e.getValue();
    6778            buf.append(sk.toBase64());
     79            if (!local)
     80                buf.append("</td><td>");
    6881            buf.append("</td>\n");
     82        }
     83        // LS2
     84        if (!local) {
     85            List<BlindData> bdata = _context.netDb().getBlindData();
     86            // TODO sort by hostname
     87            for (BlindData bd : bdata) {
     88                Hash h = bd.getDestHash();
     89                if (h == null)
     90                    continue;
     91                buf.append("\n<tr><td>");
     92                buf.append(h.toBase32());
     93                buf.append("</td><td>");
     94                String host = _context.namingService().reverseLookup(h);
     95                if (host != null)
     96                    buf.append(host);
     97                buf.append("</td><td>");
     98                int type = bd.getAuthType();
     99                PrivateKey pk = bd.getAuthPrivKey();
     100                String secret = bd.getSecret();
     101                String s;
     102                if (type == BlindData.AUTH_DH) {
     103                    if (secret != null)
     104                        s = _t("Blinded with lookup password and per-user key");
     105                    else
     106                        s = _t("Blinded with per-user key");
     107                } else if (type == BlindData.AUTH_PSK) {
     108                    if (secret != null)
     109                        s = _t("Blinded with lookup password and shared key");
     110                    else
     111                        s = _t("Blinded with shared key");
     112                } else  {
     113                    if (secret != null)
     114                        s = _t("Blinded with lookup password");
     115                    else
     116                        s = _t("Blinded");
     117                }
     118                buf.append(s);
     119                buf.append("</td><td>");
     120                if (pk != null) {
     121                    // display pubkey for DH for sharing with server
     122                    if (type == BlindData.AUTH_DH)
     123                        buf.append(pk.toPublic().toBase64());
     124                    else
     125                        buf.append(pk.toBase64());
     126                }
     127                buf.append("</td><td>");
     128                if (secret != null)
     129                    buf.append(secret);
     130                buf.append("</td><tr>");
     131            }
    69132        }
    70133        buf.append("</table>\n");
  • apps/routerconsole/jsp/configkeyring.jsp

    r90e6458 r73b00eb  
    3939        </tr><tr>
    4040          <td align="right"><b><%=intl._t("Full destination, name, base 32, or hash")%>:</b></td>
    41           <td><textarea name="peer" cols="44" rows="1" style="height: 3em;" wrap="off" spellcheck="false"></textarea></td>
     41          <td><input type="text" name="peer" size="55"></td>
     42        </tr><tr>
     43          <td align="right"><b><%=intl._t("Type")%>:</b></td>
     44          <td><select id="encryptMode" name="encryptMode" class="selectbox">
     45          <option title="<%=intl._t("Only clients with the encryption key will be able to connect")%>" value="1">
     46              <%=intl._t("Encrypted")%></option>
     47          <option title="<%=intl._t("Prevents server discovery by floodfills")%>" value="2">
     48              <%=intl._t("Blinded")%></option>
     49          <option title="<%=intl._t("Only clients with the password will be able to connect")%>" value="3">
     50              <%=intl._t("Blinded with lookup password")%></option>
     51          <option title="<%=intl._t("Only clients with the encryption key will be able to connect")%>" value="4">
     52              <%=intl._t("Blinded with shared key")%></option>
     53          <option title="<%=intl._t("Only clients with the password and key will be able to connect")%>" value="5">
     54              <%=intl._t("Blinded with lookup password and shared key")%></option>
     55          <option title="<%=intl._t("Only clients with the encryption key will be able to connect")%>" value="8">
     56              <%=intl._t("Blinded with per-user key")%> (DH)</option>
     57          <option title="<%=intl._t("Only clients with the password and key will be able to connect")%>" value="9">
     58              <%=intl._t("Blinded with lookup password and per-user key")%> (DH)</option>
     59          </select></td>
    4260        </tr><tr>
    4361          <td align="right"><b><%=intl._t("Encryption Key")%>:</b></td>
    44           <td><input type="text" size="55" name="key" ></td>
     62          <td><input type="text" size="55" name="key" title="<%=intl._t("Leave blank for DH, will be generated automatically")%>"></td>
     63        </tr><tr>
     64           <td align="right"><b><%=intl._t("Optional lookup password")%>:</b></td>
     65           <td><input type="password" name="nofilter_blindedPassword" title="<%=intl._t("Set password required to access this service")%>" class="freetext password" /></td>
    4566        </tr><tr>
    4667          <td align="right" colspan="2">
  • router/java/src/net/i2p/router/networkdb/kademlia/BlindCache.java

    r90e6458 r73b00eb  
    99import java.io.OutputStreamWriter;
    1010import java.io.PrintWriter;
     11import java.util.ArrayList;
     12import java.util.List;
    1113import java.util.concurrent.ConcurrentHashMap;
    1214
     
    224226            _reverseCache.put(bd.getBlindedPubKey(), bd);
    225227        }
     228    }
     229
     230    /**
     231     *  For console ConfigKeyringHelper
     232     *  @since 0.9.41
     233     */
     234    public synchronized List<BlindData> getData() {
     235        List<BlindData> rv = new ArrayList<BlindData>(_cache.size());
     236        rv.addAll(_cache.values());
     237        return rv;
    226238    }
    227239
  • router/java/src/net/i2p/router/networkdb/kademlia/KademliaNetworkDatabaseFacade.java

    r90e6458 r73b00eb  
    1717import java.util.HashSet;
    1818import java.util.Iterator;
     19import java.util.List;
    1920import java.util.Map;
    2021import java.util.Set;
     
    492493            _log.warn("Adding to blind cache: " + bd);
    493494        _blindCache.addToCache(bd);
     495    }
     496
     497    /**
     498     *  For console ConfigKeyringHelper
     499     *  @since 0.9.41
     500     */
     501    public List<BlindData> getBlindData() {
     502        return _blindCache.getData();
    494503    }
    495504   
Note: See TracChangeset for help on using the changeset viewer.