ruby_smb 0.0.20 → 0.0.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +2 -3
- data/examples/pipes.rb +45 -0
- data/lib/ruby_smb/client.rb +25 -3
- data/lib/ruby_smb/client/negotiation.rb +10 -3
- data/lib/ruby_smb/nbss/session_header.rb +3 -3
- data/lib/ruby_smb/smb1.rb +1 -0
- data/lib/ruby_smb/smb1/bit_field.rb +1 -0
- data/lib/ruby_smb/smb1/bit_field/trans_flags.rb +15 -0
- data/lib/ruby_smb/smb1/commands.rb +1 -0
- data/lib/ruby_smb/smb1/packet.rb +1 -0
- data/lib/ruby_smb/smb1/packet/trans.rb +16 -0
- data/lib/ruby_smb/smb1/packet/trans/data_block.rb +49 -0
- data/lib/ruby_smb/smb1/packet/trans/peek_nmpipe_request.rb +24 -0
- data/lib/ruby_smb/smb1/packet/trans/peek_nmpipe_response.rb +59 -0
- data/lib/ruby_smb/smb1/packet/trans/request.rb +50 -0
- data/lib/ruby_smb/smb1/packet/trans/response.rb +46 -0
- data/lib/ruby_smb/smb1/packet/trans/subcommands.rb +11 -0
- data/lib/ruby_smb/smb1/packet/trans2/find_next2_response.rb +1 -1
- data/lib/ruby_smb/smb1/pipe.rb +65 -0
- data/lib/ruby_smb/smb1/tree.rb +8 -1
- data/lib/ruby_smb/smb2.rb +1 -0
- data/lib/ruby_smb/smb2/file.rb +6 -6
- data/lib/ruby_smb/smb2/packet/tree_disconnect_request.rb +1 -0
- data/lib/ruby_smb/smb2/pipe.rb +69 -0
- data/lib/ruby_smb/smb2/tree.rb +11 -1
- data/lib/ruby_smb/version.rb +1 -1
- data/spec/lib/ruby_smb/nbss/session_header_spec.rb +4 -4
- data/spec/lib/ruby_smb/smb1/bit_field/trans_flags_spec.rb +26 -0
- data/spec/lib/ruby_smb/smb1/packet/trans/peek_nmpipe_request_spec.rb +47 -0
- data/spec/lib/ruby_smb/smb1/packet/trans/peek_nmpipe_response_spec.rb +31 -0
- data/spec/lib/ruby_smb/smb1/packet/trans/request_spec.rb +94 -0
- data/spec/lib/ruby_smb/smb1/packet/trans/response_spec.rb +85 -0
- data/spec/lib/ruby_smb/smb1/packet/trans2/open2_response_spec.rb +1 -1
- data/spec/lib/ruby_smb/smb1/pipe_spec.rb +65 -0
- data/spec/lib/ruby_smb/smb2/pipe_spec.rb +64 -0
- metadata +27 -2
- metadata.gz.sig +0 -0
@@ -0,0 +1,85 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
RSpec.describe RubySMB::SMB1::Packet::Trans::Response do
|
4
|
+
subject(:packet) { described_class.new }
|
5
|
+
|
6
|
+
describe '#smb_header' do
|
7
|
+
subject(:header) { packet.smb_header }
|
8
|
+
|
9
|
+
it 'is a standard SMB Header' do
|
10
|
+
expect(header).to be_a RubySMB::SMB1::SMBHeader
|
11
|
+
end
|
12
|
+
|
13
|
+
it 'should have the command set to SMB_COM_NEGOTIATE' do
|
14
|
+
expect(header.command).to eq RubySMB::SMB1::Commands::SMB_COM_TRANSACTION
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'should have the response flag set' do
|
18
|
+
expect(header.flags.reply).to eq 1
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
describe '#parameter_block' do
|
23
|
+
subject(:parameter_block) { packet.parameter_block }
|
24
|
+
|
25
|
+
it 'is a standard ParameterBlock' do
|
26
|
+
expect(parameter_block).to be_a RubySMB::SMB1::ParameterBlock
|
27
|
+
end
|
28
|
+
|
29
|
+
it { is_expected.to respond_to :total_parameter_count }
|
30
|
+
it { is_expected.to respond_to :total_data_count }
|
31
|
+
it { is_expected.to respond_to :parameter_count }
|
32
|
+
it { is_expected.to respond_to :parameter_offset }
|
33
|
+
it { is_expected.to respond_to :parameter_displacement }
|
34
|
+
it { is_expected.to respond_to :data_count }
|
35
|
+
it { is_expected.to respond_to :data_offset }
|
36
|
+
it { is_expected.to respond_to :parameter_displacement }
|
37
|
+
it { is_expected.to respond_to :setup_count }
|
38
|
+
|
39
|
+
describe 'parameter_count' do
|
40
|
+
it 'is a count of bytes in the data_block trans_parameters field' do
|
41
|
+
packet.data_block.trans_parameters = "\x00\x01\x02\x03"
|
42
|
+
expect(parameter_block.parameter_count).to eq 4
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
describe 'parameter_offset' do
|
47
|
+
it ' contains the absolute_offset to the data_block trans_parameters field' do
|
48
|
+
expect(parameter_block.parameter_offset).to eq packet.data_block.trans_parameters.abs_offset
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
describe 'data_count' do
|
53
|
+
it 'is a count of bytes in the data_block trans_data field' do
|
54
|
+
packet.data_block.trans_data = "\x00\x01\x02\x03"
|
55
|
+
expect(parameter_block.data_count).to eq 4
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
describe 'data_offset' do
|
60
|
+
it 'contains the absolute_offset to the data_block trans_data field' do
|
61
|
+
expect(parameter_block.data_offset).to eq packet.data_block.trans_data.abs_offset
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
describe '#data_block' do
|
67
|
+
subject(:data_block) { packet.data_block }
|
68
|
+
|
69
|
+
it 'is a Trans DataBlock' do
|
70
|
+
expect(data_block).to be_a RubySMB::SMB1::Packet::Trans::DataBlock
|
71
|
+
end
|
72
|
+
|
73
|
+
it { is_expected.to respond_to :trans_parameters }
|
74
|
+
it { is_expected.to respond_to :trans_data }
|
75
|
+
|
76
|
+
it 'should keep #trans_parameters 4-byte aligned' do
|
77
|
+
expect(data_block.trans_parameters.abs_offset % 4).to eq 0
|
78
|
+
end
|
79
|
+
|
80
|
+
it 'should keep #trans_data 4-byte aligned' do
|
81
|
+
data_block.trans_parameters = 'a'
|
82
|
+
expect(data_block.trans_data.abs_offset % 4).to eq 0
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
@@ -10,7 +10,7 @@ RSpec.describe RubySMB::SMB1::Packet::Trans2::Open2Response do
|
|
10
10
|
expect(header).to be_a RubySMB::SMB1::SMBHeader
|
11
11
|
end
|
12
12
|
|
13
|
-
it 'should have the command set to
|
13
|
+
it 'should have the command set to SMB_COM_TRANSACTION2' do
|
14
14
|
expect(header.command).to eq RubySMB::SMB1::Commands::SMB_COM_TRANSACTION2
|
15
15
|
end
|
16
16
|
|
@@ -0,0 +1,65 @@
|
|
1
|
+
RSpec.describe RubySMB::SMB1::Pipe do
|
2
|
+
|
3
|
+
let(:peek_nmpipe_response) {
|
4
|
+
packet = RubySMB::SMB1::Packet::Trans::PeekNmpipeResponse.new
|
5
|
+
packet.data_block.trans_parameters.read("\x10\x20\x00\x00\x03\x00")
|
6
|
+
packet
|
7
|
+
}
|
8
|
+
|
9
|
+
describe RubySMB::SMB1::Pipe do
|
10
|
+
it { expect(described_class).to be < RubySMB::SMB1::File }
|
11
|
+
end
|
12
|
+
|
13
|
+
let(:dispatcher) { RubySMB::Dispatcher::Socket.new(double('socket')) }
|
14
|
+
let(:client) { RubySMB::Client.new(dispatcher, username: 'msfadmin', password: 'msfadmin') }
|
15
|
+
let(:connect_response) {
|
16
|
+
packet = RubySMB::SMB1::Packet::TreeConnectResponse.new
|
17
|
+
packet.smb_header.tid = 2051
|
18
|
+
packet.parameter_block.guest_access_rights.read("\xff\x01\x1f\x00")
|
19
|
+
packet.parameter_block.access_rights.read("\xff\x01\x1f\x01")
|
20
|
+
packet
|
21
|
+
}
|
22
|
+
let(:tree) { RubySMB::SMB1::Tree.new(client: client, share: '\\1.2.3.4\IPC$', response: connect_response) }
|
23
|
+
let(:nt_create_andx_response) {
|
24
|
+
response = RubySMB::SMB1::Packet::NtCreateAndxResponse.new
|
25
|
+
response.parameter_block.ext_file_attributes = { normal: 1 }
|
26
|
+
response.parameter_block.fid = 0x4000
|
27
|
+
response.parameter_block.last_access_time = DateTime.parse("2017-09-20T1:1:1")
|
28
|
+
response.parameter_block.last_change_time = DateTime.parse("2017-09-22T2:2:2")
|
29
|
+
response.parameter_block.last_write_time = DateTime.parse("2017-09-25T3:3:3")
|
30
|
+
response.parameter_block.end_of_file = 53
|
31
|
+
response.parameter_block.allocation_size = 4096
|
32
|
+
response
|
33
|
+
}
|
34
|
+
let(:filename) { 'msf-pipe' }
|
35
|
+
|
36
|
+
subject(:pipe) {
|
37
|
+
described_class.new(tree: tree, response: nt_create_andx_response, name: filename)
|
38
|
+
}
|
39
|
+
|
40
|
+
describe '#peek_available' do
|
41
|
+
it 'reads the correct number of bytes available' do
|
42
|
+
allow(pipe).to receive(:peek) { peek_nmpipe_response }
|
43
|
+
allow(pipe).to receive(:peek_available) { pipe.peek.data_block.trans_parameters.read_data_available }
|
44
|
+
expect(pipe.peek_available).to eq(0x2010)
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
describe '#peek_state' do
|
49
|
+
it 'reads the correct state of the pipe' do
|
50
|
+
allow(pipe).to receive(:peek) { peek_nmpipe_response }
|
51
|
+
allow(pipe).to receive(:peek_state) { pipe.peek.data_block.trans_parameters.pipe_state }
|
52
|
+
expect(pipe.peek_state).to eq(RubySMB::SMB1::Pipe::STATUS_OK)
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
describe '#is_connected?' do
|
57
|
+
it 'identifies that the pipe is connected from the status' do
|
58
|
+
allow(pipe).to receive(:peek) { peek_nmpipe_response }
|
59
|
+
allow(pipe).to receive(:peek_state) { pipe.peek.data_block.trans_parameters.pipe_state }
|
60
|
+
allow(pipe).to receive(:is_connected?) { pipe.peek_state == RubySMB::SMB1::Pipe::STATUS_OK }
|
61
|
+
expect(pipe.is_connected?).to eq(true)
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
end
|
@@ -0,0 +1,64 @@
|
|
1
|
+
RSpec.describe RubySMB::SMB2::Pipe do
|
2
|
+
|
3
|
+
let(:sock) { double('Socket', peeraddr: '192.168.1.5') }
|
4
|
+
let(:dispatcher) { RubySMB::Dispatcher::Socket.new(sock) }
|
5
|
+
|
6
|
+
let(:client) { RubySMB::Client.new(dispatcher, username: 'msfadmin', password: 'msfadmin') }
|
7
|
+
let(:tree_id) { 2049 }
|
8
|
+
let(:path) { '\\192.168.1.1\IPC$' }
|
9
|
+
let(:connect_response) {
|
10
|
+
packet = RubySMB::SMB2::Packet::TreeConnectResponse.new
|
11
|
+
packet.smb2_header.tree_id = tree_id
|
12
|
+
packet.maximal_access.read("\xff\x01\x1f\x00")
|
13
|
+
packet.share_type = 0x01
|
14
|
+
packet
|
15
|
+
}
|
16
|
+
|
17
|
+
let(:tree) { RubySMB::SMB2::Tree.new(client: client, share: path, response: connect_response) }
|
18
|
+
let(:file_id) { RubySMB::Field::Smb2Fileid.read('\x6d\x01\x00\x00\x00\x00\x00\x00\x\x01\x00\x00\x00\xff\xff\xff\xff') }
|
19
|
+
let(:time) { DateTime.now }
|
20
|
+
let(:create_response) {
|
21
|
+
RubySMB::SMB2::Packet::CreateResponse.new(
|
22
|
+
file_id: file_id,
|
23
|
+
end_of_file: 108,
|
24
|
+
allocation_size: 112,
|
25
|
+
last_access: time,
|
26
|
+
last_change: time,
|
27
|
+
last_write: time
|
28
|
+
)
|
29
|
+
}
|
30
|
+
|
31
|
+
let(:ioctl_response) {
|
32
|
+
packet = RubySMB::SMB2::Packet::IoctlResponse.new
|
33
|
+
packet.buffer = "\x03\x00\x00\x00" + "\x10\x20\x30\x40" + "\x00\x00\x00\x00" + "\x00\x00\x00\x00"
|
34
|
+
packet
|
35
|
+
}
|
36
|
+
|
37
|
+
subject(:pipe) { described_class.new(name: 'msf-pipe', response: create_response, tree: tree) }
|
38
|
+
|
39
|
+
describe '#peek_available' do
|
40
|
+
it 'reads the correct number of bytes available' do
|
41
|
+
allow(pipe).to receive(:peek) { ioctl_response }
|
42
|
+
allow(pipe).to receive(:peek_available) { pipe.peek.buffer.unpack('VV')[1] }
|
43
|
+
expect(pipe.peek_available).to eq(0x40302010)
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
describe '#peek_state' do
|
48
|
+
it 'reads the correct state of the pipe' do
|
49
|
+
allow(pipe).to receive(:peek) { ioctl_response }
|
50
|
+
allow(pipe).to receive(:peek_state) { pipe.peek.buffer.unpack('V')[0] }
|
51
|
+
expect(pipe.peek_state).to eq(RubySMB::SMB2::Pipe::STATUS_CONNECTED)
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
describe '#is_connected?' do
|
56
|
+
it 'identifies that the pipe is connected from the status' do
|
57
|
+
allow(pipe).to receive(:peek) { ioctl_response }
|
58
|
+
allow(pipe).to receive(:peek_state) { pipe.peek.buffer.unpack('V')[0] }
|
59
|
+
allow(pipe).to receive(:is_connected?) { pipe.peek_state == RubySMB::SMB2::Pipe::STATUS_CONNECTED }
|
60
|
+
expect(pipe.is_connected?).to eq(true)
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
end
|
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: 0.0.
|
4
|
+
version: 0.0.21
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Maloney
|
@@ -89,7 +89,7 @@ cert_chain:
|
|
89
89
|
G+Hmcg1v810agasPdoydE0RTVZgEOOMoQ07qu7JFXVWZ9ZQpHT7qJATWL/b2csFG
|
90
90
|
8mVuTXnyJOKRJA==
|
91
91
|
-----END CERTIFICATE-----
|
92
|
-
date: 2018-
|
92
|
+
date: 2018-03-05 00:00:00.000000000 Z
|
93
93
|
dependencies:
|
94
94
|
- !ruby/object:Gem::Dependency
|
95
95
|
name: redcarpet
|
@@ -229,6 +229,7 @@ files:
|
|
229
229
|
- examples/negotiate.rb
|
230
230
|
- examples/negotiate_with_netbios_service.rb
|
231
231
|
- examples/net_share_enum_all.rb
|
232
|
+
- examples/pipes.rb
|
232
233
|
- examples/read_file.rb
|
233
234
|
- examples/rename_file.rb
|
234
235
|
- examples/tree_connect.rb
|
@@ -310,6 +311,7 @@ files:
|
|
310
311
|
- lib/ruby_smb/smb1/bit_field/smb_file_attributes.rb
|
311
312
|
- lib/ruby_smb/smb1/bit_field/smb_nmpipe_status.rb
|
312
313
|
- lib/ruby_smb/smb1/bit_field/trans2_flags.rb
|
314
|
+
- lib/ruby_smb/smb1/bit_field/trans_flags.rb
|
313
315
|
- lib/ruby_smb/smb1/bit_field/tree_connect_flags.rb
|
314
316
|
- lib/ruby_smb/smb1/commands.rb
|
315
317
|
- lib/ruby_smb/smb1/create_actions.rb
|
@@ -342,6 +344,13 @@ files:
|
|
342
344
|
- lib/ruby_smb/smb1/packet/session_setup_legacy_response.rb
|
343
345
|
- lib/ruby_smb/smb1/packet/session_setup_request.rb
|
344
346
|
- lib/ruby_smb/smb1/packet/session_setup_response.rb
|
347
|
+
- lib/ruby_smb/smb1/packet/trans.rb
|
348
|
+
- lib/ruby_smb/smb1/packet/trans/data_block.rb
|
349
|
+
- lib/ruby_smb/smb1/packet/trans/peek_nmpipe_request.rb
|
350
|
+
- lib/ruby_smb/smb1/packet/trans/peek_nmpipe_response.rb
|
351
|
+
- lib/ruby_smb/smb1/packet/trans/request.rb
|
352
|
+
- lib/ruby_smb/smb1/packet/trans/response.rb
|
353
|
+
- lib/ruby_smb/smb1/packet/trans/subcommands.rb
|
345
354
|
- lib/ruby_smb/smb1/packet/trans2.rb
|
346
355
|
- lib/ruby_smb/smb1/packet/trans2/data_block.rb
|
347
356
|
- lib/ruby_smb/smb1/packet/trans2/find_first2_request.rb
|
@@ -365,6 +374,7 @@ files:
|
|
365
374
|
- lib/ruby_smb/smb1/packet/write_andx_request.rb
|
366
375
|
- lib/ruby_smb/smb1/packet/write_andx_response.rb
|
367
376
|
- lib/ruby_smb/smb1/parameter_block.rb
|
377
|
+
- lib/ruby_smb/smb1/pipe.rb
|
368
378
|
- lib/ruby_smb/smb1/resource_type.rb
|
369
379
|
- lib/ruby_smb/smb1/smb_header.rb
|
370
380
|
- lib/ruby_smb/smb1/tree.rb
|
@@ -411,6 +421,7 @@ files:
|
|
411
421
|
- lib/ruby_smb/smb2/packet/tree_disconnect_response.rb
|
412
422
|
- lib/ruby_smb/smb2/packet/write_request.rb
|
413
423
|
- lib/ruby_smb/smb2/packet/write_response.rb
|
424
|
+
- lib/ruby_smb/smb2/pipe.rb
|
414
425
|
- lib/ruby_smb/smb2/smb2_header.rb
|
415
426
|
- lib/ruby_smb/smb2/tree.rb
|
416
427
|
- lib/ruby_smb/version.rb
|
@@ -469,6 +480,7 @@ files:
|
|
469
480
|
- spec/lib/ruby_smb/smb1/bit_field/smb_file_attributes_spec.rb
|
470
481
|
- spec/lib/ruby_smb/smb1/bit_field/smb_nmpipe_status_spec.rb
|
471
482
|
- spec/lib/ruby_smb/smb1/bit_field/trans2_flags_spec.rb
|
483
|
+
- spec/lib/ruby_smb/smb1/bit_field/trans_flags_spec.rb
|
472
484
|
- spec/lib/ruby_smb/smb1/bit_field/tree_connect_flags_spec.rb
|
473
485
|
- spec/lib/ruby_smb/smb1/data_block_spec.rb
|
474
486
|
- spec/lib/ruby_smb/smb1/dialect_spec.rb
|
@@ -495,6 +507,10 @@ files:
|
|
495
507
|
- spec/lib/ruby_smb/smb1/packet/session_setup_legacy_response_spec.rb
|
496
508
|
- spec/lib/ruby_smb/smb1/packet/session_setup_request_spec.rb
|
497
509
|
- spec/lib/ruby_smb/smb1/packet/session_setup_response_spec.rb
|
510
|
+
- spec/lib/ruby_smb/smb1/packet/trans/peek_nmpipe_request_spec.rb
|
511
|
+
- spec/lib/ruby_smb/smb1/packet/trans/peek_nmpipe_response_spec.rb
|
512
|
+
- spec/lib/ruby_smb/smb1/packet/trans/request_spec.rb
|
513
|
+
- spec/lib/ruby_smb/smb1/packet/trans/response_spec.rb
|
498
514
|
- spec/lib/ruby_smb/smb1/packet/trans2/find_first2_request_spec.rb
|
499
515
|
- spec/lib/ruby_smb/smb1/packet/trans2/find_first2_response_spec.rb
|
500
516
|
- spec/lib/ruby_smb/smb1/packet/trans2/find_information_level/find_file_full_directory_info_spec.rb
|
@@ -514,6 +530,7 @@ files:
|
|
514
530
|
- spec/lib/ruby_smb/smb1/packet/write_andx_request_spec.rb
|
515
531
|
- spec/lib/ruby_smb/smb1/packet/write_andx_response_spec.rb
|
516
532
|
- spec/lib/ruby_smb/smb1/parameter_block_spec.rb
|
533
|
+
- spec/lib/ruby_smb/smb1/pipe_spec.rb
|
517
534
|
- spec/lib/ruby_smb/smb1/smb_header_spec.rb
|
518
535
|
- spec/lib/ruby_smb/smb1/tree_spec.rb
|
519
536
|
- spec/lib/ruby_smb/smb2/bit_field/directory_access_mask_spec.rb
|
@@ -551,6 +568,7 @@ files:
|
|
551
568
|
- spec/lib/ruby_smb/smb2/packet/tree_disconnect_response_spec.rb
|
552
569
|
- spec/lib/ruby_smb/smb2/packet/write_request_spec.rb
|
553
570
|
- spec/lib/ruby_smb/smb2/packet/write_response_spec.rb
|
571
|
+
- spec/lib/ruby_smb/smb2/pipe_spec.rb
|
554
572
|
- spec/lib/ruby_smb/smb2/smb2_header_spec.rb
|
555
573
|
- spec/lib/ruby_smb/smb2/tree_spec.rb
|
556
574
|
- spec/lib/ruby_smb_spec.rb
|
@@ -636,6 +654,7 @@ test_files:
|
|
636
654
|
- spec/lib/ruby_smb/smb1/bit_field/smb_file_attributes_spec.rb
|
637
655
|
- spec/lib/ruby_smb/smb1/bit_field/smb_nmpipe_status_spec.rb
|
638
656
|
- spec/lib/ruby_smb/smb1/bit_field/trans2_flags_spec.rb
|
657
|
+
- spec/lib/ruby_smb/smb1/bit_field/trans_flags_spec.rb
|
639
658
|
- spec/lib/ruby_smb/smb1/bit_field/tree_connect_flags_spec.rb
|
640
659
|
- spec/lib/ruby_smb/smb1/data_block_spec.rb
|
641
660
|
- spec/lib/ruby_smb/smb1/dialect_spec.rb
|
@@ -662,6 +681,10 @@ test_files:
|
|
662
681
|
- spec/lib/ruby_smb/smb1/packet/session_setup_legacy_response_spec.rb
|
663
682
|
- spec/lib/ruby_smb/smb1/packet/session_setup_request_spec.rb
|
664
683
|
- spec/lib/ruby_smb/smb1/packet/session_setup_response_spec.rb
|
684
|
+
- spec/lib/ruby_smb/smb1/packet/trans/peek_nmpipe_request_spec.rb
|
685
|
+
- spec/lib/ruby_smb/smb1/packet/trans/peek_nmpipe_response_spec.rb
|
686
|
+
- spec/lib/ruby_smb/smb1/packet/trans/request_spec.rb
|
687
|
+
- spec/lib/ruby_smb/smb1/packet/trans/response_spec.rb
|
665
688
|
- spec/lib/ruby_smb/smb1/packet/trans2/find_first2_request_spec.rb
|
666
689
|
- spec/lib/ruby_smb/smb1/packet/trans2/find_first2_response_spec.rb
|
667
690
|
- spec/lib/ruby_smb/smb1/packet/trans2/find_information_level/find_file_full_directory_info_spec.rb
|
@@ -681,6 +704,7 @@ test_files:
|
|
681
704
|
- spec/lib/ruby_smb/smb1/packet/write_andx_request_spec.rb
|
682
705
|
- spec/lib/ruby_smb/smb1/packet/write_andx_response_spec.rb
|
683
706
|
- spec/lib/ruby_smb/smb1/parameter_block_spec.rb
|
707
|
+
- spec/lib/ruby_smb/smb1/pipe_spec.rb
|
684
708
|
- spec/lib/ruby_smb/smb1/smb_header_spec.rb
|
685
709
|
- spec/lib/ruby_smb/smb1/tree_spec.rb
|
686
710
|
- spec/lib/ruby_smb/smb2/bit_field/directory_access_mask_spec.rb
|
@@ -718,6 +742,7 @@ test_files:
|
|
718
742
|
- spec/lib/ruby_smb/smb2/packet/tree_disconnect_response_spec.rb
|
719
743
|
- spec/lib/ruby_smb/smb2/packet/write_request_spec.rb
|
720
744
|
- spec/lib/ruby_smb/smb2/packet/write_response_spec.rb
|
745
|
+
- spec/lib/ruby_smb/smb2/pipe_spec.rb
|
721
746
|
- spec/lib/ruby_smb/smb2/smb2_header_spec.rb
|
722
747
|
- spec/lib/ruby_smb/smb2/tree_spec.rb
|
723
748
|
- spec/lib/ruby_smb_spec.rb
|
metadata.gz.sig
CHANGED
Binary file
|