1 // 2 // Mono.Security.Protocol.Ntlm.NtlmFlags 3 // 4 // Author: 5 // Sebastien Pouliot <sebastien@ximian.com> 6 // 7 // (C) 2003 Motus Technologies Inc. (http://www.motus.com) 8 // (C) 2004 Novell (http://www.novell.com) 9 // 10 // References 11 // a. NTLM Authentication Scheme for HTTP, Ronald Tschalär 12 // http://www.innovation.ch/java/ntlm.html 13 // b. The NTLM Authentication Protocol, Copyright © 2003 Eric Glass 14 // http://davenport.sourceforge.net/ntlm.html 15 // 16 17 // 18 // Permission is hereby granted, free of charge, to any person obtaining 19 // a copy of this software and associated documentation files (the 20 // "Software"), to deal in the Software without restriction, including 21 // without limitation the rights to use, copy, modify, merge, publish, 22 // distribute, sublicense, and/or sell copies of the Software, and to 23 // permit persons to whom the Software is furnished to do so, subject to 24 // the following conditions: 25 // 26 // The above copyright notice and this permission notice shall be 27 // included in all copies or substantial portions of the Software. 28 // 29 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 30 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 31 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 32 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 33 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 34 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 35 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 36 // 37 38 using System; 39 40 namespace Mono.Security.Protocol.Ntlm { 41 42 [Flags] 43 public enum NtlmFlags : int { 44 // The client sets this flag to indicate that it supports Unicode strings. 45 NegotiateUnicode = 0x00000001, 46 // This is set to indicate that the client supports OEM strings. 47 NegotiateOem = 0x00000002, 48 // This requests that the server send the authentication target with the Type 2 reply. 49 RequestTarget = 0x00000004, 50 // Indicates that NTLM authentication is supported. 51 NegotiateNtlm = 0x00000200, 52 // When set, the client will send with the message the name of the domain in which the workstation has membership. 53 NegotiateDomainSupplied = 0x00001000, 54 // Indicates that the client is sending its workstation name with the message. 55 NegotiateWorkstationSupplied = 0x00002000, 56 // Indicates that communication between the client and server after authentication should carry a "dummy" signature. 57 NegotiateAlwaysSign = 0x00008000, 58 // Indicates that this client supports the NTLM2 signing and sealing scheme; if negotiated, this can also affect the response calculations. 59 NegotiateNtlm2Key = 0x00080000, 60 // Indicates that this client supports strong (128-bit) encryption. 61 Negotiate128 = 0x20000000, 62 // Indicates that this client supports medium (56-bit) encryption. 63 Negotiate56 = (unchecked ((int) 0x80000000)) 64 } 65 } 66