r8507: BUG 2557: don't give and rpc fault when you get an unsupported SetPrinter...
authorGerald Carter <jerry@samba.org>
Fri, 15 Jul 2005 18:13:40 +0000 (18:13 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 16:00:07 +0000 (11:00 -0500)
source/rpc_parse/parse_spoolss.c

index 8050712d978a0329ab9a54ed967d8e85547323eb..2663b09381225a46e60375427cfe7c156eb4f6b0 100644 (file)
@@ -3817,6 +3817,22 @@ BOOL spoolss_io_q_setprinter(const char *desc, SPOOL_Q_SETPRINTER *q_u, prs_stru
                return False;
        if(!prs_uint32("level", ps, depth, &q_u->level))
                return False;
+       
+       /* check for supported levels and structures we know about */
+               
+       switch ( q_u->level ) {
+               case 0:
+               case 2:
+               case 3:
+               case 7:
+                       /* supported levels */
+                       break;
+               default:
+                       DEBUG(0,("spoolss_io_q_setprinter: unsupported printer info level [%d]\n", 
+                               q_u->level));
+                       return True;
+       }
+                       
 
        if(!spool_io_printer_info_level("", &q_u->info, ps, depth))
                return False;