[SCM] Samba Shared Repository - branch v3-6-test updated

Jeremy Allison jra at samba.org
Mon Mar 14 17:13:56 MDT 2011


The branch, v3-6-test has been updated
       via  5f2aeb6 Re-enable base.tcondev test for S3, now we pass it correctly. (cherry picked from commit 349731fd32910e85558be1af645f891edd005a80)
       via  75ded34 Fix bug #8005 - smbtorture4 BASE-TCONDEV fails when tested on Samba
      from  059ee631 s3: Fix the talloc hierarchy in shadow_copy2_connectpath

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-6-test


- Log -----------------------------------------------------------------
commit 5f2aeb6573de5f0df62ec773697901937494eb8e
Author: Jeremy Allison <jra at samba.org>
Date:   Mon Mar 14 16:05:55 2011 -0700

    Re-enable base.tcondev test for S3, now we pass it correctly.
    (cherry picked from commit 349731fd32910e85558be1af645f891edd005a80)

commit 75ded3491c11495cc106ba4f9f03a043a685d319
Author: Jeremy Allison <jra at samba.org>
Date:   Mon Mar 14 16:12:31 2011 -0700

    Fix bug #8005 - smbtorture4 BASE-TCONDEV fails when tested on Samba
    
    When pulling non-aligned ucs2 strings, we neglected to add in the
    pad byte to the buffer length we've eaten. This caused the device
    string in TCONX (which seems to be one of the few places that uses
    non-aligned ucs2 strings) to be incorrectly read.
    
    Volker please check.
    
    Jeremy.
    (cherry picked from commit e59a950c049679f0394ea41b463dbb9837eb5e63)

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

Summary of changes:
 source3/lib/charcnv.c |    8 ++++++--
 source3/selftest/skip |    1 -
 2 files changed, 6 insertions(+), 3 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/lib/charcnv.c b/source3/lib/charcnv.c
index 3b6dfc5..0b12635 100644
--- a/source3/lib/charcnv.c
+++ b/source3/lib/charcnv.c
@@ -1342,6 +1342,7 @@ bool push_utf8_talloc(TALLOC_CTX *ctx, char **dest, const char *src,
 size_t pull_ucs2(const void *base_ptr, char *dest, const void *src, size_t dest_len, size_t src_len, int flags)
 {
 	size_t ret;
+	size_t ucs2_align_len = 0;
 
 	if (dest_len == (size_t)-1) {
 		/* No longer allow dest_len of -1. */
@@ -1359,6 +1360,7 @@ size_t pull_ucs2(const void *base_ptr, char *dest, const void *src, size_t dest_
 		src = (const void *)((const char *)src + 1);
 		if (src_len != (size_t)-1)
 			src_len--;
+		ucs2_align_len = 1;
 	}
 
 	if (flags & STR_TERMINATE) {
@@ -1394,7 +1396,7 @@ size_t pull_ucs2(const void *base_ptr, char *dest, const void *src, size_t dest_
 		dest[0] = 0;
 	}
 
-	return src_len;
+	return src_len + ucs2_align_len;
 }
 
 /**
@@ -1420,6 +1422,7 @@ size_t pull_ucs2_base_talloc(TALLOC_CTX *ctx,
 {
 	char *dest;
 	size_t dest_len;
+	size_t ucs2_align_len = 0;
 
 	*ppdest = NULL;
 
@@ -1438,6 +1441,7 @@ size_t pull_ucs2_base_talloc(TALLOC_CTX *ctx,
 		src = (const void *)((const char *)src + 1);
 		if (src_len != (size_t)-1)
 			src_len--;
+		ucs2_align_len = 1;
 	}
 
 	if (flags & STR_TERMINATE) {
@@ -1503,7 +1507,7 @@ size_t pull_ucs2_base_talloc(TALLOC_CTX *ctx,
 	}
 
 	*ppdest = dest;
-	return src_len;
+	return src_len + ucs2_align_len;
 }
 
 size_t pull_ucs2_fstring(char *dest, const void *src)
diff --git a/source3/selftest/skip b/source3/selftest/skip
index 61fa03a..02166a1 100644
--- a/source3/selftest/skip
+++ b/source3/selftest/skip
@@ -14,7 +14,6 @@ samba3.smbtorture_s3.*.utable
 samba3.smbtorture_s3.*.pipe_number
 samba3.smbtorture_s3.*.CHAIN1
 samba3.*base.charset
-samba3.*base.tcondev
 samba3.*raw.acls
 samba3.*raw.composite
 samba3.*raw.context


-- 
Samba Shared Repository


More information about the samba-cvs mailing list