hdb: Remove default HDB backend footgun

Do not allow a change in build configuration time default HDB backend
selection cause existing default HDBs to not be possible to open.

Otherwise such a change will cause a KDC configured to use the default
HDB (i.e., without setting it in the "database" stanza in the "[kdc]"
section of krb5.conf) to not start.
This commit is contained in:
Nicolas Williams
2020-10-02 19:35:14 -05:00
parent 3f7868b969
commit 93ada1fbf6
4 changed files with 188 additions and 98 deletions

View File

@@ -303,6 +303,8 @@ typedef struct HDB {
struct hdb_method {
int version;
unsigned int is_file_based:1;
unsigned int can_taste:1;
krb5_error_code (*init)(krb5_context, void **);
void (*fini)(void *);
const char *prefix;