svn commit: samba r3302 - in branches/SAMBA_4_0/source: librpc/idl
scripting/swig/torture
tpot at samba.org
tpot at samba.org
Thu Oct 28 03:40:36 GMT 2004
Author: tpot
Date: 2004-10-28 03:40:35 +0000 (Thu, 28 Oct 2004)
New Revision: 3302
WebSVN: http://websvn.samba.org/websvn/changeset.php?rep=samba&path=/branches/SAMBA_4_0/source&rev=3302&nolog=1
Log:
The security descriptors in spoolss_PrinterInfo2 and spoolss_PrinterInfo3
need to be marked as subcontext(0).
GetPrinter tests now work for all info levels!
Modified:
branches/SAMBA_4_0/source/librpc/idl/spoolss.idl
branches/SAMBA_4_0/source/scripting/swig/torture/spoolss.py
Changeset:
Modified: branches/SAMBA_4_0/source/librpc/idl/spoolss.idl
===================================================================
--- branches/SAMBA_4_0/source/librpc/idl/spoolss.idl 2004-10-27 22:41:14 UTC (rev 3301)
+++ branches/SAMBA_4_0/source/librpc/idl/spoolss.idl 2004-10-28 03:40:35 UTC (rev 3302)
@@ -123,7 +123,7 @@
[relative] nstring *printprocessor;
[relative] nstring *datatype;
[relative] nstring *parameters;
- [relative] security_descriptor *secdesc;
+ [relative,subcontext(0)] security_descriptor *secdesc;
uint32 attributes;
uint32 priority;
uint32 defaultpriority;
@@ -136,7 +136,7 @@
typedef struct {
uint32 flags;
- security_descriptor secdesc;
+ [subcontext(0)] security_descriptor secdesc;
} spoolss_PrinterInfo3;
typedef struct {
Modified: branches/SAMBA_4_0/source/scripting/swig/torture/spoolss.py
===================================================================
--- branches/SAMBA_4_0/source/scripting/swig/torture/spoolss.py 2004-10-27 22:41:14 UTC (rev 3301)
+++ branches/SAMBA_4_0/source/scripting/swig/torture/spoolss.py 2004-10-28 03:40:35 UTC (rev 3302)
@@ -6,7 +6,8 @@
print 'testing spoolss_OpenPrinterEx(%s)' % printer
r = {}
- r['printername'] = '\\\\win2k3dc\\%s' % printer
+ r['printername'] = '\\\\%s\\%s' % \
+ (dcerpc.dcerpc_server_name(pipe), printer)
r['datatype'] = None
r['devmode_ctr'] = {}
r['devmode_ctr']['size'] = 0
@@ -41,16 +42,16 @@
r = {}
r['handle'] = handle
- for level in [1, 2, 3]:
+ for level in [0, 1, 2, 3, 4, 5, 6, 7]:
+ print 'test_GetPrinter(level = %d)' % level
+
r['level'] = level
r['buffer'] = None
r['buf_size'] = 0
result = dcerpc.spoolss_GetPrinter(pipe, r)
- print result
-
if result['result'] == dcerpc.WERR_INSUFFICIENT_BUFFER:
r['buffer'] = result['buf_size'] * '\x00'
r['buf_size'] = result['buf_size']
@@ -59,7 +60,48 @@
print result
+def test_EnumForms(pipe, handle):
+ print 'testing spoolss_EnumForms'
+
+ r = {}
+ r['handle'] = handle
+ r['level'] = 1
+ r['buffer'] = None
+ r['buf_size'] = 0
+
+ result = dcerpc.spoolss_EnumForms(pipe, r)
+
+ if result['result'] == dcerpc.WERR_INSUFFICIENT_BUFFER:
+ r['buffer'] = result['buf_size'] * '\x00'
+ r['buf_size'] = result['buf_size']
+
+ result = dcerpc.spoolss_EnumForms(pipe, r)
+
+ print result
+
+
+def test_EnumPorts(pipe, handle):
+
+ print 'testing spoolss_EnumPorts'
+
+ r = {}
+ r['handle'] = handle
+ r['level'] = 1
+ r['buffer'] = None
+ r['buf_size'] = 0
+
+ result = dcerpc.spoolss_EnumPorts(pipe, r)
+
+ if result['result'] == dcerpc.WERR_INSUFFICIENT_BUFFER:
+ r['buffer'] = result['buf_size'] * '\x00'
+ r['buf_size'] = result['buf_size']
+
+ result = dcerpc.spoolss_EnumPorts(pipe, r)
+
+ print result
+
+
def test_EnumPrinters(pipe):
print 'testing spoolss_EnumPrinters'
@@ -70,8 +112,10 @@
r['flags'] = 0x02
r['server'] = None
- for level in [1, 2, 4, 5]:
+ for level in [0, 1, 4, 5]:
+ print 'test_EnumPrinters(level = %d)' % level
+
r['level'] = level
r['buf_size'] = 0
r['buffer'] = None
@@ -87,7 +131,10 @@
printers = dcerpc.unmarshall_spoolss_PrinterInfo_array(
result['buffer'], r['level'], result['count'])
- if printer_names is None:
+ from pprint import pprint
+ pprint(printers)
+
+ if level == 1:
printer_names = map(
lambda x: string.split(x['info1']['name'], ',')[0], printers)
More information about the samba-cvs
mailing list