xref: /titanic_41/usr/src/lib/libsmbfs/smb/ntlmssp.h (revision c9a6ea2e938727c95af7108c5e00eee4c890c7ae)
1 /*
2  * CDDL HEADER START
3  *
4  * The contents of this file are subject to the terms of the
5  * Common Development and Distribution License (the "License").
6  * You may not use this file except in compliance with the License.
7  *
8  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9  * or http://www.opensolaris.org/os/licensing.
10  * See the License for the specific language governing permissions
11  * and limitations under the License.
12  *
13  * When distributing Covered Code, include this CDDL HEADER in each
14  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15  * If applicable, add the following below this CDDL HEADER, with the
16  * fields enclosed by brackets "[]" replaced with your own identifying
17  * information: Portions Copyright [yyyy] [name of copyright owner]
18  *
19  * CDDL HEADER END
20  */
21 
22 /*
23  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
24  * Use is subject to license terms.
25  */
26 
27 #ifndef _NTLMSSP_H
28 #define	_NTLMSSP_H
29 
30 /*
31  * NT LanMan Security Support Package (NTLMSSP)
32  * Negotiation flags, etc.
33  *
34  * Reference: [MS-NLMP] NT LAN Manager (NTLM)
35  *   Authentication Protocol Specification
36  * http://msdn.microsoft.com/en-us/library/cc236621(PROT.10).aspx
37  */
38 
39 /*
40  * NTLMSSP Negotiate Flags
41  * [MS-NLMP] sec. 2.2.2.5
42  */
43 #define	NTLMSSP_NEGOTIATE_UNICODE			0x00000001
44 #define	NTLMSSP_NEGOTIATE_OEM				0x00000002
45 #define	NTLMSSP_REQUEST_TARGET				0x00000004
46 /*	reserved 					0x00000008 */
47 #define	NTLMSSP_NEGOTIATE_SIGN				0x00000010
48 #define	NTLMSSP_NEGOTIATE_SEAL				0x00000020
49 #define	NTLMSSP_NEGOTIATE_DATAGRAM			0x00000040
50 #define	NTLMSSP_NEGOTIATE_LM_KEY			0x00000080
51 /*	reserved					0x00000100 */
52 #define	NTLMSSP_NEGOTIATE_NTLM				0x00000200
53 #define	NTLMSSP_NEGOTIATE_NT_ONLY			0x00000400
54 /*	old anonymous_session (ignored by servers)	0x00000800 */
55 #define	NTLMSSP_NEGOTIATE_OEM_DOMAIN_SUPPLIED		0x00001000
56 #define	NTLMSSP_NEGOTIATE_OEM_WORKSTATION_SUPPLIED	0x00002000
57 /*	reserved					0x00004000 */
58 #define	NTLMSSP_NEGOTIATE_ALWAYS_SIGN			0x00008000
59 #define	NTLMSSP_TARGET_TYPE_DOMAIN			0x00010000
60 #define	NTLMSSP_TARGET_TYPE_SERVER			0x00020000
61 #define	NTLMSSP_TARGET_TYPE_SHARE			0x00040000
62 #define	NTLMSSP_NEGOTIATE_EXTENDED_SESSIONSECURITY	0x00080000
63 #define	NTLMSSP_NEGOTIATE_IDENTIFY			0x00100000
64 /*	reserved					0x00200000 */
65 #define	NTLMSSP_REQUEST_NON_NT_SESSION_KEY		0x00400000
66 #define	NTLMSSP_NEGOTIATE_TARGET_INFO			0x00800000
67 /*	reserved					0x01000000 */
68 #define	NTLMSSP_NEGOTIATE_VERSION			0x02000000
69 /*	reserved					0x04000000 */
70 /*	reserved					0x08000000 */
71 /*	reserved					0x10000000 */
72 #define	NTLMSSP_NEGOTIATE_128				0x20000000
73 #define	NTLMSSP_NEGOTIATE_KEY_EXCH			0x40000000
74 #define	NTLMSSP_NEGOTIATE_56				0x80000000
75 
76 #endif /* _NTLMSSP_H */
77