summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGerald Carter <jerry@samba.org>2005-09-27 19:18:20 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 11:04:47 -0500
commita1faaa9e67e1370c780acb249764bd2d16f52c78 (patch)
tree1dc929e83b5f2676fdf95af13098e8b97a02ad17
parenta757c6d57fc5f24951ee00070f9b9471244cef05 (diff)
downloadsamba-a1faaa9e67e1370c780acb249764bd2d16f52c78.tar.gz
samba-a1faaa9e67e1370c780acb249764bd2d16f52c78.tar.bz2
samba-a1faaa9e67e1370c780acb249764bd2d16f52c78.zip
r10554: * BUG 3057: assume x64 drivers are v3 drivers
* BUG 3087: allow smbspool to establisha geust connection using a username with no password (This used to be commit 39369c8041e0633e88c30e0c62530c2393ef80f6)
-rw-r--r--source3/client/smbspool.c12
-rw-r--r--source3/printing/nt_printing.c9
2 files changed, 14 insertions, 7 deletions
diff --git a/source3/client/smbspool.c b/source3/client/smbspool.c
index 5d27fbe4c2..1a3ac06c78 100644
--- a/source3/client/smbspool.c
+++ b/source3/client/smbspool.c
@@ -457,15 +457,15 @@ smb_connect(const char *workgroup, /* I - Workgroup */
get_myname(myname);
- if ( (username) && ( *username ) && (password) && (*password) )
+ /* See if we have a username first. This is for backwards compatible
+ behavior with 3.0.14a */
+
+ if ( username && *username )
{
- /*
- * User/password specified in the DEVICE_URI, use those credentials
- * to connect to the server
- */
cli = smb_complete_connection(myname, server, port, username,
password, workgroup, share, 0 );
- if (cli ) { return cli; }
+ if (cli)
+ return cli;
}
/*
diff --git a/source3/printing/nt_printing.c b/source3/printing/nt_printing.c
index f8d9220c05..8061842ad9 100644
--- a/source3/printing/nt_printing.c
+++ b/source3/printing/nt_printing.c
@@ -1386,12 +1386,19 @@ static uint32 get_correct_cversion(const char *architecture, fstring driverpath_
*perr = WERR_INVALID_PARAM;
/* If architecture is Windows 95/98/ME, the version is always 0. */
- if (strcmp(architecture, "WIN40") == 0) {
+ if (strcmp(architecture, SPL_ARCH_WIN40) == 0) {
DEBUG(10,("get_correct_cversion: Driver is Win9x, cversion = 0\n"));
*perr = WERR_OK;
return 0;
}
+ /* If architecture is Windows x64, the version is always 3. */
+ if (strcmp(architecture, SPL_ARCH_X64) == 0) {
+ DEBUG(10,("get_correct_cversion: Driver is x64, cversion = 3\n"));
+ *perr = WERR_OK;
+ return 3;
+ }
+
/*
* Connect to the print$ share under the same account as the user connected
* to the rpc pipe. Note we must still be root to do this.