ruby_smb 3.0.1 → 3.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (31) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/lib/ruby_smb/dcerpc/encrypting_file_system/efs_rpc_encrypt_file_srv_request.rb +20 -0
  4. data/lib/ruby_smb/dcerpc/encrypting_file_system/efs_rpc_encrypt_file_srv_response.rb +20 -0
  5. data/lib/ruby_smb/dcerpc/encrypting_file_system/efs_rpc_open_file_raw_request.rb +21 -0
  6. data/lib/ruby_smb/dcerpc/encrypting_file_system/efs_rpc_open_file_raw_response.rb +21 -0
  7. data/lib/ruby_smb/dcerpc/encrypting_file_system.rb +44 -0
  8. data/lib/ruby_smb/dcerpc/print_system/rpc_add_printer_driver_ex_request.rb +22 -0
  9. data/lib/ruby_smb/dcerpc/print_system/rpc_add_printer_driver_ex_response.rb +20 -0
  10. data/lib/ruby_smb/dcerpc/print_system/rpc_enum_printer_drivers_request.rb +24 -0
  11. data/lib/ruby_smb/dcerpc/print_system/rpc_enum_printer_drivers_response.rb +23 -0
  12. data/lib/ruby_smb/dcerpc/print_system/rpc_get_printer_driver_directory_request.rb +24 -0
  13. data/lib/ruby_smb/dcerpc/print_system/rpc_get_printer_driver_directory_response.rb +22 -0
  14. data/lib/ruby_smb/dcerpc/print_system.rb +69 -0
  15. data/lib/ruby_smb/dcerpc.rb +2 -2
  16. data/lib/ruby_smb/version.rb +1 -1
  17. data/spec/lib/ruby_smb/dcerpc/encrypting_file_system/efs_rpc_encrypt_file_srv_request_spec.rb +30 -0
  18. data/spec/lib/ruby_smb/dcerpc/encrypting_file_system/efs_rpc_encrypt_file_srv_response_spec.rb +30 -0
  19. data/spec/lib/ruby_smb/dcerpc/encrypting_file_system/efs_rpc_open_file_raw_request_spec.rb +38 -0
  20. data/spec/lib/ruby_smb/dcerpc/encrypting_file_system/efs_rpc_open_file_raw_response_spec.rb +38 -0
  21. data/spec/lib/ruby_smb/dcerpc/print_system/driver_container_spec.rb +41 -0
  22. data/spec/lib/ruby_smb/dcerpc/print_system/driver_info2_spec.rb +64 -0
  23. data/spec/lib/ruby_smb/dcerpc/print_system/rpc_add_printer_driver_ex_request_spec.rb +59 -0
  24. data/spec/lib/ruby_smb/dcerpc/print_system/rpc_add_printer_driver_ex_response_spec.rb +30 -0
  25. data/spec/lib/ruby_smb/dcerpc/print_system/rpc_enum_printer_drivers_request_spec.rb +62 -0
  26. data/spec/lib/ruby_smb/dcerpc/print_system/rpc_enum_printer_drivers_response_spec.rb +54 -0
  27. data/spec/lib/ruby_smb/dcerpc/print_system/rpc_get_printer_driver_directory_request_spec.rb +62 -0
  28. data/spec/lib/ruby_smb/dcerpc/print_system/rpc_get_printer_driver_directory_response_spec.rb +46 -0
  29. data.tar.gz.sig +2 -2
  30. metadata +38 -2
  31. metadata.gz.sig +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 720a034c2e6c19fbb116a1d7b44e024a54d4f3006c393c1b1ad2b131f6d515b4
4
- data.tar.gz: 4b36bff99e47dd2449d593a03f173f8d0f2da8bf5bab57c6d8f7a1d808cfaf07
3
+ metadata.gz: 9a0b34939805bf96ca0b83284b946fc2d96c1e5d7b6e63c67c4d0c40b73d257d
4
+ data.tar.gz: f8c1e25526de8821ec484c820b32734e0cfcefce6e34de2a90b25ce876225e61
5
5
  SHA512:
6
- metadata.gz: be75feaa8b061d5d1c49dedf68ef6e4c5476ecd85bdb2d5a10a277027d00acd0e3358e1ee60dfdf376d32d5cb1af8ea4c48fde9a8ce4b7f60f9230cd2bf55409
7
- data.tar.gz: 64df4daad099138c0e6f57abcb7b1c7894c15df4c17c22dbcf90babf99455edb5a4c99d88526d1e507acf92cd12847b7a9a1ae000ac13aea90140c44c288ff46
6
+ metadata.gz: b669ae3cdc6e7c875c92890ac15608ab45b8d223eb064756d340e046a5dd3b4273971ebdf8419a033ae87fc75af8f08d7e7ce5466186e2e531adada3efaedab4
7
+ data.tar.gz: 052ad0693a7f9ea8b3b767a58ecc710e37f2c9c0ef7c910b8c385b22b9a6eee678596a49de385cb0d0200964e620b171bd667a76b7b393f96a1ebded64e6f5b7
checksums.yaml.gz.sig CHANGED
Binary file
@@ -0,0 +1,20 @@
1
+ module RubySMB
2
+ module Dcerpc
3
+ module EncryptingFileSystem
4
+
5
+ # [3.1.4.2.5 EfsRpcEncryptFileSrv (Opnum 4)](https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-efsr/0d599976-758c-4dbd-ac8c-c9db2a922d76)
6
+ class EfsRpcEncryptFileSrvRequest < BinData::Record
7
+ attr_reader :opnum
8
+
9
+ endian :little
10
+
11
+ ndr_conf_var_wide_stringz :file_name
12
+
13
+ def initialize_instance
14
+ super
15
+ @opnum = EFS_RPC_ENCRYPT_FILE_SRV
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,20 @@
1
+ module RubySMB
2
+ module Dcerpc
3
+ module EncryptingFileSystem
4
+
5
+ # [3.1.4.2.5 EfsRpcEncryptFileSrv (Opnum 4)](https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-efsr/0d599976-758c-4dbd-ac8c-c9db2a922d76)
6
+ class EfsRpcEncryptFileSrvResponse < 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 = EFS_RPC_ENCRYPT_FILE_SRV
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,21 @@
1
+ module RubySMB
2
+ module Dcerpc
3
+ module EncryptingFileSystem
4
+
5
+ # [3.1.4.2.1 EfsRpcOpenFileRaw (Opnum 0)](https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-efsr/ccc4fb75-1c86-41d7-bbc4-b278ec13bfb8)
6
+ class EfsRpcOpenFileRawRequest < BinData::Record
7
+ attr_reader :opnum
8
+
9
+ endian :little
10
+
11
+ ndr_conf_var_wide_stringz :file_name
12
+ ndr_uint32 :flags
13
+
14
+ def initialize_instance
15
+ super
16
+ @opnum = EFS_RPC_OPEN_FILE_RAW
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,21 @@
1
+ module RubySMB
2
+ module Dcerpc
3
+ module EncryptingFileSystem
4
+
5
+ # [3.1.4.2.1 EfsRpcOpenFileRaw (Opnum 0)](https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-efsr/ccc4fb75-1c86-41d7-bbc4-b278ec13bfb8)
6
+ class EfsRpcOpenFileRawResponse < BinData::Record
7
+ attr_reader :opnum
8
+
9
+ endian :little
10
+
11
+ ndr_context_handle :h_context
12
+ ndr_uint32 :error_status
13
+
14
+ def initialize_instance
15
+ super
16
+ @opnum = EFS_RPC_OPEN_FILE_RAW
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,44 @@
1
+ module RubySMB
2
+ module Dcerpc
3
+ module EncryptingFileSystem
4
+ # see: https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-efsr/403c7ae0-1a3a-4e96-8efc-54e79a2cc451
5
+ UUID = EFSRPC_UUID = 'df1941c5-fe89-4e79-bf10-463657acf44d'.freeze
6
+ LSARPC_UUID = 'c681d488-d850-11d0-8c52-00c04fd90f7e'.freeze
7
+ VER_MAJOR = 1
8
+ VER_MINOR = 0
9
+
10
+ # Operation numbers
11
+ EFS_RPC_OPEN_FILE_RAW = 0
12
+ EFS_RPC_WRITE_FILE_RAW = 1
13
+ EFS_RPC_CLOSE_RAW = 3
14
+ EFS_RPC_ENCRYPT_FILE_SRV = 4
15
+ EFS_RPC_DECRYPT_FILE_SRV = 5
16
+ EFS_RPC_QUERY_USERS_ON_FILE = 6
17
+ EFS_RPC_QUERY_RECOVERY_AGENTS = 7
18
+ EFS_RPC_REMOVE_USERS_FROM_FILE = 8
19
+ EFS_RPC_ADD_USERS_TO_FILE = 9
20
+ EFS_RPC_NOT_SUPPORTED = 11
21
+ EFS_RPC_FILE_KEY_INFO = 12
22
+ EFS_RPC_DUPLICATE_ENCRYPTION_INFO_FILE = 13
23
+ EFS_RPC_ADD_USERS_TO_FILE_EX = 15
24
+ EFS_RPC_FILE_KEY_INFO_EX = 16
25
+ EFS_RPC_GET_ENCRYPTED_FILE_METADATA = 18
26
+ EFS_RPC_SET_ENCRYPTED_FILE_METADATA = 19
27
+ EFS_RPC_FLUSH_EFS_CACHE = 20
28
+ EFS_RPC_ENCRYPT_FILE_EX_SRV = 21
29
+ EFS_RPC_QUERY_PROTECTORS = 22
30
+
31
+ # EfsRpcOpenFileRaw flags,
32
+ # see: https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-efsr/ccc4fb75-1c86-41d7-bbc4-b278ec13bfb8
33
+ CREATE_FOR_IMPORT = 0x00000001
34
+ CREATE_FOR_DIR = 0x00000002
35
+ OVERWRITE_HIDDEN = 0x00000004
36
+ EFS_DROP_ALTERNATE_STREAMS = 0x00000010
37
+
38
+ require 'ruby_smb/dcerpc/encrypting_file_system/efs_rpc_encrypt_file_srv_request'
39
+ require 'ruby_smb/dcerpc/encrypting_file_system/efs_rpc_encrypt_file_srv_response'
40
+ require 'ruby_smb/dcerpc/encrypting_file_system/efs_rpc_open_file_raw_request'
41
+ require 'ruby_smb/dcerpc/encrypting_file_system/efs_rpc_open_file_raw_response'
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,22 @@
1
+ module RubySMB
2
+ module Dcerpc
3
+ module PrintSystem
4
+
5
+ # [3.1.4.4.8 RpcAddPrinterDriverEx (Opnum 89)](https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-rprn/b96cc497-59e5-4510-ab04-5484993b259b)
6
+ class RpcAddPrinterDriverExRequest < BinData::Record
7
+ attr_reader :opnum
8
+
9
+ endian :little
10
+
11
+ ndr_wide_stringz_ptr :p_name
12
+ driver_container :p_driver_container
13
+ ndr_uint32 :dw_file_copy_flags
14
+
15
+ def initialize_instance
16
+ super
17
+ @opnum = RPC_ADD_PRINTER_DRIVER_EX
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,20 @@
1
+ module RubySMB
2
+ module Dcerpc
3
+ module PrintSystem
4
+
5
+ # [3.1.4.4.8 RpcAddPrinterDriverEx (Opnum 89)](https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-rprn/b96cc497-59e5-4510-ab04-5484993b259b)
6
+ class RpcAddPrinterDriverExResponse < BinData::Record
7
+ attr_reader :opnum
8
+
9
+ endian :little
10
+
11
+ def initialize_instance
12
+ super
13
+ @opnum = RPC_ADD_PRINTER_DRIVER_EX
14
+ end
15
+
16
+ ndr_uint32 :error_status
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,24 @@
1
+ module RubySMB
2
+ module Dcerpc
3
+ module PrintSystem
4
+
5
+ # [3.1.4.4.2 RpcEnumPrinterDrivers (Opnum 10)](https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-rprn/857d00ac-3682-4a0d-86ca-3d3c372e5e4a)
6
+ class RpcEnumPrinterDriversRequest < BinData::Record
7
+ attr_reader :opnum
8
+
9
+ endian :little
10
+
11
+ def initialize_instance
12
+ super
13
+ @opnum = RPC_ENUM_PRINTER_DRIVERS
14
+ end
15
+
16
+ ndr_wide_stringz_ptr :p_name
17
+ ndr_wide_stringz_ptr :p_environment
18
+ ndr_uint32 :level
19
+ rprn_byte_array_ptr :p_drivers
20
+ ndr_uint32 :cb_buf
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,23 @@
1
+ module RubySMB
2
+ module Dcerpc
3
+ module PrintSystem
4
+
5
+ # [3.1.4.4.2 RpcEnumPrinterDrivers (Opnum 10)](https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-rprn/857d00ac-3682-4a0d-86ca-3d3c372e5e4a)
6
+ class RpcEnumPrinterDriversResponse < BinData::Record
7
+ attr_reader :opnum
8
+
9
+ endian :little
10
+
11
+ def initialize_instance
12
+ super
13
+ @opnum = RPC_ENUM_PRINTER_DRIVERS
14
+ end
15
+
16
+ rprn_byte_array_ptr :p_drivers
17
+ ndr_uint32 :pcb_needed
18
+ ndr_uint32 :pc_returned
19
+ ndr_uint32 :error_status
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,24 @@
1
+ module RubySMB
2
+ module Dcerpc
3
+ module PrintSystem
4
+
5
+ # [3.1.4.4.4 RpcGetPrinterDriverDirectory (Opnum 12)](https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-rprn/9df11cf4-4098-4852-ad72-d1f75a82bffe)
6
+ class RpcGetPrinterDriverDirectoryRequest < BinData::Record
7
+ attr_reader :opnum
8
+
9
+ endian :little
10
+
11
+ def initialize_instance
12
+ super
13
+ @opnum = RPC_GET_PRINTER_DRIVER_DIRECTORY
14
+ end
15
+
16
+ ndr_wide_stringz_ptr :p_name
17
+ ndr_wide_stringz_ptr :p_environment
18
+ ndr_uint32 :level
19
+ rprn_byte_array_ptr :p_driver_directory
20
+ ndr_uint32 :cb_buf
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,22 @@
1
+ module RubySMB
2
+ module Dcerpc
3
+ module PrintSystem
4
+
5
+ # [3.1.4.4.4 RpcGetPrinterDriverDirectory (Opnum 12)](https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-rprn/9df11cf4-4098-4852-ad72-d1f75a82bffe)
6
+ class RpcGetPrinterDriverDirectoryResponse < BinData::Record
7
+ attr_reader :opnum
8
+
9
+ endian :little
10
+
11
+ def initialize_instance
12
+ super
13
+ @opnum = RPC_GET_PRINTER_DRIVER_DIRECTORY
14
+ end
15
+
16
+ rprn_byte_array_ptr :p_driver_directory
17
+ ndr_uint32 :pcb_needed
18
+ ndr_uint32 :error_status
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,69 @@
1
+ module RubySMB
2
+ module Dcerpc
3
+ module PrintSystem
4
+
5
+ # see: https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-rprn/848b8334-134a-4d02-aea4-03b673d6c515
6
+ UUID = '12345678-1234-abcd-ef00-0123456789ab'.freeze
7
+ VER_MAJOR = 1
8
+ VER_MINOR = 0
9
+
10
+ # Operation numbers
11
+ RPC_ENUM_PRINTER_DRIVERS = 10
12
+ RPC_GET_PRINTER_DRIVER_DIRECTORY = 12
13
+ RPC_ADD_PRINTER_DRIVER_EX = 89
14
+
15
+ # see: https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-rprn/b96cc497-59e5-4510-ab04-5484993b259b
16
+ APD_STRICT_UPGRADE = 0x00000001
17
+ APD_STRICT_DOWNGRADE = 0x00000002
18
+ APD_COPY_ALL_FILES = 0x00000004
19
+ APD_COPY_NEW_FILES = 0x00000008
20
+ APD_COPY_FROM_DIRECTORY = 0x00000010
21
+ APD_DONT_COPY_FILES_TO_CLUSTER = 0x00001000
22
+ APD_COPY_TO_ALL_SPOOLERS = 0x00002000
23
+ APD_INSTALL_WARNED_DRIVER = 0x00008000
24
+ APD_RETURN_BLOCKING_STATUS_CODE = 0x00010000
25
+
26
+ # [2.2.1.5.2 DRIVER_INFO_2](https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-rprn/39bbfc30-8768-4cd4-9930-434857e2c2a2)
27
+ class DriverInfo2 < RubySMB::Dcerpc::Ndr::NdrStruct
28
+ default_parameter byte_align: 4
29
+ endian :little
30
+
31
+ ndr_uint32 :c_version
32
+ ndr_wide_stringz_ptr :p_name
33
+ ndr_wide_stringz_ptr :p_environment
34
+ ndr_wide_stringz_ptr :p_driver_path
35
+ ndr_wide_stringz_ptr :p_data_file
36
+ ndr_wide_stringz_ptr :p_config_file
37
+ end
38
+
39
+ class PDriverInfo2 < DriverInfo2
40
+ extend RubySMB::Dcerpc::Ndr::PointerClassPlugin
41
+ end
42
+
43
+ # [2.2.1.2.3 DRIVER_CONTAINER](https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-rprn/3a3f9cf7-8ec4-4921-b1f6-86cf8d139bc2)
44
+ class DriverContainer < RubySMB::Dcerpc::Ndr::NdrStruct
45
+ default_parameter byte_align: 4
46
+ endian :little
47
+
48
+ ndr_uint32 :level, check_value: -> { [2].include?(value) }
49
+ ndr_uint32 :tag
50
+ choice :driver_info, selection: :level, byte_align: 4 do
51
+ p_driver_info2 2
52
+ end
53
+ end
54
+
55
+ # for RpcEnumPrinterDrivers and RpcGetPrinterDriverDirectory `BYTE*` fields
56
+ class RprnByteArrayPtr < RubySMB::Dcerpc::Ndr::NdrConfArray
57
+ default_parameters type: :ndr_uint8
58
+ extend RubySMB::Dcerpc::Ndr::PointerClassPlugin
59
+ end
60
+
61
+ require 'ruby_smb/dcerpc/print_system/rpc_add_printer_driver_ex_request'
62
+ require 'ruby_smb/dcerpc/print_system/rpc_add_printer_driver_ex_response'
63
+ require 'ruby_smb/dcerpc/print_system/rpc_enum_printer_drivers_request'
64
+ require 'ruby_smb/dcerpc/print_system/rpc_enum_printer_drivers_response'
65
+ require 'ruby_smb/dcerpc/print_system/rpc_get_printer_driver_directory_request'
66
+ require 'ruby_smb/dcerpc/print_system/rpc_get_printer_driver_directory_response'
67
+ end
68
+ end
69
+ end
@@ -50,8 +50,8 @@ module RubySMB
50
50
  require 'ruby_smb/dcerpc/rpc_auth3'
51
51
  require 'ruby_smb/dcerpc/bind'
52
52
  require 'ruby_smb/dcerpc/bind_ack'
53
-
54
-
53
+ require 'ruby_smb/dcerpc/print_system'
54
+ require 'ruby_smb/dcerpc/encrypting_file_system'
55
55
 
56
56
  # Bind to the remote server interface endpoint.
57
57
  #
@@ -1,3 +1,3 @@
1
1
  module RubySMB
2
- VERSION = '3.0.1'.freeze
2
+ VERSION = '3.0.2'.freeze
3
3
  end
@@ -0,0 +1,30 @@
1
+ RSpec.describe RubySMB::Dcerpc::EncryptingFileSystem::EfsRpcEncryptFileSrvRequest do
2
+ subject(:packet) { described_class.new }
3
+
4
+ it { is_expected.to respond_to :file_name }
5
+
6
+ it 'is little endian' do
7
+ expect(described_class.fields.instance_variable_get(:@hints)[:endian]).to eq :little
8
+ end
9
+
10
+ describe '#file_name' do
11
+ it 'is a NdrConfVarWideStringz' do
12
+ expect(packet.file_name).to be_a RubySMB::Dcerpc::Ndr::NdrConfVarWideStringz
13
+ end
14
+ end
15
+
16
+ describe '#initialize_instance' do
17
+ it 'sets #opnum to EFS_RPC_ENCRYPT_FILE_SRV constant' do
18
+ expect(packet.opnum).to eq(RubySMB::Dcerpc::EncryptingFileSystem::EFS_RPC_ENCRYPT_FILE_SRV)
19
+ end
20
+ end
21
+
22
+ it 'reads its own binary representation and outputs the same packet' do
23
+ packet = described_class.new(
24
+ file_name: 'file_name'
25
+ )
26
+ binary = packet.to_binary_s
27
+ expect(described_class.read(binary)).to eq(packet)
28
+ end
29
+ end
30
+
@@ -0,0 +1,30 @@
1
+ RSpec.describe RubySMB::Dcerpc::EncryptingFileSystem::EfsRpcEncryptFileSrvResponse do
2
+ subject(:packet) { described_class.new }
3
+
4
+ it { is_expected.to respond_to :error_status }
5
+
6
+ it 'is little endian' do
7
+ expect(described_class.fields.instance_variable_get(:@hints)[:endian]).to eq :little
8
+ end
9
+
10
+ describe '#error_status' do
11
+ it 'is a NdrUint32' do
12
+ expect(packet.error_status).to be_a RubySMB::Dcerpc::Ndr::NdrUint32
13
+ end
14
+ end
15
+
16
+ describe '#initialize_instance' do
17
+ it 'sets #opnum to EFS_RPC_ENCRYPT_FILE_SRV constant' do
18
+ expect(packet.opnum).to eq(RubySMB::Dcerpc::EncryptingFileSystem::EFS_RPC_ENCRYPT_FILE_SRV)
19
+ end
20
+ end
21
+
22
+ it 'reads its own binary representation and outputs the same packet' do
23
+ packet = described_class.new(
24
+ error_status: 0
25
+ )
26
+ binary = packet.to_binary_s
27
+ expect(described_class.read(binary)).to eq(packet)
28
+ end
29
+ end
30
+
@@ -0,0 +1,38 @@
1
+ RSpec.describe RubySMB::Dcerpc::EncryptingFileSystem::EfsRpcOpenFileRawRequest do
2
+ subject(:packet) { described_class.new }
3
+
4
+ it { is_expected.to respond_to :file_name }
5
+ it { is_expected.to respond_to :flags }
6
+
7
+ it 'is little endian' do
8
+ expect(described_class.fields.instance_variable_get(:@hints)[:endian]).to eq :little
9
+ end
10
+
11
+ describe '#file_name' do
12
+ it 'is a NdrConfVarWideStringz' do
13
+ expect(packet.file_name).to be_a RubySMB::Dcerpc::Ndr::NdrConfVarWideStringz
14
+ end
15
+ end
16
+
17
+ describe '#flags' do
18
+ it 'is a NdrUint32' do
19
+ expect(packet.flags).to be_a RubySMB::Dcerpc::Ndr::NdrUint32
20
+ end
21
+ end
22
+
23
+ describe '#initialize_instance' do
24
+ it 'sets #opnum to EFS_RPC_OPEN_FILE_RAW constant' do
25
+ expect(packet.opnum).to eq(RubySMB::Dcerpc::EncryptingFileSystem::EFS_RPC_OPEN_FILE_RAW)
26
+ end
27
+ end
28
+
29
+ it 'reads its own binary representation and outputs the same packet' do
30
+ packet = described_class.new(
31
+ file_name: 'file_name',
32
+ flags: 0
33
+ )
34
+ binary = packet.to_binary_s
35
+ expect(described_class.read(binary)).to eq(packet)
36
+ end
37
+ end
38
+
@@ -0,0 +1,38 @@
1
+ RSpec.describe RubySMB::Dcerpc::EncryptingFileSystem::EfsRpcOpenFileRawResponse do
2
+ subject(:packet) { described_class.new }
3
+
4
+ it { is_expected.to respond_to :h_context }
5
+ it { is_expected.to respond_to :error_status }
6
+
7
+ it 'is little endian' do
8
+ expect(described_class.fields.instance_variable_get(:@hints)[:endian]).to eq :little
9
+ end
10
+
11
+ describe '#h_context' do
12
+ it 'is a NdrContextHandle' do
13
+ expect(packet.h_context).to be_a RubySMB::Dcerpc::Ndr::NdrContextHandle
14
+ end
15
+ end
16
+
17
+ describe '#error_status' do
18
+ it 'is a NdrUint32' do
19
+ expect(packet.error_status).to be_a RubySMB::Dcerpc::Ndr::NdrUint32
20
+ end
21
+ end
22
+
23
+ describe '#initialize_instance' do
24
+ it 'sets #opnum to EFS_RPC_OPEN_FILE_RAW constant' do
25
+ expect(packet.opnum).to eq(RubySMB::Dcerpc::EncryptingFileSystem::EFS_RPC_OPEN_FILE_RAW)
26
+ end
27
+ end
28
+
29
+ it 'reads its own binary representation and outputs the same packet' do
30
+ packet = described_class.new(
31
+ h_context: RubySMB::Dcerpc::Ndr::NdrContextHandle.new,
32
+ error_status: 0
33
+ )
34
+ binary = packet.to_binary_s
35
+ expect(described_class.read(binary)).to eq(packet)
36
+ end
37
+ end
38
+
@@ -0,0 +1,41 @@
1
+ RSpec.describe RubySMB::Dcerpc::PrintSystem::DriverContainer do
2
+ subject(:struct) { described_class.new }
3
+
4
+ it { is_expected.to respond_to :level }
5
+ it { is_expected.to respond_to :tag }
6
+ it { is_expected.to respond_to :driver_info }
7
+
8
+ it 'is little endian' do
9
+ expect(described_class.fields.instance_variable_get(:@hints)[:endian]).to eq :little
10
+ end
11
+
12
+ describe '#level' do
13
+ it 'is a NdrUint32' do
14
+ expect(struct.level).to be_a RubySMB::Dcerpc::Ndr::NdrUint32
15
+ end
16
+ end
17
+
18
+ describe '#tag' do
19
+ it 'is a NdrUint32' do
20
+ expect(struct.tag).to be_a RubySMB::Dcerpc::Ndr::NdrUint32
21
+ end
22
+ end
23
+
24
+ it 'reads its own binary representation and outputs the same struct' do
25
+ struct = described_class.new(
26
+ level: 2,
27
+ tag: 0,
28
+ driver_info: RubySMB::Dcerpc::PrintSystem::DriverInfo2.new(
29
+ c_version: 0,
30
+ p_name: 'p_name',
31
+ p_environment: 'p_environment',
32
+ p_driver_path: 'p_driver_path',
33
+ p_data_file: 'p_data_file',
34
+ p_config_file: 'p_config_file'
35
+ )
36
+ )
37
+ binary = struct.to_binary_s
38
+ expect(described_class.read(binary)).to eq(struct)
39
+ end
40
+ end
41
+
@@ -0,0 +1,64 @@
1
+ RSpec.describe RubySMB::Dcerpc::PrintSystem::DriverInfo2 do
2
+ subject(:struct) { described_class.new }
3
+
4
+ it { is_expected.to respond_to :c_version }
5
+ it { is_expected.to respond_to :p_name }
6
+ it { is_expected.to respond_to :p_environment }
7
+ it { is_expected.to respond_to :p_driver_path }
8
+ it { is_expected.to respond_to :p_data_file }
9
+ it { is_expected.to respond_to :p_config_file }
10
+
11
+ it 'is little endian' do
12
+ expect(described_class.fields.instance_variable_get(:@hints)[:endian]).to eq :little
13
+ end
14
+
15
+ describe '#c_version' do
16
+ it 'is a NdrUint32' do
17
+ expect(struct.c_version).to be_a RubySMB::Dcerpc::Ndr::NdrUint32
18
+ end
19
+ end
20
+
21
+ describe '#p_name' do
22
+ it 'is a NdrWideStringzPtr' do
23
+ expect(struct.p_name).to be_a RubySMB::Dcerpc::Ndr::NdrWideStringzPtr
24
+ end
25
+ end
26
+
27
+ describe '#p_environment' do
28
+ it 'is a NdrWideStringzPtr' do
29
+ expect(struct.p_environment).to be_a RubySMB::Dcerpc::Ndr::NdrWideStringzPtr
30
+ end
31
+ end
32
+
33
+ describe '#p_driver_path' do
34
+ it 'is a NdrWideStringzPtr' do
35
+ expect(struct.p_driver_path).to be_a RubySMB::Dcerpc::Ndr::NdrWideStringzPtr
36
+ end
37
+ end
38
+
39
+ describe '#p_data_file' do
40
+ it 'is a NdrWideStringzPtr' do
41
+ expect(struct.p_data_file).to be_a RubySMB::Dcerpc::Ndr::NdrWideStringzPtr
42
+ end
43
+ end
44
+
45
+ describe '#p_config_file' do
46
+ it 'is a NdrWideStringzPtr' do
47
+ expect(struct.p_config_file).to be_a RubySMB::Dcerpc::Ndr::NdrWideStringzPtr
48
+ end
49
+ end
50
+
51
+ it 'reads its own binary representation and outputs the same struct' do
52
+ struct = described_class.new(
53
+ c_version: 0,
54
+ p_name: 'p_name',
55
+ p_environment: 'p_environment',
56
+ p_driver_path: 'p_driver_path',
57
+ p_data_file: 'p_data_file',
58
+ p_config_file: 'p_config_file'
59
+ )
60
+ binary = struct.to_binary_s
61
+ expect(described_class.read(binary)).to eq(struct)
62
+ end
63
+ end
64
+
@@ -0,0 +1,59 @@
1
+ RSpec.describe RubySMB::Dcerpc::PrintSystem::RpcAddPrinterDriverExRequest do
2
+ subject(:packet) { described_class.new }
3
+
4
+ it { is_expected.to respond_to :p_name }
5
+ it { is_expected.to respond_to :p_driver_container }
6
+ it { is_expected.to respond_to :dw_file_copy_flags }
7
+
8
+ it 'is little endian' do
9
+ expect(described_class.fields.instance_variable_get(:@hints)[:endian]).to eq :little
10
+ end
11
+
12
+ describe '#p_name' do
13
+ it 'is a NdrWideStringzPtr' do
14
+ expect(packet.p_name).to be_a RubySMB::Dcerpc::Ndr::NdrWideStringzPtr
15
+ end
16
+ end
17
+
18
+ describe '#p_driver_container' do
19
+ it 'is a DriverContainer structure' do
20
+ expect(packet.p_driver_container).to be_a RubySMB::Dcerpc::PrintSystem::DriverContainer
21
+ end
22
+ end
23
+
24
+ describe '#dw_file_copy_flags' do
25
+ it 'is a NdrUint32' do
26
+ expect(packet.dw_file_copy_flags).to be_a RubySMB::Dcerpc::Ndr::NdrUint32
27
+ end
28
+ end
29
+
30
+ describe '#initialize_instance' do
31
+ it 'sets #opnum to RPC_ADD_PRINTER_DRIVER_EX constant' do
32
+ expect(packet.opnum).to eq(RubySMB::Dcerpc::PrintSystem::RPC_ADD_PRINTER_DRIVER_EX)
33
+ end
34
+ end
35
+
36
+ it 'reads its own binary representation and outputs the same packet' do
37
+ packet = described_class.new(
38
+ p_name: 'p_name',
39
+ p_driver_container: RubySMB::Dcerpc::PrintSystem::DriverContainer.new(
40
+ RubySMB::Dcerpc::PrintSystem::DriverContainer.new(
41
+ level: 2,
42
+ tag: 2,
43
+ driver_info: RubySMB::Dcerpc::PrintSystem::DriverInfo2.new(
44
+ c_version: 0,
45
+ p_name: 'p_name',
46
+ p_environment: 'p_environment',
47
+ p_driver_path: 'p_driver_path',
48
+ p_data_file: 'p_data_file',
49
+ p_config_file: 'p_config_file'
50
+ )
51
+ )
52
+ ),
53
+ dw_file_copy_flags: 0
54
+ )
55
+ binary = packet.to_binary_s
56
+ expect(described_class.read(binary)).to eq(packet)
57
+ end
58
+ end
59
+
@@ -0,0 +1,30 @@
1
+ RSpec.describe RubySMB::Dcerpc::PrintSystem::RpcAddPrinterDriverExResponse do
2
+ subject(:packet) { described_class.new }
3
+
4
+ it { is_expected.to respond_to :error_status }
5
+
6
+ it 'is little endian' do
7
+ expect(described_class.fields.instance_variable_get(:@hints)[:endian]).to eq :little
8
+ end
9
+
10
+ describe '#error_status' do
11
+ it 'is a NdrUint32' do
12
+ expect(packet.error_status).to be_a RubySMB::Dcerpc::Ndr::NdrUint32
13
+ end
14
+ end
15
+
16
+ describe '#initialize_instance' do
17
+ it 'sets #opnum to RPC_ADD_PRINTER_DRIVER_EX constant' do
18
+ expect(packet.opnum).to eq(RubySMB::Dcerpc::PrintSystem::RPC_ADD_PRINTER_DRIVER_EX)
19
+ end
20
+ end
21
+
22
+ it 'reads its own binary representation and outputs the same packet' do
23
+ packet = described_class.new(
24
+ error_status: 0
25
+ )
26
+ binary = packet.to_binary_s
27
+ expect(described_class.read(binary)).to eq(packet)
28
+ end
29
+ end
30
+
@@ -0,0 +1,62 @@
1
+ RSpec.describe RubySMB::Dcerpc::PrintSystem::RpcEnumPrinterDriversRequest do
2
+ subject(:packet) { described_class.new }
3
+
4
+ it { is_expected.to respond_to :p_name }
5
+ it { is_expected.to respond_to :p_environment }
6
+ it { is_expected.to respond_to :level }
7
+ it { is_expected.to respond_to :p_drivers }
8
+ it { is_expected.to respond_to :cb_buf }
9
+
10
+ it 'is little endian' do
11
+ expect(described_class.fields.instance_variable_get(:@hints)[:endian]).to eq :little
12
+ end
13
+
14
+ describe '#p_name' do
15
+ it 'is a NdrWideStringzPtr' do
16
+ expect(packet.p_name).to be_a RubySMB::Dcerpc::Ndr::NdrWideStringzPtr
17
+ end
18
+ end
19
+
20
+ describe '#p_environment' do
21
+ it 'is a NdrWideStringzPtr' do
22
+ expect(packet.p_environment).to be_a RubySMB::Dcerpc::Ndr::NdrWideStringzPtr
23
+ end
24
+ end
25
+
26
+ describe '#level' do
27
+ it 'is a NdrUint32' do
28
+ expect(packet.level).to be_a RubySMB::Dcerpc::Ndr::NdrUint32
29
+ end
30
+ end
31
+
32
+ describe '#p_drivers' do
33
+ it 'is a RprnByteArrayPtr' do
34
+ expect(packet.p_drivers).to be_a RubySMB::Dcerpc::PrintSystem::RprnByteArrayPtr
35
+ end
36
+ end
37
+
38
+ describe '#cb_buf' do
39
+ it 'is a NdrUint32' do
40
+ expect(packet.cb_buf).to be_a RubySMB::Dcerpc::Ndr::NdrUint32
41
+ end
42
+ end
43
+
44
+ describe '#initialize_instance' do
45
+ it 'sets #opnum to RPC_ENUM_PRINTER_DRIVERS constant' do
46
+ expect(packet.opnum).to eq(RubySMB::Dcerpc::PrintSystem::RPC_ENUM_PRINTER_DRIVERS)
47
+ end
48
+ end
49
+
50
+ it 'reads its own binary representation and outputs the same packet' do
51
+ packet = described_class.new(
52
+ p_name: 'p_name',
53
+ p_environment: 'p_environment',
54
+ level: 0,
55
+ p_drivers: [0, 1, 2],
56
+ cb_buf: 0
57
+ )
58
+ binary = packet.to_binary_s
59
+ expect(described_class.read(binary)).to eq(packet)
60
+ end
61
+ end
62
+
@@ -0,0 +1,54 @@
1
+ RSpec.describe RubySMB::Dcerpc::PrintSystem::RpcEnumPrinterDriversResponse do
2
+ subject(:packet) { described_class.new }
3
+
4
+ it { is_expected.to respond_to :p_drivers }
5
+ it { is_expected.to respond_to :pcb_needed }
6
+ it { is_expected.to respond_to :pc_returned }
7
+ it { is_expected.to respond_to :error_status }
8
+
9
+ it 'is little endian' do
10
+ expect(described_class.fields.instance_variable_get(:@hints)[:endian]).to eq :little
11
+ end
12
+
13
+ describe '#p_drivers' do
14
+ it 'is a RprnByteArrayPtr' do
15
+ expect(packet.p_drivers).to be_a RubySMB::Dcerpc::PrintSystem::RprnByteArrayPtr
16
+ end
17
+ end
18
+
19
+ describe '#pcb_needed' do
20
+ it 'is a NdrUint32' do
21
+ expect(packet.pcb_needed).to be_a RubySMB::Dcerpc::Ndr::NdrUint32
22
+ end
23
+ end
24
+
25
+ describe '#pc_returned' do
26
+ it 'is a NdrUint32' do
27
+ expect(packet.pc_returned).to be_a RubySMB::Dcerpc::Ndr::NdrUint32
28
+ end
29
+ end
30
+
31
+ describe '#error_status' do
32
+ it 'is a NdrUint32' do
33
+ expect(packet.error_status).to be_a RubySMB::Dcerpc::Ndr::NdrUint32
34
+ end
35
+ end
36
+
37
+ describe '#initialize_instance' do
38
+ it 'sets #opnum to RPC_ENUM_PRINTER_DRIVERS constant' do
39
+ expect(packet.opnum).to eq(RubySMB::Dcerpc::PrintSystem::RPC_ENUM_PRINTER_DRIVERS)
40
+ end
41
+ end
42
+
43
+ it 'reads its own binary representation and outputs the same packet' do
44
+ packet = described_class.new(
45
+ p_drivers: [0, 1, 2],
46
+ pcb_needed: 0,
47
+ pc_returned: 0,
48
+ error_status: 0
49
+ )
50
+ binary = packet.to_binary_s
51
+ expect(described_class.read(binary)).to eq(packet)
52
+ end
53
+ end
54
+
@@ -0,0 +1,62 @@
1
+ RSpec.describe RubySMB::Dcerpc::PrintSystem::RpcGetPrinterDriverDirectoryRequest do
2
+ subject(:packet) { described_class.new }
3
+
4
+ it { is_expected.to respond_to :p_name }
5
+ it { is_expected.to respond_to :p_environment }
6
+ it { is_expected.to respond_to :level}
7
+ it { is_expected.to respond_to :p_driver_directory }
8
+ it { is_expected.to respond_to :cb_buf }
9
+
10
+ it 'is little endian' do
11
+ expect(described_class.fields.instance_variable_get(:@hints)[:endian]).to eq :little
12
+ end
13
+
14
+ describe '#p_name' do
15
+ it 'is a NdrWideStringzPtr' do
16
+ expect(packet.p_name).to be_a RubySMB::Dcerpc::Ndr::NdrWideStringzPtr
17
+ end
18
+ end
19
+
20
+ describe '#p_environment' do
21
+ it 'is a NdrWideStringzPtr' do
22
+ expect(packet.p_environment).to be_a RubySMB::Dcerpc::Ndr::NdrWideStringzPtr
23
+ end
24
+ end
25
+
26
+ describe '#level' do
27
+ it 'is a NdrUint32' do
28
+ expect(packet.level).to be_a RubySMB::Dcerpc::Ndr::NdrUint32
29
+ end
30
+ end
31
+
32
+ describe '#p_driver_directory' do
33
+ it 'is a RprnByteArrayPtr' do
34
+ expect(packet.p_driver_directory).to be_a RubySMB::Dcerpc::PrintSystem::RprnByteArrayPtr
35
+ end
36
+ end
37
+
38
+ describe '#cb_buf' do
39
+ it 'is a NdrUint32' do
40
+ expect(packet.cb_buf).to be_a RubySMB::Dcerpc::Ndr::NdrUint32
41
+ end
42
+ end
43
+
44
+ describe '#initialize_instance' do
45
+ it 'sets #opnum to RPC_GET_PRINTER_DRIVER_DIRECTORY constant' do
46
+ expect(packet.opnum).to eq(RubySMB::Dcerpc::PrintSystem::RPC_GET_PRINTER_DRIVER_DIRECTORY)
47
+ end
48
+ end
49
+
50
+ it 'reads its own binary representation and outputs the same packet' do
51
+ packet = described_class.new(
52
+ p_name: 'p_name',
53
+ p_environment: 'p_environment',
54
+ level: 0,
55
+ p_driver_directory: [0, 1, 2],
56
+ cb_buf: 0
57
+ )
58
+ binary = packet.to_binary_s
59
+ expect(described_class.read(binary)).to eq(packet)
60
+ end
61
+ end
62
+
@@ -0,0 +1,46 @@
1
+ RSpec.describe RubySMB::Dcerpc::PrintSystem::RpcGetPrinterDriverDirectoryResponse do
2
+ subject(:packet) { described_class.new }
3
+
4
+ it { is_expected.to respond_to :p_driver_directory }
5
+ it { is_expected.to respond_to :pcb_needed }
6
+ it { is_expected.to respond_to :error_status }
7
+
8
+ it 'is little endian' do
9
+ expect(described_class.fields.instance_variable_get(:@hints)[:endian]).to eq :little
10
+ end
11
+
12
+ describe '#p_driver_directory' do
13
+ it 'is a RprnByteArrayPtr' do
14
+ expect(packet.p_driver_directory).to be_a RubySMB::Dcerpc::PrintSystem::RprnByteArrayPtr
15
+ end
16
+ end
17
+
18
+ describe '#pcb_needed' do
19
+ it 'is a NdrUint32' do
20
+ expect(packet.pcb_needed).to be_a RubySMB::Dcerpc::Ndr::NdrUint32
21
+ end
22
+ end
23
+
24
+ describe '#error_status' do
25
+ it 'is a NdrUint32' do
26
+ expect(packet.error_status).to be_a RubySMB::Dcerpc::Ndr::NdrUint32
27
+ end
28
+ end
29
+
30
+ describe '#initialize_instance' do
31
+ it 'sets #opnum to RPC_GET_PRINTER_DRIVER_DIRECTORY constant' do
32
+ expect(packet.opnum).to eq(RubySMB::Dcerpc::PrintSystem::RPC_GET_PRINTER_DRIVER_DIRECTORY)
33
+ end
34
+ end
35
+
36
+ it 'reads its own binary representation and outputs the same packet' do
37
+ packet = described_class.new(
38
+ p_driver_directory: [0, 1, 2],
39
+ pcb_needed: 0,
40
+ error_status: 0
41
+ )
42
+ binary = packet.to_binary_s
43
+ expect(described_class.read(binary)).to eq(packet)
44
+ end
45
+ end
46
+
data.tar.gz.sig CHANGED
@@ -1,2 +1,2 @@
1
- �˾I}��XdH���t�7q��jcm<�����ֿ��v���:�HK0��s� 2��ǃ�� O���@EH5F��T�<2����]���}.@��E2�O."}��=�+�N�A��̀�M:�H7D���~|c�q��ݽ�^��
2
- �f3_�6���7�YX�w %�:𦅎G������`�8�G1������G \�k9�%꒰��S��Sr�����h�,^ۺ3����V���TIh*�>J��!>,
1
+ v!�J�a�m.��y�����:;��*]q����鋊K��B�M6$��r=�X��n)����� ���C~�'��^�k5�;�/38Xr�M�t��� L��Q��m�ig6#�QAC�,K�hÀ`#'��톟�������>��j�"$�Ӽ�SdR�Գ���������i�΍ꎈ{�f�8N��\Gx��bO��vh����%�Mx���r[iM�u���E��Ŀ@�N�hg��
2
+ ����l�����ֆ�� `3���
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.0.1
4
+ version: 3.0.2
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-01-20 00:00:00.000000000 Z
100
+ date: 2022-02-04 00:00:00.000000000 Z
101
101
  dependencies:
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: redcarpet
@@ -308,6 +308,11 @@ files:
308
308
  - lib/ruby_smb/dcerpc/drsr/drs_get_nc_changes_response.rb
309
309
  - lib/ruby_smb/dcerpc/drsr/drs_unbind_request.rb
310
310
  - lib/ruby_smb/dcerpc/drsr/drs_unbind_response.rb
311
+ - lib/ruby_smb/dcerpc/encrypting_file_system.rb
312
+ - lib/ruby_smb/dcerpc/encrypting_file_system/efs_rpc_encrypt_file_srv_request.rb
313
+ - lib/ruby_smb/dcerpc/encrypting_file_system/efs_rpc_encrypt_file_srv_response.rb
314
+ - lib/ruby_smb/dcerpc/encrypting_file_system/efs_rpc_open_file_raw_request.rb
315
+ - lib/ruby_smb/dcerpc/encrypting_file_system/efs_rpc_open_file_raw_response.rb
311
316
  - lib/ruby_smb/dcerpc/epm.rb
312
317
  - lib/ruby_smb/dcerpc/epm/epm_ept_map_request.rb
313
318
  - lib/ruby_smb/dcerpc/epm/epm_ept_map_response.rb
@@ -323,6 +328,13 @@ files:
323
328
  - lib/ruby_smb/dcerpc/netlogon/netr_server_req_challenge_response.rb
324
329
  - lib/ruby_smb/dcerpc/p_syntax_id_t.rb
325
330
  - lib/ruby_smb/dcerpc/pdu_header.rb
331
+ - lib/ruby_smb/dcerpc/print_system.rb
332
+ - lib/ruby_smb/dcerpc/print_system/rpc_add_printer_driver_ex_request.rb
333
+ - lib/ruby_smb/dcerpc/print_system/rpc_add_printer_driver_ex_response.rb
334
+ - lib/ruby_smb/dcerpc/print_system/rpc_enum_printer_drivers_request.rb
335
+ - lib/ruby_smb/dcerpc/print_system/rpc_enum_printer_drivers_response.rb
336
+ - lib/ruby_smb/dcerpc/print_system/rpc_get_printer_driver_directory_request.rb
337
+ - lib/ruby_smb/dcerpc/print_system/rpc_get_printer_driver_directory_response.rb
326
338
  - lib/ruby_smb/dcerpc/ptypes.rb
327
339
  - lib/ruby_smb/dcerpc/request.rb
328
340
  - lib/ruby_smb/dcerpc/response.rb
@@ -609,6 +621,10 @@ files:
609
621
  - spec/lib/ruby_smb/dcerpc/bind_spec.rb
610
622
  - spec/lib/ruby_smb/dcerpc/client_spec.rb
611
623
  - spec/lib/ruby_smb/dcerpc/drsr_spec.rb
624
+ - spec/lib/ruby_smb/dcerpc/encrypting_file_system/efs_rpc_encrypt_file_srv_request_spec.rb
625
+ - spec/lib/ruby_smb/dcerpc/encrypting_file_system/efs_rpc_encrypt_file_srv_response_spec.rb
626
+ - spec/lib/ruby_smb/dcerpc/encrypting_file_system/efs_rpc_open_file_raw_request_spec.rb
627
+ - spec/lib/ruby_smb/dcerpc/encrypting_file_system/efs_rpc_open_file_raw_response_spec.rb
612
628
  - spec/lib/ruby_smb/dcerpc/ndr_spec.rb
613
629
  - spec/lib/ruby_smb/dcerpc/netlogon/netr_server_authenticate3_request_spec.rb
614
630
  - spec/lib/ruby_smb/dcerpc/netlogon/netr_server_authenticate3_response_spec.rb
@@ -618,6 +634,14 @@ files:
618
634
  - spec/lib/ruby_smb/dcerpc/netlogon/netr_server_req_challenge_response_spec.rb
619
635
  - spec/lib/ruby_smb/dcerpc/p_syntax_id_t_spec.rb
620
636
  - spec/lib/ruby_smb/dcerpc/pdu_header_spec.rb
637
+ - spec/lib/ruby_smb/dcerpc/print_system/driver_container_spec.rb
638
+ - spec/lib/ruby_smb/dcerpc/print_system/driver_info2_spec.rb
639
+ - spec/lib/ruby_smb/dcerpc/print_system/rpc_add_printer_driver_ex_request_spec.rb
640
+ - spec/lib/ruby_smb/dcerpc/print_system/rpc_add_printer_driver_ex_response_spec.rb
641
+ - spec/lib/ruby_smb/dcerpc/print_system/rpc_enum_printer_drivers_request_spec.rb
642
+ - spec/lib/ruby_smb/dcerpc/print_system/rpc_enum_printer_drivers_response_spec.rb
643
+ - spec/lib/ruby_smb/dcerpc/print_system/rpc_get_printer_driver_directory_request_spec.rb
644
+ - spec/lib/ruby_smb/dcerpc/print_system/rpc_get_printer_driver_directory_response_spec.rb
621
645
  - spec/lib/ruby_smb/dcerpc/request_spec.rb
622
646
  - spec/lib/ruby_smb/dcerpc/response_spec.rb
623
647
  - spec/lib/ruby_smb/dcerpc/rpc_auth3_spec.rb
@@ -877,6 +901,10 @@ test_files:
877
901
  - spec/lib/ruby_smb/dcerpc/bind_spec.rb
878
902
  - spec/lib/ruby_smb/dcerpc/client_spec.rb
879
903
  - spec/lib/ruby_smb/dcerpc/drsr_spec.rb
904
+ - spec/lib/ruby_smb/dcerpc/encrypting_file_system/efs_rpc_encrypt_file_srv_request_spec.rb
905
+ - spec/lib/ruby_smb/dcerpc/encrypting_file_system/efs_rpc_encrypt_file_srv_response_spec.rb
906
+ - spec/lib/ruby_smb/dcerpc/encrypting_file_system/efs_rpc_open_file_raw_request_spec.rb
907
+ - spec/lib/ruby_smb/dcerpc/encrypting_file_system/efs_rpc_open_file_raw_response_spec.rb
880
908
  - spec/lib/ruby_smb/dcerpc/ndr_spec.rb
881
909
  - spec/lib/ruby_smb/dcerpc/netlogon/netr_server_authenticate3_request_spec.rb
882
910
  - spec/lib/ruby_smb/dcerpc/netlogon/netr_server_authenticate3_response_spec.rb
@@ -886,6 +914,14 @@ test_files:
886
914
  - spec/lib/ruby_smb/dcerpc/netlogon/netr_server_req_challenge_response_spec.rb
887
915
  - spec/lib/ruby_smb/dcerpc/p_syntax_id_t_spec.rb
888
916
  - spec/lib/ruby_smb/dcerpc/pdu_header_spec.rb
917
+ - spec/lib/ruby_smb/dcerpc/print_system/driver_container_spec.rb
918
+ - spec/lib/ruby_smb/dcerpc/print_system/driver_info2_spec.rb
919
+ - spec/lib/ruby_smb/dcerpc/print_system/rpc_add_printer_driver_ex_request_spec.rb
920
+ - spec/lib/ruby_smb/dcerpc/print_system/rpc_add_printer_driver_ex_response_spec.rb
921
+ - spec/lib/ruby_smb/dcerpc/print_system/rpc_enum_printer_drivers_request_spec.rb
922
+ - spec/lib/ruby_smb/dcerpc/print_system/rpc_enum_printer_drivers_response_spec.rb
923
+ - spec/lib/ruby_smb/dcerpc/print_system/rpc_get_printer_driver_directory_request_spec.rb
924
+ - spec/lib/ruby_smb/dcerpc/print_system/rpc_get_printer_driver_directory_response_spec.rb
889
925
  - spec/lib/ruby_smb/dcerpc/request_spec.rb
890
926
  - spec/lib/ruby_smb/dcerpc/response_spec.rb
891
927
  - spec/lib/ruby_smb/dcerpc/rpc_auth3_spec.rb
metadata.gz.sig CHANGED
Binary file