summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGünther Deschner <gd@samba.org>2009-02-19 19:17:19 +0100
committerGünther Deschner <gd@samba.org>2009-02-19 19:20:19 +0100
commite9c42e3c21cdc1fa25a05ef0f2edc4ca9b0b486e (patch)
treeebcf09c5b7727f77a73d308f0dc3385edbdb0fbf
parentebb3b307006d913b943a3cb341b32843e9ac6200 (diff)
downloadsamba-e9c42e3c21cdc1fa25a05ef0f2edc4ca9b0b486e.tar.gz
samba-e9c42e3c21cdc1fa25a05ef0f2edc4ca9b0b486e.tar.bz2
samba-e9c42e3c21cdc1fa25a05ef0f2edc4ca9b0b486e.zip
s3-spoolss: fix _spoolss_GetPrinterDriverDirectory.
treat architecture correctly as it is a [unique] pointer, and newer Windows versions sometimes send in an empty string. Guenther
-rw-r--r--source3/rpc_server/srv_spoolss_nt.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/source3/rpc_server/srv_spoolss_nt.c b/source3/rpc_server/srv_spoolss_nt.c
index 7f4ff97ba8..171953b6ab 100644
--- a/source3/rpc_server/srv_spoolss_nt.c
+++ b/source3/rpc_server/srv_spoolss_nt.c
@@ -8066,15 +8066,20 @@ WERROR _spoolss_addprinterdriverex(pipes_struct *p, SPOOL_Q_ADDPRINTERDRIVEREX *
static WERROR getprinterdriverdir_level_1(TALLOC_CTX *mem_ctx,
const char *servername,
- const char *long_archi,
+ const char *environment,
struct spoolss_DriverDirectoryInfo1 *info1,
uint32_t offered,
uint32_t *needed)
{
char *path = NULL;
const char *pservername = NULL;
+ const char *long_archi = SPOOLSS_ARCHITECTURE_NT_X86;
const char *short_archi;
+ if (environment) {
+ long_archi = environment;
+ }
+
pservername = canon_servername(servername);
if ( !is_myname_or_ipaddr(pservername))