tree 56aa7298d6702a3ff427247a37a47ccbf84fa050
parent fa5c812a6bab78a0c0c53ccfeb9393dd3dcaec80
author Willy Tarreau <w@1wt.eu> 1510586169 +0100
committer Willy Tarreau <w@1wt.eu> 1510598049 +0100
encoding latin1

BUG/MAJOR: ebtree/scope: fix insertion and removal of duplicates in scope-aware trees

Commit ca30839 and following ("MINOR: ebtree: implement the scope-aware
functions for eb32") improperly dealt with the scope in duplicate trees.
The insertion was too lenient in that it would always mark the whole
rightmost chain below the insertion point, and the removal could leave
marks of non-existing scopes causing next()/first() to visit the wrong
branch and return NULL.

For insertion, we must only tag the nodes between the head of the dup
tree and the insertion point which is the top of the lowest subtree. For
removal, the new scope must be be calculated by oring the scopes of the
two new branches and is irrelevant to the previous values.

No backport is needed, this is purely 1.8-specific.
