Kjell Rune Skaaraas (skaaraas at yahoo.no) wrote:

> However, rather than defining it myself
> whenever my IP changes, or running some kind of
> dynamic DNS, applications like mIRC do a server-side
> lookup. How difficult would it be to do the same for
> Freenet?

mjr and I have told Matthew, more than once, that this is going to
be required eventually.  Last time it was brought up, he rejected
it because he was eager to get 0.5.1 released -- fair enough.

It's a protocol change, so it's a fairly significant addition to
the code and must be done with due caution.  Only Ian (and his
hirelings, Matthew and so forth) can make the decisions as to
whether, and when, to make such changes.

Also, the details need to be worked out.  Since there is no central
server, there's no authoritative answer.  Nodes can and will lie
to each other -- we have to assume a hostile environment until
trust is established.

One of the simpler forms of the proposal is this:

 1) New node A starts up, and does not have an IP address in the
    config file.  An IP address or hostname in the config file bypasses
    all this, of course.

 2) A sends requests to B and C (chosen randomly from the routing table)
    saying "what is my IP address?"

 3) A gets responses back and compares them.  If they agree, then we
    assume the response is truthful, and we advertise that IP
    address in subsequent announcements and data source resets.

 4) If the responses do not agree, or do not arrive within a reasonable
    period of time, we go back to step 2.

 5) Until we have established the local IP address, we do not announce,
    and we do not reset the data source.

More complex variations are also possible.

The following must also be noted, because it wasn't known to all the
members of the discussion at the time:

 *) You CANNOT be sure of the ability to connect to your own IP
    address to verify it.  Port forwarding through a NAT is done
    on a per-interface basis.  If a packet comes into the firewall
    from the internal interface, it may or may not be forwarded to
    the Freenet machine correctly, depending on the firewall and
    its configuration.  Therefore, if you can connect to yourself
    on the IP address that the nodes give you, that's great -- but
    failure to do so does NOT invalidate the answer.

-- 
Greg Wooledge                  |   "Truth belongs to everybody."
greg at wooledge.org              |    - The Red Hot Chili Peppers
http://wooledge.org/~greg/     |
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
URL: 
<https://emu.freenetproject.org/pipermail/devl/attachments/20030528/dbab6094/attachment.pgp>

Reply via email to