Refactor btree recursive traversal code Previous releases had a nonstandard entry point (bt_rseq) into libdb2 to perform recursive traversal of a btree database that might be corrupt so that an operator could attempt data recovery. This entry point became inaccessible to user commands after krb5-1.5 due to integration of the DAL. Refactor the recursive traversal code into the existing btree sequential traversal code, accepting new movement flags R_RNEXT (recursively advance to next item) and R_RPREV. Add commands to the libdb2 btree test program bttest to exercise this functionality. Fix up the existing "rlist" command of bttest to use the updated interface. https://github.com/krb5/krb5/commit/590af488351316b6f4ddb70ce67a2730b4fcc40d Author: Tom Yu Commit: 590af488351316b6f4ddb70ce67a2730b4fcc40d Branch: master src/plugins/kdb/db2/libdb2/btree/bt_seq.c | 489 ++++---------------- src/plugins/kdb/db2/libdb2/btree/extern.h | 9 - src/plugins/kdb/db2/libdb2/include/db.hin | 19 +- src/plugins/kdb/db2/libdb2/libdb.exports | 1 - src/plugins/kdb/db2/libdb2/test/btree.tests/main.c | 56 ++- 5 files changed, 171 insertions(+), 403 deletions(-)