Importing netbsd cdb

Baptiste Daroussin bapt at FreeBSD.org
Sun Oct 27 23:26:32 UTC 2013


Hi all

Here is a code that imports the cdbrw from netbsd into a new lib/libcdbrw
library, the read part is also added to libc but not exposed.

As an example of using that library I also got the service_mkdb patches from
netbsd that makes it by default emit a cdb database and add a switch to allow it
to still create the old .db database format.

in the libc, getservent has been modified to first try to read the .cdb files
and fallback on reading the old .db file. (I'm not sure if it is worth keeping
reading the old db format.)

http://people.freebsd.org/~bapt/cdbrw.diff

The plan after that is to get pw_util(3) directly generating a cdb file for
pwd.db and spwd.db and modifiy pwd_mkdb(8) so that by default it uses the API
from pw_util(3) and have a switch to fallback on creating in bdb format.

I also plan to do the same for cap_mkdb(1) and getcap(3).

With cdb querying is way faster (I don't have number but I can get some it
needed)
the size of the db is also way smaller:
 64K   /var/db/services.cdb
 2,1M    /var/db/services.db

Any objection?

regards,
Bapt
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-hackers/attachments/20131028/76d5f6c2/attachment.sig>


More information about the freebsd-hackers mailing list