sys-admin 1.7.5 → 1.7.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/CHANGES.md +8 -0
- data/Gemfile +3 -0
- data/MANIFEST.md +4 -3
- data/Rakefile +2 -2
- data/lib/bsd/sys/admin.rb +13 -7
- data/lib/darwin/sys/admin.rb +14 -7
- data/lib/linux/sys/admin.rb +13 -12
- data/lib/sunos/sys/admin.rb +12 -5
- data/lib/sys/admin.rb +1 -1
- data/lib/sys/admin/common.rb +3 -6
- data/lib/unix/sys/admin.rb +7 -5
- data/lib/windows/sys/admin.rb +9 -6
- data/sys-admin.gemspec +2 -1
- data/test/test_sys_admin.rb +1 -1
- metadata +17 -35
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4d87741306e11fa28da2582a0c3bd0ba994cbeaea92744afa894bc07e996b975
|
4
|
+
data.tar.gz: 2c2d445e5b58d5298741bb33e1ffdaa12b509e092ea8d5ee1c7139ff6afa84b6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: de6f1e3e923441b4be9a73c4c9a93509d75a546c7a8b0a9e0681b161fa72332f859d498aa46fee36c60ebdc01c651dca10a89f93d4c3fe198a00eb73f7865d54
|
7
|
+
data.tar.gz: 87375e7a062284f4713accc6e8b9ad245f9d0c66184d614789cef89b9a0e20b6ed1272b9cd8ad7e25f7d118e1100ba4d71f0c69aadead4e4e5b859fc330f84ed
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/CHANGES.md
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
## 1.7.6 - 24-Mar-2021
|
2
|
+
* Changed the implementation for `Admin.get_login` on Linux since the
|
3
|
+
underlying `getlogin` C function is unreliable, especially in certain
|
4
|
+
virtualized environments.
|
5
|
+
* Added win32-security back to the gemspec as a dependency for Windows.
|
6
|
+
I'm not sure why I removed it, and bundler definitely needs it.
|
7
|
+
* Fixed some private access modifiers that weren't actually doing anything.
|
8
|
+
|
1
9
|
## 1.7.5 - 30-Dec-2020
|
2
10
|
* Switched from rdoc to markdown since github isn't rendering rdoc properly.
|
3
11
|
|
data/Gemfile
ADDED
data/MANIFEST.md
CHANGED
data/Rakefile
CHANGED
@@ -3,7 +3,7 @@ require 'rake/clean'
|
|
3
3
|
require 'rake/testtask'
|
4
4
|
require 'rbconfig'
|
5
5
|
|
6
|
-
CLEAN.include("**/*.gem", "**/*.rbx", "**/*.rbc", "ruby.core")
|
6
|
+
CLEAN.include("**/*.gem", "**/*.rbx", "**/*.rbc", "ruby.core", "**/*.lock")
|
7
7
|
|
8
8
|
namespace :gem do
|
9
9
|
desc "Create the sys-uname gem"
|
@@ -11,7 +11,7 @@ namespace :gem do
|
|
11
11
|
require 'rubygems/package'
|
12
12
|
spec = eval(IO.read('sys-admin.gemspec'))
|
13
13
|
spec.signing_key = File.join(Dir.home, '.ssh', 'gem-private_key.pem')
|
14
|
-
Gem::Package.build(spec
|
14
|
+
Gem::Package.build(spec)
|
15
15
|
end
|
16
16
|
|
17
17
|
desc "Install the sys-uname gem"
|
data/lib/bsd/sys/admin.rb
CHANGED
@@ -6,10 +6,9 @@ require 'rbconfig'
|
|
6
6
|
|
7
7
|
module Sys
|
8
8
|
class Admin
|
9
|
-
private
|
10
|
-
|
11
9
|
# :no-doc:
|
12
10
|
BUF_MAX = 65536 # Max buffer for retry
|
11
|
+
private_constant :BUF_MAX
|
13
12
|
|
14
13
|
# I'm making some aliases here to prevent potential conflicts
|
15
14
|
attach_function :open_c, :open, [:string, :int], :int
|
@@ -22,8 +21,7 @@ module Sys
|
|
22
21
|
attach_function :getgrnam_r, [:string, :pointer, :pointer, :size_t, :pointer], :int
|
23
22
|
attach_function :getgrgid_r, [:long, :pointer, :pointer, :size_t, :pointer], :int
|
24
23
|
|
25
|
-
private_class_method :getlogin_r, :getpwnam_r, :getpwuid_r, :getgrnam_r
|
26
|
-
private_class_method :getgrgid_r
|
24
|
+
private_class_method :getlogin_r, :getpwnam_r, :getpwuid_r, :getgrnam_r, :getgrgid_r
|
27
25
|
private_class_method :open_c, :pread_c, :close_c
|
28
26
|
|
29
27
|
# struct passwd from /usr/include/pwd.h
|
@@ -48,6 +46,8 @@ module Sys
|
|
48
46
|
layout(*fields)
|
49
47
|
end
|
50
48
|
|
49
|
+
private_constant :PasswdStruct
|
50
|
+
|
51
51
|
# struct group from /usr/include/grp.h
|
52
52
|
class GroupStruct < FFI::Struct
|
53
53
|
layout(
|
@@ -58,6 +58,8 @@ module Sys
|
|
58
58
|
)
|
59
59
|
end
|
60
60
|
|
61
|
+
private_constant :GroupStruct
|
62
|
+
|
61
63
|
# I'm blending the timeval struct in directly here
|
62
64
|
class LastlogStruct < FFI::Struct
|
63
65
|
layout(
|
@@ -67,7 +69,7 @@ module Sys
|
|
67
69
|
)
|
68
70
|
end
|
69
71
|
|
70
|
-
|
72
|
+
private_constant :LastlogStruct
|
71
73
|
|
72
74
|
# Returns the login for the current process.
|
73
75
|
#
|
@@ -192,8 +194,6 @@ module Sys
|
|
192
194
|
groups
|
193
195
|
end
|
194
196
|
|
195
|
-
private
|
196
|
-
|
197
197
|
# Takes a GroupStruct and converts it to a Group object.
|
198
198
|
def self.get_group_from_struct(grp)
|
199
199
|
Group.new do |g|
|
@@ -204,6 +204,8 @@ module Sys
|
|
204
204
|
end
|
205
205
|
end
|
206
206
|
|
207
|
+
private_class_method :get_group_from_struct
|
208
|
+
|
207
209
|
# Takes a UserStruct and converts it to a User object.
|
208
210
|
def self.get_user_from_struct(pwd)
|
209
211
|
user = User.new do |u|
|
@@ -230,6 +232,8 @@ module Sys
|
|
230
232
|
user
|
231
233
|
end
|
232
234
|
|
235
|
+
private_class_method :get_user_from_struct
|
236
|
+
|
233
237
|
# Get lastlog information for the given user.
|
234
238
|
def self.get_lastlog_info(uid)
|
235
239
|
logfile = '/var/log/lastlog'
|
@@ -252,5 +256,7 @@ module Sys
|
|
252
256
|
|
253
257
|
lastlog
|
254
258
|
end
|
259
|
+
|
260
|
+
private_class_method :get_lastlog_info
|
255
261
|
end
|
256
262
|
end
|
data/lib/darwin/sys/admin.rb
CHANGED
@@ -5,10 +5,9 @@ require 'sys/admin/common'
|
|
5
5
|
|
6
6
|
module Sys
|
7
7
|
class Admin
|
8
|
-
private
|
9
|
-
|
10
8
|
# :no-doc:
|
11
9
|
BUF_MAX = 65536 # Max buf size for retry.
|
10
|
+
private_constant :BUF_MAX
|
12
11
|
|
13
12
|
attach_function :getlogin_r, [:pointer, :int], :int
|
14
13
|
attach_function :getpwnam_r, [:string, :pointer, :pointer, :size_t, :pointer], :int
|
@@ -17,8 +16,8 @@ module Sys
|
|
17
16
|
attach_function :getgrgid_r, [:long, :pointer, :pointer, :size_t, :pointer], :int
|
18
17
|
attach_function :getlastlogx, [:long, :pointer], :pointer
|
19
18
|
|
20
|
-
private_class_method :getlogin_r, :getpwnam_r, :getpwuid_r
|
21
|
-
private_class_method :getgrgid_r, :getlastlogx
|
19
|
+
private_class_method :getlogin_r, :getpwnam_r, :getpwuid_r
|
20
|
+
private_class_method :getgrnam_r, :getgrgid_r, :getlastlogx
|
22
21
|
|
23
22
|
# struct passwd from /usr/include/pwd.h
|
24
23
|
class PasswdStruct < FFI::Struct
|
@@ -36,6 +35,8 @@ module Sys
|
|
36
35
|
)
|
37
36
|
end
|
38
37
|
|
38
|
+
private_constant :PasswdStruct
|
39
|
+
|
39
40
|
# struct group from /usr/include/grp.h
|
40
41
|
class GroupStruct < FFI::Struct
|
41
42
|
layout(
|
@@ -46,6 +47,8 @@ module Sys
|
|
46
47
|
)
|
47
48
|
end
|
48
49
|
|
50
|
+
private_constant :GroupStruct
|
51
|
+
|
49
52
|
# I'm blending the timeval struct in directly here
|
50
53
|
class LastlogxStruct < FFI::Struct
|
51
54
|
layout(
|
@@ -56,7 +59,7 @@ module Sys
|
|
56
59
|
)
|
57
60
|
end
|
58
61
|
|
59
|
-
|
62
|
+
private_constant :LastlogxStruct
|
60
63
|
|
61
64
|
# Returns the login for the current process.
|
62
65
|
#
|
@@ -185,8 +188,6 @@ module Sys
|
|
185
188
|
groups
|
186
189
|
end
|
187
190
|
|
188
|
-
private
|
189
|
-
|
190
191
|
# Takes a GroupStruct and converts it to a Group object.
|
191
192
|
def self.get_group_from_struct(grp)
|
192
193
|
Group.new do |g|
|
@@ -197,6 +198,8 @@ module Sys
|
|
197
198
|
end
|
198
199
|
end
|
199
200
|
|
201
|
+
private_class_method :get_group_from_struct
|
202
|
+
|
200
203
|
# Takes a UserStruct and converts it to a User object.
|
201
204
|
def self.get_user_from_struct(pwd)
|
202
205
|
user = User.new do |u|
|
@@ -223,6 +226,8 @@ module Sys
|
|
223
226
|
user
|
224
227
|
end
|
225
228
|
|
229
|
+
private_class_method :get_user_from_struct
|
230
|
+
|
226
231
|
# Gets lastlog information for the given user.
|
227
232
|
def self.get_lastlog_info(uid)
|
228
233
|
lastlog = LastlogxStruct.new
|
@@ -233,5 +238,7 @@ module Sys
|
|
233
238
|
|
234
239
|
ptr.null? ? nil : lastlog
|
235
240
|
end
|
241
|
+
|
242
|
+
private_class_method :get_lastlog_info
|
236
243
|
end
|
237
244
|
end
|
data/lib/linux/sys/admin.rb
CHANGED
@@ -5,10 +5,9 @@ require 'sys/admin/common'
|
|
5
5
|
|
6
6
|
module Sys
|
7
7
|
class Admin
|
8
|
-
private
|
9
|
-
|
10
8
|
# :no-doc:
|
11
9
|
BUF_MAX = 65536 # Absolute max buffer size for retry attempts.
|
10
|
+
private_constant :BUF_MAX
|
12
11
|
|
13
12
|
# I'm making some aliases here to prevent potential conflicts
|
14
13
|
attach_function :open_c, :open, [:string, :int], :int
|
@@ -40,6 +39,8 @@ module Sys
|
|
40
39
|
)
|
41
40
|
end
|
42
41
|
|
42
|
+
private_constant :PasswdStruct
|
43
|
+
|
43
44
|
# struct group from /usr/include/grp.h
|
44
45
|
class GroupStruct < FFI::Struct
|
45
46
|
layout(
|
@@ -50,6 +51,8 @@ module Sys
|
|
50
51
|
)
|
51
52
|
end
|
52
53
|
|
54
|
+
private_constant :GroupStruct
|
55
|
+
|
53
56
|
# I'm blending the timeval struct in directly here
|
54
57
|
class LastlogStruct < FFI::Struct
|
55
58
|
layout(
|
@@ -59,18 +62,12 @@ module Sys
|
|
59
62
|
)
|
60
63
|
end
|
61
64
|
|
62
|
-
|
65
|
+
private_constant :LastlogStruct
|
63
66
|
|
64
67
|
# Returns the login for the current process.
|
65
68
|
#
|
66
69
|
def self.get_login
|
67
|
-
|
68
|
-
|
69
|
-
if getlogin_r(buf, buf.size) != 0
|
70
|
-
raise Error, "getlogin_r function failed: " + strerror(FFI.errno)
|
71
|
-
end
|
72
|
-
|
73
|
-
buf.read_string
|
70
|
+
get_user(geteuid()).name
|
74
71
|
end
|
75
72
|
|
76
73
|
# Returns a User object for the given name or uid. Raises an error
|
@@ -204,8 +201,6 @@ module Sys
|
|
204
201
|
groups
|
205
202
|
end
|
206
203
|
|
207
|
-
private
|
208
|
-
|
209
204
|
# Takes a GroupStruct and converts it to a Group object.
|
210
205
|
def self.get_group_from_struct(grp)
|
211
206
|
Group.new do |g|
|
@@ -216,6 +211,8 @@ module Sys
|
|
216
211
|
end
|
217
212
|
end
|
218
213
|
|
214
|
+
private_class_method :get_group_from_struct
|
215
|
+
|
219
216
|
# Takes a UserStruct and converts it to a User object.
|
220
217
|
def self.get_user_from_struct(pwd)
|
221
218
|
user = User.new do |u|
|
@@ -242,6 +239,8 @@ module Sys
|
|
242
239
|
user
|
243
240
|
end
|
244
241
|
|
242
|
+
private_class_method :get_user_from_struct
|
243
|
+
|
245
244
|
# Note: it seems that Linux, or at least Ubuntu, does not track logins
|
246
245
|
# via GDM (Gnome Display Manager) for some reason, so this may not return
|
247
246
|
# anything useful.
|
@@ -269,5 +268,7 @@ module Sys
|
|
269
268
|
|
270
269
|
lastlog
|
271
270
|
end
|
271
|
+
|
272
|
+
private_class_method :get_lastlog_info
|
272
273
|
end
|
273
274
|
end
|
data/lib/sunos/sys/admin.rb
CHANGED
@@ -5,10 +5,9 @@ require 'sys/admin/common'
|
|
5
5
|
|
6
6
|
module Sys
|
7
7
|
class Admin
|
8
|
-
private
|
9
|
-
|
10
8
|
# :no-doc:
|
11
9
|
BUF_MAX = 65536 # Max buffer size for retry.
|
10
|
+
private_constant :BUF_MAX
|
12
11
|
|
13
12
|
# I'm making some aliases here to prevent potential conflicts
|
14
13
|
attach_function :open_c, :open, [:string, :int], :int
|
@@ -42,6 +41,8 @@ module Sys
|
|
42
41
|
)
|
43
42
|
end
|
44
43
|
|
44
|
+
private_constant :PasswdStruct
|
45
|
+
|
45
46
|
# struct group from /usr/include/grp.h
|
46
47
|
class GroupStruct < FFI::Struct
|
47
48
|
layout(
|
@@ -52,6 +53,8 @@ module Sys
|
|
52
53
|
)
|
53
54
|
end
|
54
55
|
|
56
|
+
private_constant :GroupStruct
|
57
|
+
|
55
58
|
# I'm blending the timeval struct in directly here
|
56
59
|
class LastlogStruct < FFI::Struct
|
57
60
|
layout(
|
@@ -61,7 +64,7 @@ module Sys
|
|
61
64
|
)
|
62
65
|
end
|
63
66
|
|
64
|
-
|
67
|
+
private_constant :LastlogStruct
|
65
68
|
|
66
69
|
# Returns the login for the current process.
|
67
70
|
#
|
@@ -194,8 +197,6 @@ module Sys
|
|
194
197
|
groups
|
195
198
|
end
|
196
199
|
|
197
|
-
private
|
198
|
-
|
199
200
|
# Takes a GroupStruct and converts it to a Group object.
|
200
201
|
def self.get_group_from_struct(grp)
|
201
202
|
Group.new do |g|
|
@@ -206,6 +207,8 @@ module Sys
|
|
206
207
|
end
|
207
208
|
end
|
208
209
|
|
210
|
+
private_class_method :get_group_from_struct
|
211
|
+
|
209
212
|
# Takes a UserStruct and converts it to a User object.
|
210
213
|
def self.get_user_from_struct(pwd)
|
211
214
|
user = User.new do |u|
|
@@ -232,6 +235,8 @@ module Sys
|
|
232
235
|
user
|
233
236
|
end
|
234
237
|
|
238
|
+
private_class_method :get_use_from_struct
|
239
|
+
|
235
240
|
# The use of pread was necessary here because it's a sparse file. Note
|
236
241
|
# also that while Solaris supports the getuserattr function, it doesn't
|
237
242
|
# appear to store anything regarding login information.
|
@@ -257,5 +262,7 @@ module Sys
|
|
257
262
|
|
258
263
|
lastlog
|
259
264
|
end
|
265
|
+
|
266
|
+
private_class_method :get_lastlog_info
|
260
267
|
end
|
261
268
|
end
|
data/lib/sys/admin.rb
CHANGED
data/lib/sys/admin/common.rb
CHANGED
@@ -9,12 +9,11 @@ module Sys
|
|
9
9
|
extend FFI::Library
|
10
10
|
ffi_lib FFI::Library::LIBC
|
11
11
|
|
12
|
-
private
|
13
|
-
|
14
12
|
attach_function :strerror, [:int], :string
|
15
13
|
|
16
14
|
attach_function :getlogin, [], :string
|
17
15
|
attach_function :getuid, [], :long
|
16
|
+
attach_function :geteuid, [], :long
|
18
17
|
attach_function :getpwnam, [:string], :pointer
|
19
18
|
attach_function :getpwuid, [:long], :pointer
|
20
19
|
attach_function :getpwent, [], :pointer
|
@@ -27,12 +26,10 @@ module Sys
|
|
27
26
|
attach_function :endgrent, [], :void
|
28
27
|
attach_function :setgrent, [], :void
|
29
28
|
|
30
|
-
private_class_method :getlogin, :getuid, :
|
31
|
-
private_class_method :setpwent, :endpwent, :getgrgid, :getgrnam
|
29
|
+
private_class_method :getlogin, :getuid, :geteuid, :getpwnam, :getpwuid
|
30
|
+
private_class_method :getpwent, :setpwent, :endpwent, :getgrgid, :getgrnam
|
32
31
|
private_class_method :getgrent, :endgrent, :setgrent, :strerror
|
33
32
|
|
34
|
-
public
|
35
|
-
|
36
33
|
# Error typically raised if any of the Sys::Admin methods fail.
|
37
34
|
class Error < StandardError; end
|
38
35
|
|
data/lib/unix/sys/admin.rb
CHANGED
@@ -5,8 +5,6 @@ require 'sys/admin/common'
|
|
5
5
|
|
6
6
|
module Sys
|
7
7
|
class Admin
|
8
|
-
private
|
9
|
-
|
10
8
|
class PasswdStruct < FFI::Struct
|
11
9
|
layout(
|
12
10
|
:pw_name, :string,
|
@@ -19,6 +17,8 @@ module Sys
|
|
19
17
|
)
|
20
18
|
end
|
21
19
|
|
20
|
+
private_constant :PasswdStruct
|
21
|
+
|
22
22
|
class GroupStruct < FFI::Struct
|
23
23
|
layout(
|
24
24
|
:gr_name, :string,
|
@@ -28,7 +28,7 @@ module Sys
|
|
28
28
|
)
|
29
29
|
end
|
30
30
|
|
31
|
-
|
31
|
+
private_constant :GroupStruct
|
32
32
|
|
33
33
|
# Returns the login for the current process.
|
34
34
|
#
|
@@ -133,8 +133,6 @@ module Sys
|
|
133
133
|
groups
|
134
134
|
end
|
135
135
|
|
136
|
-
private
|
137
|
-
|
138
136
|
# Takes a GroupStruct and converts it to a Group object.
|
139
137
|
def self.get_group_from_struct(grp)
|
140
138
|
Group.new do |g|
|
@@ -145,6 +143,8 @@ module Sys
|
|
145
143
|
end
|
146
144
|
end
|
147
145
|
|
146
|
+
private_class_method :get_group_from_struct
|
147
|
+
|
148
148
|
# Takes a UserStruct and converts it to a User object.
|
149
149
|
def self.get_user_from_struct(pwd)
|
150
150
|
user = User.new do |u|
|
@@ -159,5 +159,7 @@ module Sys
|
|
159
159
|
|
160
160
|
user
|
161
161
|
end
|
162
|
+
|
163
|
+
private_class_method :get_user_from_struct
|
162
164
|
end
|
163
165
|
end
|
data/lib/windows/sys/admin.rb
CHANGED
@@ -97,8 +97,6 @@ module Sys
|
|
97
97
|
@sid_type = "unknown"
|
98
98
|
end
|
99
99
|
end
|
100
|
-
|
101
|
-
@sid_type
|
102
100
|
end
|
103
101
|
end
|
104
102
|
|
@@ -314,9 +312,8 @@ module Sys
|
|
314
312
|
SidTypeUnknown = 8
|
315
313
|
SidTypeComputer = 9
|
316
314
|
|
317
|
-
private
|
318
|
-
|
319
315
|
HKEY = "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\ProfileList\\"
|
316
|
+
private_constant :HKEY
|
320
317
|
|
321
318
|
# Retrieves the user's home directory. For local accounts query the
|
322
319
|
# registry. For domain accounts use ADSI and use the HomeDirectory.
|
@@ -343,6 +340,8 @@ module Sys
|
|
343
340
|
dir
|
344
341
|
end
|
345
342
|
|
343
|
+
private_class_method :get_home_dir
|
344
|
+
|
346
345
|
# A private method that lower cases all keys, and converts them
|
347
346
|
# all to symbols.
|
348
347
|
#
|
@@ -357,6 +356,8 @@ module Sys
|
|
357
356
|
rhash
|
358
357
|
end
|
359
358
|
|
359
|
+
private_class_method :munge_options
|
360
|
+
|
360
361
|
# An internal, private method for getting a list of groups for
|
361
362
|
# a particular user. The first member is a list of group names,
|
362
363
|
# the second member is the primary group ID.
|
@@ -368,6 +369,8 @@ module Sys
|
|
368
369
|
[array, adsi.PrimaryGroupId]
|
369
370
|
end
|
370
371
|
|
372
|
+
private_class_method :get_groups
|
373
|
+
|
371
374
|
# An internal, private method for getting a list of members for
|
372
375
|
# any particular group.
|
373
376
|
#
|
@@ -378,13 +381,13 @@ module Sys
|
|
378
381
|
array
|
379
382
|
end
|
380
383
|
|
384
|
+
private_class_method :get_members
|
385
|
+
|
381
386
|
# Used by the get_login method
|
382
387
|
ffi_lib :advapi32
|
383
388
|
attach_function :GetUserNameW, [:pointer, :pointer], :bool
|
384
389
|
private_class_method :GetUserNameW
|
385
390
|
|
386
|
-
public
|
387
|
-
|
388
391
|
# Creates the given +user+. If no domain option is specified,
|
389
392
|
# then it defaults to your local host, i.e. a local account is
|
390
393
|
# created.
|
data/sys-admin.gemspec
CHANGED
@@ -3,7 +3,7 @@ require 'rubygems'
|
|
3
3
|
|
4
4
|
Gem::Specification.new do |spec|
|
5
5
|
spec.name = 'sys-admin'
|
6
|
-
spec.version = '1.7.
|
6
|
+
spec.version = '1.7.6'
|
7
7
|
spec.author = 'Daniel J. Berger'
|
8
8
|
spec.license = 'Apache-2.0'
|
9
9
|
spec.email = 'djberg96@gmail.com'
|
@@ -14,6 +14,7 @@ Gem::Specification.new do |spec|
|
|
14
14
|
spec.cert_chain = ['certs/djberg96_pub.pem']
|
15
15
|
|
16
16
|
spec.add_dependency('ffi', '~> 1.1')
|
17
|
+
spec.add_dependency('win32-security', '~> 0.5') if Gem.win_platform?
|
17
18
|
|
18
19
|
spec.add_development_dependency('test-unit', '>= 2.5.0')
|
19
20
|
spec.add_development_dependency('rake')
|
data/test/test_sys_admin.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sys-admin
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.7.
|
4
|
+
version: 1.7.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel J. Berger
|
@@ -35,7 +35,7 @@ cert_chain:
|
|
35
35
|
ORVCZpRuCPpmC8qmqxUnARDArzucjaclkxjLWvCVHeFa9UP7K3Nl9oTjJNv+7/jM
|
36
36
|
WZs4eecIcUc4tKdHxcAJ0MO/Dkqq7hGaiHpwKY76wQ1+8xAh
|
37
37
|
-----END CERTIFICATE-----
|
38
|
-
date:
|
38
|
+
date: 2021-03-24 00:00:00.000000000 Z
|
39
39
|
dependencies:
|
40
40
|
- !ruby/object:Gem::Dependency
|
41
41
|
name: ffi
|
@@ -90,49 +90,31 @@ executables: []
|
|
90
90
|
extensions: []
|
91
91
|
extra_rdoc_files: []
|
92
92
|
files:
|
93
|
+
- CHANGES.md
|
94
|
+
- Gemfile
|
93
95
|
- LICENSE
|
94
|
-
-
|
95
|
-
- test/test_sys_admin_windows.rb
|
96
|
-
- test/test_sys_admin.rb
|
97
|
-
- test/test_sys_admin_unix.rb
|
96
|
+
- MANIFEST.md
|
98
97
|
- README.md
|
99
98
|
- Rakefile
|
100
|
-
- MANIFEST.md
|
101
|
-
- certs
|
102
99
|
- certs/djberg96_pub.pem
|
103
|
-
-
|
104
|
-
-
|
100
|
+
- doc/sys-admin-unix.txt
|
101
|
+
- doc/sys-admin-windows.txt
|
105
102
|
- examples/example_groups.rb
|
106
|
-
-
|
107
|
-
- lib/sunos
|
108
|
-
- lib/sunos/sys
|
109
|
-
- lib/sunos/sys/admin.rb
|
110
|
-
- lib/bsd
|
111
|
-
- lib/bsd/sys
|
103
|
+
- examples/example_users.rb
|
112
104
|
- lib/bsd/sys/admin.rb
|
105
|
+
- lib/darwin/sys/admin.rb
|
106
|
+
- lib/linux/sys/admin.rb
|
107
|
+
- lib/sunos/sys/admin.rb
|
113
108
|
- lib/sys-admin.rb
|
114
|
-
- lib/
|
115
|
-
- lib/unix/sys
|
116
|
-
- lib/unix/sys/admin.rb
|
117
|
-
- lib/sys
|
118
|
-
- lib/sys/admin
|
109
|
+
- lib/sys/admin.rb
|
119
110
|
- lib/sys/admin/common.rb
|
120
111
|
- lib/sys/admin/custom.rb
|
121
|
-
- lib/sys/admin.rb
|
122
|
-
- lib/linux
|
123
|
-
- lib/linux/sys
|
124
|
-
- lib/linux/sys/admin.rb
|
125
|
-
- lib/darwin
|
126
|
-
- lib/darwin/sys
|
127
|
-
- lib/darwin/sys/admin.rb
|
128
|
-
- lib/windows
|
129
|
-
- lib/windows/sys
|
112
|
+
- lib/unix/sys/admin.rb
|
130
113
|
- lib/windows/sys/admin.rb
|
131
|
-
- CHANGES.md
|
132
|
-
- doc
|
133
|
-
- doc/sys-admin-windows.txt
|
134
|
-
- doc/sys-admin-unix.txt
|
135
114
|
- sys-admin.gemspec
|
115
|
+
- test/test_sys_admin.rb
|
116
|
+
- test/test_sys_admin_unix.rb
|
117
|
+
- test/test_sys_admin_windows.rb
|
136
118
|
homepage: http://www.github.com/djberg96/sys-admin
|
137
119
|
licenses:
|
138
120
|
- Apache-2.0
|
@@ -158,7 +140,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
158
140
|
- !ruby/object:Gem::Version
|
159
141
|
version: '0'
|
160
142
|
requirements: []
|
161
|
-
rubygems_version: 3.
|
143
|
+
rubygems_version: 3.2.15
|
162
144
|
signing_key:
|
163
145
|
specification_version: 4
|
164
146
|
summary: A unified, cross platform replacement for the "etc" library.
|
metadata.gz.sig
CHANGED
Binary file
|