Class: RubySMB::SMB2::Packet::TreeConnectResponse

Inherits:
GenericPacket
  • Object
show all
Defined in:
lib/ruby_smb/smb2/packet/tree_connect_response.rb

Overview

An SMB2 TreeConnectResponse Packet as defined in 2.2.10 SMB2 TREE_CONNECT Response

Instance Method Summary collapse

Methods inherited from GenericPacket

describe, #display, #packet_smb_version, #status_code

Instance Method Details

#access_rightsRubySMB::SMB2::BitField::DirectoryAccessMask, RubySMB::SMB2::BitField::FileAccessMask

Returns the ACCESS_MASK for the Maximal Share Access Rights. The packet defaults this to a BitField::DirectoryAccessMask. If it is anything other than a directory that has been connected to, it will re-cast it as a BitField::FileAccessMask

Returns:



29
30
31
32
33
34
35
36
# File 'lib/ruby_smb/smb2/packet/tree_connect_response.rb', line 29

def access_rights
  if is_directory?
    self.maximal_access
  else
    mask = self.maximal_access.to_binary_s
    RubySMB::SMB2::BitField::FileAccessMask.read(mask)
  end
end

#initialize_instanceObject



17
18
19
20
21
# File 'lib/ruby_smb/smb2/packet/tree_connect_response.rb', line 17

def initialize_instance
  super
  smb2_header.command = RubySMB::SMB2::Commands::TREE_CONNECT
  smb2_header.flags.reply = 1
end

#is_directory?Boolean

Checks if the remote Tree is a directory

Returns:

  • (Boolean)


41
42
43
# File 'lib/ruby_smb/smb2/packet/tree_connect_response.rb', line 41

def is_directory?
  self.share_type == 0x01
end