svn commit: samba r2918 - in branches/SAMBA_3_0/source/rpc_server: .

jerry at samba.org jerry at samba.org
Mon Oct 11 20:01:02 GMT 2004


Author: jerry
Date: 2004-10-11 20:01:01 +0000 (Mon, 11 Oct 2004)
New Revision: 2918

WebSVN: http://websvn.samba.org/websvn/changeset.php?rep=samba&path=/branches/SAMBA_3_0/source/rpc_server&rev=2918&nolog=1

Log:
BUG 1907: fix getprinterdriverdir_1().  have to make sure we don't add unnecessary double slashes to the servername
Modified:
   branches/SAMBA_3_0/source/rpc_server/srv_spoolss_nt.c


Changeset:
Modified: branches/SAMBA_3_0/source/rpc_server/srv_spoolss_nt.c
===================================================================
--- branches/SAMBA_3_0/source/rpc_server/srv_spoolss_nt.c	2004-10-11 16:30:14 UTC (rev 2917)
+++ branches/SAMBA_3_0/source/rpc_server/srv_spoolss_nt.c	2004-10-11 20:01:01 UTC (rev 2918)
@@ -7700,13 +7700,22 @@
 	pstring path;
 	pstring long_archi;
 	fstring servername;
+	char *pservername; 
 	const char *short_archi;
 	DRIVER_DIRECTORY_1 *info=NULL;
 
 	unistr2_to_ascii(servername, name, sizeof(servername)-1);
 	unistr2_to_ascii(long_archi, uni_environment, sizeof(long_archi)-1);
+
+	/* check for beginning double '\'s and that the server
+	   long enough */
+
+	pservername = servername;
+	if ( *pservername == '\\' && strlen(servername)>2 ) {
+		pservername += 2;
+	} 
 	
-	if ( !is_myname_or_ipaddr( servername ) )
+	if ( !is_myname_or_ipaddr( pservername ) )
 		return WERR_INVALID_PARAM;
 
 	if (!(short_archi = get_short_archi(long_archi)))
@@ -7715,7 +7724,7 @@
 	if((info=(DRIVER_DIRECTORY_1 *)malloc(sizeof(DRIVER_DIRECTORY_1))) == NULL)
 		return WERR_NOMEM;
 
-	slprintf(path, sizeof(path)-1, "\\\\%s\\print$\\%s", servername, short_archi);
+	slprintf(path, sizeof(path)-1, "\\\\%s\\print$\\%s", pservername, short_archi);
 
 	DEBUG(4,("printer driver directory: [%s]\n", path));
 



More information about the samba-cvs mailing list