recog 0.02 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +6 -0
  3. data/.rspec +2 -1
  4. data/.travis.yml +5 -0
  5. data/.yardopts +1 -0
  6. data/Gemfile +3 -1
  7. data/README.md +12 -12
  8. data/Rakefile +22 -0
  9. data/bin/recog_verify.rb +1 -1
  10. data/features/match.feature +2 -2
  11. data/features/verify.feature +10 -7
  12. data/features/xml/no_tests.xml +0 -50
  13. data/features/xml/successful_tests.xml +7 -22
  14. data/features/xml/tests_with_failures.xml +10 -0
  15. data/features/xml/tests_with_warnings.xml +7 -0
  16. data/lib/recog/db.rb +26 -10
  17. data/lib/recog/db_manager.rb +1 -1
  18. data/lib/recog/fingerprint.rb +118 -34
  19. data/lib/recog/fingerprint/regexp_factory.rb +39 -0
  20. data/lib/recog/fingerprint/test.rb +13 -0
  21. data/lib/recog/matcher.rb +3 -3
  22. data/lib/recog/nizer.rb +16 -23
  23. data/lib/recog/verifier.rb +10 -25
  24. data/lib/recog/verifier_factory.rb +1 -1
  25. data/lib/recog/verify_reporter.rb +1 -1
  26. data/lib/recog/version.rb +1 -1
  27. data/recog.gemspec +12 -3
  28. data/spec/data/test_fingerprints.xml +12 -0
  29. data/spec/lib/fingerprint_self_test_spec.rb +8 -4
  30. data/spec/lib/{db_spec.rb → recog/db_spec.rb} +19 -7
  31. data/spec/lib/recog/fingerprint/regexp_factory.rb +61 -0
  32. data/spec/lib/recog/fingerprint_spec.rb +5 -0
  33. data/spec/lib/{formatter_spec.rb → recog/formatter_spec.rb} +1 -1
  34. data/spec/lib/{match_reporter_spec.rb → recog/match_reporter_spec.rb} +10 -9
  35. data/spec/lib/{nizer_spec.rb → recog/nizer_spec.rb} +5 -5
  36. data/spec/lib/{verify_reporter_spec.rb → recog/verify_reporter_spec.rb} +8 -7
  37. data/spec/spec_helper.rb +82 -0
  38. data/xml/apache_os.xml +48 -2
  39. data/xml/http_servers.xml +38 -6
  40. data/xml/ntp_banners.xml +4 -3
  41. data/xml/smb_native_os.xml +32 -32
  42. data/xml/smtp_expn.xml +1 -0
  43. data/xml/smtp_help.xml +2 -1
  44. data/xml/snmp_sysdescr.xml +164 -24
  45. data/xml/ssh_banners.xml +7 -3
  46. metadata +56 -8
  47. data/Gemfile.lock +0 -42
data/xml/ssh_banners.xml CHANGED
@@ -23,13 +23,17 @@ fingerprint SSH servers.
23
23
  </fingerprint>
24
24
 
25
25
  <fingerprint pattern="^mpSSH_([\d\.]+)$">
26
- <description>HP Integrated Lights Out Manager (ILOM) usually bundled with HP servers</description>
26
+ <description>HP Integrated Lights Out (iLO) usually bundled with HP servers</description>
27
27
  <example>mpSSH_0.0.1</example>
28
28
  <param pos="0" name="service.vendor" value="HP"/>
29
- <param pos="0" name="service.product" value="Integrated Lights Out Manager"/>
29
+ <param pos="0" name="service.product" value="iLO"/>
30
+ <param pos="0" name="service.family" value="iLO"/>
31
+ <param pos="1" name="service.version"/>
30
32
  <param pos="0" name="hw.vendor" value="HP"/>
33
+ <param pos="0" name="os.vendor" value="HP"/>
34
+ <param pos="0" name="os.product" value="iLO"/>
35
+ <param pos="0" name="os.family" value="iLO"/>
31
36
  <param pos="0" name="os.device" value="Lights Out Management"/>
32
- <param pos="1" name="service.version"/>
33
37
  </fingerprint>
34
38
 
35
39
  <fingerprint pattern="^Serv-U_([\d\.]+)$">
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: recog
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.02'
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rapid7 Research
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-08-26 00:00:00.000000000 Z
11
+ date: 2014-10-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -24,6 +24,34 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: yard
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: redcarpet
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
27
55
  - !ruby/object:Gem::Dependency
28
56
  name: cucumber
29
57
  requirement: !ruby/object:Gem::Requirement
@@ -52,6 +80,20 @@ dependencies:
52
80
  - - ">="
53
81
  - !ruby/object:Gem::Version
54
82
  version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: simplecov
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
55
97
  - !ruby/object:Gem::Dependency
56
98
  name: nokogiri
57
99
  requirement: !ruby/object:Gem::Requirement
@@ -82,10 +124,11 @@ files:
82
124
  - ".gitignore"
83
125
  - ".rspec"
84
126
  - ".travis.yml"
127
+ - ".yardopts"
85
128
  - Gemfile
86
- - Gemfile.lock
87
129
  - LICENSE
88
130
  - README.md
131
+ - Rakefile
89
132
  - bin/recog_export.rb
90
133
  - bin/recog_match.rb
91
134
  - bin/recog_verify.rb
@@ -103,6 +146,8 @@ files:
103
146
  - lib/recog/db.rb
104
147
  - lib/recog/db_manager.rb
105
148
  - lib/recog/fingerprint.rb
149
+ - lib/recog/fingerprint/regexp_factory.rb
150
+ - lib/recog/fingerprint/test.rb
106
151
  - lib/recog/formatter.rb
107
152
  - lib/recog/match_reporter.rb
108
153
  - lib/recog/matcher.rb
@@ -118,12 +163,15 @@ files:
118
163
  - spec/data/best_service_match_1.yml
119
164
  - spec/data/smb_native_os.txt
120
165
  - spec/data/test_fingerprints.xml
121
- - spec/lib/db_spec.rb
122
166
  - spec/lib/fingerprint_self_test_spec.rb
123
- - spec/lib/formatter_spec.rb
124
- - spec/lib/match_reporter_spec.rb
125
- - spec/lib/nizer_spec.rb
126
- - spec/lib/verify_reporter_spec.rb
167
+ - spec/lib/recog/db_spec.rb
168
+ - spec/lib/recog/fingerprint/regexp_factory.rb
169
+ - spec/lib/recog/fingerprint_spec.rb
170
+ - spec/lib/recog/formatter_spec.rb
171
+ - spec/lib/recog/match_reporter_spec.rb
172
+ - spec/lib/recog/nizer_spec.rb
173
+ - spec/lib/recog/verify_reporter_spec.rb
174
+ - spec/spec_helper.rb
127
175
  - xml/apache_os.xml
128
176
  - xml/architecture.xml
129
177
  - xml/ftp_banners.xml
data/Gemfile.lock DELETED
@@ -1,42 +0,0 @@
1
- GEM
2
- remote: https://rubygems.org/
3
- specs:
4
- aruba (0.5.3)
5
- childprocess (>= 0.3.6)
6
- cucumber (>= 1.1.1)
7
- rspec-expectations (>= 2.7.0)
8
- builder (3.2.2)
9
- childprocess (0.3.9)
10
- ffi (~> 1.0, >= 1.0.11)
11
- cucumber (1.3.10)
12
- builder (>= 2.1.2)
13
- diff-lcs (>= 1.1.3)
14
- gherkin (~> 2.12)
15
- multi_json (>= 1.7.5, < 2.0)
16
- multi_test (>= 0.0.2)
17
- diff-lcs (1.2.5)
18
- ffi (1.9.3)
19
- gherkin (2.12.2)
20
- multi_json (~> 1.3)
21
- mini_portile (0.5.2)
22
- multi_json (1.8.2)
23
- multi_test (0.0.3)
24
- nokogiri (1.6.1)
25
- mini_portile (~> 0.5.0)
26
- rspec (2.14.1)
27
- rspec-core (~> 2.14.0)
28
- rspec-expectations (~> 2.14.0)
29
- rspec-mocks (~> 2.14.0)
30
- rspec-core (2.14.7)
31
- rspec-expectations (2.14.4)
32
- diff-lcs (>= 1.1.3, < 2.0)
33
- rspec-mocks (2.14.4)
34
-
35
- PLATFORMS
36
- ruby
37
-
38
- DEPENDENCIES
39
- aruba (~> 0.5.3)
40
- cucumber (~> 1.3.8)
41
- nokogiri
42
- rspec (~> 2.14.1)