win32-file-security 1.0.8 → 1.0.9
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 +0 -0
- data/CHANGES +7 -0
- data/README +1 -1
- data/appveyor.yml +6 -3
- data/certs/djberg96_pub.pem +15 -15
- data/lib/win32/file/security.rb +4 -3
- data/test/test_win32_file_security_version.rb +1 -1
- data/win32-file-security.gemspec +1 -1
- metadata +18 -19
- metadata.gz.sig +0 -0
- data/lib/win32/file/security/helper.rb +0 -23
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2a150aebadf5c454cf002aaca445c7ac8116f1c7
|
|
4
|
+
data.tar.gz: a70ba25cea5d887f06cb513d1d74d1aa43226044
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b62cafb62679573e461b0ace5c6b77150b8e6ef44bbcb636eac37dd7dc2b88c7ae8b6750075431fb0c600d441d19588951ef27ab3e6ae27dafe6f5df69f01b3a
|
|
7
|
+
data.tar.gz: f46ee2b011223e6465e3b978d42b0e776e48241c53e6ea5c9ff6fb2a7fb0bf1eb5dc1f9cc9155c23b6cb12255cadf60012f4f5fa13b58a3ab173459d825f9be8
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data.tar.gz.sig
CHANGED
|
Binary file
|
data/CHANGES
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
= 1.0.9 - 27-Feb-2017
|
|
2
|
+
* Fixed a bug in the File.set_permissions method. Thanks go to Thomas Bernhart
|
|
3
|
+
for the spot and the patch.
|
|
4
|
+
* Removed the helper.rb file, since the methods are already available from
|
|
5
|
+
the dependencies.
|
|
6
|
+
* Removed Ruby 1.9.x from the test matrix, and added Ruby 2.3.x.
|
|
7
|
+
|
|
1
8
|
= 1.0.8 - 30-Jan-2016
|
|
2
9
|
* Fixed an issue for account names that do not contain a backslash. Thanks go
|
|
3
10
|
to Ben Jansen for the spot and patch.
|
data/README
CHANGED
data/appveyor.yml
CHANGED
|
@@ -6,8 +6,6 @@ skip_tags: true
|
|
|
6
6
|
clone_depth: 10
|
|
7
7
|
environment:
|
|
8
8
|
matrix:
|
|
9
|
-
- ruby_version: 193
|
|
10
|
-
ruby_dir: 1.9.1
|
|
11
9
|
- ruby_version: 200
|
|
12
10
|
ruby_dir: 2.0.0
|
|
13
11
|
- ruby_version: 200-x64
|
|
@@ -20,6 +18,10 @@ environment:
|
|
|
20
18
|
ruby_dir: 2.2.0
|
|
21
19
|
- ruby_version: 22-x64
|
|
22
20
|
ruby_dir: 2.2.0
|
|
21
|
+
- ruby_version: 23
|
|
22
|
+
ruby_dir: 2.3.0
|
|
23
|
+
- ruby_version: 23-x64
|
|
24
|
+
ruby_dir: 2.3.0
|
|
23
25
|
install:
|
|
24
26
|
- ps: >-
|
|
25
27
|
$env:path = "C:\Ruby" + $env:ruby_version + "\bin;" + $env:path
|
|
@@ -38,13 +40,14 @@ install:
|
|
|
38
40
|
|
|
39
41
|
if ((gem query -i win32-security) -eq $False){ gem install win32-security --no-document }
|
|
40
42
|
cache:
|
|
41
|
-
- C:\Ruby193\lib\ruby\gems\1.9.1
|
|
42
43
|
- C:\Ruby200\lib\ruby\gems\2.0.0
|
|
43
44
|
- C:\Ruby200-x64\lib\ruby\gems\2.0.0
|
|
44
45
|
- C:\Ruby21\lib\ruby\gems\2.1.0
|
|
45
46
|
- C:\Ruby21-x64\lib\ruby\gems\2.1.0
|
|
46
47
|
- C:\Ruby22\lib\ruby\gems\2.2.0
|
|
47
48
|
- C:\Ruby22-x64\lib\ruby\gems\2.2.0
|
|
49
|
+
- C:\Ruby23\lib\ruby\gems\2.3.0
|
|
50
|
+
- C:\Ruby23-x64\lib\ruby\gems\2.3.0
|
|
48
51
|
build: off
|
|
49
52
|
test_script:
|
|
50
53
|
- cmd: rake
|
data/certs/djberg96_pub.pem
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
-----BEGIN CERTIFICATE-----
|
|
2
2
|
MIIDcDCCAligAwIBAgIBATANBgkqhkiG9w0BAQUFADA/MREwDwYDVQQDDAhkamJl
|
|
3
3
|
cmc5NjEVMBMGCgmSJomT8ixkARkWBWdtYWlsMRMwEQYKCZImiZPyLGQBGRYDY29t
|
|
4
|
-
|
|
4
|
+
MB4XDTE2MTIxMjAwMTQ1M1oXDTE3MTIxMjAwMTQ1M1owPzERMA8GA1UEAwwIZGpi
|
|
5
5
|
ZXJnOTYxFTATBgoJkiaJk/IsZAEZFgVnbWFpbDETMBEGCgmSJomT8ixkARkWA2Nv
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
6
|
+
bTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMVtTm/wETO8yKVKRPBO
|
|
7
|
+
VgPRvE94iEfKryOb/tQrmhGhchG2ALqdw/r54cGJvLaXeItrYJ6N8pSE/FSnN5jM
|
|
8
|
+
xugUhHBprPl+AsQ4E+IBy0dKwyU8XjFoVYzWvT1wnqwQdSazdgFCfQqb51QCgUIT
|
|
9
|
+
PGGakKlyzCb3Mbq30is8+QlRrqXt/JbpkUZbQwUqCdAulMT4oyPBk/L+48pbVX0s
|
|
10
|
+
4yj7YaVAqfGByAMTPXEmUS388lX+0xq8+GGir2Fuh0TpNW0ggr9BxprwqL0Mg4Oo
|
|
11
|
+
YhM5L1y8Plolo8mOTN3+K8I3afZ0lD0BtwniVb6g+Ut/4aBjKy2+GyFwwNOu0gSj
|
|
12
|
+
desCAwEAAaN3MHUwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0OBBYEFJfg
|
|
13
|
+
HmQ0uDU3Z9A9hB1lQMjr5VZSMB0GA1UdEQQWMBSBEmRqYmVyZzk2QGdtYWlsLmNv
|
|
14
14
|
bTAdBgNVHRIEFjAUgRJkamJlcmc5NkBnbWFpbC5jb20wDQYJKoZIhvcNAQEFBQAD
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
/
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
15
|
+
ggEBACjRCHRP944MHIQJNCglZbDnZowybV2HxmG1uhnvRwrOjBA7CXemc+QSAL7K
|
|
16
|
+
7eXC4FdojVEJrnU7ZxuCmfQU+fvkEQKOnah1osG1874aPiDlwtjHclpeqcDgTUI7
|
|
17
|
+
A7CF+OXK8x7ksFx205ruhPHKaPYtwVG/W/J+y7Wx8yl9rvwUgRBL5cVzTBiEz+AB
|
|
18
|
+
NRT7yoHXXfFXjuQWN1eHunSbNds2ZTGQd64yBCujb17Xdl+F9tu4klkTga3gxP3P
|
|
19
|
+
y3zoX1VttxnIZBojRM/s2A7c2aubMH2SVbXMR3ccVkB9XbYKl1OvCe7q85xEHit2
|
|
20
|
+
Kbpico5nnyHqf7YSPmvZe8bCU94=
|
|
21
21
|
-----END CERTIFICATE-----
|
data/lib/win32/file/security.rb
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
require_relative 'security/constants'
|
|
2
2
|
require_relative 'security/structs'
|
|
3
3
|
require_relative 'security/functions'
|
|
4
|
-
require_relative 'security/helper'
|
|
5
4
|
require 'socket'
|
|
6
5
|
|
|
7
6
|
class File
|
|
@@ -12,7 +11,7 @@ class File
|
|
|
12
11
|
extend Windows::File::Functions
|
|
13
12
|
|
|
14
13
|
# The version of the win32-file library
|
|
15
|
-
WIN32_FILE_SECURITY_VERSION = '1.0.
|
|
14
|
+
WIN32_FILE_SECURITY_VERSION = '1.0.9'
|
|
16
15
|
|
|
17
16
|
class << self
|
|
18
17
|
remove_method(:chown)
|
|
@@ -387,7 +386,6 @@ class File
|
|
|
387
386
|
wide_file = string_check(file).wincode
|
|
388
387
|
raise TypeError unless perms.kind_of?(Hash)
|
|
389
388
|
|
|
390
|
-
account_rights = 0
|
|
391
389
|
sec_desc = FFI::MemoryPointer.new(:pointer, SECURITY_DESCRIPTOR_MIN_LENGTH)
|
|
392
390
|
|
|
393
391
|
unless InitializeSecurityDescriptor(sec_desc, 1)
|
|
@@ -403,6 +401,9 @@ class File
|
|
|
403
401
|
perms.each{ |account, mask|
|
|
404
402
|
next if mask.nil?
|
|
405
403
|
|
|
404
|
+
# reset account_rights for each entry in perms:
|
|
405
|
+
account_rights = 0
|
|
406
|
+
|
|
406
407
|
server, account = account.split("\\")
|
|
407
408
|
|
|
408
409
|
if ['BUILTIN', 'NT AUTHORITY'].include?(server.upcase)
|
|
@@ -8,6 +8,6 @@ require 'win32/file/security'
|
|
|
8
8
|
|
|
9
9
|
class TC_Win32_File_Security_Version < Test::Unit::TestCase
|
|
10
10
|
test "version is set to expected value" do
|
|
11
|
-
assert_equal('1.0.
|
|
11
|
+
assert_equal('1.0.9', File::WIN32_FILE_SECURITY_VERSION)
|
|
12
12
|
end
|
|
13
13
|
end
|
data/win32-file-security.gemspec
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: win32-file-security
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.0.
|
|
4
|
+
version: 1.0.9
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Daniel J. Berger
|
|
@@ -13,25 +13,25 @@ cert_chain:
|
|
|
13
13
|
-----BEGIN CERTIFICATE-----
|
|
14
14
|
MIIDcDCCAligAwIBAgIBATANBgkqhkiG9w0BAQUFADA/MREwDwYDVQQDDAhkamJl
|
|
15
15
|
cmc5NjEVMBMGCgmSJomT8ixkARkWBWdtYWlsMRMwEQYKCZImiZPyLGQBGRYDY29t
|
|
16
|
-
|
|
16
|
+
MB4XDTE2MTIxMjAwMTQ1M1oXDTE3MTIxMjAwMTQ1M1owPzERMA8GA1UEAwwIZGpi
|
|
17
17
|
ZXJnOTYxFTATBgoJkiaJk/IsZAEZFgVnbWFpbDETMBEGCgmSJomT8ixkARkWA2Nv
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
18
|
+
bTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMVtTm/wETO8yKVKRPBO
|
|
19
|
+
VgPRvE94iEfKryOb/tQrmhGhchG2ALqdw/r54cGJvLaXeItrYJ6N8pSE/FSnN5jM
|
|
20
|
+
xugUhHBprPl+AsQ4E+IBy0dKwyU8XjFoVYzWvT1wnqwQdSazdgFCfQqb51QCgUIT
|
|
21
|
+
PGGakKlyzCb3Mbq30is8+QlRrqXt/JbpkUZbQwUqCdAulMT4oyPBk/L+48pbVX0s
|
|
22
|
+
4yj7YaVAqfGByAMTPXEmUS388lX+0xq8+GGir2Fuh0TpNW0ggr9BxprwqL0Mg4Oo
|
|
23
|
+
YhM5L1y8Plolo8mOTN3+K8I3afZ0lD0BtwniVb6g+Ut/4aBjKy2+GyFwwNOu0gSj
|
|
24
|
+
desCAwEAAaN3MHUwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0OBBYEFJfg
|
|
25
|
+
HmQ0uDU3Z9A9hB1lQMjr5VZSMB0GA1UdEQQWMBSBEmRqYmVyZzk2QGdtYWlsLmNv
|
|
26
26
|
bTAdBgNVHRIEFjAUgRJkamJlcmc5NkBnbWFpbC5jb20wDQYJKoZIhvcNAQEFBQAD
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
/
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
27
|
+
ggEBACjRCHRP944MHIQJNCglZbDnZowybV2HxmG1uhnvRwrOjBA7CXemc+QSAL7K
|
|
28
|
+
7eXC4FdojVEJrnU7ZxuCmfQU+fvkEQKOnah1osG1874aPiDlwtjHclpeqcDgTUI7
|
|
29
|
+
A7CF+OXK8x7ksFx205ruhPHKaPYtwVG/W/J+y7Wx8yl9rvwUgRBL5cVzTBiEz+AB
|
|
30
|
+
NRT7yoHXXfFXjuQWN1eHunSbNds2ZTGQd64yBCujb17Xdl+F9tu4klkTga3gxP3P
|
|
31
|
+
y3zoX1VttxnIZBojRM/s2A7c2aubMH2SVbXMR3ccVkB9XbYKl1OvCe7q85xEHit2
|
|
32
|
+
Kbpico5nnyHqf7YSPmvZe8bCU94=
|
|
33
33
|
-----END CERTIFICATE-----
|
|
34
|
-
date:
|
|
34
|
+
date: 2017-02-27 00:00:00.000000000 Z
|
|
35
35
|
dependencies:
|
|
36
36
|
- !ruby/object:Gem::Dependency
|
|
37
37
|
name: ffi
|
|
@@ -111,7 +111,6 @@ files:
|
|
|
111
111
|
- lib/win32/file/security
|
|
112
112
|
- lib/win32/file/security/constants.rb
|
|
113
113
|
- lib/win32/file/security/functions.rb
|
|
114
|
-
- lib/win32/file/security/helper.rb
|
|
115
114
|
- lib/win32/file/security/structs.rb
|
|
116
115
|
- lib/win32/file/security.rb
|
|
117
116
|
- lib/win32-file-security.rb
|
|
@@ -147,7 +146,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
147
146
|
version: '0'
|
|
148
147
|
requirements: []
|
|
149
148
|
rubyforge_project:
|
|
150
|
-
rubygems_version: 2.
|
|
149
|
+
rubygems_version: 2.6.7
|
|
151
150
|
signing_key:
|
|
152
151
|
specification_version: 4
|
|
153
152
|
summary: File security methods for the File class on MS Windows
|
metadata.gz.sig
CHANGED
|
Binary file
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
class String
|
|
2
|
-
unless instance_methods.include?(:wincode)
|
|
3
|
-
# Convenience method for converting strings to UTF-16LE for wide character
|
|
4
|
-
# functions that require it.
|
|
5
|
-
def wincode
|
|
6
|
-
unless encoding == Encoding::UTF_16LE
|
|
7
|
-
(self.tr(File::SEPARATOR, File::ALT_SEPARATOR) + 0.chr).encode('UTF-16LE')
|
|
8
|
-
end
|
|
9
|
-
end
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
unless instance_methods.include?(:wstrip)
|
|
13
|
-
# Read a wide character string up until the first double null, and delete
|
|
14
|
-
# any remaining null characters.
|
|
15
|
-
def wstrip
|
|
16
|
-
unless encoding == Encoding::UTF_16LE
|
|
17
|
-
self.force_encoding('UTF-16LE')
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
self.encode('UTF-8',:invalid=>:replace,:undef=>:replace).split("\x00")[0].encode(Encoding.default_external)
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
end
|