diff options
Diffstat (limited to 'src/lib/kadm5')
-rw-r--r-- | src/lib/kadm5/admin.h | 3 | ||||
-rw-r--r-- | src/lib/kadm5/alt_prof.c | 5 | ||||
-rw-r--r-- | src/lib/kadm5/srv/server_kdb.c | 3 | ||||
-rw-r--r-- | src/lib/kadm5/unit-test/api.2/init-v2.exp | 2 |
4 files changed, 10 insertions, 3 deletions
diff --git a/src/lib/kadm5/admin.h b/src/lib/kadm5/admin.h index 9013305..2817195 100644 --- a/src/lib/kadm5/admin.h +++ b/src/lib/kadm5/admin.h @@ -139,6 +139,7 @@ typedef long kadm5_ret_t; #define KADM5_CONFIG_POLL_TIME 0x04000000 #define KADM5_CONFIG_IPROP_LOGFILE 0x08000000 #define KADM5_CONFIG_IPROP_PORT 0x10000000 +#define KADM5_CONFIG_KVNO 0x20000000 /* * permission bits */ @@ -256,7 +257,7 @@ typedef struct _kadm5_config_params { krb5_flags flags; krb5_key_salt_tuple *keysalts; krb5_int32 num_keysalts; - + krb5_kvno kvno; bool_t iprop_enabled; uint32_t iprop_ulogsize; krb5_deltat iprop_poll_time; diff --git a/src/lib/kadm5/alt_prof.c b/src/lib/kadm5/alt_prof.c index c8bc6b0..cfcbd79 100644 --- a/src/lib/kadm5/alt_prof.c +++ b/src/lib/kadm5/alt_prof.c @@ -501,6 +501,11 @@ krb5_error_code kadm5_get_config_params(context, use_kdc_config, params.realm = lrealm; params.mask |= KADM5_CONFIG_REALM; } + + if (params_in->mask & KADM5_CONFIG_KVNO) { + params.kvno = params_in->kvno; + params.mask |= KADM5_CONFIG_KVNO; + } /* * XXX These defaults should to work on both client and * server. kadm5_get_config_params can be implemented as a diff --git a/src/lib/kadm5/srv/server_kdb.c b/src/lib/kadm5/srv/server_kdb.c index 700b53a..836cd00 100644 --- a/src/lib/kadm5/srv/server_kdb.c +++ b/src/lib/kadm5/srv/server_kdb.c @@ -54,6 +54,7 @@ krb5_error_code kdb_init_master(kadm5_server_handle_t handle, master_keyblock.enctype, from_kbd, FALSE /* only prompt once */, handle->params.stash_file, + NULL /* don't care about kvno */, NULL /* I'm not sure about this, but it's what the kdc does --marc */, &master_keyblock); @@ -61,7 +62,7 @@ krb5_error_code kdb_init_master(kadm5_server_handle_t handle, goto done; if ((ret = krb5_db_verify_master_key(handle->context, master_princ, - &master_keyblock))) { + IGNORE_VNO, &master_keyblock))) { krb5_db_fini(handle->context); return ret; } diff --git a/src/lib/kadm5/unit-test/api.2/init-v2.exp b/src/lib/kadm5/unit-test/api.2/init-v2.exp index 21f6260..24bfb09 100644 --- a/src/lib/kadm5/unit-test/api.2/init-v2.exp +++ b/src/lib/kadm5/unit-test/api.2/init-v2.exp @@ -147,7 +147,7 @@ proc test108 {} { [config_params {KADM5_CONFIG_MKEY_NAME} does/not/exist] \ $KADM5_STRUCT_VERSION $KADM5_API_VERSION_2 \ server_handle - } "KDB_NOMASTERKEY" + } "KRB5_KDB_CANTREAD_STORED" } if {! $RPC} test108 |