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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 13222b20957cf07e915a765e58f73b346848f4d3
4
- data.tar.gz: b9c0812d391bdbbf17aa2a382f07e6fef24b1779
3
+ metadata.gz: 2a150aebadf5c454cf002aaca445c7ac8116f1c7
4
+ data.tar.gz: a70ba25cea5d887f06cb513d1d74d1aa43226044
5
5
  SHA512:
6
- metadata.gz: 3504a7d9644fddbae680008525f4fe247d1bf089afa02319305944745859545a0efbd1553faa5fb5b7325b26d0427186433082c31956b60eb16289ced3cecc97
7
- data.tar.gz: db76d56db392c6c07d648b76742a9e4e31d4c2db9fd5634cb2347cb2ac31e73722136348ad74b3fd949f4f222ff92cdc0a2b4221d2791db6f45fdeb9196b0414
6
+ metadata.gz: b62cafb62679573e461b0ace5c6b77150b8e6ef44bbcb636eac37dd7dc2b88c7ae8b6750075431fb0c600d441d19588951ef27ab3e6ae27dafe6f5df69f01b3a
7
+ data.tar.gz: f46ee2b011223e6465e3b978d42b0e776e48241c53e6ea5c9ff6fb2a7fb0bf1eb5dc1f9cc9155c23b6cb12255cadf60012f4f5fa13b58a3ab173459d825f9be8
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
@@ -35,7 +35,7 @@
35
35
  Artistic 2.0
36
36
 
37
37
  == Copyright
38
- (C) 2003-2016, Daniel J. Berger, All Rights Reserved
38
+ (C) 2003-2017, Daniel J. Berger, All Rights Reserved
39
39
 
40
40
  == Warranty
41
41
  This package is provided "as is" and without any express or
@@ -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
@@ -1,21 +1,21 @@
1
1
  -----BEGIN CERTIFICATE-----
2
2
  MIIDcDCCAligAwIBAgIBATANBgkqhkiG9w0BAQUFADA/MREwDwYDVQQDDAhkamJl
3
3
  cmc5NjEVMBMGCgmSJomT8ixkARkWBWdtYWlsMRMwEQYKCZImiZPyLGQBGRYDY29t
4
- MB4XDTE1MDkwMjIwNDkxOFoXDTE2MDkwMTIwNDkxOFowPzERMA8GA1UEAwwIZGpi
4
+ MB4XDTE2MTIxMjAwMTQ1M1oXDTE3MTIxMjAwMTQ1M1owPzERMA8GA1UEAwwIZGpi
5
5
  ZXJnOTYxFTATBgoJkiaJk/IsZAEZFgVnbWFpbDETMBEGCgmSJomT8ixkARkWA2Nv
6
- bTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMyTkvXqRp6hLs9eoJOS
7
- Hmi8kRYbq9Vkf15/hMxJpotYMgJVHHWrmDcC5Dye2PbnXjTkKf266Zw0PtT9h+lI
8
- S3ts9HO+vaCFSMwFFZmnWJSpQ3CNw2RcHxjWkk9yF7imEM8Kz9ojhiDXzBetdV6M
9
- gr0lV/alUr7TNVBDngbXEfTWscyXh1qd7xZ4EcOdsDktCe5G45N/o3662tPQvJsi
10
- FOF0CM/KuBsa/HL1/eoEmF4B3EKIRfTHrQ3hu20Kv3RJ88QM4ec2+0dd97uX693O
11
- zv6981fyEg+aXLkxrkViM/tz2qR2ZE0jPhHTREPYeMEgptRkTmWSKAuLVWrJEfgl
12
- DtkCAwEAAaN3MHUwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0OBBYEFEwe
13
- nn6bfJADmuIDiMSOzedOrL+xMB0GA1UdEQQWMBSBEmRqYmVyZzk2QGdtYWlsLmNv
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
- ggEBAHmNOCWoDVD75zHFueY0viwGDVP1BNGFC+yXcb7u2GlK+nEMCORqzURbYPf7
16
- tL+/hzmePIRz7i30UM//64GI1NLv9jl7nIwjhPpXpf7/lu2I9hOTsvwSumb5UiKC
17
- /sqBxI3sfj9pr79Wpv4MuikX1XPik7Ncb7NPsJPw06Lvyc3Hkg5X2XpPtLtS+Gr2
18
- wKJnmzb5rIPS1cmsqv0M9LPWflzfwoZ/SpnmhagP+g05p8bRNKjZSA2iImM/GyYZ
19
- EJYzxdPOrx2n6NYR3Hk+vHP0U7UBSveI6+qx+ndQYaeyCn+GRX2PKS9h66YF/Q1V
20
- tGSHgAmcLlkdGgan182qsE/4kKM=
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-----
@@ -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.8'
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.8', File::WIN32_FILE_SECURITY_VERSION)
11
+ assert_equal('1.0.9', File::WIN32_FILE_SECURITY_VERSION)
12
12
  end
13
13
  end
@@ -2,7 +2,7 @@ require 'rubygems'
2
2
 
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = 'win32-file-security'
5
- spec.version = '1.0.8'
5
+ spec.version = '1.0.9'
6
6
  spec.authors = ['Daniel J. Berger', 'Park Heesob']
7
7
  spec.license = 'Artistic 2.0'
8
8
  spec.email = 'djberg96@gmail.com'
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.8
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
- MB4XDTE1MDkwMjIwNDkxOFoXDTE2MDkwMTIwNDkxOFowPzERMA8GA1UEAwwIZGpi
16
+ MB4XDTE2MTIxMjAwMTQ1M1oXDTE3MTIxMjAwMTQ1M1owPzERMA8GA1UEAwwIZGpi
17
17
  ZXJnOTYxFTATBgoJkiaJk/IsZAEZFgVnbWFpbDETMBEGCgmSJomT8ixkARkWA2Nv
18
- bTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMyTkvXqRp6hLs9eoJOS
19
- Hmi8kRYbq9Vkf15/hMxJpotYMgJVHHWrmDcC5Dye2PbnXjTkKf266Zw0PtT9h+lI
20
- S3ts9HO+vaCFSMwFFZmnWJSpQ3CNw2RcHxjWkk9yF7imEM8Kz9ojhiDXzBetdV6M
21
- gr0lV/alUr7TNVBDngbXEfTWscyXh1qd7xZ4EcOdsDktCe5G45N/o3662tPQvJsi
22
- FOF0CM/KuBsa/HL1/eoEmF4B3EKIRfTHrQ3hu20Kv3RJ88QM4ec2+0dd97uX693O
23
- zv6981fyEg+aXLkxrkViM/tz2qR2ZE0jPhHTREPYeMEgptRkTmWSKAuLVWrJEfgl
24
- DtkCAwEAAaN3MHUwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0OBBYEFEwe
25
- nn6bfJADmuIDiMSOzedOrL+xMB0GA1UdEQQWMBSBEmRqYmVyZzk2QGdtYWlsLmNv
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
- ggEBAHmNOCWoDVD75zHFueY0viwGDVP1BNGFC+yXcb7u2GlK+nEMCORqzURbYPf7
28
- tL+/hzmePIRz7i30UM//64GI1NLv9jl7nIwjhPpXpf7/lu2I9hOTsvwSumb5UiKC
29
- /sqBxI3sfj9pr79Wpv4MuikX1XPik7Ncb7NPsJPw06Lvyc3Hkg5X2XpPtLtS+Gr2
30
- wKJnmzb5rIPS1cmsqv0M9LPWflzfwoZ/SpnmhagP+g05p8bRNKjZSA2iImM/GyYZ
31
- EJYzxdPOrx2n6NYR3Hk+vHP0U7UBSveI6+qx+ndQYaeyCn+GRX2PKS9h66YF/Q1V
32
- tGSHgAmcLlkdGgan182qsE/4kKM=
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: 2016-01-31 00:00:00.000000000 Z
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.4.8
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