On 01/09/15 13:00, Simon Wunderlich wrote: > On Tuesday 01 September 2015 11:00:29 Antonio Quartulli wrote: >> On 26/08/15 16:41, Simon Wunderlich wrote: >>> In the case when a temporary entry is added first and a proper tt entry >>> is added after that, the temporary tt entry is kept in the orig list. >>> However the temporary flag is removed at this point, and therefore the >>> purge function can not find this temporary entry anymore. >> >> When can this really happen? When a temporary client has roamed to a new >> originator before it could be claimed by the first one ? Or are there >> other cases ? I think it is important to make this clear, because the >> original logic was such as the expected behaviour was to receive an ADD >> event from the same originator where the temporary client was seen. >> >> Other than this, the patch looks good. > > I've seen the problem in that problematic case which was fixed in PATCHv1. > Practically, it is unlikely to happen unless there is a malicious attacker or > another bug like the one described earlier - that is, speedy join is triggered > without any actual TT update. > > The main problem I've perceived here was that the TT entry got the temporary > flag removed even if the original sender didn't supply a proper TT > announcement yet. The reason for this was that it got a proper reply from > another orig node. > > The roaming case you've described would also cause the temporary client to be > removed, but might be added later through a ''proper'' TT announcement. > > Do you think I should include any of this in the commit message? I think you should mention something that makes this case "real": I'd just say that it is possible that a client detected behind a given originator moves before an actual claim is made, so triggering this particular configuration. I hope you think this is fine. Cheers, -- Antonio Quartulli