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, fields_hashed, format_field, #packet_smb_version, read, #status_code, walk_fields

Instance Method Details

#access_rights ⇒ RubySMB::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



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

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

#initialize_instance ⇒ Object



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

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



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

def is_directory?
  share_type == 0x01
end