Optionally prune old keys when setting new keys.
commit579393c8b9951611757f52edc9b519bf153aeec2
authorViktor Dukhovni <viktor@twosigma.com>
Thu, 3 Apr 2014 22:21:05 +0000 (3 22:21 +0000)
committerViktor Dukhovni <postfix-users@dukhovni.org>
Fri, 26 Feb 2016 20:43:12 +0000 (26 15:43 -0500)
treef23d305cc291e5e418e36422e8de2e23bb38d9cc
parent047daa077ac2a93d0d32b0be9acd216db4d3453d
Optionally prune old keys when setting new keys.

When new keys are added (typically via kadm5_setkey_principal_3),
truncate the key history to remove old keys, that is keys older than
the newest key which was in effect prior longer ago than the principal's
maximum ticket lifetime.  This feature is controlled via the "[kadmin]"
section's "prune-key-history" boolean parameter, which defaults to false.

Currently this happens only when kadm5_setkey_principal_3()
is called directly on the server, the client API simulates
kadm5_setkey_principal_3() via a get, update, modify sequence that does
not prune the key history.  The plan is to add a new kadm5 protocol RPC
and convert clients to call that instead.

In setkey_principal_3 seal keys after entry key update

Also, for now, don't check the return value of kadm5_log_modify() in
the new kadm5_s_setkey_principal_3().  This has to be addressed more
globally.

Censor stale keys in kadm5_s_get_principal
12 files changed:
lib/hdb/keys.c
lib/hdb/libhdb-exports.def
lib/hdb/version-script.map
lib/kadm5/Makefile.am
lib/kadm5/ad.c
lib/kadm5/common_glue.c
lib/kadm5/context_s.c
lib/kadm5/get_s.c
lib/kadm5/init_c.c
lib/kadm5/private.h
lib/kadm5/setkey3_s.c [new file with mode: 0644]
lib/krb5/krb5.conf.5