diff options
author | Luke Leighton <lkcl@samba.org> | 2000-05-27 04:51:02 +0000 |
---|---|---|
committer | Luke Leighton <lkcl@samba.org> | 2000-05-27 04:51:02 +0000 |
commit | 3f976e713924a2fa47194ae3edfa3f1592e4cf1c (patch) | |
tree | e0b028f5c3d7d39eab9abcd3b09e27368673e257 /source/rpc_parse/parse_spoolss.c | |
parent | 11010f946af4d60d88bed450692e43c6a7860ab7 (diff) | |
download | samba-3f976e713924a2fa47194ae3edfa3f1592e4cf1c.tar.gz samba-3f976e713924a2fa47194ae3edfa3f1592e4cf1c.tar.xz samba-3f976e713924a2fa47194ae3edfa3f1592e4cf1c.zip |
hack to get setprinter working, level2, null sec desc.
Diffstat (limited to 'source/rpc_parse/parse_spoolss.c')
-rw-r--r-- | source/rpc_parse/parse_spoolss.c | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/source/rpc_parse/parse_spoolss.c b/source/rpc_parse/parse_spoolss.c index c33cf58762b..4148caa7b2d 100644 --- a/source/rpc_parse/parse_spoolss.c +++ b/source/rpc_parse/parse_spoolss.c @@ -2907,6 +2907,8 @@ BOOL spoolss_io_r_setprinter(char *desc, SPOOL_R_SETPRINTER *r_u, prs_struct *ps ********************************************************************/ BOOL spoolss_io_q_setprinter(char *desc, SPOOL_Q_SETPRINTER *q_u, prs_struct *ps, int depth) { + uint32 ptr_sec_desc = 0; + prs_debug(ps, depth, desc, "spoolss_io_q_setprinter"); depth++; @@ -2924,8 +2926,24 @@ BOOL spoolss_io_q_setprinter(char *desc, SPOOL_Q_SETPRINTER *q_u, prs_struct *ps if (!spoolss_io_devmode_cont(desc, &q_u->devmode_ctr, ps, depth)) return False; - if (!sec_io_desc_buf(desc, &q_u->secdesc_ctr, ps, depth)) - return False; + switch (q_u->level) + { + case 2: + { + ptr_sec_desc = q_u->info.info_2->secdesc_ptr; + break; + } + case 3: + { + ptr_sec_desc = q_u->info.info_3->secdesc_ptr; + break; + } + } + if (ptr_sec_desc) + { + if (!sec_io_desc_buf(desc, &q_u->secdesc_ctr, ps, depth)) + return False; + } if(!prs_uint32("command", ps, depth, &q_u->command)) return False; |