summaryrefslogtreecommitdiff
path: root/usr/src/uts/common
diff options
context:
space:
mode:
authorGordon Ross <gwr@nexenta.com>2019-04-05 23:09:18 -0400
committerGordon Ross <gwr@nexenta.com>2019-04-07 21:37:42 -0400
commit640abd28701e4370024630347e96eb61db782c91 (patch)
treeead4f29c553bf7411febe2581e51c518bb6139f5 /usr/src/uts/common
parent61b1125e034639ef3109056fe0679cfbb4da7e49 (diff)
downloadillumos-joyent-640abd28701e4370024630347e96eb61db782c91.tar.gz
10698 SMB client fails to connect to MacOS server
Reviewed by: Jason King <jason.king@joyent.com> Reviewed by: Toomas Soome <tsoome@me.com> Reviewed by: Gergő Doma <domag02@gmail.com> Approved by: Richard Lowe <richlowe@richlowe.net>
Diffstat (limited to 'usr/src/uts/common')
-rw-r--r--usr/src/uts/common/fs/smbclnt/netsmb/smb_iod.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/usr/src/uts/common/fs/smbclnt/netsmb/smb_iod.c b/usr/src/uts/common/fs/smbclnt/netsmb/smb_iod.c
index 48c8ef591d..a8b050ba29 100644
--- a/usr/src/uts/common/fs/smbclnt/netsmb/smb_iod.c
+++ b/usr/src/uts/common/fs/smbclnt/netsmb/smb_iod.c
@@ -37,7 +37,7 @@
* Use is subject to license terms.
*
* Portions Copyright (C) 2001 - 2013 Apple Inc. All rights reserved.
- * Copyright 2018 Nexenta Systems, Inc. All rights reserved.
+ * Copyright 2019 Nexenta Systems, Inc. All rights reserved.
*/
#ifdef DEBUG
@@ -807,6 +807,13 @@ top:
}
/*
+ * SMB2 Negotiate may return zero credits_granted,
+ * in which case we should assume it granted one.
+ */
+ if (command == SMB2_NEGOTIATE && credits_granted == 0)
+ credits_granted = 1;
+
+ /*
* Apply the credit grant
*/
rw_enter(&vcp->iod_rqlock, RW_WRITER);
@@ -1423,12 +1430,12 @@ nsmb_iod_connect(struct smb_vc *vcp, cred_t *cr)
val = 1;
err = SMB_TRAN_SETPARAM(vcp, SMBTP_TCP_NODELAY, &val);
if (err != 0) {
- cmn_err(CE_NOTE, "iod_connect: setopt TCP_NODELAY, err=%d", err);
+ cmn_err(CE_NOTE, "iod_connect: setopt TCP_NODELAY err=%d", err);
}
val = smb_connect_timeout * 1000;
err = SMB_TRAN_SETPARAM(vcp, SMBTP_TCP_CON_TMO, &val);
if (err != 0) {
- cmn_err(CE_NOTE, "iod_connect: setopt TCP con tmo, err=%d", err);
+ cmn_err(CE_NOTE, "iod_connect: setopt TCP con tmo err=%d", err);
}
/*