Author: toad
Date: 2009-01-17 23:56:08 +0000 (Sat, 17 Jan 2009)
New Revision: 25121

Modified:
   trunk/freenet/src/freenet/clients/http/FirstTimeWizardToadlet.java
   trunk/freenet/src/freenet/l10n/freenet.l10n.en.properties
Log:
Ask the user about history cloaking in the first-time wizard. Mention the 
caveats with both cases.


Modified: trunk/freenet/src/freenet/clients/http/FirstTimeWizardToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/FirstTimeWizardToadlet.java  
2009-01-17 20:21:52 UTC (rev 25120)
+++ trunk/freenet/src/freenet/clients/http/FirstTimeWizardToadlet.java  
2009-01-17 23:56:08 UTC (rev 25121)
@@ -42,6 +42,7 @@
                SECURITY_NETWORK,
                SECURITY_FRIENDS,
                SECURITY_PHYSICAL,
+               HISTORY_CLOAKING,
                NAME_SELECTION,
                BANDWIDTH,
                DATASTORE_SIZE,
@@ -146,6 +147,32 @@
                        form.addChild("input", new String[] { "type", "name", 
"value" }, new String[] { "submit", "cancel", 
L10n.getString("Toadlet.cancel")});
                        this.writeHTMLReply(ctx, 200, "OK", 
pageNode.generate());
                        return;
+               } else if(currentStep == WIZARD_STEP.HISTORY_CLOAKING) {
+                       HTMLNode pageNode = 
ctx.getPageMaker().getPageNode(l10n("historyCloakingPageTitle"), false, ctx);
+                       HTMLNode contentNode = 
ctx.getPageMaker().getContentNode(pageNode);
+                       
+                       HTMLNode infobox = contentNode.addChild("div", "class", 
"infobox infobox-normal");
+                       HTMLNode infoboxHeader = infobox.addChild("div", 
"class", "infobox-header");
+                       HTMLNode infoboxContent = infobox.addChild("div", 
"class", "infobox-content");
+                       
+                       infoboxHeader.addChild("#", 
l10n("historyCloakingPageTitle"));
+                       infoboxContent.addChild("p", 
l10n("historyCloakingIntro"));
+                       
+                       HTMLNode form = ctx.addFormChild(infoboxContent, ".", 
"historyCloakingForm");
+                       HTMLNode input = form.addChild("p").addChild("input", 
new String[] { "type", "name", "value" }, new String[] { "radio", "cloaking", 
"true" });
+                       input.addChild("#", l10n("enableHistoryCloaking"));
+                       input.addChild("#", " ");
+                       input.addChild("b", 
l10n("enableHistoryCloakingWarning"));
+                       
+                       input = form.addChild("p").addChild("input", new 
String[] { "type", "name", "value" }, new String[] { "radio", "cloaking", 
"false" });
+                       input.addChild("#", l10n("disableHistoryCloaking"));
+                       input.addChild("#", " ");
+                       input.addChild("b", 
l10n("disableHistoryCloakingWarning"));
+                       
+                       form.addChild("input", new String[] { "type", "name", 
"value" }, new String[] { "submit", "historyCloakingF", 
L10n.getString("FirstTimeWizardToadlet.continue")});
+                       form.addChild("input", new String[] { "type", "name", 
"value" }, new String[] { "submit", "cancel", 
L10n.getString("Toadlet.cancel")});
+                       this.writeHTMLReply(ctx, 200, "OK", 
pageNode.generate());
+                       return;
                } else if(currentStep == WIZARD_STEP.NAME_SELECTION) {
                        // Attempt to skip one step if possible: opennet nodes 
don't need a name
                        if(Boolean.valueOf(request.getParam("opennet"))) {
@@ -446,6 +473,16 @@
                        }
                        core.node.securityLevels.setThreatLevel(newThreatLevel);
                        core.storeConfig();
+                       super.writeTemporaryRedirect(ctx, "step1", 
TOADLET_URL+"?step="+WIZARD_STEP.HISTORY_CLOAKING+"&opennet="+core.node.isOpennetEnabled());
+                       return;
+               } else if(request.isPartSet("historyCloakingF")) {
+                       String value = request.getPartAsString("cloaking", 10);
+                       try {
+                               
config.get("fproxy").set("enableHistoryCloaking", value);
+                               Logger.normal(this, "History cloaking has been 
set to "+ value);
+                       } catch (ConfigException e) {
+                               Logger.error(this, "Should not happen, please 
report!" + e, e);
+                       }
                        super.writeTemporaryRedirect(ctx, "step1", 
TOADLET_URL+"?step="+WIZARD_STEP.NAME_SELECTION+"&opennet="+core.node.isOpennetEnabled());
                        return;
                } else if(request.isPartSet("nnameF")) {

Modified: trunk/freenet/src/freenet/l10n/freenet.l10n.en.properties
===================================================================
--- trunk/freenet/src/freenet/l10n/freenet.l10n.en.properties   2009-01-17 
20:21:52 UTC (rev 25120)
+++ trunk/freenet/src/freenet/l10n/freenet.l10n.en.properties   2009-01-17 
23:56:08 UTC (rev 25121)
@@ -279,6 +279,12 @@
 FirstTimeWizardToadlet.datastoreSizeLong=Please select a size for your 
datastore. The datastore acts like a cache; storing data for the network will 
help you to get better throughput when requesting popular files. The more space 
you can afford the better it is for the community and the faster your node and 
especially your downloads will go.
 FirstTimeWizardToadlet.highNetworkThreatLevelWarning=${bold}WARNING${/bold}: 
You are about to set the network security level to high. This means your node 
will not be able to connect unless ${bold}you add some connections to 
Friends${/bold}. These should be people you already know and at least 
marginally trust. If you don't know anyone already using Freenet, please use 
the NORMAL network security level so that Freenet will setup connections 
automatically. Adding people you don't know as Friends will not significantly 
improve security and will harm performance. Also note that HIGH security level 
is slower, especially if you don't have many Friends (you need 5-10 for 
adequate performance).
 FirstTimeWizardToadlet.highNetworkThreatLevelCheckbox=I know at least one 
person already using Freenet (3 preferably, 5-10 for good performance). I will 
add them on the Friends page. I understand that Freenet will not work unless 
some of my Friends are online.
+FirstTimeWizardToadlet.historyCloakingPageTitle=Enable browser history 
cloaking?
+FirstTimeWizardToadlet.historyCloakingIntro=Most web browsers are susceptible 
to "history stealing" attacks. This means that websites you visit can check 
your browser history for known URLs (even with javascript turned off). The best 
solution is to use a separate browser to access Freenet, which you never use to 
access the Internet itself. However, your accesses to Freenet can be hidden by 
the Freenet web interface adding a short random string to the address of the 
freenet pages you fetch. Should this be enabled?
+FirstTimeWizardToadlet.enableHistoryCloaking=Yes, enable history cloaking 
(RECOMMENDED).
+FirstTimeWizardToadlet.enableHistoryCloakingWarning=When you copy keys from 
Freenet, always remove the ?secureid= from the end of the address before giving 
it to anyone else!
+FirstTimeWizardToadlet.disableHistoryCloaking=No, disable history cloaking.
+FirstTimeWizardToadlet.disableHistoryCloakingWarning=Only turn history 
cloaking off if you use a separate browser for Freenet.
 FirstTimeWizardToadlet.isNetworkTrusted=Is your local network trusted?
 FirstTimeWizardToadlet.isNetworkTrustedLong=Is your local network trusted? If 
you answer yes here all the services provided by your node will be wide open to 
everyone willing to access them on the given network. You will be able to do 
selective access controls from the configuration page when the wizard is over.
 FirstTimeWizardToadlet.noNetworkIF=No additional network interface found

_______________________________________________
cvs mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs

Reply via email to