Sha256: bcd651c65c4ae3652c8d510dcb490c17cda87efa51891c402c70793c9cda9209

Contents?: true

Size: 1.33 KB

Versions: 22

Compression:

Stored size: 1.33 KB

Contents

module RubySMB
  module SMB2
    module Packet
      # An SMB2 TreeConnectResponse Packet as defined in
      # [2.2.10 SMB2 TREE_CONNECT Response](https://msdn.microsoft.com/en-us/library/cc246499.aspx)
      class TreeConnectResponse < RubySMB::GenericPacket
        COMMAND = RubySMB::SMB2::Commands::TREE_CONNECT

        # Share Types
        # Physical disk share
        SMB2_SHARE_TYPE_DISK  = 0x01
        # Named pipe share
        SMB2_SHARE_TYPE_PIPE  = 0x02
        # Printer share
        SMB2_SHARE_TYPE_PRINT = 0x03

        endian :little
        smb2_header           :smb2_header
        uint16                :structure_size, label: 'Structure Size', initial_value: 16
        uint8                 :share_type,     label: 'Share Type',     initial_value: 0x01
        uint8                 :reserved,       label: 'Reserved Space', initial_value: 0x00
        share_flags           :share_flags
        share_capabilities    :capabilities
        choice                :maximal_access, label: 'Maximal Access', selection: -> { share_type } do
          file_access_mask      SMB2_SHARE_TYPE_PIPE
          file_access_mask      SMB2_SHARE_TYPE_PRINT
          directory_access_mask SMB2_SHARE_TYPE_DISK
        end

        def initialize_instance
          super
          smb2_header.flags.reply = 1
        end

      end
    end
  end
end

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
ruby_smb-3.3.13 lib/ruby_smb/smb2/packet/tree_connect_response.rb
ruby_smb-3.3.12 lib/ruby_smb/smb2/packet/tree_connect_response.rb
ruby_smb-3.3.11 lib/ruby_smb/smb2/packet/tree_connect_response.rb
ruby_smb-3.3.10 lib/ruby_smb/smb2/packet/tree_connect_response.rb
ruby_smb-3.3.9 lib/ruby_smb/smb2/packet/tree_connect_response.rb
ruby_smb-3.3.7 lib/ruby_smb/smb2/packet/tree_connect_response.rb
ruby_smb-3.3.6 lib/ruby_smb/smb2/packet/tree_connect_response.rb
ruby_smb-3.3.5 lib/ruby_smb/smb2/packet/tree_connect_response.rb
ruby_smb-3.3.4 lib/ruby_smb/smb2/packet/tree_connect_response.rb
ruby_smb-3.3.3 lib/ruby_smb/smb2/packet/tree_connect_response.rb
ruby_smb-3.3.2 lib/ruby_smb/smb2/packet/tree_connect_response.rb
ruby_smb-3.3.1 lib/ruby_smb/smb2/packet/tree_connect_response.rb
ruby_smb-3.3.0 lib/ruby_smb/smb2/packet/tree_connect_response.rb
ruby_smb-3.2.8 lib/ruby_smb/smb2/packet/tree_connect_response.rb
ruby_smb-3.2.7 lib/ruby_smb/smb2/packet/tree_connect_response.rb
ruby_smb-3.2.6 lib/ruby_smb/smb2/packet/tree_connect_response.rb
ruby_smb-3.2.5 lib/ruby_smb/smb2/packet/tree_connect_response.rb
ruby_smb-3.2.4 lib/ruby_smb/smb2/packet/tree_connect_response.rb
ruby_smb-3.2.3 lib/ruby_smb/smb2/packet/tree_connect_response.rb
ruby_smb-3.2.2 lib/ruby_smb/smb2/packet/tree_connect_response.rb