batman-adv: avoid keeping false temporary entry
authorSimon Wunderlich <sw@simonwunderlich.de>
Wed, 2 Sep 2015 18:09:55 +0000 (20:09 +0200)
committerAntonio Quartulli <antonio@meshcoding.com>
Mon, 7 Dec 2015 13:58:14 +0000 (21:58 +0800)
commita6cb390940b622eb0893519a54989222234f7c4b
treef742ae50dd6a45b8ddf0ede8e48db1761e19ea18
parent437bb0e645d9286a97508d24dd9a4a7a7fa86b93
batman-adv: avoid keeping false temporary entry

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.

Therefore, remove the previous temp entry before adding the new proper
one.

This case can happen if a client behind a given originator moves before
the TT announcement is sent out. Other than that, this case can also be
created by bogus or malicious payload frames for VLANs which are not
existent on the sending originator.

Reported-by: Alessandro Bolletta <alessandro@mediaspot.net>
Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
Acked-by: Antonio Quartulli <antonio@meshcoding.com>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Antonio Quartulli <antonio@meshcoding.com>
net/batman-adv/translation-table.c