diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/kdc/ChangeLog | 6 | ||||
| -rw-r--r-- | src/kdc/do_as_req.c | 11 |
2 files changed, 16 insertions, 1 deletions
diff --git a/src/kdc/ChangeLog b/src/kdc/ChangeLog index c1f82bf652..d520a79af3 100644 --- a/src/kdc/ChangeLog +++ b/src/kdc/ChangeLog @@ -1,3 +1,9 @@ + +Thu Aug 17 13:49:14 EDT 1995 Paul Park (pjpark@mit.edu) + * do_as_req.c - Close and re-open the database after performing a + database update. This is the cleanest way to flush out the + update without reorganizing the code. + Wed Aug 16 02:45:19 1995 Chris Provenzano <proven@mit.edu> * do_as_req.c: Pass fds to krb5_lock_file() and krb5_unlock_file() diff --git a/src/kdc/do_as_req.c b/src/kdc/do_as_req.c index 6f3c3d8914..76086e33c5 100644 --- a/src/kdc/do_as_req.c +++ b/src/kdc/do_as_req.c @@ -558,8 +558,17 @@ errout: free(sname); if (c_nprincs) { #ifdef KRBCONF_KDC_MODIFIES_KDB - if (update_client) + if (update_client) { krb5_db_put_principal(kdc_context, &client, &c_nprincs); + /* + * ptooey. We want krb5_db_sync() or something like that. + */ + krb5_db_fini(kdc_context); + if (kdc_active_realm->realm_dbname) + krb5_db_set_name(kdc_active_realm->realm_context, + kdc_active_realm->realm_dbname); + krb5_db_init(kdc_context); + } #endif /* KRBCONF_KDC_MODIFIES_KDB */ krb5_db_free_principal(kdc_context, &client, c_nprincs); } |
