Class: RubySMB::Server::Share::Provider::Processor::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/ruby_smb/server/share/provider/processor.rb

Overview

A processor is unique to a particular client connection-session combination and provides the share's functionality.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(provider, server_client, session) ⇒ Base



9
10
11
12
13
# File 'lib/ruby_smb/server/share/provider/processor.rb', line 9

def initialize(provider, server_client, session)
  @provider = provider
  @server_client = server_client
  @session = session
end

Instance Attribute Details

#providerRubySMB::Server::Share::Provider::Base



70
71
72
# File 'lib/ruby_smb/server/share/provider/processor.rb', line 70

def provider
  @provider
end

Instance Method Details

#disconnect!Object



25
26
# File 'lib/ruby_smb/server/share/provider/processor.rb', line 25

def disconnect!
end

#do_close_smb2(request) ⇒ Object

Raises:

  • (NotImplementedError)


28
29
30
# File 'lib/ruby_smb/server/share/provider/processor.rb', line 28

def do_close_smb2(request)
  raise NotImplementedError
end

#do_create_smb2(request) ⇒ Object

Raises:

  • (NotImplementedError)


32
33
34
# File 'lib/ruby_smb/server/share/provider/processor.rb', line 32

def do_create_smb2(request)
  raise NotImplementedError
end

#do_ioctl_smb2(request) ⇒ Object



36
37
38
39
40
41
# File 'lib/ruby_smb/server/share/provider/processor.rb', line 36

def do_ioctl_smb2(request)
  response = RubySMB::SMB2::Packet::IoctlResponse.new
  response.smb2_header.nt_status = WindowsError::NTStatus::STATUS_NOT_FOUND
  response.smb2_header.credits = 1
  response
end

#do_query_directory_smb2(request) ⇒ Object

Raises:

  • (NotImplementedError)


43
44
45
# File 'lib/ruby_smb/server/share/provider/processor.rb', line 43

def do_query_directory_smb2(request)
  raise NotImplementedError
end

#do_query_info_smb2(request) ⇒ Object

Raises:

  • (NotImplementedError)


47
48
49
# File 'lib/ruby_smb/server/share/provider/processor.rb', line 47

def do_query_info_smb2(request)
  raise NotImplementedError
end

#do_read_smb2(request) ⇒ Object

Raises:

  • (NotImplementedError)


51
52
53
# File 'lib/ruby_smb/server/share/provider/processor.rb', line 51

def do_read_smb2(request)
  raise NotImplementedError
end

#loggerLogger

The logger object associated with this instance.



59
60
61
# File 'lib/ruby_smb/server/share/provider/processor.rb', line 59

def logger
  @server_client.logger
end

#maximal_access(path = nil) ⇒ RubySMB::SMB2::BitField::FileAccessMask

Get the maximum access that can be obtained for the specified path. If no path is specified, the maximum access for the share as a whole is returned.



21
22
23
# File 'lib/ruby_smb/server/share/provider/processor.rb', line 21

def maximal_access(path=nil)
  RubySMB::SMB2::BitField::FileAccessMask.new
end

#serverObject



63
64
65
# File 'lib/ruby_smb/server/share/provider/processor.rb', line 63

def server
  @server_client.server
end