[krbdev.mit.edu #8918] git commit

Greg Hudson via RT rt at krbdev.mit.edu
Tue Nov 3 13:14:39 EST 2020


<URL: https://krbdev.mit.edu/rt/Ticket/Display.html?id=8918 >


Avoid using LMDB environments across forks

In krb5kdc and kadmind, reinitialize the DB state after daemonizing,
to prevent using an LMDB environment in a different process than it
was created.  Otherwise the daemon's reader table slot appears to be
stale and can be claimed by another process.

In kadmind, this change means that global_server_handle changes value
after the loop setup.  Add an extra level of pointer indirection so
that the handle passed to the loop remains valid.

kdb_init_hist() is now called twice by kadmind.  Change it to avoid
leaking hist_princ on the second invocation.

(cherry picked from commit 38b98a14433b8858a3ca5979a0afa194df0df1e9)

https://github.com/krb5/krb5/commit/75ae7431dbefc4b2ec082a4cfe3f65749fde0fda
Author: Greg Hudson <ghudson at mit.edu>
Commit: 75ae7431dbefc4b2ec082a4cfe3f65749fde0fda
Branch: krb5-1.17
 src/kadmin/server/misc.c        |    4 ++--
 src/kadmin/server/ovsec_kadmd.c |   15 +++++++++++++--
 src/kadmin/server/schpw.c       |    4 ++--
 src/kdc/main.c                  |   11 +++++++----
 src/lib/kadm5/srv/server_kdb.c  |    2 ++
 5 files changed, 26 insertions(+), 10 deletions(-)



More information about the krb5-bugs mailing list