Changeset f4d7a6d for apps


Ignore:
Timestamp:
Apr 11, 2019 3:38:03 PM (12 months ago)
Author:
zzz <zzz@…>
Branches:
master
Children:
363317f
Parents:
b5a4f16
Message:

i2ptunnel: Disallow encrypted LS for offline keys

Location:
apps/i2ptunnel
Files:
4 edited

Legend:

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

    rb5a4f16 rf4d7a6d  
    10811081    }
    10821082
     1083    /**
     1084     *  Returns false if not running.
     1085     *  @return true if offline keys or not running
     1086     *  @since 0.9.40
     1087     */
     1088    public boolean getIsOfflineKeys() {
     1089        if (_tunnel != null) {
     1090            List<I2PSession> sessions = _tunnel.getSessions();
     1091            if (!sessions.isEmpty())
     1092                return sessions.get(0).isOffline();
     1093        }
     1094        return false;
     1095    }
     1096
     1097    // TODO synch
    10831098    public boolean getIsRunning() { return _state == TunnelState.RUNNING; }
    10841099    public boolean getIsStarting() { return _state == TunnelState.START_ON_LOAD || _state == TunnelState.STARTING; }
  • apps/i2ptunnel/java/src/net/i2p/i2ptunnel/ui/GeneralHelper.java

    rb5a4f16 rf4d7a6d  
    448448    }
    449449
     450    /**
     451     *  Works even if tunnel is not running.
     452     *  @return true if offline keys
     453     *  @since 0.9.40
     454     */
     455    public boolean isOfflineKeys(int tunnel) {
     456        TunnelController tun = getController(tunnel);
     457        if (tun != null) {
     458            if (tun.getIsRunning())
     459                return tun.getIsOfflineKeys();
     460            // do this the hard way
     461            File keyFile = tun.getPrivateKeyFile();
     462            if (keyFile != null) {
     463                PrivateKeyFile pkf = new PrivateKeyFile(keyFile);
     464                return pkf.isOffline();
     465            }
     466        }
     467        return false;
     468    }
     469
    450470    public boolean shouldStartAutomatically(int tunnel) {
    451471        TunnelController tun = getController(tunnel);
  • apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/IndexBean.java

    rb5a4f16 rf4d7a6d  
    609609        return "";
    610610    }
     611
     612    /**
     613     *  Works even if tunnel is not running.
     614     *  @return true if offline keys
     615     *  @since 0.9.40
     616     */
     617    public boolean getIsOfflineKeys(int tunnel) {
     618        return _helper.isOfflineKeys(tunnel);
     619    }
    611620   
    612621    /**
  • apps/i2ptunnel/jsp/editServer.jsi

    rb5a4f16 rf4d7a6d  
    433433<%
    434434                    int curSigType = editBean.getSigType(curTunnel, tunnelType);
    435                     if (curSigType == 7 || curSigType == 11) {
     435                    // TODO, encrypted + offline is unimplemented
     436                    boolean allowBlinding = (curSigType == 7 || curSigType == 11) && !editBean.getIsOfflineKeys(curTunnel);
     437                    if (allowBlinding) {
    436438%>
    437439                <span class="multiOption"><label title="<%=intl._t("Prevents server discovery by floodfills")%>"><input value="2" type="radio" name="encryptMode"<%=(curEncryptMode.equals("2") ? " checked=\"checked\"" : "")%> class="tickbox" />
     
    453455<%
    454456                        } // isAdvanced()
    455                     } // curSigType
     457                    } // allowBlinding
    456458%>
    457459            </td>
     
    470472        </tr>
    471473<%
    472             if (curSigType == 7 || curSigType == 11) {
     474            if (allowBlinding) {
    473475%>
    474476        <tr>
     
    479481        </tr>
    480482<%
    481             } // curSigType
     483            } // allowBlinding
    482484%>
    483485        <tr>
Note: See TracChangeset for help on using the changeset viewer.