win32-file-security 1.0.8 → 1.0.9

Sign up to get free protection for your applications and to get access to all the features.
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