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>
