ruby_smb 3.3.2 → 3.3.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/lib/ruby_smb/client.rb +3 -3
- data/lib/ruby_smb/smb2/tree.rb +5 -3
- data/lib/ruby_smb/version.rb +1 -1
- data/ruby_smb.gemspec +1 -1
- data/spec/lib/ruby_smb/client_spec.rb +2 -3
- data.tar.gz.sig +0 -0
- metadata +6 -6
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 856b8696f918533a035d4ad0019e8d6a32b0bb238117cc93c6f25ee320356465
|
4
|
+
data.tar.gz: 452cf8e8c441ae206ac4b5c030110a6f315e5b9c8a905d96b16d38ee33c1d4b3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '08e4cf420f3ea5700d64e0201bf2a131a47d42fb9c20e144f269a431a4e5a8098a610dfcccbc5ec185ebb9b4ef2cbd0ff70cea9fcec37314ee4aa3b819ad16ac'
|
7
|
+
data.tar.gz: b82a62664bd1d1de60c7726dd422e6e7c48aa76acd45b56b06a6e7f5fde7ab78cf86de50f9936b6aef8e6287eaf043d2e55e40918f850f30aa22e7cdd0d50818
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/lib/ruby_smb/client.rb
CHANGED
@@ -578,9 +578,9 @@ module RubySMB
|
|
578
578
|
raw_response = dispatcher.recv_packet
|
579
579
|
rescue RubySMB::Error::CommunicationError => e
|
580
580
|
if encrypt
|
581
|
-
raise
|
582
|
-
"remote host: #{e.message}. The server supports encryption
|
583
|
-
"
|
581
|
+
raise e, "Communication error with the "\
|
582
|
+
"remote host: #{e.message}. The server supports encryption and this error "\
|
583
|
+
"may have been caused by encryption issues, but not always."
|
584
584
|
else
|
585
585
|
raise e
|
586
586
|
end
|
data/lib/ruby_smb/smb2/tree.rb
CHANGED
@@ -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?
|
data/lib/ruby_smb/version.rb
CHANGED
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
|
@@ -471,9 +471,9 @@ RSpec.describe RubySMB::Client do
|
|
471
471
|
it 'raises an EncryptionError exception if an error occurs while receiving the response' do
|
472
472
|
allow(dispatcher).to receive(:recv_packet).and_raise(RubySMB::Error::CommunicationError)
|
473
473
|
expect { client.recv_packet(encrypt: true) }.to raise_error(
|
474
|
-
RubySMB::Error::
|
474
|
+
RubySMB::Error::CommunicationError,
|
475
475
|
'Communication error with the remote host: RubySMB::Error::CommunicationError. '\
|
476
|
-
'The server supports encryption
|
476
|
+
'The server supports encryption and this error may have been caused by encryption issues, but not always.'
|
477
477
|
)
|
478
478
|
end
|
479
479
|
|
@@ -2853,4 +2853,3 @@ RSpec.describe RubySMB::Client do
|
|
2853
2853
|
end
|
2854
2854
|
end
|
2855
2855
|
end
|
2856
|
-
|
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.
|
4
|
+
version: 3.3.4
|
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: 2024-
|
41
|
+
date: 2024-03-20 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:
|
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:
|
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
|