CVS update: samba/source/tdb

Simo Sorce simo.sorce at
Thu Dec 7 14:45:23 GMT 2000

While testing pdb_tdb with the latest cvs I think I've hit a bug in
when I ask for the users list with pdbedit -l -v I got only one entry.

Looking deeply with ddd I found that the call:
global_tdb_ent.key = tdb_firstkey(global_tdb_ent.passwd_tdb);
in pdb_setsampwent() will not return the first key but the second (check
the passdb.tdb file with ghex) and the next
global_tdb_ent.key = tdb_nextkey (global_tdb_ent.passwd_tdb, global_tdb_ent.key);
call in pdb_getsampwent() will return reporting no other key is found.

Further investigation make me feel there something broken in
tdb_next_lock() or tdb_lock() but can't confirm as my knowledge of tdb.c
code is really small.

btw, I also needed to recreate passdb.tdb uiddb.tdb adn riddb.tdb after I
got merged these changes from cvs as it seem they were not recognized,
is it right?

On Tue, 5 Dec 2000, Jeremy Allison wrote:

> Date:	Tuesday December 5, 2000 @ 14:12
> Author:	jra
> Update of /data/cvs/samba/source/tdb
> In directory samba:/tmp/cvs-serv11545
> Modified Files:
> 	tdb.c tdbtest.c
> Log Message:
> Added sorted freelist neighbour merge code to stop tdb fragmentation.
> This needs TESTING !!! (It passes tdbtest of course :-).
> Jeremy.

Simo Sorce - Integrazione Sistemi Unix/Windows - Politecnico di Milano
E-mail: simo.sorce at 02 2399 2425 - 02 2399 2451
Be happy, use Linux!

More information about the samba-technical mailing list