summaryrefslogtreecommitdiff
path: root/usr/src/lib/libsmbfs
diff options
context:
space:
mode:
authorGordon Ross <gwr@nexenta.com>2011-11-15 12:50:57 -0500
committerGordon Ross <gwr@nexenta.com>2011-11-15 12:50:57 -0500
commit427a21b56415a2c5048627d491e6e8da8d953bf1 (patch)
tree00a074bbbc25f434a27cb823563370545e23ccc9 /usr/src/lib/libsmbfs
parenta897f6d2e042f2b384406dc1ec922005859b5f10 (diff)
downloadillumos-joyent-427a21b56415a2c5048627d491e6e8da8d953bf1.tar.gz
1720 join domain fails with INVALID_PARAMETER
Reviewed by: Robert Mustacchi <rm@joyent.com> Reviewed by: Albert Lee <trisk@nexenta.com> Approved by: Garrett D'Amore <garrett@nexenta.com>
Diffstat (limited to 'usr/src/lib/libsmbfs')
-rw-r--r--usr/src/lib/libsmbfs/netsmb/smbfs_api.h2
-rw-r--r--usr/src/lib/libsmbfs/smb/ntlmssp.c6
2 files changed, 7 insertions, 1 deletions
diff --git a/usr/src/lib/libsmbfs/netsmb/smbfs_api.h b/usr/src/lib/libsmbfs/netsmb/smbfs_api.h
index 8987f1a934..bc320ee8ab 100644
--- a/usr/src/lib/libsmbfs/netsmb/smbfs_api.h
+++ b/usr/src/lib/libsmbfs/netsmb/smbfs_api.h
@@ -90,7 +90,7 @@ typedef enum {
#define SMB_AT_NTLM1 4 /* NTLM (v1) */
#define SMB_AT_NTLM2 8 /* NTLMv2 */
#define SMB_AT_KRB5 0x10 /* Kerberos5 (AD) */
-#define SMB_AT_DEFAULT (SMB_AT_KRB5 | SMB_AT_NTLM2 | SMB_AT_NTLM1)
+#define SMB_AT_DEFAULT (SMB_AT_KRB5 | SMB_AT_NTLM2)
struct smb_ctx; /* anonymous here; real one in smb_lib.h */
typedef struct smb_ctx smb_ctx_t;
diff --git a/usr/src/lib/libsmbfs/smb/ntlmssp.c b/usr/src/lib/libsmbfs/smb/ntlmssp.c
index 687d91b355..5766ec835c 100644
--- a/usr/src/lib/libsmbfs/smb/ntlmssp.c
+++ b/usr/src/lib/libsmbfs/smb/ntlmssp.c
@@ -20,6 +20,7 @@
*/
/*
+ * Copyright 2011 Nexenta Systems, Inc. All rights reserved.
* Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
*/
@@ -243,6 +244,11 @@ ntlmssp_put_type1(struct ssp_ctx *sp, struct mbdata *out_mb)
ctx->ct_hflags2 |= SMB_FLAGS2_SECURITY_SIGNATURE;
}
+ if (ctx->ct_authflags & SMB_AT_NTLM2)
+ ssp_st->ss_flags |= NTLMSSP_NEGOTIATE_EXTENDED_SESSIONSECURITY;
+ if (ctx->ct_authflags & SMB_AT_NTLM1)
+ ssp_st->ss_flags |= NTLMSSP_NEGOTIATE_LM_KEY;
+
bcopy(ntlmssp_id, &hdr.h_id, ID_SZ);
hdr.h_type = 1; /* Type 1 */
hdr.h_flags = ssp_st->ss_flags;