I think I need the following and probably try to plug this onto my local CVS-repo of Freenet this weekend (otoh, I have to setup a XP machine for an old lady, too...):
I need a mechanism to specify rules *which* of the available nodes my local Freenet-node should connect (otherwise, this will leave nasty entries in the firewall log). To do this in a more general way, I though of this: Let?s take a file in similar format as the seedNodes, but allow regular expressions for hostnames and portnumbers. Whenever the node wants to establish an outgoing connection (or, better: when he throws the dice which node to use) the filter is checked (e.g. only connect to nodes running on port 113,80,8080,22 or in the same subnet). One location for this would be in node/Node.java:sendMessage, right after getting the peer from the nodeRef. Disadvantage: I?d have to throw an exception, so this is overhead. A better way would be to stuff it into the RouteWalker. If there?d be a value for infinite back-off, that would probably be a choice, then all nodeRefs which are unreachable could be stored with infinite backoff, but I?m in no position to implement this (do backed-off nodeRefs get propagated?). So the RouteWalker should just skip those nodes, I gather that findRoutes & TreeRoutingTable/RouteWalker/step-method is the place where I want to implement this check? Currently I?d do it after checking the CP, as my test looks much more expensive. On a related note, I?d like to know if the node relies on the data obtained from the socket (i.e. the peer?s address & port) or if it just accepts the connection and takes those data from the peer?s messages? I?m thinking of putting a proxy between my node and the network, so obviously those connection data would no longer match because the sockets are established from localhost. -- Volker Stolz * vs at foldr.org * PGP + S/MIME _______________________________________________ Devl mailing list Devl at freenetproject.org http://lists.freenetproject.org/mailman/listinfo/devl
