svn commit: samba r7614 - in branches/SAMBA_3_0/source: printing rpc_server

jerry at samba.org jerry at samba.org
Wed Jun 15 17:03:36 GMT 2005


Author: jerry
Date: 2005-06-15 17:03:34 +0000 (Wed, 15 Jun 2005)
New Revision: 7614

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

Log:
convert move_driver_to_download_area() to return WERROR in order to provide better error messages to clients when a AddPrinterDriver[Ex]() call fails
Modified:
   branches/SAMBA_3_0/source/printing/nt_printing.c
   branches/SAMBA_3_0/source/rpc_server/srv_spoolss_nt.c


Changeset:
Modified: branches/SAMBA_3_0/source/printing/nt_printing.c
===================================================================
--- branches/SAMBA_3_0/source/printing/nt_printing.c	2005-06-15 16:32:12 UTC (rev 7613)
+++ branches/SAMBA_3_0/source/printing/nt_printing.c	2005-06-15 17:03:34 UTC (rev 7614)
@@ -1561,7 +1561,7 @@
 
 /****************************************************************************
 ****************************************************************************/
-BOOL move_driver_to_download_area(NT_PRINTER_DRIVER_INFO_LEVEL driver_abstract, uint32 level, 
+WERROR move_driver_to_download_area(NT_PRINTER_DRIVER_INFO_LEVEL driver_abstract, uint32 level, 
 				  struct current_user *user, WERROR *perr)
 {
 	NT_PRINTER_DRIVER_INFO_LEVEL_3 *driver;
@@ -1592,7 +1592,7 @@
 		driver = &converted_driver;
 	} else {
 		DEBUG(0,("move_driver_to_download_area: Unknown info level (%u)\n", (unsigned int)level ));
-		return False;
+		return WERR_UNKNOWN_LEVEL;
 	}
 
 	architecture = get_short_archi(driver->environment);
@@ -1611,7 +1611,7 @@
 	if (conn == NULL) {
 		DEBUG(0,("move_driver_to_download_area: Unable to connect\n"));
 		*perr = ntstatus_to_werror(nt_status);
-		return False;
+		return WERR_NO_SUCH_SHARE;
 	}
 
 	/*
@@ -1620,7 +1620,7 @@
 
 	if (!become_user(conn, conn->vuid)) {
 		DEBUG(0,("move_driver_to_download_area: Can't become user!\n"));
-		return False;
+		return WERR_ACCESS_DENIED;
 	}
 
 	/*
@@ -1778,7 +1778,7 @@
 	close_cnum(conn, user->vuid);
 	unbecome_user();
 
-	return ver == -1 ? False : True;
+	return ver != -1 ? WERR_OK : WERR_UNKNOWN_PRINTER_DRIVER;
 }
 
 /****************************************************************************

Modified: branches/SAMBA_3_0/source/rpc_server/srv_spoolss_nt.c
===================================================================
--- branches/SAMBA_3_0/source/rpc_server/srv_spoolss_nt.c	2005-06-15 16:32:12 UTC (rev 7613)
+++ branches/SAMBA_3_0/source/rpc_server/srv_spoolss_nt.c	2005-06-15 17:03:34 UTC (rev 7614)
@@ -7628,9 +7628,7 @@
 		goto done;
 
 	DEBUG(5,("Moving driver to final destination\n"));
-	if(!move_driver_to_download_area(driver, level, &user, &err)) {
-		if (W_ERROR_IS_OK(err))
-			err = WERR_ACCESS_DENIED;
+	if( !W_ERROR_IS_OK(err = move_driver_to_download_area(driver, level, &user, &err)) ) {
 		goto done;
 	}
 



More information about the samba-cvs mailing list