Database backends - specification and documentation
Harald Barth <[email protected]> Wed, 23 Jan 2019 10:14:07 +0100 (CET)
| Newsgroups | gmane.comp.encryption.kerberos.heimdal.general |
|---|---|
| Message-ID | <[email protected]> |
I must admit that I am _very_ confused about how to select database
backends.
There is one set of how things are named when you run configure and
configure has both the --disable-X-db and the --without-X syntaxes
depending on X. Then you have the --with-db-type-preference as well.
For each possible database backend I'd like to know
1. A long and descriptive name of the database backend,
preferably with a reference where information can
be found about it
2. How to write in configue to turn it on and off. Preferably there
is some consistency in the naming. configure --help says today
(...)
--disable-mdb-db if you don't want LMDB
(...)
--with-db-type-preference=list
specify HDB backend DB type preference as
whitespace-separated list of db1, db3, lmdb, and/or
sqlite
So is it mdb with or without l?
3. The name of the HAVE_XX flag in config.h
4. The name which then shows up in the output of kdc --builtin-hdb
5. The corresponding database type name in
[kdc] database = { dbname = XX:foo }
6. Document what --with-db-type-preference is supposed to change.
7. What default filenames are made in localstatedir for each of the
databases and are any suffixes added to what I specify in
the config file (the dbame foo above)?
Without this it't very hard to get what you want or even know what you
want ;-)
Example:
I configured with:
../heimdal-7.5.0/configure --with-libintl --prefix=/usr/heimdal-7.5.0 --disable-kcm --with-openssl --disable-otp --enable-pthread-support --with-readline --enable-digest --with-ipv6 --enable-kx509 --without-openldap --enable-pk-init --with-x --localstatedir=/var/heimdal --disable-silent-rules --disable-ndbm-db --enable-lmdb-db --without-berkeley-db --without-sqlite3 --with-db-type-preference="lmdb"
I got:
# /usr/heimdal-7.5.0/libexec/kdc --builtin-hdb
builtin hdb backends: mdb:, lmdb:, keytab:, sqlite:
mdb? lmdb? are these synonyms?
I did say --without-sqlite3 and did get sqlite, is that correct?
What is the keytab:?
If I start the kdc it makes a file with .mdb suffix, so now
did I get what I wanted?
Then when I specify to configure --with-XX and configure can not find
XX on the system I compile on, I would prefer an error istead of
an silent ommission of that database type.
Without this, the amount of "magic" to make a KDC is quite high.
Harald.