Changeset 3328983


Ignore:
Timestamp:
May 22, 2019 6:12:49 PM (11 months ago)
Author:
zzz <zzz@…>
Branches:
master
Children:
ea5ddfc
Parents:
2ec34f4
Message:

i2ptunnel: Per-client auth options (WIP)

Location:
apps/i2ptunnel
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • apps/i2ptunnel/java/src/net/i2p/i2ptunnel/ui/GeneralHelper.java

    r2ec34f4 r3328983  
    566566            return 1;
    567567        if (getProperty(tunnel, "i2cp.leaseSetType", "1").equals("5")) {
     568            int rv;
     569            String authType = getProperty(tunnel, "i2cp.leaseSetAuthType", "0");
     570            if (authType.equals("2")) {
     571                rv = 6;
     572            } else if (authType.equals("1")) {
     573                // shared DH key
     574                rv = 4;
     575                // per-client DH key
     576                //rv = 8;
     577            } else {
     578                rv = 2;
     579            }
     580
    568581            String pw = getBlindedPassword(tunnel);
    569582            if (pw != null && pw.length() > 0)
    570                 return 3;
    571             return 2;
    572             // LS auth (rv 4-7) TODO
     583                rv++;
     584            return rv;
    573585        }
    574586        return 0;
  • apps/i2ptunnel/java/src/net/i2p/i2ptunnel/ui/TunnelConfig.java

    r2ec34f4 r3328983  
    658658
    659659            switch (_encryptMode) {
    660               case 0:
     660              case 0:  // none
    661661              default:
    662662                config.remove(OPT + "i2cp.leaseSetSecret");
     
    665665                break;
    666666
    667               case 1:
     667              case 1:  // LS1
    668668                config.remove(OPT + "i2cp.leaseSetType");
    669669                config.remove(OPT + "i2cp.leaseSetSecret");
     670                config.remove(OPT + "i2cp.leaseSetAuthType");
    670671                break;
    671672
    672               case 4:
    673               case 6:
    674                 // TODO
    675                 // Fallthrough
    676               case 2:
     673              case 2:  // blinded
    677674                config.put(OPT + "i2cp.leaseSetType", "5");
    678675                config.remove(OPT + "i2cp.leaseSetSecret");
     676                config.remove(OPT + "i2cp.leaseSetAuthType");
    679677                break;
    680678   
    681               case 5:
    682               case 7:
    683                 // TODO
    684                 // Fallthrough
    685               case 3:
     679              case 3:  // blinded + secret
    686680                config.put(OPT + "i2cp.leaseSetType", "5");
     681                config.remove(OPT + "i2cp.leaseSetAuthType");
    687682                break;
     683
     684              case 4:  // blinded, shared key (implicit DH)
     685                config.put(OPT + "i2cp.leaseSetType", "5");
     686                config.remove(OPT + "i2cp.leaseSetSecret");
     687                config.put(OPT + "i2cp.leaseSetAuthType", "1");
     688                break;
     689   
     690              case 5:  // blinded, secret, shared key (implicit DH)
     691                config.put(OPT + "i2cp.leaseSetType", "5");
     692                config.put(OPT + "i2cp.leaseSetAuthType", "1");
     693                break;
     694
     695              case 6:  // blinded, per-client PSK
     696                config.put(OPT + "i2cp.leaseSetType", "5");
     697                config.remove(OPT + "i2cp.leaseSetSecret");
     698                config.put(OPT + "i2cp.leaseSetAuthType", "2");
     699                break;
     700   
     701              case 7:  // blinded, secret, per-client PSK
     702                config.put(OPT + "i2cp.leaseSetType", "5");
     703                config.put(OPT + "i2cp.leaseSetAuthType", "2");
     704                break;
     705
     706              case 8:  // blinded, per-client DH
     707                config.put(OPT + "i2cp.leaseSetType", "5");
     708                config.remove(OPT + "i2cp.leaseSetSecret");
     709                config.put(OPT + "i2cp.leaseSetAuthType", "1");
     710                break;
     711   
     712              case 9:  // blinded, secret, per-client DH
     713                config.put(OPT + "i2cp.leaseSetType", "5");
     714                config.put(OPT + "i2cp.leaseSetAuthType", "1");
     715                break;
     716
    688717            }
    689718        }
     
    858887         "inbound.randomKey", "outbound.randomKey", "i2cp.leaseSetSigningPrivateKey", "i2cp.leaseSetPrivateKey",
    859888         I2PTunnelServer.PROP_ALT_PKF,
    860          "i2cp.leaseSetSecret"
     889         "i2cp.leaseSetSecret", "i2cp.leaseSetType", "i2cp.leaseSetAuthType"
    861890        };
    862891    private static final String _httpServerOpts[] = {
  • apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/IndexBean.java

    r2ec34f4 r3328983  
    568568                    String secret = _helper.getBlindedPassword(tunnel);
    569569                    boolean requireSecret = secret != null && secret.length() > 0 &&
    570                                             (mode == 3 || mode == 5 || mode == 7);
    571                     boolean requireAuth = mode >= 4 && mode <= 7;
     570                                            (mode == 3 || mode == 5 || mode == 7 || mode == 9);
     571                    boolean requireAuth = mode >= 4 && mode <= 9;
    572572                    return Blinding.encode(_context, d.getSigningPublicKey(), requireSecret, requireAuth);
    573573                } catch (RuntimeException re) {}
  • apps/i2ptunnel/jsp/editServer.jsi

    r2ec34f4 r3328983  
    462462                    <%=intl._t("Blinded with lookup password and shared key")%></label></span>
    463463                <span class="multiOption"><label title="<%=intl._t("Only clients with the encryption key will be able to connect")%>"><input value="6" type="radio" name="encryptMode"<%=(curEncryptMode.equals("6") ? " checked=\"checked\"" : "")%> class="tickbox" />
    464                     <%=intl._t("Blinded with per-user key")%></label></span>
     464                    <%=intl._t("Blinded with per-user key")%> (PSK)</label></span>
    465465                <span class="multiOption"><label title="<%=intl._t("Only clients with the password and key will be able to connect")%>"><input value="7" type="radio" name="encryptMode"<%=(curEncryptMode.equals("7") ? " checked=\"checked\"" : "")%> class="tickbox" />
    466                     <%=intl._t("Blinded with lookup password and per-user key")%></label></span>
     466                    <%=intl._t("Blinded with lookup password and per-user key")%> (PSK)</label></span>
     467                <span class="multiOption"><label title="<%=intl._t("Only clients with the encryption key will be able to connect")%>"><input value="8" type="radio" name="encryptMode"<%=(curEncryptMode.equals("8") ? " checked=\"checked\"" : "")%> class="tickbox" />
     468                    <%=intl._t("Blinded with per-user key")%> (DH)</label></span>
     469                <span class="multiOption"><label title="<%=intl._t("Only clients with the password and key will be able to connect")%>"><input value="9" type="radio" name="encryptMode"<%=(curEncryptMode.equals("9") ? " checked=\"checked\"" : "")%> class="tickbox" />
     470                    <%=intl._t("Blinded with lookup password and per-user key")%> (DH)</label></span>
    467471<%
    468472                     } // isAdvanced()
Note: See TracChangeset for help on using the changeset viewer.