Author: toad
Date: 2009-01-06 23:22:29 +0000 (Tue, 06 Jan 2009)
New Revision: 24947

Modified:
   trunk/freenet/src/freenet/clients/http/BrowserTestToadlet.java
   trunk/freenet/src/freenet/clients/http/LocalFileInsertToadlet.java
   trunk/freenet/src/freenet/clients/http/PproxyToadlet.java
   trunk/freenet/src/freenet/clients/http/SimpleHelpToadlet.java
   trunk/freenet/src/freenet/clients/http/UserAlertsToadlet.java
   trunk/freenet/src/freenet/clients/http/WelcomeToadlet.java
   trunk/freenet/src/freenet/clients/http/bookmark/BookmarkItem.java
   trunk/freenet/src/freenet/node/Announcer.java
   trunk/freenet/src/freenet/node/DarknetPeerNode.java
   trunk/freenet/src/freenet/node/FNPPacketMangler.java
   trunk/freenet/src/freenet/node/IPDetectorPluginManager.java
   trunk/freenet/src/freenet/node/Node.java
   trunk/freenet/src/freenet/node/NodeIPDetector.java
   trunk/freenet/src/freenet/node/PacketSender.java
   trunk/freenet/src/freenet/node/SecurityLevels.java
   trunk/freenet/src/freenet/node/updater/UpdateOverMandatoryManager.java
   trunk/freenet/src/freenet/node/useralerts/AbstractUserAlert.java
   trunk/freenet/src/freenet/node/useralerts/BuildOldAgeUserAlert.java
   trunk/freenet/src/freenet/node/useralerts/ClockProblemDetectedUserAlert.java
   trunk/freenet/src/freenet/node/useralerts/ExtOldAgeUserAlert.java
   trunk/freenet/src/freenet/node/useralerts/IPUndetectedUserAlert.java
   
trunk/freenet/src/freenet/node/useralerts/InvalidAddressOverrideUserAlert.java
   trunk/freenet/src/freenet/node/useralerts/MeaningfulNodeNameUserAlert.java
   trunk/freenet/src/freenet/node/useralerts/N2NTMUserAlert.java
   trunk/freenet/src/freenet/node/useralerts/NotEnoughNiceLevelsUserAlert.java
   trunk/freenet/src/freenet/node/useralerts/PeerManagerUserAlert.java
   trunk/freenet/src/freenet/node/useralerts/ProxyUserAlert.java
   trunk/freenet/src/freenet/node/useralerts/TimeSkewDetectedUserAlert.java
   
trunk/freenet/src/freenet/node/useralerts/UpdatedVersionAvailableUserAlert.java
   trunk/freenet/src/freenet/node/useralerts/UserAlert.java
   trunk/freenet/src/freenet/node/useralerts/UserAlertManager.java
   trunk/freenet/src/freenet/store/saltedhash/SaltedHashFreenetStore.java
Log:
Fix user-alerts. Pass in LinkFixer, use it to fix URLs in alerts, alert 
summaries etc.


Modified: trunk/freenet/src/freenet/clients/http/BrowserTestToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/BrowserTestToadlet.java      
2009-01-06 23:17:19 UTC (rev 24946)
+++ trunk/freenet/src/freenet/clients/http/BrowserTestToadlet.java      
2009-01-06 23:22:29 UTC (rev 24947)
@@ -191,7 +191,7 @@
                HTMLNode contentNode = 
ctx.getPageMaker().getContentNode(pageNode);
                
                if(ctx.isAllowedFullAccess())
-                       contentNode.addChild(core.alerts.createSummary());
+                       contentNode.addChild(core.alerts.createSummary(ctx));
                
                // #### Test MIME inline
                HTMLNode mimeAutodetectBox = 
contentNode.addChild(ctx.getPageMaker().getInfobox("infobox-warning", "MIME 
Inline"));

Modified: trunk/freenet/src/freenet/clients/http/LocalFileInsertToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/LocalFileInsertToadlet.java  
2009-01-06 23:17:19 UTC (rev 24946)
+++ trunk/freenet/src/freenet/clients/http/LocalFileInsertToadlet.java  
2009-01-06 23:22:29 UTC (rev 24947)
@@ -76,7 +76,7 @@
                HTMLNode pageNode = pageMaker.getPageNode(l10n("listingTitle", 
"path", currentPath.getAbsolutePath()), toadletContext);
                HTMLNode contentNode = pageMaker.getContentNode(pageNode);
                if(toadletContext.isAllowedFullAccess())
-                       contentNode.addChild(core.alerts.createSummary());
+                       
contentNode.addChild(core.alerts.createSummary(toadletContext));
                
                HTMLNode infoboxDiv = contentNode.addChild("div", "class", 
"infobox");
                infoboxDiv.addChild("div", "class", "infobox-header", 
l10n("listing", "path",  currentPath.getAbsolutePath()));

Modified: trunk/freenet/src/freenet/clients/http/PproxyToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/PproxyToadlet.java   2009-01-06 
23:17:19 UTC (rev 24946)
+++ trunk/freenet/src/freenet/clients/http/PproxyToadlet.java   2009-01-06 
23:22:29 UTC (rev 24947)
@@ -307,13 +307,13 @@
                                }
                                HTMLNode contentNode = 
ctx.getPageMaker().getContentNode(pageNode);
 
-                               
contentNode.addChild(core.alerts.createSummary());
+                               
contentNode.addChild(core.alerts.createSummary(ctx));
 
                                UserAlert[] userAlerts = 
core.alerts.getAlerts();
                                for (int index = 0, count = userAlerts.length; 
index < count; index++) {
                                        UserAlert userAlert = userAlerts[index];
                                        if (userAlert.isValid() && 
(userAlert.getUserIdentifier() == PluginManager.class)) {
-                                               
contentNode.addChild(core.alerts.renderAlert(userAlert));
+                                               
contentNode.addChild(core.alerts.renderAlert(userAlert, ctx));
                                        }
                                }
                                

Modified: trunk/freenet/src/freenet/clients/http/SimpleHelpToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/SimpleHelpToadlet.java       
2009-01-06 23:17:19 UTC (rev 24946)
+++ trunk/freenet/src/freenet/clients/http/SimpleHelpToadlet.java       
2009-01-06 23:22:29 UTC (rev 24947)
@@ -34,7 +34,7 @@
                HTMLNode contentNode = 
ctx.getPageMaker().getContentNode(pageNode);
                
                if(ctx.isAllowedFullAccess())
-                       contentNode.addChild(core.alerts.createSummary());
+                       contentNode.addChild(core.alerts.createSummary(ctx));
                
                HTMLNode helpScreenBox1 = 
contentNode.addChild(ctx.getPageMaker().getInfobox("infobox-content", 
L10n.getString("SimpleHelpToadlet.descriptionTitle")));
                HTMLNode helpScreenContent1 = 
ctx.getPageMaker().getContentNode(helpScreenBox1);

Modified: trunk/freenet/src/freenet/clients/http/UserAlertsToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/UserAlertsToadlet.java       
2009-01-06 23:17:19 UTC (rev 24946)
+++ trunk/freenet/src/freenet/clients/http/UserAlertsToadlet.java       
2009-01-06 23:22:29 UTC (rev 24947)
@@ -43,7 +43,7 @@
                
         HTMLNode pageNode = 
ctx.getPageMaker().getPageNode(l10n("titleWithName", "name", node.getMyName()), 
ctx);
         HTMLNode contentNode = ctx.getPageMaker().getContentNode(pageNode);
-        contentNode.addChild(alerts.createAlerts());
+        contentNode.addChild(alerts.createAlerts(ctx));
         
         writeHTMLReply(ctx, 200, "OK", pageNode.generate());
        }

Modified: trunk/freenet/src/freenet/clients/http/WelcomeToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/WelcomeToadlet.java  2009-01-06 
23:17:19 UTC (rev 24946)
+++ trunk/freenet/src/freenet/clients/http/WelcomeToadlet.java  2009-01-06 
23:22:29 UTC (rev 24947)
@@ -548,7 +548,7 @@
 
         // Alerts
         if (ctx.isAllowedFullAccess()) {
-            
contentNode.addChild(core.alerts.createAlertsShort(l10n("alertsSummary"), 
advancedModeOutputEnabled, true));
+            
contentNode.addChild(core.alerts.createAlertsShort(l10n("alertsSummary"), 
advancedModeOutputEnabled, true, ctx));
         }
 
         // Bookmarks

Modified: trunk/freenet/src/freenet/clients/http/bookmark/BookmarkItem.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/bookmark/BookmarkItem.java   
2009-01-06 23:17:19 UTC (rev 24946)
+++ trunk/freenet/src/freenet/clients/http/bookmark/BookmarkItem.java   
2009-01-06 23:22:29 UTC (rev 24947)
@@ -3,6 +3,7 @@
  * http://www.gnu.org/ for further details of the GPL. */
 package freenet.clients.http.bookmark;
 
+import freenet.clients.http.LinkFixer;
 import freenet.keys.FreenetURI;
 import freenet.keys.USK;
 import freenet.l10n.L10n;
@@ -81,10 +82,10 @@
         }
 
         @Override
-               public HTMLNode getHTMLText() {
+               public HTMLNode getHTMLText(LinkFixer fixer) {
             HTMLNode n = new HTMLNode("div");
             L10n.addL10nSubstitution(n, 
"BookmarkItem.bookmarkUpdatedWithLink", new String[]{"link", "/link", "name", 
"edition"},
-                    new String[]{"<a href=\"/" + key.toString() + "\">", 
"</a>", HTMLEncoder.encode(name), Long.toString(key.getSuggestedEdition())});
+                    new String[]{"<a href=\"" + 
fixer.fixLink("/"+key.toString()) + "\">", "</a>", HTMLEncoder.encode(name), 
Long.toString(key.getSuggestedEdition())});
             return n;
         }
 

Modified: trunk/freenet/src/freenet/node/Announcer.java
===================================================================
--- trunk/freenet/src/freenet/node/Announcer.java       2009-01-06 23:17:19 UTC 
(rev 24946)
+++ trunk/freenet/src/freenet/node/Announcer.java       2009-01-06 23:22:29 UTC 
(rev 24947)
@@ -16,6 +16,7 @@
 import java.util.List;
 import java.util.Vector;
 
+import freenet.clients.http.LinkFixer;
 import freenet.io.comm.PeerParseException;
 import freenet.io.comm.ReferenceSignatureVerificationException;
 import freenet.l10n.L10n;
@@ -542,7 +543,7 @@
                        return L10n.getString("UserAlert.hide");
                }
 
-               public HTMLNode getHTMLText() {
+               public HTMLNode getHTMLText(LinkFixer fixer) {
                        return new HTMLNode("#", getText());
                }
 

Modified: trunk/freenet/src/freenet/node/DarknetPeerNode.java
===================================================================
--- trunk/freenet/src/freenet/node/DarknetPeerNode.java 2009-01-06 23:17:19 UTC 
(rev 24946)
+++ trunk/freenet/src/freenet/node/DarknetPeerNode.java 2009-01-06 23:22:29 UTC 
(rev 24947)
@@ -16,6 +16,7 @@
 import java.util.LinkedHashSet;
 
 import freenet.client.DefaultMIMETypes;
+import freenet.clients.http.LinkFixer;
 import freenet.crypt.BlockCipher;
 import freenet.io.comm.DMT;
 import freenet.io.comm.DisconnectedException;
@@ -937,7 +938,7 @@
                                        return L10n.getString("UserAlert.hide");
                                }
                                @Override
-                               public HTMLNode getHTMLText() {
+                               public HTMLNode getHTMLText(LinkFixer fixer) {
                                        HTMLNode div = new HTMLNode("div");
                                        
                                        div.addChild("p", 
l10n("failedReceiveHeader", new String[] { "filename", "node" },
@@ -1048,7 +1049,7 @@
                                        return L10n.getString("UserAlert.hide");
                                }
                                @Override
-                               public HTMLNode getHTMLText() {
+                               public HTMLNode getHTMLText(LinkFixer fixer) {
                                        HTMLNode div = new HTMLNode("div");
                                        
                                        // FIXME localise!!!
@@ -1162,7 +1163,7 @@
                                        return null; // Cannot hide, but can 
reject
                                }
                                @Override
-                               public HTMLNode getHTMLText() {
+                               public HTMLNode getHTMLText(LinkFixer fixer) {
                                        HTMLNode div = new HTMLNode("div");
                                        
                                        div.addChild("p", 
l10n("offeredFileHeader", "name", getName()));

Modified: trunk/freenet/src/freenet/node/FNPPacketMangler.java
===================================================================
--- trunk/freenet/src/freenet/node/FNPPacketMangler.java        2009-01-06 
23:17:19 UTC (rev 24946)
+++ trunk/freenet/src/freenet/node/FNPPacketMangler.java        2009-01-06 
23:22:29 UTC (rev 24947)
@@ -12,6 +12,7 @@
 import java.util.LinkedList;
 
 import net.i2p.util.NativeBigInteger;
+import freenet.clients.http.LinkFixer;
 import freenet.crypt.BlockCipher;
 import freenet.crypt.DSA;
 import freenet.crypt.DSAGroup;
@@ -2692,7 +2693,7 @@
                        return l10n("somePeersDisconnectedStillNotAcked", 
"count", Integer.toString(sz));
                }
 
-               public HTMLNode getHTMLText() {
+               public HTMLNode getHTMLText(LinkFixer fixer) {
                        HTMLNode div = new HTMLNode("div");
                        Peer[] peers;
                        synchronized(peersWithProblems) {
@@ -2700,7 +2701,7 @@
                        }
                        L10n.addL10nSubstitution(div, 
"FNPPacketMangler.somePeersDisconnectedStillNotAckedDetail", 
                                        new String[] { "count", "link", "/link" 
}
-                                       , new String[] { 
Integer.toString(peers.length), "<a 
href=\"/?_CHECKED_HTTP_=https://bugs.freenetproject.org/\";>", "</a>" });
+                                       , new String[] { 
Integer.toString(peers.length), "<a 
href=\""+fixer.fixLink("/?_CHECKED_HTTP_=https://bugs.freenetproject.org/";)+"\">",
 "</a>" });
                        HTMLNode list = div.addChild("ul");
                        for(Peer peer : peers) {
                                list.addChild("li", peer.toString());

Modified: trunk/freenet/src/freenet/node/IPDetectorPluginManager.java
===================================================================
--- trunk/freenet/src/freenet/node/IPDetectorPluginManager.java 2009-01-06 
23:17:19 UTC (rev 24946)
+++ trunk/freenet/src/freenet/node/IPDetectorPluginManager.java 2009-01-06 
23:22:29 UTC (rev 24947)
@@ -7,6 +7,7 @@
 import java.util.Set;
 import java.util.Vector;
 
+import freenet.clients.http.LinkFixer;
 import freenet.clients.http.filter.GenericReadFilterCallback;
 import freenet.io.AddressTracker;
 import freenet.io.comm.FreenetInetAddress;
@@ -52,7 +53,7 @@
                        return L10n.getString("UserAlert.hide");
                }
 
-               public HTMLNode getHTMLText() {
+               public HTMLNode getHTMLText(LinkFixer fixer) {
                        HTMLNode div = new HTMLNode("div");
                        String url = 
GenericReadFilterCallback.escapeURL(HTMLEncoder.encode(l10n("portForwardHelpURL")));
                        boolean maybeForwarded = true;
@@ -63,11 +64,11 @@
                        if(portsNotForwarded.length == 1) {
                                L10n.addL10nSubstitution(div, 
"IPDetectorPluginManager.forwardPort"+keySuffix, 
                                                new String[] { "port", "link", 
"/link" }, 
-                                               new String[] { 
Integer.toString(Math.abs(portsNotForwarded[0])), "<a href=\""+url+"\">", 
"</a>" });
+                                               new String[] { 
Integer.toString(Math.abs(portsNotForwarded[0])), "<a 
href=\""+fixer.fixLink(url)+"\">", "</a>" });
                        } else if(portsNotForwarded.length == 2) {
                                L10n.addL10nSubstitution(div, 
"IPDetectorPluginManager.forwardTwoPorts"+keySuffix, 
                                                new String[] { "port1", 
"port2", "link", "/link" }, 
-                                               new String[] { 
Integer.toString(Math.abs(portsNotForwarded[0])), 
Integer.toString(Math.abs(portsNotForwarded[1])), "<a href=\""+url+"\">", 
"</a>" });
+                                               new String[] { 
Integer.toString(Math.abs(portsNotForwarded[0])), 
Integer.toString(Math.abs(portsNotForwarded[1])), "<a 
href=\""+fixer.fixLink(url)+"\">", "</a>" });
                        } else {
                                Logger.error(this, "Unknown number of ports to 
forward: "+portsNotForwarded.length);
                        }
@@ -188,16 +189,16 @@
                }
 
                @Override
-               public HTMLNode getHTMLText() {
+               public HTMLNode getHTMLText(LinkFixer fixer) {
                        HTMLNode div = new HTMLNode("div");
                        div.addChild("#", super.getText());
                        if(suggestPortForward) {
                                if(portsNotForwarded.length == 1) {
                                        L10n.addL10nSubstitution(div, 
"IPDetectorPluginManager.suggestForwardPortWithLink", new String[] { "link", 
"/link", "port" },
-                                                       new String[] { "<a 
href=\"/?_CHECKED_HTTP_=http://wiki.freenetproject.org/FirewallAndRouterIssues\";>",
 "</a>", Integer.toString(portsNotForwarded[0]) });
+                                                       new String[] { "<a 
href=\""+fixer.fixLink("/?_CHECKED_HTTP_=http://wiki.freenetproject.org/FirewallAndRouterIssues";)+"\">",
 "</a>", Integer.toString(portsNotForwarded[0]) });
                                } else {
                                        L10n.addL10nSubstitution(div, 
"IPDetectorPluginManager.suggestForwardTwoPortsWithLink", new String[] { 
"link", "/link", "port1", "port2" },
-                                                       new String[] { "<a 
href=\"/?_CHECKED_HTTP_=http://wiki.freenetproject.org/FirewallAndRouterIssues\";>",
 "</a>", Integer.toString(portsNotForwarded[0]), 
Integer.toString(portsNotForwarded[1]) });
+                                                       new String[] { "<a 
href=\""+fixer.fixLink("/?_CHECKED_HTTP_=http://wiki.freenetproject.org/FirewallAndRouterIssues";)+"\">",
 "</a>", Integer.toString(portsNotForwarded[0]), 
Integer.toString(portsNotForwarded[1]) });
                                }
                        }
                        return div;
@@ -933,11 +934,11 @@
                return plugins.length > 0;
        }
 
-       public void addConnectionTypeBox(HTMLNode contentNode) {
+       public void addConnectionTypeBox(HTMLNode contentNode, LinkFixer ctx) {
                if(node.clientCore == null) return;
                if(node.clientCore.alerts == null) return;
                if(proxyAlert.isValid())
-                       
contentNode.addChild(node.clientCore.alerts.renderAlert(proxyAlert));
+                       
contentNode.addChild(node.clientCore.alerts.renderAlert(proxyAlert, ctx));
        }
        
 }

Modified: trunk/freenet/src/freenet/node/Node.java
===================================================================
--- trunk/freenet/src/freenet/node/Node.java    2009-01-06 23:17:19 UTC (rev 
24946)
+++ trunk/freenet/src/freenet/node/Node.java    2009-01-06 23:22:29 UTC (rev 
24947)
@@ -1842,7 +1842,7 @@
                                                
.getString("Node.storeSaltHashMigratedShort"), UserAlert.MINOR) {
                                        
                                        @Override
-                                       public HTMLNode getHTMLText() {
+                                       public HTMLNode getHTMLText(LinkFixer 
fixer) {
                                                HTMLNode div = new 
HTMLNode("div");
                                                div.addChild("#", 
L10n.getString("Node.storeSaltHashMigrated"));
                                                HTMLNode ul = 
div.addChild("ul");
@@ -2341,11 +2341,11 @@
                                clientCore.alerts.register(new 
AbstractUserAlert(false, null, null, null, null, UserAlert.ERROR, true, null, 
false, null) {
 
                                        @Override
-                                       public HTMLNode getHTMLText() {
+                                       public HTMLNode getHTMLText(LinkFixer 
fixer) {
                                                HTMLNode n = new 
HTMLNode("div");
                                                L10n.addL10nSubstitution(n, 
"Node.buggyJVMWithLink", 
                                                                new String[] { 
"link", "/link", "version" },
-                                                               new String[] { 
"<a 
href=\"/?_CHECKED_HTTP_=http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4855795\";>",
+                                                               new String[] { 
"<a 
href=\""+fixer.fixLink("/?_CHECKED_HTTP_=http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4855795";)+"\">",
 
                                                                "</a>", 
HTMLEncoder.encode(System.getProperty("java.version")) });
                                                return n;
                                        }

Modified: trunk/freenet/src/freenet/node/NodeIPDetector.java
===================================================================
--- trunk/freenet/src/freenet/node/NodeIPDetector.java  2009-01-06 23:17:19 UTC 
(rev 24946)
+++ trunk/freenet/src/freenet/node/NodeIPDetector.java  2009-01-06 23:22:29 UTC 
(rev 24947)
@@ -9,6 +9,7 @@
 import java.util.List;
 import java.util.Map;
 
+import freenet.clients.http.LinkFixer;
 import freenet.config.InvalidConfigValueException;
 import freenet.config.SubConfig;
 import freenet.io.comm.FreenetInetAddress;
@@ -573,8 +574,8 @@
                node.clientCore.alerts.register(invalidAddressOverrideAlert);
        }
 
-       public void addConnectionTypeBox(HTMLNode contentNode) {
-               ipDetectorManager.addConnectionTypeBox(contentNode);
+       public void addConnectionTypeBox(HTMLNode contentNode, LinkFixer ctx) {
+               ipDetectorManager.addConnectionTypeBox(contentNode, ctx);
        }
 
        public boolean noDetectPlugins() {

Modified: trunk/freenet/src/freenet/node/PacketSender.java
===================================================================
--- trunk/freenet/src/freenet/node/PacketSender.java    2009-01-06 23:17:19 UTC 
(rev 24946)
+++ trunk/freenet/src/freenet/node/PacketSender.java    2009-01-06 23:22:29 UTC 
(rev 24947)
@@ -13,6 +13,7 @@
 
 import org.tanukisoftware.wrapper.WrapperManager;
 
+import freenet.clients.http.LinkFixer;
 import freenet.io.comm.Peer;
 import freenet.l10n.L10n;
 import freenet.node.useralerts.UserAlert;
@@ -474,7 +475,7 @@
                        return l10n("somePeersDisconnectedBlockedTooLong", 
"count", Integer.toString(sz));
                }
 
-               public HTMLNode getHTMLText() {
+               public HTMLNode getHTMLText(LinkFixer fixer) {
                        HTMLNode div = new HTMLNode("div");
                        Peer[] peers;
                        synchronized(peersDumpedBlockedTooLong) {
@@ -482,7 +483,7 @@
                        }
                        L10n.addL10nSubstitution(div, 
"PacketSender.somePeersDisconnectedBlockedTooLongDetail", 
                                        new String[] { "count", "link", "/link" 
}
-                                       , new String[] { 
Integer.toString(peers.length), "<a 
href=\"/?_CHECKED_HTTP_=https://bugs.freenetproject.org/\";>", "</a>" });
+                                       , new String[] { 
Integer.toString(peers.length), "<a 
href=\""+fixer.fixLink("/?_CHECKED_HTTP_=https://bugs.freenetproject.org/";)+"\">",
 "</a>" });
                        HTMLNode list = div.addChild("ul");
                        for(Peer peer : peers) {
                                list.addChild("li", peer.toString());

Modified: trunk/freenet/src/freenet/node/SecurityLevels.java
===================================================================
--- trunk/freenet/src/freenet/node/SecurityLevels.java  2009-01-06 23:17:19 UTC 
(rev 24946)
+++ trunk/freenet/src/freenet/node/SecurityLevels.java  2009-01-06 23:22:29 UTC 
(rev 24947)
@@ -6,6 +6,8 @@
 import java.util.ArrayList;
 
 import freenet.clients.http.ConfigToadlet;
+import freenet.clients.http.LinkFixer;
+import freenet.clients.http.NullLinkFixer;
 import freenet.config.EnumerableOptionCallback;
 import freenet.config.InvalidConfigValueException;
 import freenet.config.NodeNeedRestartException;
@@ -404,7 +406,7 @@
                                return L10n.getString("UserAlert.hide");
                        }
 
-                       public HTMLNode getHTMLText() {
+                       public HTMLNode getHTMLText(LinkFixer fixer) {
                                HTMLNode div = new HTMLNode("div");
                                HTMLNode ul = div.addChild("ul");
                                ul.addChild("li", 
l10n("userAlertNetworkThreatLevel", "level", 
localisedName(networkThreatLevel)));
@@ -413,7 +415,7 @@
                                div.addChild("br");
                                L10n.addL10nSubstitution(div, 
"SecurityLevels.userAlertExtro",
                                                new String[] { "link", "/link" 
},
-                                               new String[] { "<a 
href=\"/config/?mode="+ConfigToadlet.MODE_SECURITY_LEVELS+"\">", "</a>" });
+                                               new String[] { "<a 
href=\""+fixer.fixLink("/config/?mode="+ConfigToadlet.MODE_SECURITY_LEVELS)+"\">",
 "</a>" });
                                return div;
                        }
 
@@ -430,7 +432,7 @@
                        }
 
                        public String getText() {
-                               return getHTMLText().getContent();
+                               return 
getHTMLText(NullLinkFixer.instance).getContent();
                        }
 
                        public String getTitle() {

Modified: trunk/freenet/src/freenet/node/updater/UpdateOverMandatoryManager.java
===================================================================
--- trunk/freenet/src/freenet/node/updater/UpdateOverMandatoryManager.java      
2009-01-06 23:17:19 UTC (rev 24946)
+++ trunk/freenet/src/freenet/node/updater/UpdateOverMandatoryManager.java      
2009-01-06 23:22:29 UTC (rev 24947)
@@ -27,6 +27,7 @@
 import freenet.client.async.ClientGetter;
 import freenet.client.async.ClientPutter;
 import freenet.client.async.SimpleBlockSet;
+import freenet.clients.http.LinkFixer;
 import freenet.io.comm.AsyncMessageCallback;
 import freenet.io.comm.DMT;
 import freenet.io.comm.DisconnectedException;
@@ -539,7 +540,7 @@
                }
 
                @Override
-               public HTMLNode getHTMLText() {
+               public HTMLNode getHTMLText(LinkFixer fixer) {
                        HTMLNode div = new HTMLNode("div");
 
                        div.addChild("p").addChild("#", l10n("intro"));

Modified: trunk/freenet/src/freenet/node/useralerts/AbstractUserAlert.java
===================================================================
--- trunk/freenet/src/freenet/node/useralerts/AbstractUserAlert.java    
2009-01-06 23:17:19 UTC (rev 24946)
+++ trunk/freenet/src/freenet/node/useralerts/AbstractUserAlert.java    
2009-01-06 23:22:29 UTC (rev 24947)
@@ -18,6 +18,7 @@
 
 package freenet.node.useralerts;
 
+import freenet.clients.http.LinkFixer;
 import freenet.support.HTMLNode;
 
 /**
@@ -93,7 +94,7 @@
        /**
         * {...@inheritdoc}
         */
-       public HTMLNode getHTMLText() {
+       public HTMLNode getHTMLText(LinkFixer fixer) {
                return htmlText;
        }
 

Modified: trunk/freenet/src/freenet/node/useralerts/BuildOldAgeUserAlert.java
===================================================================
--- trunk/freenet/src/freenet/node/useralerts/BuildOldAgeUserAlert.java 
2009-01-06 23:17:19 UTC (rev 24946)
+++ trunk/freenet/src/freenet/node/useralerts/BuildOldAgeUserAlert.java 
2009-01-06 23:22:29 UTC (rev 24947)
@@ -3,6 +3,7 @@
  * http://www.gnu.org/ for further details of the GPL. */
 package freenet.node.useralerts;
 
+import freenet.clients.http.LinkFixer;
 import freenet.l10n.L10n;
 import freenet.support.HTMLNode;
 
@@ -35,7 +36,7 @@
        }
 
        @Override
-       public HTMLNode getHTMLText() {
+       public HTMLNode getHTMLText(LinkFixer fixer) {
                return new HTMLNode("div", getText());
        }
 

Modified: 
trunk/freenet/src/freenet/node/useralerts/ClockProblemDetectedUserAlert.java
===================================================================
--- 
trunk/freenet/src/freenet/node/useralerts/ClockProblemDetectedUserAlert.java    
    2009-01-06 23:17:19 UTC (rev 24946)
+++ 
trunk/freenet/src/freenet/node/useralerts/ClockProblemDetectedUserAlert.java    
    2009-01-06 23:22:29 UTC (rev 24947)
@@ -3,6 +3,7 @@
  * http://www.gnu.org/ for further details of the GPL. */
 package freenet.node.useralerts;
 
+import freenet.clients.http.LinkFixer;
 import freenet.l10n.L10n;
 import freenet.support.HTMLNode;
 
@@ -42,7 +43,7 @@
        }
 
        @Override
-       public HTMLNode getHTMLText() {
+       public HTMLNode getHTMLText(LinkFixer fixer) {
                return new HTMLNode("div", getText());
        }
 

Modified: trunk/freenet/src/freenet/node/useralerts/ExtOldAgeUserAlert.java
===================================================================
--- trunk/freenet/src/freenet/node/useralerts/ExtOldAgeUserAlert.java   
2009-01-06 23:17:19 UTC (rev 24946)
+++ trunk/freenet/src/freenet/node/useralerts/ExtOldAgeUserAlert.java   
2009-01-06 23:22:29 UTC (rev 24947)
@@ -1,5 +1,6 @@
 package freenet.node.useralerts;
 
+import freenet.clients.http.LinkFixer;
 import freenet.l10n.L10n;
 import freenet.support.HTMLNode;
 
@@ -27,7 +28,7 @@
        }
 
        @Override
-       public HTMLNode getHTMLText() {
+       public HTMLNode getHTMLText(LinkFixer fixer) {
                return new HTMLNode("div", getText());
        }
 

Modified: trunk/freenet/src/freenet/node/useralerts/IPUndetectedUserAlert.java
===================================================================
--- trunk/freenet/src/freenet/node/useralerts/IPUndetectedUserAlert.java        
2009-01-06 23:17:19 UTC (rev 24946)
+++ trunk/freenet/src/freenet/node/useralerts/IPUndetectedUserAlert.java        
2009-01-06 23:22:29 UTC (rev 24947)
@@ -3,6 +3,7 @@
  * http://www.gnu.org/ for further details of the GPL. */
 package freenet.node.useralerts;
 
+import freenet.clients.http.LinkFixer;
 import freenet.config.Option;
 import freenet.config.SubConfig;
 import freenet.l10n.L10n;
@@ -46,10 +47,10 @@
        }
 
        @Override
-       public HTMLNode getHTMLText() {
+       public HTMLNode getHTMLText(LinkFixer fixer) {
                if(node.ipDetector.noDetectPlugins()) {
                        HTMLNode p = new HTMLNode("p");
-                       L10n.addL10nSubstitution(p, 
"IPUndetectedUserAlert.loadDetectPlugins", new String[] { "plugins", 
"/plugins", "config", "/config" }, new String[] { "<a href=\"/plugins/\">", 
"</a>", "<a href=\"/config/\">", "</a>" });
+                       L10n.addL10nSubstitution(p, 
"IPUndetectedUserAlert.loadDetectPlugins", new String[] { "plugins", 
"/plugins", "config", "/config" }, new String[] { "<a 
href=\""+fixer.fixLink("/plugins/")+"\">", "</a>", "<a 
href=\""+fixer.fixLink("/config/")+"\">", "</a>" });
                        return p;
                }
                HTMLNode textNode = new HTMLNode("div");
@@ -58,7 +59,7 @@
                
                L10n.addL10nSubstitution(textNode, 
"IPUndetectedUserAlert."+(node.ipDetector.isDetecting() ? 
"detectingWithConfigLink" : "unknownAddressWithConfigLink"), 
                                new String[] { "link", "/link" }, 
-                               new String[] { "<a href=\"/config/\">", "</a>" 
});
+                               new String[] { "<a 
href=\""+fixer.fixLink("/config/")+"\">", "</a>" });
                addPortForwardSuggestion(textNode);
                HTMLNode formNode = textNode.addChild("form", new String[] { 
"action", "method" }, new String[] { "/config/", "post" });
                formNode.addChild("input", new String[] { "type", "name", 
"value" }, new String[] { "hidden", "formPassword", 
node.clientCore.formPassword });

Modified: 
trunk/freenet/src/freenet/node/useralerts/InvalidAddressOverrideUserAlert.java
===================================================================
--- 
trunk/freenet/src/freenet/node/useralerts/InvalidAddressOverrideUserAlert.java  
    2009-01-06 23:17:19 UTC (rev 24946)
+++ 
trunk/freenet/src/freenet/node/useralerts/InvalidAddressOverrideUserAlert.java  
    2009-01-06 23:22:29 UTC (rev 24947)
@@ -3,6 +3,7 @@
  * http://www.gnu.org/ for further details of the GPL. */
 package freenet.node.useralerts;
 
+import freenet.clients.http.LinkFixer;
 import freenet.config.Option;
 import freenet.config.SubConfig;
 import freenet.l10n.L10n;
@@ -33,7 +34,7 @@
        }
 
        @Override
-       public HTMLNode getHTMLText() {
+       public HTMLNode getHTMLText(LinkFixer fixer) {
                SubConfig sc = node.config.get("node");
                Option<?> o = sc.getOption("ipAddressOverride");
                

Modified: 
trunk/freenet/src/freenet/node/useralerts/MeaningfulNodeNameUserAlert.java
===================================================================
--- trunk/freenet/src/freenet/node/useralerts/MeaningfulNodeNameUserAlert.java  
2009-01-06 23:17:19 UTC (rev 24946)
+++ trunk/freenet/src/freenet/node/useralerts/MeaningfulNodeNameUserAlert.java  
2009-01-06 23:22:29 UTC (rev 24947)
@@ -38,7 +38,7 @@
        }
 
        @Override
-       public HTMLNode getHTMLText() {
+       public HTMLNode getHTMLText(LinkFixer fixer) {
                SubConfig sc = node.config.get("node");
                Option<?> o = sc.getOption("name");
 
@@ -51,9 +51,9 @@
                HTMLNode itemNode = listNode.addChild("li");
                itemNode.addChild("span", new String[]{ "class", "title", 
"style" },
                                new String[]{ "configshortdesc", 
L10n.getString("ConfigToadlet.defaultIs", new String[] { "default" }, new 
String[] { o.getDefault() }), 
-                               "cursor: help;" 
}).addChild(L10n.getHTMLNode(o.getShortDesc(), 
freenet.clients.http.NullLinkFixer.instance));
+                               "cursor: help;" 
}).addChild(L10n.getHTMLNode(o.getShortDesc(), fixer));
                itemNode.addChild("input", new String[] { "type", "class", 
"alt", "name", "value" }, new String[] { "text", "config", o.getShortDesc(), 
"node.name", o.getValueString() });
-               itemNode.addChild("span", "class", 
"configlongdesc").addChild(L10n.getHTMLNode(o.getLongDesc(), 
freenet.clients.http.NullLinkFixer.instance));
+               itemNode.addChild("span", "class", 
"configlongdesc").addChild(L10n.getHTMLNode(o.getLongDesc(), fixer));
                formNode.addChild("input", new String[] { "type", "value" }, 
new String[] { "submit", L10n.getString("UserAlert.apply") });
                formNode.addChild("input", new String[] { "type", "value" }, 
new String[] { "reset", L10n.getString("UserAlert.reset") });
 

Modified: trunk/freenet/src/freenet/node/useralerts/N2NTMUserAlert.java
===================================================================
--- trunk/freenet/src/freenet/node/useralerts/N2NTMUserAlert.java       
2009-01-06 23:17:19 UTC (rev 24946)
+++ trunk/freenet/src/freenet/node/useralerts/N2NTMUserAlert.java       
2009-01-06 23:22:29 UTC (rev 24947)
@@ -6,6 +6,7 @@
 import java.text.DateFormat;
 import java.util.Date;
 
+import freenet.clients.http.LinkFixer;
 import freenet.l10n.L10n;
 import freenet.node.DarknetPeerNode;
 import freenet.support.HTMLNode;
@@ -52,7 +53,7 @@
        }
        
        @Override
-       public HTMLNode getHTMLText() {
+       public HTMLNode getHTMLText(LinkFixer fixer) {
                HTMLNode alertNode = new HTMLNode("div");
                alertNode.addChild("p",
                                l10n("header", new String[] { "from", 
"composed", "sent", "received" },
@@ -64,7 +65,7 @@
                        if(i != lines.length - 1)
                                alertNode.addChild("br");
                }
-               alertNode.addChild("p").addChild("a", "href", 
"/send_n2ntm/?peernode_hashcode=" + sourcePeerNode.hashCode(), l10n("reply"));
+               alertNode.addChild("p").addChild("a", "href", 
fixer.fixLink("/send_n2ntm/?peernode_hashcode=" + sourcePeerNode.hashCode()), 
l10n("reply"));
                return alertNode;
        }
 

Modified: 
trunk/freenet/src/freenet/node/useralerts/NotEnoughNiceLevelsUserAlert.java
===================================================================
--- trunk/freenet/src/freenet/node/useralerts/NotEnoughNiceLevelsUserAlert.java 
2009-01-06 23:17:19 UTC (rev 24946)
+++ trunk/freenet/src/freenet/node/useralerts/NotEnoughNiceLevelsUserAlert.java 
2009-01-06 23:22:29 UTC (rev 24947)
@@ -4,6 +4,7 @@
 
 package freenet.node.useralerts;
 
+import freenet.clients.http.LinkFixer;
 import freenet.l10n.L10n;
 import freenet.support.HTMLNode;
 import freenet.support.io.NativeThread;
@@ -40,7 +41,7 @@
        }
 
        @Override
-       public HTMLNode getHTMLText() {
+       public HTMLNode getHTMLText(LinkFixer fixer) {
                return new HTMLNode("div", getText());
        }
 

Modified: trunk/freenet/src/freenet/node/useralerts/PeerManagerUserAlert.java
===================================================================
--- trunk/freenet/src/freenet/node/useralerts/PeerManagerUserAlert.java 
2009-01-06 23:17:19 UTC (rev 24946)
+++ trunk/freenet/src/freenet/node/useralerts/PeerManagerUserAlert.java 
2009-01-06 23:22:29 UTC (rev 24947)
@@ -3,6 +3,7 @@
  * http://www.gnu.org/ for further details of the GPL. */
 package freenet.node.useralerts;
 
+import freenet.clients.http.LinkFixer;
 import freenet.l10n.L10n;
 import freenet.node.NodeStats;
 import freenet.support.HTMLNode;
@@ -174,7 +175,7 @@
        }
        
        @Override
-       public HTMLNode getHTMLText() {
+       public HTMLNode getHTMLText(LinkFixer fixer) {
                HTMLNode alertNode = new HTMLNode("div");
 
                if (peers == 0 && !isOpennetEnabled) {
@@ -203,7 +204,7 @@
                } else if (neverConn > 
MAX_NEVER_CONNECTED_PEER_ALERT_THRESHOLD) {
                        L10n.addL10nSubstitution(alertNode, 
"PeerManagerUserAlert.tooManyNeverConnectedWithLink",
                                        new String[] { "link", "/link", "count" 
},
-                                       new String[] { "<a 
href=\"/friends/myref.fref\">", "</a>", Integer.toString(neverConn) });
+                                       new String[] { "<a 
href=\""+fixer.fixLink("/friends/myref.fref")+"\">", "</a>", 
Integer.toString(neverConn) });
                } else if(connError > MIN_CONN_ERROR_ALERT_THRESHOLD) {
                        alertNode.addChild("#", l10n("connError", "count", 
Integer.toString(connError)));
                } else if (disconnDarknetPeers > 
MAX_DISCONN_PEER_ALERT_THRESHOLD && !darknetDefinitelyPortForwarded && 
!darknetAssumeNAT) {

Modified: trunk/freenet/src/freenet/node/useralerts/ProxyUserAlert.java
===================================================================
--- trunk/freenet/src/freenet/node/useralerts/ProxyUserAlert.java       
2009-01-06 23:17:19 UTC (rev 24946)
+++ trunk/freenet/src/freenet/node/useralerts/ProxyUserAlert.java       
2009-01-06 23:22:29 UTC (rev 24947)
@@ -1,5 +1,6 @@
 package freenet.node.useralerts;
 
+import freenet.clients.http.LinkFixer;
 import freenet.support.HTMLNode;
 
 /**
@@ -44,8 +45,8 @@
                return alert.getText();
        }
 
-       public HTMLNode getHTMLText() {
-               return alert.getHTMLText();
+       public HTMLNode getHTMLText(LinkFixer fixer) {
+               return alert.getHTMLText(fixer);
        }
 
        public short getPriorityClass() {

Modified: 
trunk/freenet/src/freenet/node/useralerts/TimeSkewDetectedUserAlert.java
===================================================================
--- trunk/freenet/src/freenet/node/useralerts/TimeSkewDetectedUserAlert.java    
2009-01-06 23:17:19 UTC (rev 24946)
+++ trunk/freenet/src/freenet/node/useralerts/TimeSkewDetectedUserAlert.java    
2009-01-06 23:22:29 UTC (rev 24947)
@@ -3,6 +3,7 @@
  * http://www.gnu.org/ for further details of the GPL. */
 package freenet.node.useralerts;
 
+import freenet.clients.http.LinkFixer;
 import freenet.l10n.L10n;
 import freenet.support.HTMLNode;
 
@@ -43,7 +44,7 @@
        }
 
        @Override
-       public HTMLNode getHTMLText() {
+       public HTMLNode getHTMLText(LinkFixer fixer) {
                return new HTMLNode("div", getText());
        }
 

Modified: 
trunk/freenet/src/freenet/node/useralerts/UpdatedVersionAvailableUserAlert.java
===================================================================
--- 
trunk/freenet/src/freenet/node/useralerts/UpdatedVersionAvailableUserAlert.java 
    2009-01-06 23:17:19 UTC (rev 24946)
+++ 
trunk/freenet/src/freenet/node/useralerts/UpdatedVersionAvailableUserAlert.java 
    2009-01-06 23:22:29 UTC (rev 24947)
@@ -3,6 +3,7 @@
  * http://www.gnu.org/ for further details of the GPL. */
 package freenet.node.useralerts;
 
+import freenet.clients.http.LinkFixer;
 import freenet.l10n.L10n;
 import freenet.node.updater.NodeUpdateManager;
 import freenet.node.updater.RevocationChecker;
@@ -75,7 +76,7 @@
        }
        
        @Override
-       public HTMLNode getHTMLText() {
+       public HTMLNode getHTMLText(LinkFixer fixer) {
                
                UpdateThingy ut = createUpdateThingy();
                

Modified: trunk/freenet/src/freenet/node/useralerts/UserAlert.java
===================================================================
--- trunk/freenet/src/freenet/node/useralerts/UserAlert.java    2009-01-06 
23:17:19 UTC (rev 24946)
+++ trunk/freenet/src/freenet/node/useralerts/UserAlert.java    2009-01-06 
23:22:29 UTC (rev 24947)
@@ -3,6 +3,7 @@
  * http://www.gnu.org/ for further details of the GPL. */
 package freenet.node.useralerts;
 
+import freenet.clients.http.LinkFixer;
 import freenet.support.HTMLNode;
 
 public interface UserAlert {
@@ -26,7 +27,7 @@
        /**
         * Content of alert (HTML).
         */
-       public HTMLNode getHTMLText();
+       public HTMLNode getHTMLText(LinkFixer fixer);
        
        /**
         * *Really* concise text of alert. Should be comfortably under a line 
even when translated

Modified: trunk/freenet/src/freenet/node/useralerts/UserAlertManager.java
===================================================================
--- trunk/freenet/src/freenet/node/useralerts/UserAlertManager.java     
2009-01-06 23:17:19 UTC (rev 24946)
+++ trunk/freenet/src/freenet/node/useralerts/UserAlertManager.java     
2009-01-06 23:22:29 UTC (rev 24947)
@@ -8,6 +8,8 @@
 import java.util.HashSet;
 import java.util.LinkedHashSet;
 
+import freenet.clients.http.LinkFixer;
+import freenet.clients.http.ToadletContext;
 import freenet.l10n.L10n;
 import freenet.node.NodeClientCore;
 import freenet.support.HTMLNode;
@@ -101,7 +103,7 @@
        /**
         * Write the alerts as HTML.
         */
-       public HTMLNode createAlerts() {
+       public HTMLNode createAlerts(LinkFixer fixer) {
                HTMLNode alertsNode = new HTMLNode("div");
                UserAlert[] alerts = getAlerts();
                int totalNumber = 0;
@@ -111,7 +113,7 @@
                                continue;
                        totalNumber++;
                        alertsNode.addChild("a", "name", alert.anchor());
-                       alertsNode.addChild(renderAlert(alert));
+                       alertsNode.addChild(renderAlert(alert, fixer));
                }
                if (totalNumber == 0) {
                        return new HTMLNode("#", "");
@@ -123,7 +125,7 @@
         * Write each alert in uber-concise form as HTML, with a link to 
         * /alerts/[ anchor pointing to the real alert].
         */
-       public HTMLNode createAlertsShort(String title, boolean advancedMode, 
boolean drawDumpEventsForm) {
+       public HTMLNode createAlertsShort(String title, boolean advancedMode, 
boolean drawDumpEventsForm, ToadletContext ctx) {
                UserAlert[] currentAlerts = getAlerts();
                short maxLevel = Short.MAX_VALUE;
                int events = 0;
@@ -149,7 +151,7 @@
                        if (!alert.isValid())
                                continue;
                        HTMLNode listItem = alertsNode.addChild("li", "class", 
"alert-summary-text-"+getAlertLevelName(alert.getPriorityClass()));
-                       listItem.addChild("a", "href", 
"/alerts/#"+alert.anchor(), alert.getShortText());
+                       listItem.addChild("a", "href", 
ctx.fixLink("/alerts/#"+alert.anchor()), alert.getShortText());
                        totalNumber++;
                }
                if(drawDumpEventsForm) {
@@ -175,14 +177,14 @@
         *            The user alert to render
         * @return The rendered HTML node
         */
-       public HTMLNode renderAlert(UserAlert userAlert) {
+       public HTMLNode renderAlert(UserAlert userAlert, LinkFixer fixer) {
                HTMLNode userAlertNode = null;
                short level = userAlert.getPriorityClass();
                userAlertNode = new HTMLNode("div", "class", "infobox 
infobox-"+getAlertLevelName(level));
 
                userAlertNode.addChild("div", "class", "infobox-header", 
userAlert.getTitle());
                HTMLNode alertContentNode = userAlertNode.addChild("div", 
"class", "infobox-content");
-               alertContentNode.addChild(userAlert.getHTMLText());
+               alertContentNode.addChild(userAlert.getHTMLText(fixer));
                if (userAlert.userCanDismiss()) {
                        HTMLNode dismissFormNode = 
alertContentNode.addChild("form", new String[] { "action", "method" }, new 
String[] { "/", "post" }).addChild("div");
                        dismissFormNode.addChild("input", new String[] { 
"type", "name", "value" }, new String[] { "hidden", "disable", 
String.valueOf(userAlert.hashCode()) });
@@ -210,7 +212,7 @@
        /**
         * Write the alert summary as HTML to a StringBuilder
         */
-       public HTMLNode createSummary() {
+       public HTMLNode createSummary(LinkFixer fixer) {
                short highestLevel = 99;
                int numberOfCriticalError = 0;
                int numberOfError = 0;
@@ -288,7 +290,7 @@
                summaryContent.addChild("#", " ");
                L10n.addL10nSubstitution(summaryContent, 
"UserAlertManager.alertsOnAlertsPage",
                                new String[] { "link", "/link" },
-                               new String[] { "<a href=\"/alerts/\">", "</a>" 
});
+                               new String[] { "<a 
href=\""+fixer.fixLink("/alerts/")+"\">", "</a>" });
                return summaryBox;
        }
 

Modified: trunk/freenet/src/freenet/store/saltedhash/SaltedHashFreenetStore.java
===================================================================
--- trunk/freenet/src/freenet/store/saltedhash/SaltedHashFreenetStore.java      
2009-01-06 23:17:19 UTC (rev 24946)
+++ trunk/freenet/src/freenet/store/saltedhash/SaltedHashFreenetStore.java      
2009-01-06 23:22:29 UTC (rev 24947)
@@ -29,6 +29,7 @@
 import org.spaceroots.mantissa.random.MersenneTwister;
 import org.tanukisoftware.wrapper.WrapperManager;
 
+import freenet.clients.http.LinkFixer;
 import freenet.keys.KeyVerifyException;
 import freenet.l10n.L10n;
 import freenet.node.SemiOrderedShutdownHook;
@@ -1417,7 +1418,7 @@
                        return L10n.getString("UserAlert.hide");
                }
 
-               public HTMLNode getHTMLText() {
+               public HTMLNode getHTMLText(LinkFixer fixer) {
                        return new HTMLNode("#", getText());
                }
 

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

Reply via email to