]> git.ipfire.org Git - thirdparty/krb5.git/commitdiff
* server_kdb.c (kdb_put_entry): Modified to perform the generation
authorMitchell Berger <mitchb@mit.edu>
Thu, 21 Jun 2001 11:05:54 +0000 (11:05 +0000)
committerMitchell Berger <mitchb@mit.edu>
Thu, 21 Jun 2001 11:05:54 +0000 (11:05 +0000)
number update conditional upon success of kdb_put_entry_internal.
(kdb_put_entry_internal): No longer takes incgen argument or updates
generation number.
(kdb_update_generation_number): Changed from using
krb5_dbe_update_generation_number_general to using
krb5_dbe_increment_generation_number_general.  Also uses new calling
sequence for kdb_put_entry_internal.

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/incremental-propagation-branch@13432 dc483132-0cff-0310-8789-dd5450dbe970

src/lib/kadm5/srv/ChangeLog
src/lib/kadm5/srv/server_kdb.c

index 300dad945acbdcbd3e16677ad33a0aff8398c2f4..dd5d8c7e744dd035223bc1b4febe2dea27e6a08a 100644 (file)
@@ -1,3 +1,14 @@
+2001-06-21  Mitchell Berger  <mitchb@mit.edu>
+
+       * server_kdb.c (kdb_put_entry): Modified to perform the generation
+       number update conditional upon success of kdb_put_entry_internal.
+       (kdb_put_entry_internal): No longer takes incgen argument or updates
+       generation number.
+       (kdb_update_generation_number): Changed from using
+       krb5_dbe_update_generation_number_general to using
+       krb5_dbe_increment_generation_number_general.  Also uses new calling
+       sequence for kdb_put_entry_internal.
+
 2001-06-20  Mitchell Berger  <mitchb@mit.edu>
 
        * Makefile.in: Include svr_generation.[co] in the build.
index 980bcff157370fbcde3d4388ba56da3504efd310..44ff75d0e02e1f63f7c1e1ac748fb9837acae350 100644 (file)
@@ -324,12 +324,23 @@ krb5_error_code
 kdb_put_entry(kadm5_server_handle_t handle,
              krb5_db_entry *kdb, osa_princ_ent_rec *adb)
 {
-    return kdb_put_entry_internal(handle, kdb, adb, 1, 1);
+    krb5_error_code ret;
+
+    ret = kdb_put_entry_internal(handle, kdb, adb, 1);
+    if (ret)
+        return(ret);
+
+    /* The update succeeded, so we should update the generation number. */
+    ret = kdb_update_generation_number(handle);
+    if (ret)
+        return(ret);
+
+    return(0);
 }
 
 krb5_error_code
 kdb_put_entry_internal(kadm5_server_handle_t handle,
-                      krb5_db_entry *kdb, osa_princ_ent_rec *adb, int incgen,
+                      krb5_db_entry *kdb, osa_princ_ent_rec *adb,
                       int updatemod)
 {
     krb5_error_code ret;
@@ -371,13 +382,6 @@ kdb_put_entry_internal(kadm5_server_handle_t handle,
     if (ret)
        return(ret);
 
-    if (incgen) {
-        /* The update succeeded, so we should change the generation number */
-        ret = kdb_update_generation_number(handle);
-        if (ret)
-            return(ret);
-    }
-
     return(0);
 }
 
@@ -442,15 +446,17 @@ kdb_update_generation_number(kadm5_server_handle_t handle)
     if (ret)
         return(ret);
 
-    ret = krb5_dbe_update_generation_number_general(handle->context,
-                                                    &master_kdb, NULL);
+    ret = krb5_dbe_increment_generation_number_general(handle->context,
+                                                       &master_kdb);
     if (ret)
         return(ret);
 
     /* Updating the generation number, while a change to the database,
        is not one that should result in updating the generation number
-       again to avoid an infinite loop. */
-    ret = kdb_put_entry_internal(handle, &master_kdb, &master_adb, 0, 0);
+       again to avoid an infinite loop.  Also, though it is changing
+       data associated with the master principal, we don't want to update
+       the master principal's modprinc data because that would be misleading. */
+    ret = kdb_put_entry_internal(handle, &master_kdb, &master_adb, 0);
     if (ret)
         return(ret);