Module: RubySMB::NTLM

Included in:
Client, Gss::Provider::NTLM
Defined in:
lib/ruby_smb/ntlm.rb,
lib/ruby_smb/ntlm/client.rb

Defined Under Namespace

Classes: Client, OSVersion

Constant Summary collapse

NEGOTIATE_FLAGS =
{
  :UNICODE                  => 1 << 0,
  :OEM                      => 1 << 1,
  :REQUEST_TARGET           => 1 << 2,
  :SIGN                     => 1 << 4,
  :SEAL                     => 1 << 5,
  :DATAGRAM                 => 1 << 6,
  :LAN_MANAGER_KEY          => 1 << 7,
  :NTLM                     => 1 << 9,
  :NT_ONLY                  => 1 << 10,
  :ANONYMOUS                => 1 << 11,
  :OEM_DOMAIN_SUPPLIED      => 1 << 12,
  :OEM_WORKSTATION_SUPPLIED => 1 << 13,
  :ALWAYS_SIGN              => 1 << 15,
  :TARGET_TYPE_DOMAIN       => 1 << 16,
  :TARGET_TYPE_SERVER       => 1 << 17,
  :TARGET_TYPE_SHARE        => 1 << 18,
  :EXTENDED_SECURITY        => 1 << 19,
  :IDENTIFY                 => 1 << 20,
  :NON_NT_SESSION           => 1 << 22,
  :TARGET_INFO              => 1 << 23,
  :VERSION_INFO             => 1 << 25,
  :KEY128                   => 1 << 29,
  :KEY_EXCHANGE             => 1 << 30,
  :KEY56                    => 1 << 31
}.freeze
DEFAULT_CLIENT_FLAGS =
NEGOTIATE_FLAGS[:UNICODE] |
NEGOTIATE_FLAGS[:SIGN] |
NEGOTIATE_FLAGS[:SEAL] |
NEGOTIATE_FLAGS[:REQUEST_TARGET] |
NEGOTIATE_FLAGS[:NTLM] |
NEGOTIATE_FLAGS[:ALWAYS_SIGN] |
NEGOTIATE_FLAGS[:EXTENDED_SECURITY] |
NEGOTIATE_FLAGS[:KEY128] |
NEGOTIATE_FLAGS[:KEY_EXCHANGE] |
NEGOTIATE_FLAGS[:KEY56] |
NEGOTIATE_FLAGS[:TARGET_INFO] |
NEGOTIATE_FLAGS[:VERSION_INFO]