ruby_smb 3.3.1 → 3.3.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e95b5ccfe1d32104083d56e9d1e8e27cc972e242b2446f04d899dcf2498b87c1
4
- data.tar.gz: 3431c8b15b09b6fbd9731a8abaeb236a4386d2b7713cf865dadba2075147989d
3
+ metadata.gz: 5731e815d97e8a27d6b66cc5a6e1e9d174fa4b00310a7c5078d5511e3ad38203
4
+ data.tar.gz: 991b1bc215df449d885b5f87a71899dc8c062b6416c94fd9111027f1aff25cb8
5
5
  SHA512:
6
- metadata.gz: 46e1217a44c2addda983c08e5c0ab50ce344e71a5b31fba18385155cbec795740651f1174261bba03337759309170dffe45563f4aa9e2a1d67289e6638bd1715
7
- data.tar.gz: 6e1a6c65c904cc9026a638e282d606f9079b5f610feceb21c6232caa929ab02749ae05c26e42c73642909c7cbed12c1e35694ec58325ef879ffbd50461de0bd9
6
+ metadata.gz: 40ba754f0c1b64b3e9cd80a86052b8deee3a534676e8cbf31aee537c18dd1d439ac64b9b748e2964b859e2df4a84c75d709e852802b490fba897ec80b4661932
7
+ data.tar.gz: 8c4a38d904e93c97f8822352848853cc6934c4008f3917ec8fcf6d38b715a1ac59302ed129d192fdf54b1ee8faf56eb97dc6d810010c820e21ced7952513411a
checksums.yaml.gz.sig CHANGED
Binary file
@@ -53,11 +53,21 @@ module RubySMB
53
53
  }
54
54
  end
55
55
 
56
+ # @param [Share::Provider::Base] share_provider the share provider to register
56
57
  def add_share(share_provider)
57
58
  logger.debug("Adding #{share_provider.type} share: #{share_provider.name}")
58
59
  @shares[share_provider.name] = share_provider
59
60
  end
60
61
 
62
+ # @param [String, Share::Provider::Base] share_provider the share provider to deregister
63
+ def remove_share(share_provider)
64
+ share_provider = share_provider.name if share_provider.is_a?(RubySMB::Server::Share::Provider::Base)
65
+ logger.debug("Removing share: #{share_provider}")
66
+ @shares.delete(share_provider)
67
+
68
+ nil
69
+ end
70
+
61
71
  # Run the server and accept any connections. For each connection, the block will be executed if specified. When the
62
72
  # block returns false, the loop will exit and the server will no long accept new connections.
63
73
  def run(&block)
@@ -147,10 +147,11 @@ module RubySMB
147
147
  # @raise [RubySMB::Error::InvalidPacket] if the response is not a CreateResponse packet
148
148
  def open_directory(directory: nil, disposition: RubySMB::Dispositions::FILE_OPEN,
149
149
  impersonation: RubySMB::ImpersonationLevels::SEC_IMPERSONATE,
150
- read: true, write: false, delete: false)
150
+ read: true, write: false, delete: false, desired_delete: false)
151
151
 
152
152
  create_request = open_directory_packet(directory: directory, disposition: disposition,
153
- impersonation: impersonation, read: read, write: write, delete: delete)
153
+ impersonation: impersonation, read: read, write: write, delete: delete,
154
+ desired_delete: desired_delete)
154
155
  raw_response = client.send_recv(create_request, encrypt: @tree_connect_encrypt_data)
155
156
  response = RubySMB::SMB2::Packet::CreateResponse.read(raw_response)
156
157
  unless response.valid?
@@ -178,7 +179,7 @@ module RubySMB
178
179
  # @return [RubySMB::SMB2::Packet::CreateRequest] the request packet to send to the server
179
180
  def open_directory_packet(directory: nil, disposition: RubySMB::Dispositions::FILE_OPEN,
180
181
  impersonation: RubySMB::ImpersonationLevels::SEC_IMPERSONATE,
181
- read: true, write: false, delete: false)
182
+ read: true, write: false, delete: false, desired_delete: false)
182
183
  create_request = RubySMB::SMB2::Packet::CreateRequest.new
183
184
  create_request = set_header_fields(create_request)
184
185
 
@@ -189,6 +190,7 @@ module RubySMB
189
190
  create_request.share_access.read_access = 1 if read
190
191
  create_request.share_access.write_access = 1 if write
191
192
  create_request.share_access.delete_access = 1 if delete
193
+ create_request.desired_access.delete_access = 1 if desired_delete
192
194
  create_request.create_disposition = disposition
193
195
 
194
196
  if directory.nil? || directory.empty?
@@ -1,3 +1,3 @@
1
1
  module RubySMB
2
- VERSION = '3.3.1'.freeze
2
+ VERSION = '3.3.3'.freeze
3
3
  end
data/ruby_smb.gemspec CHANGED
@@ -35,7 +35,7 @@ Gem::Specification.new do |spec|
35
35
 
36
36
  spec.add_runtime_dependency 'rubyntlm'
37
37
  spec.add_runtime_dependency 'windows_error', '>= 0.1.4'
38
- spec.add_runtime_dependency 'bindata'
38
+ spec.add_runtime_dependency 'bindata', '2.4.15'
39
39
  spec.add_runtime_dependency 'openssl-ccm'
40
40
  spec.add_runtime_dependency 'openssl-cmac'
41
41
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby_smb
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.3.1
4
+ version: 3.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Metasploit Hackers
@@ -38,7 +38,7 @@ cert_chain:
38
38
  DgscAao7wB3xW2BWEp1KnaDWkf1x9ttgoBEYyuYwU7uatB67kBQG1PKvLt79wHvz
39
39
  Dxs+KOjGbBRfMnPgVGYkORKVrZIwlaboHbDKxcVW5xv+oZc7KYXWGg==
40
40
  -----END CERTIFICATE-----
41
- date: 2023-12-15 00:00:00.000000000 Z
41
+ date: 2024-03-12 00:00:00.000000000 Z
42
42
  dependencies:
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: redcarpet
@@ -142,16 +142,16 @@ dependencies:
142
142
  name: bindata
143
143
  requirement: !ruby/object:Gem::Requirement
144
144
  requirements:
145
- - - ">="
145
+ - - '='
146
146
  - !ruby/object:Gem::Version
147
- version: '0'
147
+ version: 2.4.15
148
148
  type: :runtime
149
149
  prerelease: false
150
150
  version_requirements: !ruby/object:Gem::Requirement
151
151
  requirements:
152
- - - ">="
152
+ - - '='
153
153
  - !ruby/object:Gem::Version
154
- version: '0'
154
+ version: 2.4.15
155
155
  - !ruby/object:Gem::Dependency
156
156
  name: openssl-ccm
157
157
  requirement: !ruby/object:Gem::Requirement
metadata.gz.sig CHANGED
Binary file