romanbsd-tarantula 0.1.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (126) hide show
  1. data/CHANGELOG +47 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.rdoc +162 -0
  4. data/Rakefile +69 -0
  5. data/VERSION.yml +4 -0
  6. data/examples/example_helper.rb +48 -0
  7. data/examples/relevance/core_extensions/ellipsize_example.rb +19 -0
  8. data/examples/relevance/core_extensions/file_example.rb +8 -0
  9. data/examples/relevance/core_extensions/response_example.rb +29 -0
  10. data/examples/relevance/core_extensions/test_case_example.rb +20 -0
  11. data/examples/relevance/tarantula/attack_form_submission_example.rb +79 -0
  12. data/examples/relevance/tarantula/attack_handler_example.rb +29 -0
  13. data/examples/relevance/tarantula/crawler_example.rb +386 -0
  14. data/examples/relevance/tarantula/form_example.rb +50 -0
  15. data/examples/relevance/tarantula/form_submission_example.rb +71 -0
  16. data/examples/relevance/tarantula/html_document_handler_example.rb +43 -0
  17. data/examples/relevance/tarantula/html_report_helper_example.rb +46 -0
  18. data/examples/relevance/tarantula/html_reporter_example.rb +82 -0
  19. data/examples/relevance/tarantula/invalid_html_handler_example.rb +33 -0
  20. data/examples/relevance/tarantula/io_reporter_example.rb +11 -0
  21. data/examples/relevance/tarantula/link_example.rb +67 -0
  22. data/examples/relevance/tarantula/log_grabber_example.rb +26 -0
  23. data/examples/relevance/tarantula/rails_integration_proxy_example.rb +88 -0
  24. data/examples/relevance/tarantula/result_example.rb +85 -0
  25. data/examples/relevance/tarantula/tidy_handler_example.rb +58 -0
  26. data/examples/relevance/tarantula/transform_example.rb +20 -0
  27. data/examples/relevance/tarantula/w3c_validator_example.rb +71 -0
  28. data/examples/relevance/tarantula_example.rb +23 -0
  29. data/laf/images/button_active.png +0 -0
  30. data/laf/images/button_hover.png +0 -0
  31. data/laf/images/button_inactive.png +0 -0
  32. data/laf/images/header_bg.jpg +0 -0
  33. data/laf/images/logo.png +0 -0
  34. data/laf/images/tagline.png +0 -0
  35. data/laf/javascripts/jquery-1.2.3.js +3408 -0
  36. data/laf/javascripts/jquery-ui-tabs.js +890 -0
  37. data/laf/javascripts/jquery.tablesorter.js +861 -0
  38. data/laf/javascripts/niftyLayout.js +11 -0
  39. data/laf/javascripts/niftycube-details.js +298 -0
  40. data/laf/javascripts/niftycube.js +298 -0
  41. data/laf/javascripts/tarantula.js +10 -0
  42. data/laf/stylesheets/tarantula.css +345 -0
  43. data/laf/v2/detail.html +59 -0
  44. data/laf/v2/images/button_active.png +0 -0
  45. data/laf/v2/images/button_hover.png +0 -0
  46. data/laf/v2/images/button_inactive.png +0 -0
  47. data/laf/v2/images/header_bg.jpg +0 -0
  48. data/laf/v2/images/logo.png +0 -0
  49. data/laf/v2/images/tagline.png +0 -0
  50. data/laf/v2/index.html +77 -0
  51. data/laf/v2/stylesheets/tarantula.v2.css +324 -0
  52. data/lib/relevance/core_extensions/ellipsize.rb +34 -0
  53. data/lib/relevance/core_extensions/file.rb +9 -0
  54. data/lib/relevance/core_extensions/metaclass.rb +78 -0
  55. data/lib/relevance/core_extensions/response.rb +9 -0
  56. data/lib/relevance/core_extensions/string_chars_fix.rb +11 -0
  57. data/lib/relevance/core_extensions/test_case.rb +19 -0
  58. data/lib/relevance/tarantula/attack.rb +15 -0
  59. data/lib/relevance/tarantula/attack_form_submission.rb +75 -0
  60. data/lib/relevance/tarantula/attack_handler.rb +37 -0
  61. data/lib/relevance/tarantula/crawler.rb +264 -0
  62. data/lib/relevance/tarantula/detail.html.erb +82 -0
  63. data/lib/relevance/tarantula/form.rb +21 -0
  64. data/lib/relevance/tarantula/form_submission.rb +70 -0
  65. data/lib/relevance/tarantula/html_document_handler.rb +36 -0
  66. data/lib/relevance/tarantula/html_report_helper.rb +39 -0
  67. data/lib/relevance/tarantula/html_reporter.rb +105 -0
  68. data/lib/relevance/tarantula/index.html.erb +37 -0
  69. data/lib/relevance/tarantula/invalid_html_handler.rb +18 -0
  70. data/lib/relevance/tarantula/io_reporter.rb +34 -0
  71. data/lib/relevance/tarantula/link.rb +56 -0
  72. data/lib/relevance/tarantula/log_grabber.rb +16 -0
  73. data/lib/relevance/tarantula/rails_integration_proxy.rb +68 -0
  74. data/lib/relevance/tarantula/recording.rb +12 -0
  75. data/lib/relevance/tarantula/response.rb +13 -0
  76. data/lib/relevance/tarantula/result.rb +66 -0
  77. data/lib/relevance/tarantula/test_report.html.erb +32 -0
  78. data/lib/relevance/tarantula/tidy_handler.rb +32 -0
  79. data/lib/relevance/tarantula/transform.rb +17 -0
  80. data/lib/relevance/tarantula/w3c_validator.rb +33 -0
  81. data/lib/relevance/tarantula.rb +59 -0
  82. data/tasks/tarantula_tasks.rake +36 -0
  83. data/template/tarantula_test.rb +22 -0
  84. data/vendor/w3c_validators/CHANGELOG +14 -0
  85. data/vendor/w3c_validators/LICENSE +60 -0
  86. data/vendor/w3c_validators/README +120 -0
  87. data/vendor/w3c_validators/README.svn +4 -0
  88. data/vendor/w3c_validators/lib/w3c_validators/constants.rb +80 -0
  89. data/vendor/w3c_validators/lib/w3c_validators/css_validator.rb +149 -0
  90. data/vendor/w3c_validators/lib/w3c_validators/exceptions.rb +4 -0
  91. data/vendor/w3c_validators/lib/w3c_validators/feed_validator.rb +110 -0
  92. data/vendor/w3c_validators/lib/w3c_validators/markup_validator.rb +227 -0
  93. data/vendor/w3c_validators/lib/w3c_validators/message.rb +82 -0
  94. data/vendor/w3c_validators/lib/w3c_validators/results.rb +62 -0
  95. data/vendor/w3c_validators/lib/w3c_validators/validator.rb +157 -0
  96. data/vendor/w3c_validators/lib/w3c_validators.rb +5 -0
  97. data/vendor/w3c_validators/rakefile.rb +53 -0
  98. data/vendor/w3c_validators/test/fixtures/invalid_css.css +2 -0
  99. data/vendor/w3c_validators/test/fixtures/invalid_encoding.html +10 -0
  100. data/vendor/w3c_validators/test/fixtures/invalid_feed.xml +19 -0
  101. data/vendor/w3c_validators/test/fixtures/invalid_html5.html +16 -0
  102. data/vendor/w3c_validators/test/fixtures/invalid_markup.html +11 -0
  103. data/vendor/w3c_validators/test/fixtures/valid_css.css +2 -0
  104. data/vendor/w3c_validators/test/fixtures/valid_feed.xml +20 -0
  105. data/vendor/w3c_validators/test/fixtures/valid_html5.html +16 -0
  106. data/vendor/w3c_validators/test/fixtures/valid_markup.html +11 -0
  107. data/vendor/w3c_validators/test/test_css_validator.rb +51 -0
  108. data/vendor/w3c_validators/test/test_exceptions.rb +35 -0
  109. data/vendor/w3c_validators/test/test_feed_validator.rb +61 -0
  110. data/vendor/w3c_validators/test/test_helper.rb +6 -0
  111. data/vendor/w3c_validators/test/test_html5_validator.rb +64 -0
  112. data/vendor/w3c_validators/test/test_markup_validator.rb +94 -0
  113. data/vendor/xss-shield/MIT-LICENSE +20 -0
  114. data/vendor/xss-shield/README +76 -0
  115. data/vendor/xss-shield/init.rb +16 -0
  116. data/vendor/xss-shield/lib/xss_shield/erb_hacks.rb +111 -0
  117. data/vendor/xss-shield/lib/xss_shield/haml_hacks.rb +42 -0
  118. data/vendor/xss-shield/lib/xss_shield/safe_string.rb +47 -0
  119. data/vendor/xss-shield/lib/xss_shield/secure_helpers.rb +40 -0
  120. data/vendor/xss-shield/lib/xss_shield.rb +6 -0
  121. data/vendor/xss-shield/test/test_actionview_integration.rb +40 -0
  122. data/vendor/xss-shield/test/test_erb.rb +44 -0
  123. data/vendor/xss-shield/test/test_haml.rb +43 -0
  124. data/vendor/xss-shield/test/test_helpers.rb +25 -0
  125. data/vendor/xss-shield/test/test_safe_string.rb +55 -0
  126. metadata +218 -0
@@ -0,0 +1,55 @@
1
+ # Run from your Rails main directory
2
+ require 'test/test_helper'
3
+
4
+ class TestSafeString < Test::Unit::TestCase
5
+ def test_safe_string
6
+ assert_equal "foo", "foo".to_s_xss_protected
7
+ assert_equal "foo &amp; bar", "foo & bar".to_s_xss_protected
8
+ assert_equal "foo &amp; bar", "foo & bar".to_s_xss_protected
9
+ assert_equal "foo &amp;amp; bar", "foo &amp; bar".to_s_xss_protected
10
+ assert_equal "foo &amp; bar", "foo & bar".to_s_xss_protected.to_s_xss_protected
11
+ assert_equal "foo &amp; bar", h("foo & bar").to_s_xss_protected
12
+ assert_equal "foo &amp;amp; bar", h(h("foo & bar"))
13
+
14
+ assert_not_equal "foo".mark_as_xss_protected.object_id, "foo".mark_as_xss_protected.object_id
15
+ x = "foo & bar".mark_as_xss_protected
16
+ assert_equal x.mark_as_xss_protected, x
17
+ # Not sure if this makes sense
18
+ assert_not_equal x.mark_as_xss_protected.object_id, x.object_id
19
+
20
+ assert_equal x.to_s, x
21
+ assert_equal x.to_s.object_id, x.object_id
22
+ end
23
+
24
+ def test_nonstring_objects
25
+ assert_equal "15", 15.to_s_xss_protected
26
+ assert_equal SafeString, 15.to_s_xss_protected.class
27
+ end
28
+
29
+ def test_nil
30
+ assert_equal "", nil.to_s_xss_protected
31
+ assert_equal SafeString, nil.to_s_xss_protected.class
32
+ assert_equal nil, nil.mark_as_xss_protected
33
+ end
34
+
35
+ def test_join
36
+ assert_equal "", [].join_xss_protected
37
+ assert_equal "", [].join_xss_protected(",")
38
+ assert_equal "a", ["a"].join_xss_protected
39
+ assert_equal "a", ["a"].join_xss_protected(",")
40
+ assert_equal "ab", ["a", "b"].join_xss_protected
41
+ assert_equal "a,b", ["a", "b"].join_xss_protected(",")
42
+
43
+ assert_equal "a&amp;b", ["a", "b"].join_xss_protected("&")
44
+ assert_equal "a&amp;amp;b", ["a", "b"].join_xss_protected("&amp;")
45
+ assert_equal "a&amp;b", ["a", "b"].join_xss_protected("&amp;".mark_as_xss_protected)
46
+
47
+ assert_equal "&lt;&amp;&gt;", ["<", ">"].join_xss_protected("&")
48
+ assert_equal "&lt;&amp;amp;&gt;", ["<", ">"].join_xss_protected("&amp;")
49
+ assert_equal "&lt;&amp;&gt;", ["<", ">"].join_xss_protected("&amp;".mark_as_xss_protected)
50
+
51
+ assert_equal "< &amp; &gt;", ["<".mark_as_xss_protected, ">"].join_xss_protected(" & ")
52
+ assert_equal "&lt; &amp; >", ["<", ">".mark_as_xss_protected].join_xss_protected(" & ")
53
+ assert_equal "&lt; & &gt;", ["<", ">"].join_xss_protected(" & ".mark_as_xss_protected)
54
+ end
55
+ end
metadata ADDED
@@ -0,0 +1,218 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: romanbsd-tarantula
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.8
5
+ platform: ruby
6
+ authors:
7
+ - Relevance, Inc.
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-04-14 00:00:00 -07:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: htmlentities
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: "0"
24
+ version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: hpricot
27
+ type: :runtime
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: "0"
34
+ version:
35
+ description: A big hairy fuzzy spider that crawls your site, wreaking havoc
36
+ email: opensource@thinkrelevance.com
37
+ executables: []
38
+
39
+ extensions: []
40
+
41
+ extra_rdoc_files:
42
+ - README.rdoc
43
+ files:
44
+ - CHANGELOG
45
+ - MIT-LICENSE
46
+ - README.rdoc
47
+ - Rakefile
48
+ - VERSION.yml
49
+ - examples/example_helper.rb
50
+ - examples/relevance/core_extensions/ellipsize_example.rb
51
+ - examples/relevance/core_extensions/file_example.rb
52
+ - examples/relevance/core_extensions/response_example.rb
53
+ - examples/relevance/core_extensions/test_case_example.rb
54
+ - examples/relevance/tarantula/attack_form_submission_example.rb
55
+ - examples/relevance/tarantula/attack_handler_example.rb
56
+ - examples/relevance/tarantula/crawler_example.rb
57
+ - examples/relevance/tarantula/form_example.rb
58
+ - examples/relevance/tarantula/form_submission_example.rb
59
+ - examples/relevance/tarantula/html_document_handler_example.rb
60
+ - examples/relevance/tarantula/html_report_helper_example.rb
61
+ - examples/relevance/tarantula/html_reporter_example.rb
62
+ - examples/relevance/tarantula/invalid_html_handler_example.rb
63
+ - examples/relevance/tarantula/io_reporter_example.rb
64
+ - examples/relevance/tarantula/link_example.rb
65
+ - examples/relevance/tarantula/log_grabber_example.rb
66
+ - examples/relevance/tarantula/rails_integration_proxy_example.rb
67
+ - examples/relevance/tarantula/result_example.rb
68
+ - examples/relevance/tarantula/tidy_handler_example.rb
69
+ - examples/relevance/tarantula/transform_example.rb
70
+ - examples/relevance/tarantula/w3c_validator_example.rb
71
+ - examples/relevance/tarantula_example.rb
72
+ - laf/images/button_active.png
73
+ - laf/images/button_hover.png
74
+ - laf/images/button_inactive.png
75
+ - laf/images/header_bg.jpg
76
+ - laf/images/logo.png
77
+ - laf/images/tagline.png
78
+ - laf/javascripts/jquery-1.2.3.js
79
+ - laf/javascripts/jquery-ui-tabs.js
80
+ - laf/javascripts/jquery.tablesorter.js
81
+ - laf/javascripts/niftyLayout.js
82
+ - laf/javascripts/niftycube-details.js
83
+ - laf/javascripts/niftycube.js
84
+ - laf/javascripts/tarantula.js
85
+ - laf/stylesheets/tarantula.css
86
+ - laf/v2/detail.html
87
+ - laf/v2/images/button_active.png
88
+ - laf/v2/images/button_hover.png
89
+ - laf/v2/images/button_inactive.png
90
+ - laf/v2/images/header_bg.jpg
91
+ - laf/v2/images/logo.png
92
+ - laf/v2/images/tagline.png
93
+ - laf/v2/index.html
94
+ - laf/v2/stylesheets/tarantula.v2.css
95
+ - lib/relevance/core_extensions/ellipsize.rb
96
+ - lib/relevance/core_extensions/file.rb
97
+ - lib/relevance/core_extensions/metaclass.rb
98
+ - lib/relevance/core_extensions/response.rb
99
+ - lib/relevance/core_extensions/string_chars_fix.rb
100
+ - lib/relevance/core_extensions/test_case.rb
101
+ - lib/relevance/tarantula.rb
102
+ - lib/relevance/tarantula/attack.rb
103
+ - lib/relevance/tarantula/attack_form_submission.rb
104
+ - lib/relevance/tarantula/attack_handler.rb
105
+ - lib/relevance/tarantula/crawler.rb
106
+ - lib/relevance/tarantula/detail.html.erb
107
+ - lib/relevance/tarantula/form.rb
108
+ - lib/relevance/tarantula/form_submission.rb
109
+ - lib/relevance/tarantula/html_document_handler.rb
110
+ - lib/relevance/tarantula/html_report_helper.rb
111
+ - lib/relevance/tarantula/html_reporter.rb
112
+ - lib/relevance/tarantula/index.html.erb
113
+ - lib/relevance/tarantula/invalid_html_handler.rb
114
+ - lib/relevance/tarantula/io_reporter.rb
115
+ - lib/relevance/tarantula/link.rb
116
+ - lib/relevance/tarantula/log_grabber.rb
117
+ - lib/relevance/tarantula/rails_integration_proxy.rb
118
+ - lib/relevance/tarantula/recording.rb
119
+ - lib/relevance/tarantula/response.rb
120
+ - lib/relevance/tarantula/result.rb
121
+ - lib/relevance/tarantula/test_report.html.erb
122
+ - lib/relevance/tarantula/tidy_handler.rb
123
+ - lib/relevance/tarantula/transform.rb
124
+ - lib/relevance/tarantula/w3c_validator.rb
125
+ - tasks/tarantula_tasks.rake
126
+ - template/tarantula_test.rb
127
+ - vendor/w3c_validators/CHANGELOG
128
+ - vendor/w3c_validators/LICENSE
129
+ - vendor/w3c_validators/README
130
+ - vendor/w3c_validators/README.svn
131
+ - vendor/w3c_validators/lib/w3c_validators.rb
132
+ - vendor/w3c_validators/lib/w3c_validators/constants.rb
133
+ - vendor/w3c_validators/lib/w3c_validators/css_validator.rb
134
+ - vendor/w3c_validators/lib/w3c_validators/exceptions.rb
135
+ - vendor/w3c_validators/lib/w3c_validators/feed_validator.rb
136
+ - vendor/w3c_validators/lib/w3c_validators/markup_validator.rb
137
+ - vendor/w3c_validators/lib/w3c_validators/message.rb
138
+ - vendor/w3c_validators/lib/w3c_validators/results.rb
139
+ - vendor/w3c_validators/lib/w3c_validators/validator.rb
140
+ - vendor/w3c_validators/rakefile.rb
141
+ - vendor/w3c_validators/test/fixtures/invalid_css.css
142
+ - vendor/w3c_validators/test/fixtures/invalid_encoding.html
143
+ - vendor/w3c_validators/test/fixtures/invalid_feed.xml
144
+ - vendor/w3c_validators/test/fixtures/invalid_html5.html
145
+ - vendor/w3c_validators/test/fixtures/invalid_markup.html
146
+ - vendor/w3c_validators/test/fixtures/valid_css.css
147
+ - vendor/w3c_validators/test/fixtures/valid_feed.xml
148
+ - vendor/w3c_validators/test/fixtures/valid_html5.html
149
+ - vendor/w3c_validators/test/fixtures/valid_markup.html
150
+ - vendor/w3c_validators/test/test_css_validator.rb
151
+ - vendor/w3c_validators/test/test_exceptions.rb
152
+ - vendor/w3c_validators/test/test_feed_validator.rb
153
+ - vendor/w3c_validators/test/test_helper.rb
154
+ - vendor/w3c_validators/test/test_html5_validator.rb
155
+ - vendor/w3c_validators/test/test_markup_validator.rb
156
+ - vendor/xss-shield/MIT-LICENSE
157
+ - vendor/xss-shield/README
158
+ - vendor/xss-shield/init.rb
159
+ - vendor/xss-shield/lib/xss_shield.rb
160
+ - vendor/xss-shield/lib/xss_shield/erb_hacks.rb
161
+ - vendor/xss-shield/lib/xss_shield/haml_hacks.rb
162
+ - vendor/xss-shield/lib/xss_shield/safe_string.rb
163
+ - vendor/xss-shield/lib/xss_shield/secure_helpers.rb
164
+ - vendor/xss-shield/test/test_actionview_integration.rb
165
+ - vendor/xss-shield/test/test_erb.rb
166
+ - vendor/xss-shield/test/test_haml.rb
167
+ - vendor/xss-shield/test/test_helpers.rb
168
+ - vendor/xss-shield/test/test_safe_string.rb
169
+ has_rdoc: true
170
+ homepage: http://github.com/relevance/tarantula
171
+ post_install_message:
172
+ rdoc_options:
173
+ - --charset=UTF-8
174
+ require_paths:
175
+ - lib
176
+ required_ruby_version: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ">="
179
+ - !ruby/object:Gem::Version
180
+ version: "0"
181
+ version:
182
+ required_rubygems_version: !ruby/object:Gem::Requirement
183
+ requirements:
184
+ - - ">="
185
+ - !ruby/object:Gem::Version
186
+ version: "0"
187
+ version:
188
+ requirements: []
189
+
190
+ rubyforge_project: thinkrelevance
191
+ rubygems_version: 1.2.0
192
+ signing_key:
193
+ specification_version: 2
194
+ summary: A big hairy fuzzy spider that crawls your site, wreaking havoc
195
+ test_files:
196
+ - examples/relevance/core_extensions/ellipsize_example.rb
197
+ - examples/relevance/core_extensions/test_case_example.rb
198
+ - examples/relevance/core_extensions/file_example.rb
199
+ - examples/relevance/core_extensions/response_example.rb
200
+ - examples/relevance/tarantula_example.rb
201
+ - examples/relevance/tarantula/crawler_example.rb
202
+ - examples/relevance/tarantula/link_example.rb
203
+ - examples/relevance/tarantula/html_document_handler_example.rb
204
+ - examples/relevance/tarantula/w3c_validator_example.rb
205
+ - examples/relevance/tarantula/log_grabber_example.rb
206
+ - examples/relevance/tarantula/form_submission_example.rb
207
+ - examples/relevance/tarantula/attack_form_submission_example.rb
208
+ - examples/relevance/tarantula/attack_handler_example.rb
209
+ - examples/relevance/tarantula/rails_integration_proxy_example.rb
210
+ - examples/relevance/tarantula/io_reporter_example.rb
211
+ - examples/relevance/tarantula/form_example.rb
212
+ - examples/relevance/tarantula/html_reporter_example.rb
213
+ - examples/relevance/tarantula/html_report_helper_example.rb
214
+ - examples/relevance/tarantula/tidy_handler_example.rb
215
+ - examples/relevance/tarantula/transform_example.rb
216
+ - examples/relevance/tarantula/result_example.rb
217
+ - examples/relevance/tarantula/invalid_html_handler_example.rb
218
+ - examples/example_helper.rb