inspec 1.16.1 → 1.17.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +43 -5
- data/Gemfile +1 -8
- data/README.md +9 -1
- data/docs/resources/crontab.md.erb +6 -0
- data/docs/resources/file.md.erb +22 -0
- data/docs/resources/json.md.erb +1 -1
- data/docs/resources/windows_task.md.erb +3 -3
- data/examples/meta-profile/inspec.lock +2 -2
- data/examples/meta-profile/vendor/74b3437714871cca4505d9fc445c805968d56bc674855112bab187a5166f5a2d.tar.gz +0 -0
- data/examples/meta-profile/vendor/eb00c95846aeb3f1cbc5106537dcbf550c910d65986d21a62f7deb69ea060dee.tar.gz +0 -0
- data/inspec.gemspec +1 -1
- data/lib/inspec/rspec_json_formatter.rb +0 -1
- data/lib/inspec/version.rb +1 -1
- data/lib/resources/crontab.rb +4 -0
- data/lib/resources/csv.rb +18 -1
- data/lib/resources/port.rb +20 -4
- data/lib/resources/service.rb +1 -1
- data/lib/source_readers/inspec.rb +14 -7
- data/lib/utils/object_traversal.rb +5 -4
- metadata +7 -7
- data/examples/meta-profile/vendor/6bdab40a3fe9f9de4e7c87f4f3844fdcf2c5cba6f84089b68d47c72392b51fdc.tar.gz +0 -0
- data/examples/meta-profile/vendor/9ad48391d4e6efff0a13d06736c5b075fb021410e0a629e087bc21e9617d957c.tar.gz +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2c165a6b8a6e0ec2ed55a4038e82a3bac56ab80b
|
4
|
+
data.tar.gz: 1a806307865e65cbd266caf0a8f3d0abe2b58257
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6b0ed9d55cc66ed12aaa28a51560cd3238970f215d764c56c96a75b329a41d9a05edc6bb2bece49a353b99b011b3168c76067599309d632f7d51b558a8033baa
|
7
|
+
data.tar.gz: 991eb89677b038a066fac3162685db305f807d1dc67cef40742ec8d778cef8ab6c2cce3c94411c9c6265c46744be37d5b2d09b9edfaf2ecec939fa4885c742c6
|
data/CHANGELOG.md
CHANGED
@@ -1,22 +1,59 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
|
-
## [1.
|
3
|
+
## [1.17.0](https://github.com/chef/inspec/tree/v1.17.0) (2017-03-21)
|
4
|
+
[Full Changelog](https://github.com/chef/inspec/compare/v1.16.1...v1.17.0)
|
5
|
+
|
6
|
+
**Implemented enhancements:**
|
7
|
+
|
8
|
+
- Need better error message for improper inspec.yml formatting [\#1549](https://github.com/chef/inspec/issues/1549)
|
9
|
+
|
10
|
+
**Fixed bugs:**
|
11
|
+
|
12
|
+
- cannot load such file -- nokogiri [\#1562](https://github.com/chef/inspec/issues/1562)
|
13
|
+
- Failure to parse tcp6 URI [\#1521](https://github.com/chef/inspec/issues/1521)
|
14
|
+
- json resource array index access not working [\#1560](https://github.com/chef/inspec/issues/1560)
|
15
|
+
|
16
|
+
**Closed issues:**
|
17
|
+
|
18
|
+
- Crontab regex matching [\#1526](https://github.com/chef/inspec/issues/1526)
|
19
|
+
|
20
|
+
**Merged pull requests:**
|
21
|
+
|
22
|
+
- Fix omnibus configuration [\#1579](https://github.com/chef/inspec/pull/1579) ([adamleff](https://github.com/adamleff))
|
23
|
+
- moving the nokogiri reference into the gemspec file [\#1576](https://github.com/chef/inspec/pull/1576) ([jkerry](https://github.com/jkerry))
|
24
|
+
- Hide Event Feature on Homepage [\#1563](https://github.com/chef/inspec/pull/1563) ([hannah-radish](https://github.com/hannah-radish))
|
25
|
+
- Fix ObjectTraverser when accessing array values [\#1561](https://github.com/chef/inspec/pull/1561) ([adamleff](https://github.com/adamleff))
|
26
|
+
- Add additional example for matching crontab commands [\#1559](https://github.com/chef/inspec/pull/1559) ([adamleff](https://github.com/adamleff))
|
27
|
+
- Update file.md with example how to test symlinked files [\#1555](https://github.com/chef/inspec/pull/1555) ([nvtkaszpir](https://github.com/nvtkaszpir))
|
28
|
+
- Provide better error message when inspec.yml is invalid [\#1552](https://github.com/chef/inspec/pull/1552) ([adamleff](https://github.com/adamleff))
|
29
|
+
- try to use sysv fallback if is not producing proper output [\#1550](https://github.com/chef/inspec/pull/1550) ([chris-rock](https://github.com/chris-rock))
|
30
|
+
- update readme for install scripts [\#1548](https://github.com/chef/inspec/pull/1548) ([chris-rock](https://github.com/chris-rock))
|
31
|
+
- Fixing port check with v4 IPs in a v6 netstat line [\#1547](https://github.com/chef/inspec/pull/1547) ([adamleff](https://github.com/adamleff))
|
32
|
+
- Fixing a typo [\#1536](https://github.com/chef/inspec/pull/1536) ([tescalada](https://github.com/tescalada))
|
33
|
+
- windows\_task docs: Correct syntax error and misspelled word [\#1525](https://github.com/chef/inspec/pull/1525) ([spiffytech](https://github.com/spiffytech))
|
34
|
+
|
35
|
+
## [v1.16.1](https://github.com/chef/inspec/tree/v1.16.1) (2017-03-06)
|
4
36
|
[Full Changelog](https://github.com/chef/inspec/compare/v1.16.0...v1.16.1)
|
5
37
|
|
6
38
|
**Fixed bugs:**
|
7
39
|
|
8
|
-
- "inspec version" waits for connection timeout inside firewall [\#1537](https://github.com/chef/inspec/
|
40
|
+
- "inspec version" waits for connection timeout inside firewall [\#1537](https://github.com/chef/inspec/issues/1537)
|
9
41
|
|
10
42
|
**Merged pull requests:**
|
11
43
|
|
12
|
-
-
|
44
|
+
- releasing 1.16.1 with a bug fix and omnibus fix [\#1540](https://github.com/chef/inspec/pull/1540) ([adamleff](https://github.com/adamleff))
|
13
45
|
- Fix omnibus build after new JUnit formatter [\#1539](https://github.com/chef/inspec/pull/1539) ([adamleff](https://github.com/adamleff))
|
46
|
+
- Avoid connection timeout of "inspec version" [\#1538](https://github.com/chef/inspec/pull/1538) ([makotots](https://github.com/makotots))
|
47
|
+
- Write Habitat-driven InSpec output to svc\_var directory [\#1533](https://github.com/chef/inspec/pull/1533) ([adamleff](https://github.com/adamleff))
|
48
|
+
- Updating .gitignore for Habitat and direnv [\#1531](https://github.com/chef/inspec/pull/1531) ([adamleff](https://github.com/adamleff))
|
49
|
+
- Ready for review - inspec.io bug fixes, \#1440, \#1420, \#1465, \#1421, \#1437,\#1226, \#1494, \#1495 [\#1512](https://github.com/chef/inspec/pull/1512) ([hannah-radish](https://github.com/hannah-radish))
|
14
50
|
|
15
|
-
## [
|
51
|
+
## [v1.16.0](https://github.com/chef/inspec/tree/v1.16.0) (2017-03-02)
|
16
52
|
[Full Changelog](https://github.com/chef/inspec/compare/v1.15.0...v1.16.0)
|
17
53
|
|
18
54
|
**Implemented enhancements:**
|
19
55
|
|
56
|
+
- jUnit reports are hard to read [\#1438](https://github.com/chef/inspec/issues/1438)
|
20
57
|
- Functional JUnit reporter [\#1454](https://github.com/chef/inspec/pull/1454) ([jkerry](https://github.com/jkerry))
|
21
58
|
|
22
59
|
**Closed issues:**
|
@@ -25,6 +62,7 @@
|
|
25
62
|
|
26
63
|
**Merged pull requests:**
|
27
64
|
|
65
|
+
- 1.16.0 [\#1530](https://github.com/chef/inspec/pull/1530) ([adamleff](https://github.com/adamleff))
|
28
66
|
- use -- for description of inspec login\_automate [\#1527](https://github.com/chef/inspec/pull/1527) ([chris-rock](https://github.com/chris-rock))
|
29
67
|
- fix ident in cmp matcher docs [\#1524](https://github.com/chef/inspec/pull/1524) ([chris-rock](https://github.com/chris-rock))
|
30
68
|
- Add Rake to Habitat build Gemfile [\#1520](https://github.com/chef/inspec/pull/1520) ([adamleff](https://github.com/adamleff))
|
@@ -2203,4 +2241,4 @@
|
|
2203
2241
|
|
2204
2242
|
|
2205
2243
|
|
2206
|
-
\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*
|
2244
|
+
\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*
|
data/Gemfile
CHANGED
@@ -8,7 +8,6 @@ if Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.2.2')
|
|
8
8
|
end
|
9
9
|
|
10
10
|
gem 'ffi', '>= 1.9.14'
|
11
|
-
gem 'nokogiri', '~> 1.6'
|
12
11
|
|
13
12
|
group :test do
|
14
13
|
gem 'bundler', '~> 1.5'
|
@@ -32,17 +31,11 @@ group :integration do
|
|
32
31
|
gem 'kitchen-dokken'
|
33
32
|
end
|
34
33
|
|
35
|
-
group :simulator do
|
36
|
-
gem 'github-markup'
|
37
|
-
gem 'redcarpet'
|
38
|
-
gem 'docker-api'
|
39
|
-
end
|
40
|
-
|
41
34
|
group :tools do
|
42
35
|
gem 'pry', '~> 0.10'
|
43
36
|
gem 'rb-readline'
|
44
37
|
gem 'license_finder'
|
45
|
-
gem
|
38
|
+
gem "github_changelog_generator", git: "https://github.com/chef/github-changelog-generator"
|
46
39
|
end
|
47
40
|
|
48
41
|
# gems for Maintainers.md generation
|
data/README.md
CHANGED
@@ -50,7 +50,15 @@ InSpec requires Ruby ( >1.9 ).
|
|
50
50
|
|
51
51
|
### Install as package
|
52
52
|
|
53
|
-
The InSpec package is available for MacOS, RedHat, Ubuntu and Windows. Download the latest package at [InSpec Downloads](https://downloads.chef.io/inspec)
|
53
|
+
The InSpec package is available for MacOS, RedHat, Ubuntu and Windows. Download the latest package at [InSpec Downloads](https://downloads.chef.io/inspec) or install InSpec via script:
|
54
|
+
|
55
|
+
```
|
56
|
+
# RedHat, Ubuntu, and macOS
|
57
|
+
curl https://omnitruck.chef.io/install.sh | sudo bash -s -- -P inspec
|
58
|
+
|
59
|
+
# Windows
|
60
|
+
. { iwr -useb https://omnitruck.chef.io/install.ps1 } | iex; install -project inspec
|
61
|
+
```
|
54
62
|
|
55
63
|
### Install it via rubygems.org
|
56
64
|
|
@@ -60,3 +60,9 @@ The following examples show how to use this InSpec audit resource.
|
|
60
60
|
describe crontab.where({'hour' => '*', 'minute' => '*'}) do
|
61
61
|
its('entries.length') { should cmp '0' }
|
62
62
|
end
|
63
|
+
|
64
|
+
### Test that the logged-in user's crontab contains a single command that matches a mattern
|
65
|
+
|
66
|
+
describe crontab.where { command =~ /a partial command string/ } do
|
67
|
+
its('entries.length') { should cmp 1 }
|
68
|
+
end
|
data/docs/resources/file.md.erb
CHANGED
@@ -458,3 +458,25 @@ The following example shows how to use the `file` audit resource to verify if th
|
|
458
458
|
describe command('pgrep ntp') do
|
459
459
|
its('exit_status') { should eq 0 }
|
460
460
|
end
|
461
|
+
|
462
|
+
### Test parameters of symlinked file
|
463
|
+
|
464
|
+
If you need to test the parameters of the target file for a symlink, you can use the `link_path` method for the `file` resource.
|
465
|
+
|
466
|
+
For example, for the following symlink:
|
467
|
+
|
468
|
+
lrwxrwxrwx. 1 root root 11 03-10 17:56 /dev/virtio-ports/com.redhat.rhevm.vdsm -> ../vport2p1
|
469
|
+
|
470
|
+
... you can write controls for both the link and the target.
|
471
|
+
|
472
|
+
describe file('/dev/virtio-ports/com.redhat.rhevm.vdsm') do
|
473
|
+
it { should be_symlink }
|
474
|
+
end
|
475
|
+
|
476
|
+
virito_port_vdsm = file('/dev/virtio-ports/com.redhat.rhevm.vdsm').link_path
|
477
|
+
describe file(virito_port_vdsm) do
|
478
|
+
it { should exist }
|
479
|
+
it { should be_character_device }
|
480
|
+
it { should be_owned_by 'ovirtagent' }
|
481
|
+
it { should be_grouped_into 'ovirtagent' }
|
482
|
+
end
|
data/docs/resources/json.md.erb
CHANGED
@@ -23,7 +23,7 @@ A `json` resource block declares the data to be tested. Assume the following JSO
|
|
23
23
|
|
24
24
|
This file can be queried using:
|
25
25
|
|
26
|
-
describe json('/
|
26
|
+
describe json('/path/to/name.json') do
|
27
27
|
its('name') { should eq 'hello' }
|
28
28
|
its(['meta','creator']) { should eq 'John Doe' }
|
29
29
|
its(['array', 1]) { should eq 'one' }
|
@@ -5,13 +5,13 @@ title: About the windows_task Resource
|
|
5
5
|
# windows_task
|
6
6
|
|
7
7
|
Use the `windows_task` Inspec audit resource to test a scheduled tasks configuration on a Windows platform.
|
8
|
-
Microsoft and application vendors use scheduled tasks to perform a
|
8
|
+
Microsoft and application vendors use scheduled tasks to perform a variety of system maintaince tasks but system administrators can schedule their own.
|
9
9
|
|
10
10
|
## Syntax
|
11
11
|
|
12
12
|
A `windows_task` resource block declares the name of the task (as its full path) and tests its configuration:
|
13
13
|
|
14
|
-
describe windows_task('task name uri' do
|
14
|
+
describe windows_task('task name uri') do
|
15
15
|
its('parameter') { should eq 'value' }
|
16
16
|
it { should be_enabled }
|
17
17
|
end
|
@@ -100,4 +100,4 @@ Next Run Time: N/A
|
|
100
100
|
Status: Ready
|
101
101
|
Logon Mode: Interactive/Background
|
102
102
|
...
|
103
|
-
```
|
103
|
+
```
|
@@ -9,10 +9,10 @@ depends:
|
|
9
9
|
- name: ssl-benchmark
|
10
10
|
resolved_source:
|
11
11
|
url: https://github.com/dev-sec/ssl-benchmark/archive/master.tar.gz
|
12
|
-
sha256:
|
12
|
+
sha256: 74b3437714871cca4505d9fc445c805968d56bc674855112bab187a5166f5a2d
|
13
13
|
version_constraints: ">= 0"
|
14
14
|
- name: windows-patch-benchmark
|
15
15
|
resolved_source:
|
16
16
|
url: https://github.com/chris-rock/windows-patch-benchmark/archive/master.tar.gz
|
17
|
-
sha256:
|
17
|
+
sha256: eb00c95846aeb3f1cbc5106537dcbf550c910d65986d21a62f7deb69ea060dee
|
18
18
|
version_constraints: ">= 0"
|
Binary file
|
Binary file
|
data/inspec.gemspec
CHANGED
@@ -37,7 +37,7 @@ Gem::Specification.new do |spec|
|
|
37
37
|
spec.add_dependency 'mixlib-log'
|
38
38
|
spec.add_dependency 'sslshake', '~> 1'
|
39
39
|
spec.add_dependency 'parallel', '~> 1.9'
|
40
|
-
spec.add_dependency '
|
40
|
+
spec.add_dependency 'nokogiri', '~> 1.6'
|
41
41
|
spec.add_dependency 'faraday', '>=0.9.0'
|
42
42
|
spec.add_dependency 'toml', '~> 0.1'
|
43
43
|
end
|
data/lib/inspec/version.rb
CHANGED
data/lib/resources/crontab.rb
CHANGED
@@ -21,6 +21,10 @@ module Inspec::Resources
|
|
21
21
|
describe crontab.where({'hour' => '*', 'minute' => '*'}) do
|
22
22
|
its('entries.length') { should cmp '0' }
|
23
23
|
end
|
24
|
+
|
25
|
+
describe crontab.where { command =~ /a partial command string/ } do
|
26
|
+
its('entries.length') { should cmp 1 }
|
27
|
+
end
|
24
28
|
"
|
25
29
|
|
26
30
|
attr_reader :params
|
data/lib/resources/csv.rb
CHANGED
@@ -15,19 +15,36 @@ module Inspec::Resources
|
|
15
15
|
end
|
16
16
|
"
|
17
17
|
|
18
|
-
# override
|
18
|
+
# override the parse method from JsonConfig
|
19
|
+
# Assuming a header row of name,col1,col2, it will output an array of hashes like so:
|
20
|
+
# [
|
21
|
+
# { 'name' => 'row1', 'col1' => 'value1', 'col2' => 'value2' },
|
22
|
+
# { 'name' => 'row2', 'col1' => 'value3', 'col2' => 'value4' }
|
23
|
+
# ]
|
19
24
|
def parse(content)
|
20
25
|
require 'csv'
|
26
|
+
|
21
27
|
# convert empty field to nil
|
22
28
|
CSV::Converters[:blank_to_nil] = lambda do |field|
|
23
29
|
field && field.empty? ? nil : field
|
24
30
|
end
|
31
|
+
|
25
32
|
# implicit conversion of values
|
26
33
|
csv = CSV.new(content, headers: true, converters: [:all, :blank_to_nil])
|
34
|
+
|
27
35
|
# convert to hash
|
28
36
|
csv.to_a.map(&:to_hash)
|
29
37
|
end
|
30
38
|
|
39
|
+
# override the value method from JsonConfig
|
40
|
+
# The format of the CSV hash as created by #parse is very different
|
41
|
+
# than what the YAML, JSON, and INI resources create, so using the
|
42
|
+
# #value method from JsonConfig (which uses ObjectTraverser.extract_value)
|
43
|
+
# doesn't make sense here.
|
44
|
+
def value(key)
|
45
|
+
@params.map { |x| x[key.first.to_s] }.compact
|
46
|
+
end
|
47
|
+
|
31
48
|
def to_s
|
32
49
|
"Csv #{@path}"
|
33
50
|
end
|
data/lib/resources/port.rb
CHANGED
@@ -4,6 +4,7 @@
|
|
4
4
|
|
5
5
|
require 'utils/parser'
|
6
6
|
require 'utils/filter'
|
7
|
+
require 'ipaddr'
|
7
8
|
|
8
9
|
# TODO: currently we return local ip only
|
9
10
|
# TODO: improve handling of same port on multiple interfaces
|
@@ -286,10 +287,25 @@ module Inspec::Resources
|
|
286
287
|
ip6 = /^(\S+):(\d+)$/.match(net_addr)
|
287
288
|
ip6addr = ip6[1]
|
288
289
|
ip6addr = '::' if ip6addr =~ /^:::$/
|
289
|
-
|
290
|
-
|
291
|
-
#
|
292
|
-
|
290
|
+
|
291
|
+
# v6 addresses need to end in a double-colon when using
|
292
|
+
# shorthand notation. netstat ends with a single colon.
|
293
|
+
# IPAddr will fail to properly parse an address unless it
|
294
|
+
# uses a double-colon for short-hand notation.
|
295
|
+
ip6addr += ':' if ip6addr =~ /\w:$/
|
296
|
+
|
297
|
+
# Check to see if this is a IPv4 address in a tcp6/udp6 line.
|
298
|
+
# If so, don't put brackets around the IP or URI won't know how
|
299
|
+
# to properly handle it.
|
300
|
+
# example: tcp6 0 0 127.0.0.1:8005 :::* LISTEN
|
301
|
+
if IPAddr.new(ip6addr).ipv4?
|
302
|
+
ip_addr = URI("addr://#{ip6addr}:#{ip6[2]}")
|
303
|
+
host = ip_addr.host
|
304
|
+
else
|
305
|
+
ip_addr = URI("addr://[#{ip6addr}]:#{ip6[2]}")
|
306
|
+
# strip []
|
307
|
+
host = ip_addr.host[1..ip_addr.host.size-2]
|
308
|
+
end
|
293
309
|
else
|
294
310
|
ip_addr = URI('addr://'+net_addr)
|
295
311
|
host = ip_addr.host
|
data/lib/resources/service.rb
CHANGED
@@ -336,7 +336,7 @@ module Inspec::Resources
|
|
336
336
|
status = inspec.command("#{service_ctl} status #{service_name}")
|
337
337
|
|
338
338
|
# fallback for systemv services, those are not handled via `initctl`
|
339
|
-
return SysV.new(inspec).info(service_name) if status.exit_status.to_i != 0
|
339
|
+
return SysV.new(inspec).info(service_name) if status.exit_status.to_i != 0 || status.stdout == ''
|
340
340
|
|
341
341
|
# @see: http://upstart.ubuntu.com/cookbook/#job-states
|
342
342
|
# grep for running to indicate the service is there
|
@@ -30,18 +30,25 @@ module SourceReaders
|
|
30
30
|
# @param [FileProvider] target An instance of a FileProvider object that can list files and read them
|
31
31
|
# @param [String] metadata_source eg. inspec.yml or metadata.rb
|
32
32
|
def initialize(target, metadata_source)
|
33
|
-
@target
|
34
|
-
@metadata
|
35
|
-
|
36
|
-
@target.read(metadata_source),
|
37
|
-
nil)
|
38
|
-
|
39
|
-
@tests = load_tests
|
33
|
+
@target = target
|
34
|
+
@metadata = load_metadata(metadata_source)
|
35
|
+
@tests = load_tests
|
40
36
|
@libraries = load_libs
|
41
37
|
end
|
42
38
|
|
43
39
|
private
|
44
40
|
|
41
|
+
def load_metadata(metadata_source)
|
42
|
+
Inspec::Metadata.from_ref(
|
43
|
+
metadata_source,
|
44
|
+
@target.read(metadata_source),
|
45
|
+
nil)
|
46
|
+
rescue Psych::SyntaxError => e
|
47
|
+
raise "Unable to parse inspec.yml: line #{e.line}, #{e.problem} #{e.context}"
|
48
|
+
rescue => e
|
49
|
+
raise "Unable to parse #{metadata_source}: #{e.class} -- #{e.message}"
|
50
|
+
end
|
51
|
+
|
45
52
|
def load_tests
|
46
53
|
tests = @target.files.find_all do |path|
|
47
54
|
path.start_with?('controls') && path.end_with?('.rb')
|
@@ -6,11 +6,12 @@ module ObjectTraverser
|
|
6
6
|
key = keys.shift
|
7
7
|
return nil if key.nil? || value.nil?
|
8
8
|
|
9
|
-
# if value is an array, iterate over each child
|
10
9
|
if value.is_a?(Array)
|
11
|
-
value =
|
12
|
-
|
13
|
-
|
10
|
+
value = if key.is_a?(Fixnum)
|
11
|
+
value[key]
|
12
|
+
elsif value.respond_to?(key.to_sym)
|
13
|
+
value.send(key.to_sym)
|
14
|
+
end
|
14
15
|
else
|
15
16
|
value = value[key.to_s].nil? ? nil : value[key.to_s]
|
16
17
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: inspec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.17.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dominik Richter
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-03-
|
11
|
+
date: 2017-03-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: train
|
@@ -205,19 +205,19 @@ dependencies:
|
|
205
205
|
- !ruby/object:Gem::Version
|
206
206
|
version: '1.9'
|
207
207
|
- !ruby/object:Gem::Dependency
|
208
|
-
name:
|
208
|
+
name: nokogiri
|
209
209
|
requirement: !ruby/object:Gem::Requirement
|
210
210
|
requirements:
|
211
211
|
- - "~>"
|
212
212
|
- !ruby/object:Gem::Version
|
213
|
-
version:
|
213
|
+
version: '1.6'
|
214
214
|
type: :runtime
|
215
215
|
prerelease: false
|
216
216
|
version_requirements: !ruby/object:Gem::Requirement
|
217
217
|
requirements:
|
218
218
|
- - "~>"
|
219
219
|
- !ruby/object:Gem::Version
|
220
|
-
version:
|
220
|
+
version: '1.6'
|
221
221
|
- !ruby/object:Gem::Dependency
|
222
222
|
name: faraday
|
223
223
|
requirement: !ruby/object:Gem::Requirement
|
@@ -386,9 +386,9 @@ files:
|
|
386
386
|
- examples/meta-profile/controls/example.rb
|
387
387
|
- examples/meta-profile/inspec.lock
|
388
388
|
- examples/meta-profile/inspec.yml
|
389
|
-
- examples/meta-profile/vendor/
|
390
|
-
- examples/meta-profile/vendor/9ad48391d4e6efff0a13d06736c5b075fb021410e0a629e087bc21e9617d957c.tar.gz
|
389
|
+
- examples/meta-profile/vendor/74b3437714871cca4505d9fc445c805968d56bc674855112bab187a5166f5a2d.tar.gz
|
391
390
|
- examples/meta-profile/vendor/e25d521fb1093b4c23b31a7dc8f41b5540236f4a433960b151bc427523662ab6.tar.gz
|
391
|
+
- examples/meta-profile/vendor/eb00c95846aeb3f1cbc5106537dcbf550c910d65986d21a62f7deb69ea060dee.tar.gz
|
392
392
|
- examples/profile-attribute.yml
|
393
393
|
- examples/profile-attribute/README.md
|
394
394
|
- examples/profile-attribute/controls/example.rb
|
Binary file
|