diff options
author | Gordon Ross <gwr@nexenta.com> | 2019-04-05 23:09:18 -0400 |
---|---|---|
committer | Gordon Ross <gwr@nexenta.com> | 2019-04-07 21:37:42 -0400 |
commit | 640abd28701e4370024630347e96eb61db782c91 (patch) | |
tree | ead4f29c553bf7411febe2581e51c518bb6139f5 /usr/src/uts/common | |
parent | 61b1125e034639ef3109056fe0679cfbb4da7e49 (diff) | |
download | illumos-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.c | 13 |
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); } /* |