[SCM] Samba Shared Repository - branch master updated

Michael Adam obnox at samba.org
Thu May 20 16:24:02 MDT 2010


The branch, master has been updated
       via  304271b... s3: registry: add tests with empty valuename
       via  12ce164... s3: registry: let test_setvalue use getvalueraw instead of enumerate
       via  0a17344... s3: registry: fix query empty valuenames
      from  136ea7b... s3-waf: Actually make --with/--without-swat work

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


- Log -----------------------------------------------------------------
commit 304271bd8feb77891b57ed4db3b7c4070bfa9a1f
Author: Gregor Beck <gbeck at sernet.de>
Date:   Wed May 19 11:37:23 2010 +0200

    s3: registry: add tests with empty valuename
    
    Signed-off-by: Michael Adam <obnox at samba.org>

commit 12ce1643849a4cbbf1435d4f9ab7b1a951f86d07
Author: Gregor Beck <gbeck at sernet.de>
Date:   Wed May 19 12:20:10 2010 +0200

    s3: registry: let test_setvalue use getvalueraw instead of enumerate
    
    simplifies code, prerequisite to handle empty valuenames
    
    Signed-off-by: Michael Adam <obnox at samba.org>

commit 0a173444ac7bba8d69bbc80792215930ce65fdc3
Author: Gregor Beck <gbeck at sernet.de>
Date:   Wed May 19 11:16:54 2010 +0200

    s3: registry: fix query empty valuenames
    
    Remove a check introduced with commit 80c2446321c519797a57b8006942a983f8481d79
    wich causes queries for values with empty name to fail. Empty valuenames are
    used for the so called default value of a key.
    
    Signed-off-by: Michael Adam <obnox at samba.org>

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

Summary of changes:
 source3/registry/reg_backend_db.c         |    2 +-
 source3/script/tests/test_net_registry.sh |   64 +++++++++++++---------------
 2 files changed, 31 insertions(+), 35 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/registry/reg_backend_db.c b/source3/registry/reg_backend_db.c
index 89a6e95..278359f 100644
--- a/source3/registry/reg_backend_db.c
+++ b/source3/registry/reg_backend_db.c
@@ -1560,7 +1560,7 @@ static int regdb_unpack_values(struct regval_ctr *values, uint8 *buf, int buflen
 
 		/* add the new value. Paranoid protective code -- make sure data_p is valid */
 
-		if (*valuename && size && data_p) {
+		if (size && data_p) {
 			regval_ctr_addvalue(values, valuename, type,
 					(const char *)data_p, size);
 		}
diff --git a/source3/script/tests/test_net_registry.sh b/source3/script/tests/test_net_registry.sh
index 52a78bc..2419263 100755
--- a/source3/script/tests/test_net_registry.sh
+++ b/source3/script/tests/test_net_registry.sh
@@ -237,7 +237,7 @@ test_deletekey_with_subkey()
 test_setvalue()
 {
 	KEY="$1"
-	VALNAME="$2"
+	VALNAME="${2#_}"
 	VALTYPE="$3"
 	VALVALUE="$4"
 
@@ -248,7 +248,7 @@ test_setvalue()
 		return
 	fi
 
-	OUTPUT=`${NETREG} setvalue ${KEY} ${VALNAME} ${VALTYPE} ${VALVALUE}`
+	OUTPUT=`${NETREG} setvalue ${KEY} "${VALNAME}" ${VALTYPE} ${VALVALUE}`
 	if test "x$?" != "x0" ; then
 		echo "ERROR: failed to set value testval in key ${KEY}"
 		printf "%s\n" "${OUTPUT}"
@@ -256,54 +256,38 @@ test_setvalue()
 		return
 	fi
 
-	OUTPUT=`${NETREG} enumerate ${KEY}`
+	OUTPUT=`${NETREG} getvalueraw ${KEY} "${VALNAME}"`
 	if test "x$?" != "x0" ; then
-		echo "ERROR: failure calling enumerate for key ${KEY}"
+		echo "ERROR: failure calling getvalueraw for key ${KEY}"
 		echo output:
 		printf "%s\n" "${OUTPUT}"
 		false
 		return
 	fi
 
-	printf "%s\n" "$OUTPUT" | {
-	FOUND=0
-	while read LINE ; do
-		SEARCH1=`echo $LINE | grep '^Valuename' | grep ${VALNAME}`
-		if test "x$?" = "x0" ; then
-			read LINE
-			read LINE
-			SEARCH2=`echo $LINE | grep '^Value ' | grep ${VALVALUE}`
-			if test "x$?" = "x0" ; then
-				FOUND=1
-				break
-			fi
-		fi
-	done
-
-	if test "x$FOUND" != "x1" ; then
-		echo "ERROR: did not find value '${VALNAME}' with enumerate"
-		echo "enumerate output:"
-		printf "%s\n" "$OUTPUT"
+	if test "x${OUTPUT}" != "x${VALVALUE}" ; then
+		echo "ERROR: failure retrieving value ${VALNAME} for key ${KEY}"
+		printf "expected: %s\ngot: %s\n" "${VALVALUE}" "${OUTPUT}"
 		false
 		return
 	fi
-	}
+
 }
 
 test_deletevalue()
 {
 	KEY="$1"
-	VALNAME="$2"
+	VALNAME="${2#_}"
 
-	${NETREG} deletevalue ${KEY} ${VALNAME}
+	${NETREG} deletevalue ${KEY} "${VALNAME}"
 }
 
 test_deletevalue_nonexisting()
 {
 	KEY="$1"
-	VALNAME="$2"
+	VALNAME="${2#_}"
 
-	${NETREG} deletevalue ${KEY} ${VALNAME}
+	${NETREG} deletevalue ${KEY} "${VALNAME}"
 	if test "x$?" = "x0" ; then
 		echo "ERROR: succeeded deleting value ${VALNAME}"
 		false
@@ -315,13 +299,13 @@ test_deletevalue_nonexisting()
 test_setvalue_twice()
 {
 	KEY="$1"
-	VALNAME="$2"
+	VALNAME="${2#_}"
 	VALTYPE1="$3"
 	VALVALUE1="$4"
 	VALTYPE2="$5"
 	VALVALUE2="$6"
 
-	OUTPUT=`test_setvalue ${KEY} ${VALNAME} ${VALTYPE1} ${VALVALUE1}`
+	OUTPUT=`test_setvalue ${KEY} _"${VALNAME}" ${VALTYPE1} ${VALVALUE1}`
 	if test "x$?" != "x0" ; then
 		echo "ERROR: first setvalue call failed"
 		printf "%s\n" "$OUTPUT"
@@ -329,7 +313,7 @@ test_setvalue_twice()
 		return
 	fi
 
-	${NETREG} setvalue ${KEY} ${VALNAME} ${VALTYPE2} ${VALVALUE2}
+	${NETREG} setvalue ${KEY} "${VALNAME}" ${VALTYPE2} ${VALVALUE2}
 }
 
 give_administrative_rights()
@@ -418,21 +402,33 @@ testit "delete key with subkey" \
 	failed=`expr $failed + 1`
 
 testit "set value" \
-	test_setvalue HKLM/testkey testval sz moin || \
+	test_setvalue HKLM/testkey _testval sz moin || \
 	failed=`expr $failed + 1`
 
 testit "delete value" \
-	test_deletevalue HKLM/testkey testval || \
+	test_deletevalue HKLM/testkey _testval || \
 	failed=`expr $failed + 1`
 
 testit "delete nonexisting value" \
-	test_deletevalue_nonexisting HKLM/testkey testval || \
+	test_deletevalue_nonexisting HKLM/testkey _testval || \
 	failed=`expr $failed + 1`
 
 testit "set value to different type" \
 	test_setvalue_twice HKLM/testkey testval sz moin dword 42 || \
 	failed=`expr $failed + 1`
 
+testit "set default value" \
+	test_setvalue HKLM/testkey _"" sz 42 || \
+	failed=`expr $failed + 1`
+
+testit "delete default value" \
+	test_deletevalue HKLM/testkey _"" || \
+	failed=`expr $failed + 1`
+
+testit "delete nonexisting default value" \
+	test_deletevalue_nonexisting HKLM/testkey _"" || \
+	failed=`expr $failed + 1`
+
 testit "delete key with value" \
 	test_deletekey HKLM/testkey || \
 	failed=`expr $failed + 1`


-- 
Samba Shared Repository


More information about the samba-cvs mailing list