[SCM] Samba Shared Repository - branch master updated

Michael Adam obnox at samba.org
Fri Jun 25 10:28:46 MDT 2010


The branch, master has been updated
       via  6d97360... s3:registry: use regdb_store_regdb_version() in regdb_init().
       via  2f44dcc... s3:registry: use regdb_store_regdb_version() in regdb_upgrade_v1_to_v2()
       via  5641ee0... s3:registry: add a function regdb_store_regdb_version()
       via  a9bec6b... s3:registry: rename regdb_upgrade_to_version_2() -> regdb_upgrade_v1_to_v2()
      from  36b95fe... s3:net [rpc] registry: be as user-friendly as possible wrt to the normalization change

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 6d973607c3bfec6d82347727b1bf800348c74202
Author: Michael Adam <obnox at samba.org>
Date:   Fri Jun 25 18:13:06 2010 +0200

    s3:registry: use regdb_store_regdb_version() in regdb_init().

commit 2f44dcc96b5a02379995c8ba6270ff8d89e56953
Author: Michael Adam <obnox at samba.org>
Date:   Fri Jun 25 18:12:28 2010 +0200

    s3:registry: use regdb_store_regdb_version() in regdb_upgrade_v1_to_v2()

commit 5641ee02fdbd768b90ca8de43ce2f14b007e4245
Author: Michael Adam <obnox at samba.org>
Date:   Fri Jun 25 18:11:35 2010 +0200

    s3:registry: add a function regdb_store_regdb_version()

commit a9bec6b779edd2feead5fae5cb25cf1f862eaaf2
Author: Michael Adam <obnox at samba.org>
Date:   Fri Jun 25 18:04:52 2010 +0200

    s3:registry: rename regdb_upgrade_to_version_2() -> regdb_upgrade_v1_to_v2()

-----------------------------------------------------------------------

Summary of changes:
 source3/registry/reg_backend_db.c |   61 ++++++++++++++++++++-----------------
 1 files changed, 33 insertions(+), 28 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/registry/reg_backend_db.c b/source3/registry/reg_backend_db.c
index 9a0e632..a31f7fb 100644
--- a/source3/registry/reg_backend_db.c
+++ b/source3/registry/reg_backend_db.c
@@ -439,10 +439,32 @@ static int regdb_normalize_keynames_fn(struct db_record *rec,
 	return 0;
 }
 
-static WERROR regdb_upgrade_to_version_2(void)
+static WERROR regdb_store_regdb_version(uint32_t version)
+{
+	NTSTATUS status;
+	const char *version_keyname = "INFO/version";
+
+	if (!regdb) {
+		return WERR_CAN_NOT_COMPLETE;
+	}
+
+	status = dbwrap_trans_store_int32(regdb, version_keyname, version);
+	if (!NT_STATUS_IS_OK(status)) {
+		DEBUG(1, ("regdb_init: error storing %s = %d: %s\n",
+			  version_keyname, version, nt_errstr(status)));
+		return ntstatus_to_werror(status);
+	} else {
+		DEBUG(10, ("regdb_init: stored %s = %d\n",
+			  version_keyname, version));
+		return WERR_OK;
+	}
+}
+
+static WERROR regdb_upgrade_v1_to_v2(void)
 {
 	TALLOC_CTX *mem_ctx;
 	int rc;
+	WERROR werr;
 
 	mem_ctx = talloc_stackframe();
 	if (mem_ctx == NULL) {
@@ -452,7 +474,13 @@ static WERROR regdb_upgrade_to_version_2(void)
 	rc = regdb->traverse(regdb, regdb_normalize_keynames_fn, mem_ctx);
 
 	talloc_destroy(mem_ctx);
-	return (rc == -1 ? WERR_REG_IO_FAILURE : WERR_OK);
+
+	if (rc == -1) {
+		return WERR_REG_IO_FAILURE;
+	}
+
+	werr = regdb_store_regdb_version(REGVER_V2);
+	return werr;
 }
 
 /***********************************************************************
@@ -493,23 +521,12 @@ WERROR regdb_init(void)
 
 	vers_id = dbwrap_fetch_int32(regdb, vstring);
 	if (vers_id == -1) {
-		NTSTATUS status;
-
 		DEBUG(10, ("regdb_init: registry version uninitialized "
 			   "(got %d), initializing to version %d\n",
 			   vers_id, expected_version));
 
-		status = dbwrap_trans_store_int32(regdb, vstring, REGVER_V2);
-		if (!NT_STATUS_IS_OK(status)) {
-			DEBUG(1, ("regdb_init: error storing %s = %d: %s\n",
-				  vstring, expected_version, nt_errstr(status)));
-			return ntstatus_to_werror(status);
-		} else {
-			DEBUG(10, ("regdb_init: stored %s = %d\n",
-				  vstring, expected_version));
-		}
-
-		return WERR_OK;
+		werr = regdb_store_regdb_version(expected_version);
+		return werr;
 	}
 
 	if (vers_id > expected_version || vers_id == 0) {
@@ -520,8 +537,6 @@ WERROR regdb_init(void)
 	}
 
 	if (vers_id == REGVER_V1) {
-		NTSTATUS status;
-
 		DEBUG(10, ("regdb_init: got registry db version %d, upgrading "
 			   "to version %d\n", REGVER_V1, REGVER_V2));
 
@@ -529,22 +544,12 @@ WERROR regdb_init(void)
 			return WERR_REG_IO_FAILURE;
 		}
 
-		werr = regdb_upgrade_to_version_2();
+		werr = regdb_upgrade_v1_to_v2();
 		if (!W_ERROR_IS_OK(werr)) {
 			regdb->transaction_cancel(regdb);
 			return werr;
 		}
 
-		status = dbwrap_trans_store_int32(regdb, vstring, REGVER_V2);
-		if (!NT_STATUS_IS_OK(status)) {
-			DEBUG(1, ("regdb_init: error storing %s = %d: %s\n",
-				  vstring, REGVER_V2, nt_errstr(status)));
-			regdb->transaction_cancel(regdb);
-			return ntstatus_to_werror(status);
-		} else {
-			DEBUG(10, ("regdb_init: stored %s = %d\n",
-				  vstring, REGVER_V2));
-		}
 		if (regdb->transaction_commit(regdb) != 0) {
 			return WERR_REG_IO_FAILURE;
 		}


-- 
Samba Shared Repository


More information about the samba-cvs mailing list