NegotiateFlags.cs 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. using System;
  2. namespace SMBLibrary.Authentication
  3. {
  4. [Flags]
  5. public enum NegotiateFlags : uint
  6. {
  7. NegotiateUnicode = 0x01, // NTLMSSP_NEGOTIATE_UNICODE
  8. NegotiateOEM = 0x02, // NTLM_NEGOTIATE_OEM
  9. RequestTarget = 0x04, // NTLMSSP_REQUEST_TARGET
  10. NegotiateSign = 0x10, // NTLMSSP_NEGOTIATE_SIGN
  11. NegotiateSeal = 0x20, // NTLMSSP_NEGOTIATE_SEAL
  12. NegotiateDatagram = 0x40, // NTLMSSP_NEGOTIATE_DATAGRAM
  13. /// <summary>
  14. /// NegotiateLanManagerKey and NegotiateExtendedSecurity are mutually exclusive
  15. /// If both are set then NegotiateLanManagerKey must be ignored
  16. /// </summary>
  17. NegotiateLanManagerKey = 0x80, // NTLMSSP_NEGOTIATE_LM_KEY
  18. NegotiateNTLMKey = 0x200, // NTLMSSP_NEGOTIATE_NTLM
  19. //NegotiateNTOnly = 0x400, // Unused, must be clear
  20. /// <summary>
  21. /// If set, the connection SHOULD be anonymous
  22. /// </summary>
  23. NegotiateAnonymous = 0x800,
  24. NegotiateOEMDomainSupplied = 0x1000, // NTLMSSP_NEGOTIATE_OEM_DOMAIN_SUPPLIED
  25. NegotiateOEMWorkstationSupplied = 0x2000, // NTLMSSP_NEGOTIATE_OEM_WORKSTATION_SUPPLIED
  26. NegotiateAlwaysSign = 0x8000, // NTLMSSP_NEGOTIATE_ALWAYS_SIGN
  27. NegotiateTargetTypeDomain = 0x10000, // NTLMSSP_TARGET_TYPE_DOMAIN
  28. NegotiateTargetTypeServer = 0x20000, // NTLMSSP_TARGET_TYPE_SERVER
  29. NegotiateTargetTypeShare = 0x40000, // Unused, must be clear
  30. /// <summary>
  31. /// NegotiateLanManagerKey and NegotiateExtendedSecurity are mutually exclusive
  32. /// If both are set then NegotiateLanManagerKey must be ignored
  33. /// </summary>
  34. NegotiateExtendedSecurity = 0x80000, // NTLMSSP_NEGOTIATE_EXTENDED_SESSIONSECURITY
  35. NegotiateIdentify = 0x100000, // NTLMSSP_NEGOTIATE_IDENTIFY
  36. RequestNonNTSession = 0x400000, // NTLMSSP_REQUEST_NON_NT_SESSION_KEY
  37. NegotiateTargetInfo = 0x800000, // NTLMSSP_NEGOTIATE_TARGET_INFO
  38. NegotiateVersion = 0x2000000, // NTLMSSP_NEGOTIATE_VERSION
  39. Negotiate128 = 0x20000000, // NTLMSSP_NEGOTIATE_128
  40. NegotiateKeyExchange = 0x40000000, // NTLMSSP_NEGOTIATE_KEY_EXCH
  41. Negotiate56 = 0x80000000, // NTLMSSP_NEGOTIATE_56
  42. }
  43. }