svn commit: samba r8507 - branches/SAMBA_3_0/source/rpc_parse trunk/source/rpc_parse

jerry at samba.org jerry at samba.org
Fri Jul 15 18:13:42 GMT 2005


Author: jerry
Date: 2005-07-15 18:13:40 +0000 (Fri, 15 Jul 2005)
New Revision: 8507

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=8507

Log:
BUG 2557: don't give and rpc fault when you get an unsupported SetPrinter() level
Modified:
   branches/SAMBA_3_0/source/rpc_parse/parse_spoolss.c
   trunk/source/rpc_parse/parse_spoolss.c


Changeset:
Modified: branches/SAMBA_3_0/source/rpc_parse/parse_spoolss.c
===================================================================
--- branches/SAMBA_3_0/source/rpc_parse/parse_spoolss.c	2005-07-15 17:38:55 UTC (rev 8506)
+++ branches/SAMBA_3_0/source/rpc_parse/parse_spoolss.c	2005-07-15 18:13:40 UTC (rev 8507)
@@ -3817,6 +3817,22 @@
 		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;

Modified: trunk/source/rpc_parse/parse_spoolss.c
===================================================================
--- trunk/source/rpc_parse/parse_spoolss.c	2005-07-15 17:38:55 UTC (rev 8506)
+++ trunk/source/rpc_parse/parse_spoolss.c	2005-07-15 18:13:40 UTC (rev 8507)
@@ -3817,6 +3817,22 @@
 		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;



More information about the samba-cvs mailing list