Author: toad Date: 2006-09-02 20:57:13 +0000 (Sat, 02 Sep 2006) New Revision: 10373
Modified: trunk/freenet/src/freenet/clients/http/filter/CSSTokenizerFilter.java trunk/freenet/src/freenet/node/NodeDispatcher.java trunk/freenet/src/freenet/node/TextModeClientInterface.java trunk/freenet/src/freenet/node/Version.java Log: Probe requests bugfix. Modified: trunk/freenet/src/freenet/clients/http/filter/CSSTokenizerFilter.java =================================================================== --- trunk/freenet/src/freenet/clients/http/filter/CSSTokenizerFilter.java 2006-09-02 20:20:57 UTC (rev 10372) +++ trunk/freenet/src/freenet/clients/http/filter/CSSTokenizerFilter.java 2006-09-02 20:57:13 UTC (rev 10373) @@ -1,4 +1,4 @@ -/* The following code was generated by JFlex 1.3.5 on 02/09/06 17:20 */ +/* The following code was generated by JFlex 1.3.5 on 02/09/06 21:32 */ package freenet.clients.http.filter; import java.io.*; @@ -11,7 +11,7 @@ /** * This class is a scanner generated by * <a href="http://www.jflex.de/">JFlex</a> 1.3.5 - * on 02/09/06 17:20 from the specification file + * on 02/09/06 21:32 from the specification file * <tt>file:/usr/src/cvs/eclipse-workspace/Freenet 0.7/src/freenet/clients/http/filter/CSSTokenizerFilter.jflex</tt> */ class CSSTokenizerFilter { Modified: trunk/freenet/src/freenet/node/NodeDispatcher.java =================================================================== --- trunk/freenet/src/freenet/node/NodeDispatcher.java 2006-09-02 20:20:57 UTC (rev 10372) +++ trunk/freenet/src/freenet/node/NodeDispatcher.java 2006-09-02 20:57:13 UTC (rev 10373) @@ -402,6 +402,7 @@ long tLastReceivedProbeRequest; static final int MAX_PROBE_CONTEXTS = 1000; + static final int MAX_PROBE_IDS = 10000; class ProbeContext { @@ -444,15 +445,20 @@ short counter = m.getShort(DMT.COUNTER); if(logMINOR) Logger.minor(this, "Probe request: "+id+" "+target+" "+best+" "+nearest+" "+htl+" "+counter); - if(recentProbeRequestIDs.contains(lid)) { - // Reject: Loop - Message reject = DMT.createFNPProbeRejected(id, target, nearest, best, counter, DMT.PROBE_REJECTED_LOOP); - try { - src.sendAsync(reject, null, 0, null); - } catch (NotConnectedException e) { - Logger.error(this, "Not connected rejecting a probe request from "+src); + synchronized(recentProbeContexts) { + if(recentProbeRequestIDs.contains(lid)) { + // Reject: Loop + Message reject = DMT.createFNPProbeRejected(id, target, nearest, best, counter, DMT.PROBE_REJECTED_LOOP); + try { + src.sendAsync(reject, null, 0, null); + } catch (NotConnectedException e) { + Logger.error(this, "Not connected rejecting a probe request from "+src); + } + return true; } - return true; + recentProbeRequestIDs.push(lid); + while(recentProbeRequestIDs.size() > MAX_PROBE_IDS) + recentProbeRequestIDs.pop(); } return innerHandleProbeRequest(src, id, lid, target, best, nearest, htl, counter, true); } @@ -636,4 +642,10 @@ return innerHandleProbeRequest(src, id, lid, target, best, nearest, htl, counter, false); } + public void startProbe(double d) { + + // TODO Auto-generated method stub + + } + } Modified: trunk/freenet/src/freenet/node/TextModeClientInterface.java =================================================================== --- trunk/freenet/src/freenet/node/TextModeClientInterface.java 2006-09-02 20:20:57 UTC (rev 10372) +++ trunk/freenet/src/freenet/node/TextModeClientInterface.java 2006-09-02 20:57:13 UTC (rev 10373) @@ -737,6 +737,11 @@ } else if(uline.startsWith("PEERS")) { outsb.append(n.getTMCIPeerList()); outsb.append("PEERS done.\r\n"); + } else if(uline.startsWith("PROBE:")) { + String s = uline.substring("PROBE:".length()).trim(); + double d = Double.parseDouble(s); + System.err.println("Starting probe request for location "+d); + n.dispatcher.startProbe(d); } else if(uline.startsWith("PLUGLOAD:")) { if (line.substring("PLUGLOAD:".length()).trim().equals("?")) { outsb.append(" PLUGLOAD: pkg.Class - Load plugin from current classpath"); Modified: trunk/freenet/src/freenet/node/Version.java =================================================================== --- trunk/freenet/src/freenet/node/Version.java 2006-09-02 20:20:57 UTC (rev 10372) +++ trunk/freenet/src/freenet/node/Version.java 2006-09-02 20:57:13 UTC (rev 10373) @@ -21,7 +21,7 @@ public static final String protocolVersion = "1.0"; /** The build number of the current revision */ - private static final int buildNumber = 960; + private static final int buildNumber = 961; /** Oldest build of Fred we will talk to */ private static final int oldLastGoodBuild = 950;
