At 02:21 AM 07/25/2002 +0100, Matthew Toseland wrote:
>I thought we fixed this ages ago? Anyway, freenet.client.cli.Main
>doesn't insert the redirect if the file being inserted is already in
>Freenet. If anyone feels like fixing this etc etc; I haven't found the
>relevant code yet. For the occasional freesites that use this, this
>could be used as a DoS against DBR sites with predictable content.
Ah... I remember that discussion and here is something very similar to my
original proposed fix for that problem... Oskar (IIRC) offered to apply
this fix to CVS if I gave him a cvs diff. I did not. Here are two
versions, one human readable, and one from a cvs diff. I got busy and
totally forgot about this. If we could get confirmations from a few others
that this does indeed fix the problem, could somebody check this into
CVS? Thanks in advance.
The class involved is freenet.client.FCPClient. Like I warned before, I
have no idea where the corresponding fix would go in the FNP client code.
else if (m.messageType.equals("KeyCollision")) {
FreenetURI uri = new FreenetURI(m.fs.get("URI"));
req.clientKey = AbstractClientKey.createFromRequestURI(uri);
req.produceEvent(new GeneratedURIEvent("Insert URI", uri));
if ("CHK".equals(uri.getKeyType())) {
tryState(Request.DONE);
} else {
req.produceEvent(new CollisionEvent(req.clientKey));
tryState(Request.FAILED);
}
return;
}
Index: src/freenet/client/FCPClient.java
===================================================================
RCS file: /cvsroot/freenet/freenet/src/freenet/client/FCPClient.java,v
retrieving revision 1.3
diff -c -r1.3 FCPClient.java
*** src/freenet/client/FCPClient.java 7 Feb 2002 04:08:36 -0000 1.3
--- src/freenet/client/FCPClient.java 25 Jul 2002 02:01:54 -0000
***************
*** 562,569 ****
FreenetURI uri = new FreenetURI(m.fs.get("URI"));
req.clientKey =
AbstractClientKey.createFromRequestURI(uri);
req.produceEvent(new GeneratedURIEvent("Insert URI",
uri));
! req.produceEvent(new CollisionEvent(req.clientKey));
! tryState(Request.FAILED);
return;
}
else if (m.messageType.equals("URIError")) {
--- 562,573 ----
FreenetURI uri = new FreenetURI(m.fs.get("URI"));
req.clientKey =
AbstractClientKey.createFromRequestURI(uri);
req.produceEvent(new GeneratedURIEvent("Insert URI",
uri));
!
if ("CHK".equals(uri.getKeyType())) {
!
tryState(Request.DONE);
!
} else {
! req.produceEvent(new CollisionEvent(req.clientKey));
! tryState(Request.FAILED);
!
}
return;
}
else if (m.messageType.equals("URIError")) {
_______________________________________________
devl mailing list
[EMAIL PROTECTED]
http://hawk.freenetproject.org/cgi-bin/mailman/listinfo/devl