ruby_smb 3.1.5 → 3.1.6

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4749ae5185070d44e447593cd863ee5ac17a87468b16b14a251f68e0166b7663
4
- data.tar.gz: b63378e4367136e0c6dffc35aa02b5c5ce1df450d5b64300eaee060e7938e9ec
3
+ metadata.gz: 41dae2cdf118dfda8519ebf1a109c77e9396d9cda01c20e5a45a2fdd222ddb38
4
+ data.tar.gz: 37d8b0d88283c540ee074035cdc2728d9bd4bb2960f1d379d81d1a926cb11aa1
5
5
  SHA512:
6
- metadata.gz: f09557d4ba6148796bb6adf2c1169ebad237f021527975fabb179e1eb2099cfb2c17e45d3b57629c7fc61106092317076e41c77d39f8cb3d4335d280a75e144c
7
- data.tar.gz: e969cc9f474e64e4cf7ba9bcf39e1dfc30b9e365bf6c758abd1e7ff905a6e9a3a8f3c3b33fc88f3104b7998201406d8b78bca34e746c58cfa4c03353bd94f789
6
+ metadata.gz: 1de29406e9e28d9d47dddfaff03d81aeb10aa28c5bb827c3c81e52f6b3d42b302a22143a71c1a89db91968f6b33d2299658bfe04dcf4897e000bc9170c11318c
7
+ data.tar.gz: d2794e3f509f10e98e5914e03e499c4433f2a78070090cefe704528e573c8b50bf049f1bb2a34ff5a63d26af759ad6a24fad83f778064e8c2ab446c7ef2841f8
checksums.yaml.gz.sig CHANGED
Binary file
@@ -0,0 +1,24 @@
1
+ module RubySMB
2
+ module Dcerpc
3
+ module Dfsnm
4
+
5
+ # [3.1.4.4.1 NetrDfsAddStdRoot (Opnum 12)](https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-dfsnm/b18ef17a-7a9c-4e22-b1bf-6a4d07e87b2d)
6
+ class NetrDfsAddStdRootRequest < BinData::Record
7
+ attr_reader :opnum
8
+
9
+ endian :little
10
+
11
+ ndr_conf_var_wide_stringz :server_name
12
+ ndr_conf_var_wide_stringz :root_share
13
+ ndr_conf_var_wide_stringz :comment
14
+ ndr_uint32 :api_flags
15
+
16
+ def initialize_instance
17
+ super
18
+ @opnum = NETR_DFS_ADD_STD_ROOT
19
+ end
20
+ end
21
+
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,21 @@
1
+ module RubySMB
2
+ module Dcerpc
3
+ module Dfsnm
4
+
5
+ # [3.1.4.4.1 NetrDfsAddStdRoot (Opnum 12)](https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-dfsnm/b18ef17a-7a9c-4e22-b1bf-6a4d07e87b2d)
6
+ class NetrDfsAddStdRootResponse < BinData::Record
7
+ attr_reader :opnum
8
+
9
+ endian :little
10
+
11
+ ndr_uint32 :error_status
12
+
13
+ def initialize_instance
14
+ super
15
+ @opnum = NETR_DFS_ADD_STD_ROOT
16
+ end
17
+ end
18
+
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,23 @@
1
+ module RubySMB
2
+ module Dcerpc
3
+ module Dfsnm
4
+
5
+ # [3.1.4.4.2 NetrDfsRemoveStdRoot (Opnum 13)](https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-dfsnm/e9da023d-554a-49bc-837a-69f22d59fd18)
6
+ class NetrDfsRemoveStdRootRequest < BinData::Record
7
+ attr_reader :opnum
8
+
9
+ endian :little
10
+
11
+ ndr_conf_var_wide_stringz :server_name
12
+ ndr_conf_var_wide_stringz :root_share
13
+ ndr_uint32 :api_flags
14
+
15
+ def initialize_instance
16
+ super
17
+ @opnum = NETR_DFS_REMOVE_STD_ROOT
18
+ end
19
+ end
20
+
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,21 @@
1
+ module RubySMB
2
+ module Dcerpc
3
+ module Dfsnm
4
+
5
+ # [3.1.4.4.2 NetrDfsRemoveStdRoot (Opnum 13)](https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-dfsnm/e9da023d-554a-49bc-837a-69f22d59fd18)
6
+ class NetrDfsRemoveStdRootResponse < BinData::Record
7
+ attr_reader :opnum
8
+
9
+ endian :little
10
+
11
+ ndr_uint32 :error_status
12
+
13
+ def initialize_instance
14
+ super
15
+ @opnum = NETR_DFS_REMOVE_STD_ROOT
16
+ end
17
+ end
18
+
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,84 @@
1
+ module RubySMB
2
+ module Dcerpc
3
+ module Dfsnm
4
+
5
+ UUID = '4fc742e0-4a10-11cf-8273-00aa004ae673'
6
+ VER_MAJOR = 3
7
+ VER_MINOR = 0
8
+
9
+ # Operation numbers
10
+ NETR_DFS_ADD_STD_ROOT = 0x000c
11
+ NETR_DFS_REMOVE_STD_ROOT = 0x000d
12
+
13
+ require 'ruby_smb/dcerpc/dfsnm/netr_dfs_add_std_root_request'
14
+ require 'ruby_smb/dcerpc/dfsnm/netr_dfs_add_std_root_response'
15
+ require 'ruby_smb/dcerpc/dfsnm/netr_dfs_remove_std_root_request'
16
+ require 'ruby_smb/dcerpc/dfsnm/netr_dfs_remove_std_root_response'
17
+
18
+ # Create a new stand-alone DFS namespace.
19
+ #
20
+ # @param server_name [String] The host name of the DFS root target.
21
+ # @param root_share [String] The DFS root target share name.
22
+ # @param comment [String] A comment associated with the DFS namespace.
23
+ # @return nothing is returned on success
24
+ # @raise [RubySMB::Dcerpc::Error::InvalidPacket] if the response is not a
25
+ # NetrDfsAddStdRootResponse packet
26
+ # @raise [RubySMB::Dcerpc::Error::DfsnmError] if the response error status
27
+ # is not ERROR_SUCCESS
28
+ def netr_dfs_add_std_root(server_name, root_share, comment: '')
29
+ netr_dfs_add_std_root_request = NetrDfsAddStdRootRequest.new(
30
+ server_name: server_name,
31
+ root_share: root_share,
32
+ comment: comment
33
+ )
34
+ response = dcerpc_request(netr_dfs_add_std_root_request)
35
+ begin
36
+ netr_dfs_add_std_root_response = NetrDfsAddStdRootResponse.read(response)
37
+ rescue IOError
38
+ raise RubySMB::Dcerpc::Error::InvalidPacket, 'Error reading NetrDfsAddStdRootResponse'
39
+ end
40
+ unless netr_dfs_add_std_root_response.error_status == WindowsError::Win32::ERROR_SUCCESS
41
+ status_code = WindowsError::Win32.find_by_retval(netr_dfs_add_std_root_response.error_status.value).first
42
+ raise RubySMB::Dcerpc::Error::DfsnmError.new(
43
+ "Error returned with netr_dfs_add_std_root: #{status_code}",
44
+ status_code: status_code
45
+ )
46
+ end
47
+
48
+ nil
49
+ end
50
+
51
+ # Delete the specified stand-alone DFS namespace.
52
+ #
53
+ # @param server_name [String] The host name of the DFS root target.
54
+ # @param root_share [String] The DFS root target share name.
55
+ # @return nothing is returned on success
56
+ # @raise [RubySMB::Dcerpc::Error::InvalidPacket] if the response is not a
57
+ # NetrDfsRemoveStdRootResponse packet
58
+ # @raise [RubySMB::Dcerpc::Error::DfsnmError] if the response error status
59
+ # is not ERROR_SUCCESS
60
+ def netr_dfs_remove_std_root(server_name, root_share)
61
+ netr_dfs_remove_std_root_request = NetrDfsRemoveStdRootRequest.new(
62
+ server_name: server_name,
63
+ root_share: root_share
64
+ )
65
+ response = dcerpc_request(netr_dfs_remove_std_root_request)
66
+ begin
67
+ netr_dfs_remove_std_root_response = NetrDfsRemoveStdRootResponse.read(response)
68
+ rescue IOError
69
+ raise RubySMB::Dcerpc::Error::InvalidPacket, 'Error reading NetrDfsRemoveStdRootResponse'
70
+ end
71
+ unless netr_dfs_remove_std_root_response.error_status == WindowsError::Win32::ERROR_SUCCESS
72
+ status_code = WindowsError::Win32.find_by_retval(netr_dfs_remove_std_root_response.error_status.value).first
73
+ raise RubySMB::Dcerpc::Error::DfsnmError.new(
74
+ "Error returned with netr_dfs_remove_std_root: #{status_code}",
75
+ status_code: status_code
76
+ )
77
+ end
78
+
79
+ nil
80
+ end
81
+
82
+ end
83
+ end
84
+ end
@@ -46,6 +46,17 @@ module RubySMB
46
46
 
47
47
  # Raised when an error is returned during a Epm operation
48
48
  class EpmError < DcerpcError; end
49
+
50
+ # Raised when an error is returned during a Dfsnm operation
51
+ class DfsnmError < DcerpcError
52
+ include RubySMB::Error::UnexpectedStatusCode::Mixin
53
+
54
+ def initialize(msg, status_code: nil)
55
+ self.status_code = status_code unless status_code.nil?
56
+
57
+ super(msg)
58
+ end
59
+ end
49
60
  end
50
61
  end
51
62
  end
@@ -90,7 +90,12 @@ module RubySMB
90
90
  drs_domain_controller_info_request Drsr::DRS_DOMAIN_CONTROLLER_INFO
91
91
  drs_crack_names_request Drsr::DRS_CRACK_NAMES
92
92
  drs_get_nc_changes_request Drsr::DRS_GET_NC_CHANGES
93
- string :default
93
+ string :default
94
+ end
95
+ choice 'Dfsnm', selection: -> { opnum } do
96
+ netr_dfs_add_std_root_request Dfsnm::NETR_DFS_ADD_STD_ROOT
97
+ netr_dfs_remove_std_root_request Dfsnm::NETR_DFS_REMOVE_STD_ROOT
98
+ string :default
94
99
  end
95
100
  string :default
96
101
  end
@@ -46,6 +46,7 @@ module RubySMB
46
46
  require 'ruby_smb/dcerpc/epm'
47
47
  require 'ruby_smb/dcerpc/drsr'
48
48
  require 'ruby_smb/dcerpc/sec_trailer'
49
+ require 'ruby_smb/dcerpc/dfsnm'
49
50
  require 'ruby_smb/dcerpc/request'
50
51
  require 'ruby_smb/dcerpc/response'
51
52
  require 'ruby_smb/dcerpc/rpc_auth3'
@@ -70,20 +70,30 @@ module RubySMB
70
70
 
71
71
  # Raised when a response packet has a NTStatus code that was unexpected.
72
72
  class UnexpectedStatusCode < RubySMBError
73
- attr_reader :status_code
73
+ module Mixin
74
+ attr_reader :status_code
74
75
 
75
- def initialize(status_code)
76
- case status_code
77
- when WindowsError::ErrorCode
78
- @status_code = status_code
79
- when Integer
80
- @status_code = WindowsError::NTStatus.find_by_retval(status_code).first
81
- if @status_code.nil?
82
- @status_code = WindowsError::ErrorCode.new("0x#{status_code.to_s(16)}", status_code, "Unknown 0x#{status_code.to_s(16)}")
76
+ private
77
+
78
+ def status_code=(status_code)
79
+ case status_code
80
+ when WindowsError::ErrorCode
81
+ @status_code = status_code
82
+ when Integer
83
+ @status_code = WindowsError::NTStatus.find_by_retval(status_code).first
84
+ if @status_code.nil?
85
+ @status_code = WindowsError::ErrorCode.new("0x#{status_code.to_s(16).rjust(8, '0')}", status_code, "Unknown status: 0x#{status_code.to_s(16)}")
86
+ end
87
+ else
88
+ raise ArgumentError, "Status code must be a WindowsError::ErrorCode or an Integer, got #{status_code.class}"
83
89
  end
84
- else
85
- raise ArgumentError, "Status code must be a WindowsError::ErrorCode or an Integer, got #{status_code.class}"
86
90
  end
91
+ end
92
+
93
+ include Mixin
94
+
95
+ def initialize(status_code)
96
+ self.status_code = status_code
87
97
  super
88
98
  end
89
99
 
@@ -28,6 +28,8 @@ module RubySMB
28
28
  extend RubySMB::Dcerpc::Samr
29
29
  when 'wkssvc', '\\wkssvc'
30
30
  extend RubySMB::Dcerpc::Wkssvc
31
+ when 'netdfs', '\\netdfs'
32
+ extend RubySMB::Dcerpc::Dfsnm
31
33
  end
32
34
  super(tree: tree, response: response, name: name)
33
35
  end
@@ -25,6 +25,8 @@ module RubySMB
25
25
  extend RubySMB::Dcerpc::Samr
26
26
  when 'wkssvc', '\\wkssvc'
27
27
  extend RubySMB::Dcerpc::Wkssvc
28
+ when 'netdfs', '\\netdfs'
29
+ extend RubySMB::Dcerpc::Dfsnm
28
30
  end
29
31
  super(tree: tree, response: response, name: name)
30
32
  end
@@ -1,3 +1,3 @@
1
1
  module RubySMB
2
- VERSION = '3.1.5'.freeze
2
+ VERSION = '3.1.6'.freeze
3
3
  end
@@ -0,0 +1,57 @@
1
+ RSpec.describe RubySMB::Dcerpc::Dfsnm::NetrDfsAddStdRootRequest do
2
+ subject(:packet) { described_class.new }
3
+
4
+ it { is_expected.to respond_to :server_name }
5
+ it { is_expected.to respond_to :root_share }
6
+ it { is_expected.to respond_to :comment }
7
+ it { is_expected.to respond_to :api_flags }
8
+ it { is_expected.to respond_to :opnum }
9
+
10
+ it 'is little endian' do
11
+ expect(described_class.fields.instance_variable_get(:@hints)[:endian]).to eq :little
12
+ end
13
+ it 'is a BinData::Record' do
14
+ expect(packet).to be_a(BinData::Record)
15
+ end
16
+ describe '#server_name' do
17
+ it 'is a NdrConfVarWideStringz structure' do
18
+ expect(packet.server_name).to be_a RubySMB::Dcerpc::Ndr::NdrConfVarWideStringz
19
+ end
20
+ end
21
+ describe '#root_share' do
22
+ it 'is a NdrConfVarWideStringz structure' do
23
+ expect(packet.root_share).to be_a RubySMB::Dcerpc::Ndr::NdrConfVarWideStringz
24
+ end
25
+ end
26
+ describe '#comment' do
27
+ it 'is a NdrConfVarWideStringz structure' do
28
+ expect(packet.comment).to be_a RubySMB::Dcerpc::Ndr::NdrConfVarWideStringz
29
+ end
30
+ end
31
+ describe '#api_flags' do
32
+ it 'is a NdrUint32 structure' do
33
+ expect(packet.api_flags).to be_a RubySMB::Dcerpc::Ndr::NdrUint32
34
+ end
35
+ end
36
+ describe '#initialize_instance' do
37
+ it 'sets #opnum to NETR_DFS_ADD_STD_ROOT constant' do
38
+ expect(packet.opnum).to eq(RubySMB::Dcerpc::Dfsnm::NETR_DFS_ADD_STD_ROOT)
39
+ end
40
+ end
41
+ it 'reads itself' do
42
+ new_packet = described_class.new({
43
+ server_name: 'serverName',
44
+ root_share: 'rootShare',
45
+ comment: 'comment'
46
+ })
47
+ expected_output = {
48
+ server_name: 'serverName'.encode('utf-16le'),
49
+ root_share: 'rootShare'.encode('utf-16le'),
50
+ comment: 'comment'.encode('utf-16le'),
51
+ api_flags: 0
52
+ }
53
+ expect(packet.read(new_packet.to_binary_s)).to eq(expected_output)
54
+ end
55
+ end
56
+
57
+
@@ -0,0 +1,34 @@
1
+ RSpec.describe RubySMB::Dcerpc::Dfsnm::NetrDfsAddStdRootResponse do
2
+ subject(:packet) { described_class.new }
3
+
4
+ it { is_expected.to respond_to :error_status }
5
+ it { is_expected.to respond_to :opnum }
6
+
7
+ it 'is little endian' do
8
+ expect(described_class.fields.instance_variable_get(:@hints)[:endian]).to eq :little
9
+ end
10
+ it 'is a BinData::Record' do
11
+ expect(packet).to be_a(BinData::Record)
12
+ end
13
+ describe '#error_status' do
14
+ it 'is a NdrUint32 structure' do
15
+ expect(packet.error_status).to be_a RubySMB::Dcerpc::Ndr::NdrUint32
16
+ end
17
+ end
18
+ describe '#initialize_instance' do
19
+ it 'sets #opnum to NETR_DFS_ADD_STD_ROOT constant' do
20
+ expect(packet.opnum).to eq(RubySMB::Dcerpc::Dfsnm::NETR_DFS_ADD_STD_ROOT)
21
+ end
22
+ end
23
+ it 'reads itself' do
24
+ new_packet = described_class.new({
25
+ error_status: 0
26
+ })
27
+ expected_output = {
28
+ error_status: 0
29
+ }
30
+ expect(packet.read(new_packet.to_binary_s)).to eq(expected_output)
31
+ end
32
+ end
33
+
34
+
@@ -0,0 +1,49 @@
1
+ RSpec.describe RubySMB::Dcerpc::Dfsnm::NetrDfsRemoveStdRootRequest do
2
+ subject(:packet) { described_class.new }
3
+
4
+ it { is_expected.to respond_to :server_name }
5
+ it { is_expected.to respond_to :root_share }
6
+ it { is_expected.to respond_to :api_flags }
7
+ it { is_expected.to respond_to :opnum }
8
+
9
+ it 'is little endian' do
10
+ expect(described_class.fields.instance_variable_get(:@hints)[:endian]).to eq :little
11
+ end
12
+ it 'is a BinData::Record' do
13
+ expect(packet).to be_a(BinData::Record)
14
+ end
15
+ describe '#server_name' do
16
+ it 'is a NdrConfVarWideStringz structure' do
17
+ expect(packet.server_name).to be_a RubySMB::Dcerpc::Ndr::NdrConfVarWideStringz
18
+ end
19
+ end
20
+ describe '#root_share' do
21
+ it 'is a NdrConfVarWideStringz structure' do
22
+ expect(packet.root_share).to be_a RubySMB::Dcerpc::Ndr::NdrConfVarWideStringz
23
+ end
24
+ end
25
+ describe '#api_flags' do
26
+ it 'is a NdrUint32 structure' do
27
+ expect(packet.api_flags).to be_a RubySMB::Dcerpc::Ndr::NdrUint32
28
+ end
29
+ end
30
+ describe '#initialize_instance' do
31
+ it 'sets #opnum to NETR_DFS_REMOVE_STD_ROOT constant' do
32
+ expect(packet.opnum).to eq(RubySMB::Dcerpc::Dfsnm::NETR_DFS_REMOVE_STD_ROOT)
33
+ end
34
+ end
35
+ it 'reads itself' do
36
+ new_packet = described_class.new({
37
+ server_name: 'serverName',
38
+ root_share: 'rootShare',
39
+ })
40
+ expected_output = {
41
+ server_name: 'serverName'.encode('utf-16le'),
42
+ root_share: 'rootShare'.encode('utf-16le'),
43
+ api_flags: 0
44
+ }
45
+ expect(packet.read(new_packet.to_binary_s)).to eq(expected_output)
46
+ end
47
+ end
48
+
49
+
@@ -0,0 +1,34 @@
1
+ RSpec.describe RubySMB::Dcerpc::Dfsnm::NetrDfsRemoveStdRootResponse do
2
+ subject(:packet) { described_class.new }
3
+
4
+ it { is_expected.to respond_to :error_status }
5
+ it { is_expected.to respond_to :opnum }
6
+
7
+ it 'is little endian' do
8
+ expect(described_class.fields.instance_variable_get(:@hints)[:endian]).to eq :little
9
+ end
10
+ it 'is a BinData::Record' do
11
+ expect(packet).to be_a(BinData::Record)
12
+ end
13
+ describe '#error_status' do
14
+ it 'is a NdrUint32 structure' do
15
+ expect(packet.error_status).to be_a RubySMB::Dcerpc::Ndr::NdrUint32
16
+ end
17
+ end
18
+ describe '#initialize_instance' do
19
+ it 'sets #opnum to NETR_DFS_REMOVE_STD_ROOT constant' do
20
+ expect(packet.opnum).to eq(RubySMB::Dcerpc::Dfsnm::NETR_DFS_REMOVE_STD_ROOT)
21
+ end
22
+ end
23
+ it 'reads itself' do
24
+ new_packet = described_class.new({
25
+ error_status: 0
26
+ })
27
+ expected_output = {
28
+ error_status: 0
29
+ }
30
+ expect(packet.read(new_packet.to_binary_s)).to eq(expected_output)
31
+ end
32
+ end
33
+
34
+
data.tar.gz.sig CHANGED
@@ -1,4 +1,2 @@
1
-
2
- ���\a�J:G���/p�~F���*
3
- m?I�)�u�/LZ���o���%V�\������p��g�%�ߜ��G_��7�Si�/A��,"Sܳ
4
- oz�ǣ^�$�a��%���2���*MxWX�|i9㦔`L/FCp����ߤ�[
1
+
2
+ �$�f�O��(���t0�
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.1.5
4
+ version: 3.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Metasploit Hackers
@@ -97,7 +97,7 @@ cert_chain:
97
97
  EknWpNgVhohbot1lfVAMmIhdtOVaRVcQQixWPwprDj/ydB8ryDMDosIMcw+fkoXU
98
98
  9GJsSaSRRYQ9UUkVL27b64okU8D48m8=
99
99
  -----END CERTIFICATE-----
100
- date: 2022-06-29 00:00:00.000000000 Z
100
+ date: 2022-07-06 00:00:00.000000000 Z
101
101
  dependencies:
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: redcarpet
@@ -298,6 +298,11 @@ files:
298
298
  - lib/ruby_smb/dcerpc/bind.rb
299
299
  - lib/ruby_smb/dcerpc/bind_ack.rb
300
300
  - lib/ruby_smb/dcerpc/client.rb
301
+ - lib/ruby_smb/dcerpc/dfsnm.rb
302
+ - lib/ruby_smb/dcerpc/dfsnm/netr_dfs_add_std_root_request.rb
303
+ - lib/ruby_smb/dcerpc/dfsnm/netr_dfs_add_std_root_response.rb
304
+ - lib/ruby_smb/dcerpc/dfsnm/netr_dfs_remove_std_root_request.rb
305
+ - lib/ruby_smb/dcerpc/dfsnm/netr_dfs_remove_std_root_response.rb
301
306
  - lib/ruby_smb/dcerpc/drsr.rb
302
307
  - lib/ruby_smb/dcerpc/drsr/drs_bind_request.rb
303
308
  - lib/ruby_smb/dcerpc/drsr/drs_bind_response.rb
@@ -672,6 +677,10 @@ files:
672
677
  - spec/lib/ruby_smb/dcerpc/bind_ack_spec.rb
673
678
  - spec/lib/ruby_smb/dcerpc/bind_spec.rb
674
679
  - spec/lib/ruby_smb/dcerpc/client_spec.rb
680
+ - spec/lib/ruby_smb/dcerpc/dfsnm/netr_dfs_add_std_root_request_spec.rb
681
+ - spec/lib/ruby_smb/dcerpc/dfsnm/netr_dfs_add_std_root_response_spec.rb
682
+ - spec/lib/ruby_smb/dcerpc/dfsnm/netr_dfs_remove_std_root_request_spec.rb
683
+ - spec/lib/ruby_smb/dcerpc/dfsnm/netr_dfs_remove_std_root_response_spec.rb
675
684
  - spec/lib/ruby_smb/dcerpc/drsr_spec.rb
676
685
  - spec/lib/ruby_smb/dcerpc/encrypting_file_system/efs_rpc_encrypt_file_srv_request_spec.rb
677
686
  - spec/lib/ruby_smb/dcerpc/encrypting_file_system/efs_rpc_encrypt_file_srv_response_spec.rb
@@ -994,6 +1003,10 @@ test_files:
994
1003
  - spec/lib/ruby_smb/dcerpc/bind_ack_spec.rb
995
1004
  - spec/lib/ruby_smb/dcerpc/bind_spec.rb
996
1005
  - spec/lib/ruby_smb/dcerpc/client_spec.rb
1006
+ - spec/lib/ruby_smb/dcerpc/dfsnm/netr_dfs_add_std_root_request_spec.rb
1007
+ - spec/lib/ruby_smb/dcerpc/dfsnm/netr_dfs_add_std_root_response_spec.rb
1008
+ - spec/lib/ruby_smb/dcerpc/dfsnm/netr_dfs_remove_std_root_request_spec.rb
1009
+ - spec/lib/ruby_smb/dcerpc/dfsnm/netr_dfs_remove_std_root_response_spec.rb
997
1010
  - spec/lib/ruby_smb/dcerpc/drsr_spec.rb
998
1011
  - spec/lib/ruby_smb/dcerpc/encrypting_file_system/efs_rpc_encrypt_file_srv_request_spec.rb
999
1012
  - spec/lib/ruby_smb/dcerpc/encrypting_file_system/efs_rpc_encrypt_file_srv_response_spec.rb
metadata.gz.sig CHANGED
Binary file