risu 1.4.6 → 1.4.7
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.
- data/NEWS.markdown +6 -1
- data/TODO.markdown +14 -6
- data/lib/risu.rb +1 -1
- data/lib/risu/base/template_manager.rb +1 -1
- data/lib/risu/models/host.rb +43 -20
- data/lib/risu/models/item.rb +1 -1
- data/lib/risu/templates/technical_findings.rb +1 -1
- metadata +112 -119
data/NEWS.markdown
CHANGED
@@ -1,6 +1,11 @@
|
|
1
1
|
# News
|
2
2
|
|
3
|
-
#1.4.
|
3
|
+
#1.4.7 (August 13, 2011)
|
4
|
+
- Fixed issue #39 Ruby 1.8.7 Syntax error reported by mlpotgieter
|
5
|
+
- Ruby 1.8.7 will no longer be supported in v1.5, please upgrade your ruby installs.
|
6
|
+
-
|
7
|
+
|
8
|
+
#1.4.6 (July 12, 2011)
|
4
9
|
- Added pcidss:dns_zone_transfer to the Nessus parser
|
5
10
|
- Added pcidss:obsolete_operating_system to the Nessus parser
|
6
11
|
- Removed warnings about several Microsoft patch tags, not sure what to do with them at the moment.
|
data/TODO.markdown
CHANGED
@@ -2,10 +2,18 @@
|
|
2
2
|
|
3
3
|
**Release dates are estimates, and features can be changed at any time.**
|
4
4
|
|
5
|
-
## 1.4.
|
5
|
+
## 1.4.7
|
6
|
+
- Make sure all classification headers are upcase
|
7
|
+
- Ensure font sizes are standard in the templates
|
8
|
+
- The font in tech findings could be 1 size smaller
|
9
|
+
- Add a filtering system for lowering the rating of plugins based on config
|
10
|
+
- Compact the data in tech findings to be more printer friendly
|
6
11
|
|
12
|
+
- pcidss:directory_browsing
|
13
|
+
- pcidss:known_credentials
|
14
|
+
- pcidss:compromised_host:worm
|
7
15
|
|
8
|
-
## 1.5 (
|
16
|
+
## 1.5 (8/4/2011)
|
9
17
|
- Rework the blacklisting of plugins/hosts add to the config file
|
10
18
|
- Complete comments for all existing code
|
11
19
|
- Create rSpec tests for everything (95%+ code coverage goal)
|
@@ -35,7 +43,7 @@
|
|
35
43
|
- pci compliance
|
36
44
|
- tech findings
|
37
45
|
|
38
|
-
##1.5.1 (
|
46
|
+
##1.5.1 (10/4/2011) - Template work
|
39
47
|
- Provide more templates
|
40
48
|
- Virtual Machine Summary
|
41
49
|
- Fix list Report?
|
@@ -45,11 +53,11 @@
|
|
45
53
|
- Add template validation and more error checking
|
46
54
|
- Colorize the reports with better style
|
47
55
|
|
48
|
-
##1.5.2 (
|
56
|
+
##1.5.2 (11/4/2011) - Parser work
|
49
57
|
- Add Schema checks to make sure the schema is compatible with the version of risu
|
50
58
|
- Create a Nessus document generator, for testing the parser
|
51
59
|
|
52
|
-
#1.5.3 (
|
60
|
+
#1.5.3 (12/4/2011) - Template Work
|
53
61
|
- Implement different renderers
|
54
62
|
- pdf
|
55
63
|
- cvs
|
@@ -58,7 +66,7 @@
|
|
58
66
|
- Abstract the api for prawn to support different renders
|
59
67
|
- DSL for report creation to abstract the reports to have different output types
|
60
68
|
|
61
|
-
## 1.6 (
|
69
|
+
## 1.6 (01/4/2012)
|
62
70
|
- Remove rmagick (GRRRR!)
|
63
71
|
- Move to ruby 1.9.2 only support
|
64
72
|
- Add Parser for Nessus NBE Format
|
data/lib/risu.rb
CHANGED
@@ -98,7 +98,7 @@ module Risu
|
|
98
98
|
puts "Available Templates"
|
99
99
|
@registered_templates.each do |x|
|
100
100
|
p = x.new
|
101
|
-
puts "\t#{p.template_info[:name]} - #{p.template_info[:description]}\n"
|
101
|
+
puts "\t#{p.template_info[:name]} - #{p.template_info[:description]}\n"
|
102
102
|
end
|
103
103
|
end
|
104
104
|
end
|
data/lib/risu/models/host.rb
CHANGED
@@ -350,15 +350,15 @@ module Risu
|
|
350
350
|
w7 = Host.os_windows_7.all.count
|
351
351
|
other = (Host.os_windows.os_windows_other).all.count
|
352
352
|
|
353
|
-
g.data("NT", nt)
|
354
|
-
g.data("2000", w2k)
|
355
|
-
g.data("XP", xp)
|
356
|
-
g.data("Server 2003", w2k3)
|
357
|
-
g.data("Vista", vista)
|
358
|
-
g.data("Server 2008", w2k8)
|
359
|
-
g.data("7", w7)
|
360
|
-
g.data("Other Windows", other)
|
361
|
-
|
353
|
+
g.data("NT", nt) if nt >= 1
|
354
|
+
g.data("2000", w2k) if w2k >= 1
|
355
|
+
g.data("XP", xp) if xp >= 1
|
356
|
+
g.data("Server 2003", w2k3) if w2k3 >= 1
|
357
|
+
g.data("Vista", vista) if vista >= 1
|
358
|
+
g.data("Server 2008", w2k8) if w2k8 >= 1
|
359
|
+
g.data("7", w7) if w7 >= 1
|
360
|
+
g.data("Other Windows", other) if other >= 1
|
361
|
+
|
362
362
|
StringIO.new(g.to_blob)
|
363
363
|
end
|
364
364
|
|
@@ -381,19 +381,20 @@ module Risu
|
|
381
381
|
xp_percent = (xp.to_f / windows_os_count.to_f) * 100
|
382
382
|
w2k3_percent = (w2k3.to_f / windows_os_count.to_f) * 100
|
383
383
|
vista_percent = (vista.to_f / windows_os_count.to_f) * 100
|
384
|
+
|
384
385
|
w2k8_percent = (w2k8.to_f / windows_os_count.to_f) * 100
|
385
386
|
w7_percent = (w7.to_f / windows_os_count.to_f) * 100
|
386
387
|
|
387
388
|
text = "This graph shows the percentage of the different Microsoft Windows based operating systems " +
|
388
389
|
"found on the #{Report.title} network.\n\n"
|
389
390
|
|
390
|
-
text << "#{nt_percent.round.to_i}% of the network is Windows NT. " if
|
391
|
-
text << "#{w2k_percent.round.to_i}% of the network is Windows 2000. " if
|
392
|
-
text << "#{xp_percent.round.to_i}% of the network is Windows XP. " if
|
393
|
-
text << "#{w2k3_percent.round.to_i}% of the network is Windows Server 2003. " if
|
394
|
-
text << "#{vista_percent.round.to_i}% of the network is Windows Vista. " if
|
395
|
-
text << "#{w2k8_percent.round.to_i}% of the network is Windows Server 2008. " if
|
396
|
-
text << "#{w7_percent.round.to_i}% of the network is Windows 7. " if
|
391
|
+
text << "#{nt_percent.round.to_i}% of the network is Windows NT. " if nt_percent >= 1
|
392
|
+
text << "#{w2k_percent.round.to_i}% of the network is Windows 2000. " if w2k_percent >= 1
|
393
|
+
text << "#{xp_percent.round.to_i}% of the network is Windows XP. " if xp_percent >= 1
|
394
|
+
text << "#{w2k3_percent.round.to_i}% of the network is Windows Server 2003. " if w2k3_percent >= 1
|
395
|
+
text << "#{vista_percent.round.to_i}% of the network is Windows Vista. " if vista_percent >= 1
|
396
|
+
text << "#{w2k8_percent.round.to_i}% of the network is Windows Server 2008. " if w2k8_percent >= 1
|
397
|
+
text << "#{w7_percent.round.to_i}% of the network is Windows 7. " if w7_percent >= 1
|
397
398
|
|
398
399
|
text << "\n\n" << unsupported_os_windows if nt > 0 or w2k > 0
|
399
400
|
|
@@ -405,14 +406,16 @@ module Risu
|
|
405
406
|
def unsupported_os_text
|
406
407
|
aix_text = unsupported_os_aix
|
407
408
|
win_text = unsupported_os_windows
|
409
|
+
freebsd_text = unsupported_os_freebsd
|
408
410
|
|
409
|
-
unsupported_os_text = "Several unsupported operating systems were
|
411
|
+
unsupported_os_text = "Several unsupported operating systems were discovered on the network. " +
|
410
412
|
"These operating systems are no longer updated by the specific vendor. These operating systems should be " +
|
411
413
|
"updated and replaced as soon as possible.\n\n"
|
412
414
|
|
413
415
|
unsupported_os_text << "#{win_text}" if win_text != ""
|
414
416
|
unsupported_os_text << "#{aix_text}" if aix_text != ""
|
415
|
-
|
417
|
+
unsupported_os_text << "#{freebsd_text}" if freebsd_text != ""
|
418
|
+
|
416
419
|
return unsupported_os_text
|
417
420
|
end
|
418
421
|
|
@@ -446,7 +449,20 @@ module Risu
|
|
446
449
|
|
447
450
|
return text
|
448
451
|
end
|
452
|
+
|
453
|
+
#
|
454
|
+
#
|
455
|
+
def unsupported_os_freebsd
|
456
|
+
text = ""
|
457
|
+
freebsd = Host.os_freebsd.where("OS LIKE 'FreeBSD 5.%'")
|
458
|
+
|
459
|
+
text = "FreeBSD 5 support ended on 2008-05-31. Upgrade to FreeBSD 8.2 or 7.4. For more information, " +
|
460
|
+
"see : http://www.freebsd.org/security/\n\n" if freebsd.count >= 1
|
461
|
+
|
462
|
+
return text
|
463
|
+
end
|
449
464
|
|
465
|
+
#turn the os counts into blocks
|
450
466
|
def other_os_graph_text
|
451
467
|
text = "This graph shows the percentage of the different Non-Windows based operating systems " +
|
452
468
|
"found on the #{Report.title} network.\n\n"
|
@@ -465,13 +481,20 @@ module Risu
|
|
465
481
|
|
466
482
|
linux_percent = (linux.to_f / other_os_count.to_f) * 100
|
467
483
|
aix_percent = (aix.to_f / other_os_count.to_f) * 100
|
484
|
+
freebsd_percent = (freebsd.to_f / other_os_count.to_f) * 100
|
485
|
+
vmware_percent = (esx.to_f / other_os_count.to_f) * 100
|
468
486
|
|
469
487
|
#todo add other os's here
|
470
488
|
|
471
489
|
|
472
|
-
text << "#{linux_percent.to_i}% of the network is running Linux based operating
|
473
|
-
text << "#{aix_percent.to_i}% of the network is running AIX based operating
|
490
|
+
text << "#{linux_percent.to_i}% of the network is running an Linux based operating system. " if linux_percent >= 1
|
491
|
+
text << "#{aix_percent.to_i}% of the network is running an AIX based operating system. " if aix_percent >= 1
|
492
|
+
text << "#{freebsd_percent.to_i}% of the network is running an FreeBSD based operating system. " if freebsd_percent >= 1
|
493
|
+
text << "#{vmware_percent.to_i}% of the network is running an VMware based operating system. " if vmware_percent >= 1
|
494
|
+
|
474
495
|
text << "\n\n"<< unsupported_os_aix if aix > 0
|
496
|
+
text << "\n\n" << unsupported_os_freebsd if freebsd > 0
|
497
|
+
|
475
498
|
|
476
499
|
return text
|
477
500
|
end
|
data/lib/risu/models/item.rb
CHANGED
@@ -164,7 +164,7 @@ module Risu
|
|
164
164
|
def risks_by_service_graph_text
|
165
165
|
"This graph is a representation of the findings found by service. This graph can help " +
|
166
166
|
"understand what services are running on the network and if they are vulnerable, where " +
|
167
|
-
"the risks are and how they should be protected
|
167
|
+
"the risks are and how they should be protected.\n\n"
|
168
168
|
|
169
169
|
end
|
170
170
|
|
metadata
CHANGED
@@ -1,174 +1,171 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: risu
|
3
|
-
version: !ruby/object:Gem::Version
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.4.7
|
4
5
|
prerelease:
|
5
|
-
version: 1.4.6
|
6
6
|
platform: ruby
|
7
|
-
authors:
|
7
|
+
authors:
|
8
8
|
- Jacob Hammack
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
dependencies:
|
16
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2011-08-13 00:00:00.000000000Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
17
15
|
name: rspec
|
18
|
-
|
19
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
16
|
+
requirement: &70222431373580 !ruby/object:Gem::Requirement
|
20
17
|
none: false
|
21
|
-
requirements:
|
22
|
-
- -
|
23
|
-
- !ruby/object:Gem::Version
|
18
|
+
requirements:
|
19
|
+
- - =
|
20
|
+
- !ruby/object:Gem::Version
|
24
21
|
version: 2.5.0
|
25
22
|
type: :development
|
26
|
-
version_requirements: *id001
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: rcov
|
29
23
|
prerelease: false
|
30
|
-
|
24
|
+
version_requirements: *70222431373580
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: rcov
|
27
|
+
requirement: &70222431373000 !ruby/object:Gem::Requirement
|
31
28
|
none: false
|
32
|
-
requirements:
|
33
|
-
- -
|
34
|
-
- !ruby/object:Gem::Version
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
35
32
|
version: 0.9.9
|
36
33
|
type: :development
|
37
|
-
version_requirements: *id002
|
38
|
-
- !ruby/object:Gem::Dependency
|
39
|
-
name: yard
|
40
34
|
prerelease: false
|
41
|
-
|
35
|
+
version_requirements: *70222431373000
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: yard
|
38
|
+
requirement: &70222431372420 !ruby/object:Gem::Requirement
|
42
39
|
none: false
|
43
|
-
requirements:
|
44
|
-
- -
|
45
|
-
- !ruby/object:Gem::Version
|
40
|
+
requirements:
|
41
|
+
- - ! '>='
|
42
|
+
- !ruby/object:Gem::Version
|
46
43
|
version: 0.6.4
|
47
44
|
type: :development
|
48
|
-
version_requirements: *id003
|
49
|
-
- !ruby/object:Gem::Dependency
|
50
|
-
name: machinist
|
51
45
|
prerelease: false
|
52
|
-
|
46
|
+
version_requirements: *70222431372420
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: machinist
|
49
|
+
requirement: &70222431371900 !ruby/object:Gem::Requirement
|
53
50
|
none: false
|
54
|
-
requirements:
|
55
|
-
- -
|
56
|
-
- !ruby/object:Gem::Version
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
57
54
|
version: 1.0.6
|
58
55
|
type: :development
|
59
|
-
version_requirements: *id004
|
60
|
-
- !ruby/object:Gem::Dependency
|
61
|
-
name: sham
|
62
56
|
prerelease: false
|
63
|
-
|
57
|
+
version_requirements: *70222431371900
|
58
|
+
- !ruby/object:Gem::Dependency
|
59
|
+
name: sham
|
60
|
+
requirement: &70222431371240 !ruby/object:Gem::Requirement
|
64
61
|
none: false
|
65
|
-
requirements:
|
66
|
-
- -
|
67
|
-
- !ruby/object:Gem::Version
|
62
|
+
requirements:
|
63
|
+
- - ! '>='
|
64
|
+
- !ruby/object:Gem::Version
|
68
65
|
version: 0.4.0
|
69
66
|
type: :development
|
70
|
-
version_requirements: *id005
|
71
|
-
- !ruby/object:Gem::Dependency
|
72
|
-
name: faker
|
73
67
|
prerelease: false
|
74
|
-
|
68
|
+
version_requirements: *70222431371240
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: faker
|
71
|
+
requirement: &70222431370740 !ruby/object:Gem::Requirement
|
75
72
|
none: false
|
76
|
-
requirements:
|
77
|
-
- -
|
78
|
-
- !ruby/object:Gem::Version
|
73
|
+
requirements:
|
74
|
+
- - ! '>='
|
75
|
+
- !ruby/object:Gem::Version
|
79
76
|
version: 0.9.5
|
80
77
|
type: :development
|
81
|
-
version_requirements: *id006
|
82
|
-
- !ruby/object:Gem::Dependency
|
83
|
-
name: rails
|
84
78
|
prerelease: false
|
85
|
-
|
79
|
+
version_requirements: *70222431370740
|
80
|
+
- !ruby/object:Gem::Dependency
|
81
|
+
name: rails
|
82
|
+
requirement: &70222431370160 !ruby/object:Gem::Requirement
|
86
83
|
none: false
|
87
|
-
requirements:
|
88
|
-
- -
|
89
|
-
- !ruby/object:Gem::Version
|
84
|
+
requirements:
|
85
|
+
- - ! '>='
|
86
|
+
- !ruby/object:Gem::Version
|
90
87
|
version: 3.0.7
|
91
88
|
type: :runtime
|
92
|
-
version_requirements: *id007
|
93
|
-
- !ruby/object:Gem::Dependency
|
94
|
-
name: libxml-ruby
|
95
89
|
prerelease: false
|
96
|
-
|
90
|
+
version_requirements: *70222431370160
|
91
|
+
- !ruby/object:Gem::Dependency
|
92
|
+
name: libxml-ruby
|
93
|
+
requirement: &70222431369480 !ruby/object:Gem::Requirement
|
97
94
|
none: false
|
98
|
-
requirements:
|
99
|
-
- -
|
100
|
-
- !ruby/object:Gem::Version
|
95
|
+
requirements:
|
96
|
+
- - ! '>='
|
97
|
+
- !ruby/object:Gem::Version
|
101
98
|
version: 1.1.4
|
102
99
|
type: :runtime
|
103
|
-
version_requirements: *id008
|
104
|
-
- !ruby/object:Gem::Dependency
|
105
|
-
name: prawn
|
106
100
|
prerelease: false
|
107
|
-
|
101
|
+
version_requirements: *70222431369480
|
102
|
+
- !ruby/object:Gem::Dependency
|
103
|
+
name: prawn
|
104
|
+
requirement: &70222431369020 !ruby/object:Gem::Requirement
|
108
105
|
none: false
|
109
|
-
requirements:
|
110
|
-
- -
|
111
|
-
- !ruby/object:Gem::Version
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
112
109
|
version: 0.11.1
|
113
110
|
type: :runtime
|
114
|
-
version_requirements: *id009
|
115
|
-
- !ruby/object:Gem::Dependency
|
116
|
-
name: gruff
|
117
111
|
prerelease: false
|
118
|
-
|
112
|
+
version_requirements: *70222431369020
|
113
|
+
- !ruby/object:Gem::Dependency
|
114
|
+
name: gruff
|
115
|
+
requirement: &70222431368460 !ruby/object:Gem::Requirement
|
119
116
|
none: false
|
120
|
-
requirements:
|
121
|
-
- -
|
122
|
-
- !ruby/object:Gem::Version
|
117
|
+
requirements:
|
118
|
+
- - ! '>='
|
119
|
+
- !ruby/object:Gem::Version
|
123
120
|
version: 0.3.6
|
124
121
|
type: :runtime
|
125
|
-
version_requirements: *id010
|
126
|
-
- !ruby/object:Gem::Dependency
|
127
|
-
name: mysql
|
128
122
|
prerelease: false
|
129
|
-
|
123
|
+
version_requirements: *70222431368460
|
124
|
+
- !ruby/object:Gem::Dependency
|
125
|
+
name: mysql
|
126
|
+
requirement: &70222431367900 !ruby/object:Gem::Requirement
|
130
127
|
none: false
|
131
|
-
requirements:
|
132
|
-
- -
|
133
|
-
- !ruby/object:Gem::Version
|
128
|
+
requirements:
|
129
|
+
- - ! '>='
|
130
|
+
- !ruby/object:Gem::Version
|
134
131
|
version: 2.8.1
|
135
132
|
type: :runtime
|
136
|
-
version_requirements: *id011
|
137
|
-
- !ruby/object:Gem::Dependency
|
138
|
-
name: rmagick
|
139
133
|
prerelease: false
|
140
|
-
|
134
|
+
version_requirements: *70222431367900
|
135
|
+
- !ruby/object:Gem::Dependency
|
136
|
+
name: rmagick
|
137
|
+
requirement: &70222431367320 !ruby/object:Gem::Requirement
|
141
138
|
none: false
|
142
|
-
requirements:
|
143
|
-
- -
|
144
|
-
- !ruby/object:Gem::Version
|
139
|
+
requirements:
|
140
|
+
- - ! '>='
|
141
|
+
- !ruby/object:Gem::Version
|
145
142
|
version: 2.13.1
|
146
143
|
type: :runtime
|
147
|
-
version_requirements: *id012
|
148
|
-
- !ruby/object:Gem::Dependency
|
149
|
-
name: sqlite3
|
150
144
|
prerelease: false
|
151
|
-
|
145
|
+
version_requirements: *70222431367320
|
146
|
+
- !ruby/object:Gem::Dependency
|
147
|
+
name: sqlite3
|
148
|
+
requirement: &70222431366740 !ruby/object:Gem::Requirement
|
152
149
|
none: false
|
153
|
-
requirements:
|
154
|
-
- -
|
155
|
-
- !ruby/object:Gem::Version
|
150
|
+
requirements:
|
151
|
+
- - ! '>='
|
152
|
+
- !ruby/object:Gem::Version
|
156
153
|
version: 1.3.3
|
157
154
|
type: :runtime
|
158
|
-
|
155
|
+
prerelease: false
|
156
|
+
version_requirements: *70222431366740
|
159
157
|
description: risu is a Nessus .nessus xml parser and report generation tool
|
160
158
|
email: jacob.hammack@hammackj.com
|
161
|
-
executables:
|
159
|
+
executables:
|
162
160
|
- risu
|
163
161
|
extensions: []
|
164
|
-
|
165
|
-
extra_rdoc_files:
|
162
|
+
extra_rdoc_files:
|
166
163
|
- README.markdown
|
167
164
|
- LICENSE
|
168
165
|
- NEWS.markdown
|
169
166
|
- TODO.markdown
|
170
167
|
- KNOWNISSUES.markdown
|
171
|
-
files:
|
168
|
+
files:
|
172
169
|
- KNOWNISSUES.markdown
|
173
170
|
- LICENSE
|
174
171
|
- NEWS.markdown
|
@@ -221,33 +218,29 @@ files:
|
|
221
218
|
- lib/risu.rb
|
222
219
|
- risu.gemspec
|
223
220
|
- bin/risu
|
224
|
-
has_rdoc: true
|
225
221
|
homepage: http://www.hammackj.com/projects/risu
|
226
|
-
licenses:
|
222
|
+
licenses:
|
227
223
|
- BSD
|
228
224
|
post_install_message:
|
229
225
|
rdoc_options: []
|
230
|
-
|
231
|
-
require_paths:
|
226
|
+
require_paths:
|
232
227
|
- lib
|
233
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
228
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
234
229
|
none: false
|
235
|
-
requirements:
|
236
|
-
- -
|
237
|
-
- !ruby/object:Gem::Version
|
238
|
-
version:
|
239
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
230
|
+
requirements:
|
231
|
+
- - ! '>='
|
232
|
+
- !ruby/object:Gem::Version
|
233
|
+
version: '0'
|
234
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
240
235
|
none: false
|
241
|
-
requirements:
|
242
|
-
- -
|
243
|
-
- !ruby/object:Gem::Version
|
236
|
+
requirements:
|
237
|
+
- - ! '>='
|
238
|
+
- !ruby/object:Gem::Version
|
244
239
|
version: 1.6.0
|
245
240
|
requirements: []
|
246
|
-
|
247
241
|
rubyforge_project: risu
|
248
|
-
rubygems_version: 1.6
|
242
|
+
rubygems_version: 1.8.6
|
249
243
|
signing_key:
|
250
244
|
specification_version: 3
|
251
245
|
summary: risu
|
252
246
|
test_files: []
|
253
|
-
|