Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 28 Oct 2013 00:26:28 +0100
From:      Baptiste Daroussin <bapt@FreeBSD.org>
To:        hackers@FreeBSD.org
Subject:   Importing netbsd cdb
Message-ID:  <20131027232628.GB74512@ithaqua.etoilebsd.net>

next in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]
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

[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (FreeBSD)

iEYEARECAAYFAlJtoSQACgkQ8kTtMUmk6EzdcQCeJ0SyBOm02FcjNbq1cOUsyBjF
NgsAn3V5SaFiFsgMKlnK+qczJt5Dq2Rw
=zemp
-----END PGP SIGNATURE-----

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20131027232628.GB74512>