[SCM] Samba Shared Repository - branch v4-0-test updated - release-4-0-0alpha2-797-g5100452

Stefan Metzmacher metze at samba.org
Wed Feb 13 09:45:05 GMT 2008


The branch, v4-0-test has been updated
       via  5100452cf3b3c3c5dcdb77a9efe27e8c506d1d43 (commit)
       via  d6cdddbcf37d120cb365bc7f8188858c8776e2e0 (commit)
      from  36a31f31c4c01f4ebf1359650c497a1ba447e6d0 (commit)

http://gitweb.samba.org/?samba.git;a=shortlog;h=v4-0-test


- Log -----------------------------------------------------------------
commit 5100452cf3b3c3c5dcdb77a9efe27e8c506d1d43
Author: Stefan Metzmacher <metze at samba.org>
Date:   Wed Feb 13 10:41:57 2008 +0100

    idl_types: remove unused lstring
    
    metze

commit d6cdddbcf37d120cb365bc7f8188858c8776e2e0
Author: Stefan Metzmacher <metze at samba.org>
Date:   Wed Feb 13 10:36:49 2008 +0100

    spoolss.idl: improve idl for EnumPrinterData and not use 'lstring' any more
    
    metze

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

Summary of changes:
 source/librpc/idl/idl_types.h |    5 -----
 source/librpc/idl/spoolss.idl |   11 ++++++-----
 source/torture/rpc/spoolss.c  |   22 +++++++++++++++-------
 3 files changed, 21 insertions(+), 17 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/librpc/idl/idl_types.h b/source/librpc/idl/idl_types.h
index 01524c2..9885ca5 100644
--- a/source/librpc/idl/idl_types.h
+++ b/source/librpc/idl/idl_types.h
@@ -10,11 +10,6 @@
 #define STR_UTF8	LIBNDR_FLAG_STR_UTF8
 
 /*
-  a UCS2 string prefixed with [size], 32 bits
-*/
-#define lstring		[flag(STR_SIZE4)] string
-
-/*
   a null terminated UCS2 string
 */
 #define nstring		[flag(STR_NULLTERM)] string
diff --git a/source/librpc/idl/spoolss.idl b/source/librpc/idl/spoolss.idl
index 33b4dba..2144393 100644
--- a/source/librpc/idl/spoolss.idl
+++ b/source/librpc/idl/spoolss.idl
@@ -1407,12 +1407,13 @@ import "security.idl", "winreg.idl";
 	WERROR spoolss_EnumPrinterData(
 		[in,ref] policy_handle *handle,
 		[in]	 uint32 enum_index,
+		[out,ref,size_is(value_offered/2),charset(UTF16)] uint16 *value_name,
 		[in]     uint32 value_offered,
-		[out]	 lstring value_name,
-		[out]	 uint32 value_needed,
-		[out]    uint32 printerdata_type,
-		[out]    DATA_BLOB buffer,
-		[in,out,ref] uint32 *data_size
+		[out,ref] uint32 *value_needed,
+		[out,ref] uint32 *printerdata_type,
+		[out,ref] DATA_BLOB *buffer,
+		[in]	 uint32 data_offered,
+		[out,ref] uint32 *data_needed
 	);
 
 	/******************/
diff --git a/source/torture/rpc/spoolss.c b/source/torture/rpc/spoolss.c
index 23b4aad..4a6ff48 100644
--- a/source/torture/rpc/spoolss.c
+++ b/source/torture/rpc/spoolss.c
@@ -1178,16 +1178,23 @@ static bool test_EnumPrinterData(struct torture_context *tctx, struct dcerpc_pip
 	NTSTATUS status;
 	struct spoolss_EnumPrinterData r;
 
+	ZERO_STRUCT(r);
 	r.in.handle = handle;
 	r.in.enum_index = 0;
 
 	do {
-		uint32_t data_size;
-		
-		r.in.value_offered = 0;
-		data_size = 0;
-		r.in.data_size = &data_size;
-		r.out.data_size = &data_size;
+		uint32_t value_size = 0;
+		uint32_t data_size = 0;
+		uint32_t printerdata_type = 0;
+		DATA_BLOB data = data_blob(NULL,0);
+
+		r.in.value_offered = value_size;
+		r.out.value_needed = &value_size;
+		r.in.data_offered = data_size;
+		r.out.data_needed = &data_size;
+
+		r.out.printerdata_type = &printerdata_type;
+		r.out.buffer = &data;
 
 		torture_comment(tctx, "Testing EnumPrinterData\n");
 
@@ -1195,7 +1202,8 @@ static bool test_EnumPrinterData(struct torture_context *tctx, struct dcerpc_pip
 
 		torture_assert_ntstatus_ok(tctx, status, "EnumPrinterData failed");
 
-		r.in.value_offered = r.out.value_needed;
+		r.in.value_offered = value_size;
+		r.in.data_offered = data_size;
 
 		status = dcerpc_spoolss_EnumPrinterData(p, tctx, &r);
 


-- 
Samba Shared Repository


More information about the samba-cvs mailing list