It is possible. I believe there are two potential ways to
do this.

One way is to do a kadmin -l dump of the heimdal.db (Berkeley
format) using the BerkeleyDB build, then do a kadmin -l load
of the dump file using a lmdb build of heimdal.

An alternative way is to use the low level DB utilities, i.e.
do a db_dump of the heimdal.db and then a mdb_load of the dump

You will probably need to have the hdb-mdb-mapsize parameter
set appropriately in the [kdc] stanza of the krb5.conf for
the first method to work (the default MDB map size is quite small),
and you will want it in production anyway on any good size heimdal DB.

The low level approach will give you warning about some parameter
(I believe db_pagesize) because db_dump includes it but mdb_load
is not aware of it; that warning is harmless.  You might need to
edit the dump to include a mapsize parameter if it exceeds the
(small) default mapsize.

I believe lmdb is supposed to be less likely to cause data
corruption than BerkeleyDB, but my experience with lmdb is not
long enough to give a personal opinion.  Recent versions of
BerkeleyDB are licensed under GNU Affero GPL; this version of
the GPL extends the "viral nature" of GPL such that you are required
to provide source code on request to anyone using the networked
service.  That probably does not matter if one is using vanilla heimdal
code, but if you have any custom patches or plugins (password quality
checks, etc) that might be an issue.

On Thu, 10 Aug 2017, Gerald Raaf wrote:

Hello list,

is it possible to convert the berkeley database (default in previous
heimdal releases) to lmdb (new default database type).
Did lmdb have any advantages against berkeley db, or should i still use
berkeley database.

Kind Regards
Gerald Raaf

Tom Payerle
DIT-ATI-Research Computing    
4254 Stadium Dr                         (301) 405-6135
University of Maryland
College Park, MD 20742-4111

Reply via email to