carapace 0.1.0 → 0.1.1

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/lib/carapace.rb CHANGED
@@ -3,7 +3,7 @@ module Carapace
3
3
  require 'openssl'
4
4
  include OpenSSL
5
5
  include PKey
6
- include Cipher
6
+ include Cipher if RUBY_VERSION < "1.8.7"
7
7
 
8
8
  @carapace_javascript_written = false
9
9
 
@@ -0,0 +1,124 @@
1
+ module Carapace
2
+
3
+ require 'openssl'
4
+ include OpenSSL
5
+ include PKey
6
+ include Cipher if RUBY_VERSION < "1.8.7"
7
+
8
+ @carapace_javascript_written = false
9
+
10
+ # Until I can get the below to work it will need to be done in the contoller
11
+ # helper_method :carapace_javascript
12
+
13
+
14
+ private
15
+
16
+ HEX = { 'a' => 10, 'b' => 11, 'c' => 12, 'd' => 13, 'e' => 14, 'f' => 15 } #:nodoc:
17
+
18
+ # Pass as parameter to carapace_decrypt to ensure decryption occurs or force error
19
+ CARAPACE_FORCE_DECRYPT = true
20
+
21
+ # Start a Carapace session.
22
+ #
23
+ # A Carapace session allows a Rails action to display and process
24
+ # an HTML form that returns encrypted fields. The action must start a session
25
+ # for both the initial display and the post-processing of the request.
26
+ #
27
+ # Encryption is performed using a 1024 bit RSA key (or other key
28
+ # length as specified by the optional parameter)
29
+ #
30
+ def carapace_session(key_length=1024) #:doc:
31
+ unless session[:carapace_private_key]
32
+ key = RSA.new(key_length)
33
+ session[:carapace_private_key] = key.to_s
34
+ session[:carapace_public_modulus] = key.public_key.n.to_s(base=16)
35
+ session[:carapace_public_exponent] = key.public_key.e.to_s(base=16)
36
+ end
37
+ end
38
+
39
+ # Decrypt a string. The return value is the decrypted string.
40
+ # If the string was not encrypted by the browser it is returned as-is
41
+ # unless the force_decrypt parameter is given as CARAPACE_FORCE_DECRYPT
42
+ # in which case nil is returned
43
+ #
44
+ # CARAPACE_FORCE_DECRYPT can be used to protect against accepting plaintext
45
+ # transmissions when the user's browser has Javascript disabled.
46
+ #
47
+ def carapace_decrypt(string, force_decrypt=false) #:doc:
48
+ if carapace_enabled? then # only decrypt if browser was enabled
49
+ byte = 0 # the converted byte will go here
50
+ s = "".rjust(string.length/2) # string to receive converted bytes
51
+ 0.upto(string.length-1) do |i| # iterate through string one chr at a time
52
+ ch = string[i].chr # current character
53
+ nibble = HEX[ch] || ch.to_i # converted to its binary value
54
+ if i%2 == 0 then
55
+ byte = nibble << 4 # most significant nibble is bits 5-8
56
+ else
57
+ byte += nibble # lease significant nibble is bits 1-4
58
+ s[i/2] = byte # store the converted byte
59
+ end
60
+ end
61
+ RSA.new(session[:carapace_private_key],nil).private_decrypt(s) # perform the decryption
62
+ else
63
+ force_decrypt ? nil : string # input is unencrypted - return input
64
+ end # return error if decryption was forced
65
+
66
+ end
67
+
68
+ # Decrypt a string. The return value is the decrypted string
69
+ # The string is decrypted in-situ, meaning its value is modified
70
+ # (warning, this does not call any customer accessor (e.g. "password=")
71
+ # so any custom code (such as password hashing) will not execute.)
72
+ #
73
+ def carapace_decrypt!(string, force_decrypt=false) #:doc:
74
+ decrypted_string = carapace_decrypt(string, force_decrypt)
75
+ string.replace decrypted_string unless !decrypted_string
76
+ end
77
+
78
+ private
79
+
80
+ # Helper method for use in the view rhtml to insert Carapace Javascript
81
+ # The javascript is added to a page once, no matter how often this is called.
82
+ #
83
+ def carapace_javascript #:doc:
84
+ unless @carapace_javascript_written
85
+ session[:carapace_nonce] = Time.now.to_i.to_s.reverse.crypt(rand.to_s.reverse[0,2])
86
+ @carapace_javascript_written = true
87
+ return "<script type='text/javascript'>
88
+ carapace_modulus = \"#{session[:carapace_public_modulus]}\" ;
89
+ carapace_exponent = \"#{session[:carapace_public_exponent]}\" ;
90
+ document.cookie = \"carapace_nonce=#{session[:carapace_nonce]}; path=/\";
91
+ //alert(\"Session:#{session[:carapace_nonce]}\\nCookie:\"+document.cookie)
92
+ rsa = new RSAKey();
93
+ rsa.setPublic(carapace_modulus, carapace_exponent);
94
+
95
+ function carapace_encrypt(field)
96
+ {
97
+ field.value = rsa.encrypt(field.value);
98
+ }
99
+ </script>"
100
+ end
101
+ end
102
+
103
+ # Returns TRUE if Carapace was enabled on the view. This does not mean that
104
+ # data was encrypted, just that Carapace Javascript was executed by the
105
+ # user's browser, making the Carapace encryption services available. This
106
+ # will be TRUE if everything is set up correctly AND the user's browser has
107
+ # Javascript enabled
108
+ #
109
+ # This can be used to protect against accepting plaintext
110
+ # transmissions when the user's browser has Javascript disabled.
111
+ #
112
+ def carapace_enabled? #:doc:
113
+ cookies["carapace_nonce"]==session[:carapace_nonce]
114
+ end
115
+
116
+ # This is called when Carapace is included in a controller.
117
+ # It automatically sets upn the Carapace Javascript helper.
118
+ def self.included(c)
119
+ #c.RAILS_DEFAULT_LOGGER.debug "Carapace has been included by #{c.class}"
120
+ if (c.class == Class)
121
+ c.helper_method :carapace_javascript
122
+ end
123
+ end
124
+ end
@@ -160,3 +160,141 @@ Processing MessageController#index (for 127.0.0.1 at 2012-05-30 11:57:11) [POST]
160
160
  Parameters: {"message"=>"142da1a1e8ea1c6f57d97daa94cc7393535f5f3dbf7f1c943b2c890b3b21c93569476be52b6bea71d3ee0b4c24a127a1e87a33617ec483e3c3dff1f3380a9059a8c6812289d53242374264998649386bf3de49edc8c732504ff52c7e7aa074fd01cf02238c605a5a480540e141d7980f2bf63857d9e42a0c3086d3e2eb49281e", "commit"=>"Send", "authenticity_token"=>"668fa79df92550c08b249430ac889c6be18494e1", "action"=>"index", "controller"=>"message"}
161
161
  Rendering message/index
162
162
  Completed in 0.00840 (119 reqs/sec) | Rendering: 0.00137 (16%) | 200 OK [http://localhost/]
163
+
164
+
165
+ Processing ApplicationController#index (for 127.0.0.1 at 2012-05-31 11:08:50) [GET]
166
+ Session ID: BAh7CzoTY2FyYXBhY2Vfbm9uY2UiEjQ2aFJHSHlicThHR0E6GWNhcmFwYWNl%0AX3ByaXZhdGVfa2V5IgJ3Ay0tLS0tQkVHSU4gUlNBIFBSSVZBVEUgS0VZLS0t%0ALS0KTUlJQ1d3SUJBQUtCZ1FEdFRpZCsvYUV5UlkxNlhYOXFQS1I1N1FNM1l2%0Ab09sSUxJeGxNbi9YTk50M043QjhLMgpvYVdYb1RhK1BhWm5TUm1qUTk4MzZm%0AeExrcitYUWI4bXRsbGg0L0c2Vlc5bHFiNTloU0ZsNCsvS3QvUVJrL3NFCkow%0ASDV0WUtQVkpDaFBYRHIyTHF0VnMwNysrU2xtNU9HeDR3UHF0VENnbmpIUyto%0AMnpMejJTSVY0SXdJREFRQUIKQW9HQUtzUlNBK1hydmlhZ3g3Ty8rY0p5RmZN%0Ac0NEaFRQbnR2VW9YRGlNcDVsRUVDaytLaktjemFEZ2lrMkFZKwpUaER6aU9Q%0AN2Y1VXd2ZUgxbTJuaTdEUWl5Vk93YkVPUEkwSXA4QjRMZ2t2Vk5VUXlsbGln%0Ac2pVOUdoY0tHUlZrCnBqaTBnZG1iV2c1V3g0RkZLSmM2aDd4aFk4WGdhbXAw%0AN24yWlhyTENTVUY5cy9FQ1FRRDhpVnl0cTFmVnl1akQKVFZiZmpUSWZMZkNl%0ATDVEMGY4R3VhYS9xamFFTkE1aHB0Wnp3Zmp6aWgvYUZ1aXc5Y3JBOWVMK2FZ%0Aa1BmNFF5RApoenFVUVNaTEFrRUE4STlRK2R4bUR5UVBza3V5RnhubG5yRytJ%0AL1lBUWpwS0pRd3JMYUc3cFdQQlhZWWZZakdtCi9ZUndPR1ZaOU1lQkNmU0NI%0Aa1JtWGNxdEd6ZHNiRU91aVFKQVJWMHhjSjVjbk9PRDlZajdzS0dtdjd1dG1M%0AVjEKK2tKUkg2ZjE0dFlPQTNZV1dnckJWYWxHN2Uzc2Y2UzRYQlJ4WmlFUmQ4%0AVS80WEYrTDI1b1g2cFphd0pBQlZSbgppdUdqTVRxdlRsZjIvaVFJdmxkWnl4%0Ab3NMMHR6VVJiUDdoYmpQV3JVWWVvU3orNGhzUVE2S0VXMmxJSEhEaDFvCnRK%0AcjNXYVNmNlRaMUpJRHJZUUpBWEVHUGhBQ0d4L0NaQzYzeDVaRWhxeWNqdXlI%0ANEt6ejU0dlMyb1MxYmE0WmYKSVpVYlZJMTJOMDdhT0tLalFrY04xeFpPVFRm%0AMVI4eTk4dFNUTVEzRUlBPT0KLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0t%0ALS0KOhxjYXJhcGFjZV9wdWJsaWNfbW9kdWx1cyICAAFFRDRFMjc3RUZEQTEz%0AMjQ1OEQ3QTVEN0Y2QTNDQTQ3OUVEMDMzNzYyRkEwRTk0ODJDOEM2NTMyN0ZE%0ANzM0REI3NzM3QjA3QzJCNkExQTU5N0ExMzZCRTNEQTY2NzQ5MTlBMzQzREYz%0AN0U5RkM0QjkyQkY5NzQxQkYyNkI2NTk2MUUzRjFCQTU1NkY2NUE5QkU3RDg1%0AMjE2NUUzRUZDQUI3RjQxMTkzRkIwNDI3NDFGOUI1ODI4RjU0OTBBMTNENzBF%0AQkQ4QkFBRDU2Q0QzQkZCRTRBNTlCOTM4NkM3OEMwRkFBRDRDMjgyNzhDNzRC%0ARTg3NkNDQkNGNjQ4ODU3ODIzOgxjc3JmX2lkIiUwNTAxOWRjNjI4NWMwMDNh%0AZjk4ZjZkZDIyNTNhYjI0ZjodY2FyYXBhY2VfcHVibGljX2V4cG9uZW50Igsw%0AMTAwMDEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFz%0AaEhhc2h7AAY6CkB1c2VkewA%3D--65113f1e5e7c6151190aed43dda953b0e6a61172
167
+ Parameters: {"controller"=>"message", "action"=>"index"}
168
+
169
+
170
+ TypeError (wrong argument type Class (expected Module)):
171
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/carapace-0.1.0/lib/carapace.rb:6:in `include'
172
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/carapace-0.1.0/lib/carapace.rb:6
173
+ /usr/local/rvm/rubies/ruby-1.8.7-p358/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:60:in `gem_original_require'
174
+ /usr/local/rvm/rubies/ruby-1.8.7-p358/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:60:in `require'
175
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:496:in `require'
176
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:342:in `new_constants_in'
177
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:496:in `require'
178
+ /app/controllers/message_controller.rb:3
179
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:203:in `load_without_new_constant_marking'
180
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:203:in `load_file'
181
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:342:in `new_constants_in'
182
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:202:in `load_file'
183
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:94:in `require_or_load'
184
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:248:in `load_missing_constant'
185
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:453:in `const_missing'
186
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:465:in `const_missing'
187
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/activesupport-2.0.2/lib/active_support/inflector.rb:257:in `constantize'
188
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/activesupport-2.0.2/lib/active_support/core_ext/string/inflections.rb:148:in `constantize'
189
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/actionpack-2.0.2/lib/action_controller/routing.rb:1426:in `recognize'
190
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/actionpack-2.0.2/lib/action_controller/dispatcher.rb:170:in `handle_request'
191
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/actionpack-2.0.2/lib/action_controller/dispatcher.rb:115:in `dispatch'
192
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/actionpack-2.0.2/lib/action_controller/dispatcher.rb:126:in `dispatch_cgi'
193
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/actionpack-2.0.2/lib/action_controller/dispatcher.rb:9:in `dispatch'
194
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/mongrel-1.1.5/bin/../lib/mongrel/rails.rb:76:in `process'
195
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/mongrel-1.1.5/bin/../lib/mongrel/rails.rb:74:in `synchronize'
196
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/mongrel-1.1.5/bin/../lib/mongrel/rails.rb:74:in `process'
197
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:159:in `process_client'
198
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:158:in `each'
199
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:158:in `process_client'
200
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:285:in `run'
201
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:285:in `initialize'
202
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:285:in `new'
203
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:285:in `run'
204
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:268:in `initialize'
205
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:268:in `new'
206
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:268:in `run'
207
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/mongrel-1.1.5/bin/../lib/mongrel/configurator.rb:282:in `run'
208
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/mongrel-1.1.5/bin/../lib/mongrel/configurator.rb:281:in `each'
209
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/mongrel-1.1.5/bin/../lib/mongrel/configurator.rb:281:in `run'
210
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/mongrel-1.1.5/bin/mongrel_rails:128:in `run'
211
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/mongrel-1.1.5/bin/../lib/mongrel/command.rb:212:in `run'
212
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/mongrel-1.1.5/bin/mongrel_rails:281
213
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/bin/mongrel_rails:19:in `load'
214
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/bin/mongrel_rails:19
215
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/bin/ruby_noexec_wrapper:14
216
+
217
+ Rendering /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/actionpack-2.0.2/lib/action_controller/templates/rescues/layout.erb (internal_server_error)
218
+
219
+
220
+ Processing ApplicationController#index (for 127.0.0.1 at 2012-05-31 11:13:36) [GET]
221
+ Session ID: BAh7CzoTY2FyYXBhY2Vfbm9uY2UiEjQ2aFJHSHlicThHR0E6DGNzcmZfaWQi%0AJTA1MDE5ZGM2Mjg1YzAwM2FmOThmNmRkMjI1M2FiMjRmOhljYXJhcGFjZV9w%0Acml2YXRlX2tleSICdwMtLS0tLUJFR0lOIFJTQSBQUklWQVRFIEtFWS0tLS0t%0ACk1JSUNXd0lCQUFLQmdRRHRUaWQrL2FFeVJZMTZYWDlxUEtSNTdRTTNZdm9P%0AbElMSXhsTW4vWE5OdDNON0I4SzIKb2FXWG9UYStQYVpuU1JtalE5ODM2ZnhM%0Aa3IrWFFiOG10bGxoNC9HNlZXOWxxYjU5aFNGbDQrL0t0L1FSay9zRQpKMEg1%0AdFlLUFZKQ2hQWERyMkxxdFZzMDcrK1NsbTVPR3g0d1BxdFRDZ25qSFMraDJ6%0ATHoyU0lWNEl3SURBUUFCCkFvR0FLc1JTQStYcnZpYWd4N08vK2NKeUZmTXND%0ARGhUUG50dlVvWERpTXA1bEVFQ2srS2pLY3phRGdpazJBWSsKVGhEemlPUDdm%0ANVV3dmVIMW0ybmk3RFFpeVZPd2JFT1BJMElwOEI0TGdrdlZOVVF5bGxpZ3Nq%0AVTlHaGNLR1JWawpwamkwZ2RtYldnNVd4NEZGS0pjNmg3eGhZOFhnYW1wMDdu%0AMlpYckxDU1VGOXMvRUNRUUQ4aVZ5dHExZlZ5dWpEClRWYmZqVElmTGZDZUw1%0ARDBmOEd1YWEvcWphRU5BNWhwdFp6d2ZqemloL2FGdWl3OWNyQTllTCthWWtQ%0AZjRReUQKaHpxVVFTWkxBa0VBOEk5UStkeG1EeVFQc2t1eUZ4bmxuckcrSS9Z%0AQVFqcEtKUXdyTGFHN3BXUEJYWVlmWWpHbQovWVJ3T0dWWjlNZUJDZlNDSGtS%0AbVhjcXRHemRzYkVPdWlRSkFSVjB4Y0o1Y25PT0Q5WWo3c0tHbXY3dXRtTFYx%0ACitrSlJINmYxNHRZT0EzWVdXZ3JCVmFsRzdlM3NmNlM0WEJSeFppRVJkOFUv%0ANFhGK0wyNW9YNnBaYXdKQUJWUm4KaXVHak1UcXZUbGYyL2lRSXZsZFp5eG9z%0ATDB0elVSYlA3aGJqUFdyVVllb1N6KzRoc1FRNktFVzJsSUhIRGgxbwp0SnIz%0AV2FTZjZUWjFKSURyWVFKQVhFR1BoQUNHeC9DWkM2M3g1WkVocXljanV5SDRL%0Aeno1NHZTMm9TMWJhNFpmCklaVWJWSTEyTjA3YU9LS2pRa2NOMXhaT1RUZjFS%0AOHk5OHRTVE1RM0VJQT09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0t%0ACjocY2FyYXBhY2VfcHVibGljX21vZHVsdXMiAgABRUQ0RTI3N0VGREExMzI0%0ANThEN0E1RDdGNkEzQ0E0NzlFRDAzMzc2MkZBMEU5NDgyQzhDNjUzMjdGRDcz%0ANERCNzczN0IwN0MyQjZBMUE1OTdBMTM2QkUzREE2Njc0OTE5QTM0M0RGMzdF%0AOUZDNEI5MkJGOTc0MUJGMjZCNjU5NjFFM0YxQkE1NTZGNjVBOUJFN0Q4NTIx%0ANjVFM0VGQ0FCN0Y0MTE5M0ZCMDQyNzQxRjlCNTgyOEY1NDkwQTEzRDcwRUJE%0AOEJBQUQ1NkNEM0JGQkU0QTU5QjkzODZDNzhDMEZBQUQ0QzI4Mjc4Qzc0QkU4%0ANzZDQ0JDRjY0ODg1NzgyMzodY2FyYXBhY2VfcHVibGljX2V4cG9uZW50Igsw%0AMTAwMDEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFz%0AaEhhc2h7AAY6CkB1c2VkewA%3D--6b58f07bb807e98b88fb76a8bb2e1ac0ab551484
222
+ Parameters: {"controller"=>"message", "action"=>"index"}
223
+
224
+
225
+ TypeError (wrong argument type Class (expected Module)):
226
+ /lib/carapace.rb:6:in `include'
227
+ /lib/carapace.rb:6
228
+ /usr/local/rvm/rubies/ruby-1.8.7-p358/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require'
229
+ /usr/local/rvm/rubies/ruby-1.8.7-p358/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `require'
230
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:496:in `require'
231
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:342:in `new_constants_in'
232
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:496:in `require'
233
+ /app/controllers/message_controller.rb:3
234
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:203:in `load_without_new_constant_marking'
235
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:203:in `load_file'
236
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:342:in `new_constants_in'
237
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:202:in `load_file'
238
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:94:in `require_or_load'
239
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:248:in `load_missing_constant'
240
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:453:in `const_missing'
241
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:465:in `const_missing'
242
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/activesupport-2.0.2/lib/active_support/inflector.rb:257:in `constantize'
243
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/activesupport-2.0.2/lib/active_support/core_ext/string/inflections.rb:148:in `constantize'
244
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/actionpack-2.0.2/lib/action_controller/routing.rb:1426:in `recognize'
245
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/actionpack-2.0.2/lib/action_controller/dispatcher.rb:170:in `handle_request'
246
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/actionpack-2.0.2/lib/action_controller/dispatcher.rb:115:in `dispatch'
247
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/actionpack-2.0.2/lib/action_controller/dispatcher.rb:126:in `dispatch_cgi'
248
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/actionpack-2.0.2/lib/action_controller/dispatcher.rb:9:in `dispatch'
249
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/mongrel-1.1.5/bin/../lib/mongrel/rails.rb:76:in `process'
250
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/mongrel-1.1.5/bin/../lib/mongrel/rails.rb:74:in `synchronize'
251
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/mongrel-1.1.5/bin/../lib/mongrel/rails.rb:74:in `process'
252
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:159:in `process_client'
253
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:158:in `each'
254
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:158:in `process_client'
255
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:285:in `run'
256
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:285:in `initialize'
257
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:285:in `new'
258
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:285:in `run'
259
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:268:in `initialize'
260
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:268:in `new'
261
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:268:in `run'
262
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/mongrel-1.1.5/bin/../lib/mongrel/configurator.rb:282:in `run'
263
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/mongrel-1.1.5/bin/../lib/mongrel/configurator.rb:281:in `each'
264
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/mongrel-1.1.5/bin/../lib/mongrel/configurator.rb:281:in `run'
265
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/mongrel-1.1.5/bin/mongrel_rails:128:in `run'
266
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/mongrel-1.1.5/bin/../lib/mongrel/command.rb:212:in `run'
267
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/mongrel-1.1.5/bin/mongrel_rails:281
268
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/bin/mongrel_rails:19:in `load'
269
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/bin/mongrel_rails:19
270
+ /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/bin/ruby_noexec_wrapper:14
271
+
272
+ Rendering /usr/local/rvm/gems/ruby-1.8.7-p358@rails-2.0.2/gems/actionpack-2.0.2/lib/action_controller/templates/rescues/layout.erb (internal_server_error)
273
+
274
+
275
+ Processing MessageController#index (for 127.0.0.1 at 2012-05-31 11:31:11) [GET]
276
+ Session ID: BAh7CzoTY2FyYXBhY2Vfbm9uY2UiEjQ2aFJHSHlicThHR0E6DGNzcmZfaWQi%0AJTA1MDE5ZGM2Mjg1YzAwM2FmOThmNmRkMjI1M2FiMjRmIgpmbGFzaElDOidB%0AY3Rpb25Db250cm9sbGVyOjpGbGFzaDo6Rmxhc2hIYXNoewAGOgpAdXNlZHsA%0AOhljYXJhcGFjZV9wcml2YXRlX2tleSICdwMtLS0tLUJFR0lOIFJTQSBQUklW%0AQVRFIEtFWS0tLS0tCk1JSUNXd0lCQUFLQmdRRHRUaWQrL2FFeVJZMTZYWDlx%0AUEtSNTdRTTNZdm9PbElMSXhsTW4vWE5OdDNON0I4SzIKb2FXWG9UYStQYVpu%0AU1JtalE5ODM2ZnhMa3IrWFFiOG10bGxoNC9HNlZXOWxxYjU5aFNGbDQrL0t0%0AL1FSay9zRQpKMEg1dFlLUFZKQ2hQWERyMkxxdFZzMDcrK1NsbTVPR3g0d1Bx%0AdFRDZ25qSFMraDJ6THoyU0lWNEl3SURBUUFCCkFvR0FLc1JTQStYcnZpYWd4%0AN08vK2NKeUZmTXNDRGhUUG50dlVvWERpTXA1bEVFQ2srS2pLY3phRGdpazJB%0AWSsKVGhEemlPUDdmNVV3dmVIMW0ybmk3RFFpeVZPd2JFT1BJMElwOEI0TGdr%0AdlZOVVF5bGxpZ3NqVTlHaGNLR1JWawpwamkwZ2RtYldnNVd4NEZGS0pjNmg3%0AeGhZOFhnYW1wMDduMlpYckxDU1VGOXMvRUNRUUQ4aVZ5dHExZlZ5dWpEClRW%0AYmZqVElmTGZDZUw1RDBmOEd1YWEvcWphRU5BNWhwdFp6d2ZqemloL2FGdWl3%0AOWNyQTllTCthWWtQZjRReUQKaHpxVVFTWkxBa0VBOEk5UStkeG1EeVFQc2t1%0AeUZ4bmxuckcrSS9ZQVFqcEtKUXdyTGFHN3BXUEJYWVlmWWpHbQovWVJ3T0dW%0AWjlNZUJDZlNDSGtSbVhjcXRHemRzYkVPdWlRSkFSVjB4Y0o1Y25PT0Q5WWo3%0Ac0tHbXY3dXRtTFYxCitrSlJINmYxNHRZT0EzWVdXZ3JCVmFsRzdlM3NmNlM0%0AWEJSeFppRVJkOFUvNFhGK0wyNW9YNnBaYXdKQUJWUm4KaXVHak1UcXZUbGYy%0AL2lRSXZsZFp5eG9zTDB0elVSYlA3aGJqUFdyVVllb1N6KzRoc1FRNktFVzJs%0ASUhIRGgxbwp0SnIzV2FTZjZUWjFKSURyWVFKQVhFR1BoQUNHeC9DWkM2M3g1%0AWkVocXljanV5SDRLeno1NHZTMm9TMWJhNFpmCklaVWJWSTEyTjA3YU9LS2pR%0Aa2NOMXhaT1RUZjFSOHk5OHRTVE1RM0VJQT09Ci0tLS0tRU5EIFJTQSBQUklW%0AQVRFIEtFWS0tLS0tCjocY2FyYXBhY2VfcHVibGljX21vZHVsdXMiAgABRUQ0%0ARTI3N0VGREExMzI0NThEN0E1RDdGNkEzQ0E0NzlFRDAzMzc2MkZBMEU5NDgy%0AQzhDNjUzMjdGRDczNERCNzczN0IwN0MyQjZBMUE1OTdBMTM2QkUzREE2Njc0%0AOTE5QTM0M0RGMzdFOUZDNEI5MkJGOTc0MUJGMjZCNjU5NjFFM0YxQkE1NTZG%0ANjVBOUJFN0Q4NTIxNjVFM0VGQ0FCN0Y0MTE5M0ZCMDQyNzQxRjlCNTgyOEY1%0ANDkwQTEzRDcwRUJEOEJBQUQ1NkNEM0JGQkU0QTU5QjkzODZDNzhDMEZBQUQ0%0AQzI4Mjc4Qzc0QkU4NzZDQ0JDRjY0ODg1NzgyMzodY2FyYXBhY2VfcHVibGlj%0AX2V4cG9uZW50IgswMTAwMDE%3D--33d8d88ac4d65835a84196b8218c5e08943bec51
277
+ Parameters: {"controller"=>"message", "action"=>"index"}
278
+ Rendering message/index
279
+ Completed in 0.03211 (31 reqs/sec) | Rendering: 0.03063 (95%) | 200 OK [http://localhost/]
280
+
281
+
282
+ Processing MessageController#index (for 127.0.0.1 at 2012-05-31 11:31:17) [POST]
283
+ Session ID: BAh7CyIKZmxhc2hJQzonQWN0aW9uQ29udHJvbGxlcjo6Rmxhc2g6OkZsYXNo%0ASGFzaHsABjoKQHVzZWR7ADoTY2FyYXBhY2Vfbm9uY2UiEjgyUkFXWERONDJJ%0Ac0E6DGNzcmZfaWQiJTA1MDE5ZGM2Mjg1YzAwM2FmOThmNmRkMjI1M2FiMjRm%0AOhljYXJhcGFjZV9wcml2YXRlX2tleSICdwMtLS0tLUJFR0lOIFJTQSBQUklW%0AQVRFIEtFWS0tLS0tCk1JSUNXd0lCQUFLQmdRRHRUaWQrL2FFeVJZMTZYWDlx%0AUEtSNTdRTTNZdm9PbElMSXhsTW4vWE5OdDNON0I4SzIKb2FXWG9UYStQYVpu%0AU1JtalE5ODM2ZnhMa3IrWFFiOG10bGxoNC9HNlZXOWxxYjU5aFNGbDQrL0t0%0AL1FSay9zRQpKMEg1dFlLUFZKQ2hQWERyMkxxdFZzMDcrK1NsbTVPR3g0d1Bx%0AdFRDZ25qSFMraDJ6THoyU0lWNEl3SURBUUFCCkFvR0FLc1JTQStYcnZpYWd4%0AN08vK2NKeUZmTXNDRGhUUG50dlVvWERpTXA1bEVFQ2srS2pLY3phRGdpazJB%0AWSsKVGhEemlPUDdmNVV3dmVIMW0ybmk3RFFpeVZPd2JFT1BJMElwOEI0TGdr%0AdlZOVVF5bGxpZ3NqVTlHaGNLR1JWawpwamkwZ2RtYldnNVd4NEZGS0pjNmg3%0AeGhZOFhnYW1wMDduMlpYckxDU1VGOXMvRUNRUUQ4aVZ5dHExZlZ5dWpEClRW%0AYmZqVElmTGZDZUw1RDBmOEd1YWEvcWphRU5BNWhwdFp6d2ZqemloL2FGdWl3%0AOWNyQTllTCthWWtQZjRReUQKaHpxVVFTWkxBa0VBOEk5UStkeG1EeVFQc2t1%0AeUZ4bmxuckcrSS9ZQVFqcEtKUXdyTGFHN3BXUEJYWVlmWWpHbQovWVJ3T0dW%0AWjlNZUJDZlNDSGtSbVhjcXRHemRzYkVPdWlRSkFSVjB4Y0o1Y25PT0Q5WWo3%0Ac0tHbXY3dXRtTFYxCitrSlJINmYxNHRZT0EzWVdXZ3JCVmFsRzdlM3NmNlM0%0AWEJSeFppRVJkOFUvNFhGK0wyNW9YNnBaYXdKQUJWUm4KaXVHak1UcXZUbGYy%0AL2lRSXZsZFp5eG9zTDB0elVSYlA3aGJqUFdyVVllb1N6KzRoc1FRNktFVzJs%0ASUhIRGgxbwp0SnIzV2FTZjZUWjFKSURyWVFKQVhFR1BoQUNHeC9DWkM2M3g1%0AWkVocXljanV5SDRLeno1NHZTMm9TMWJhNFpmCklaVWJWSTEyTjA3YU9LS2pR%0Aa2NOMXhaT1RUZjFSOHk5OHRTVE1RM0VJQT09Ci0tLS0tRU5EIFJTQSBQUklW%0AQVRFIEtFWS0tLS0tCjocY2FyYXBhY2VfcHVibGljX21vZHVsdXMiAgABRUQ0%0ARTI3N0VGREExMzI0NThEN0E1RDdGNkEzQ0E0NzlFRDAzMzc2MkZBMEU5NDgy%0AQzhDNjUzMjdGRDczNERCNzczN0IwN0MyQjZBMUE1OTdBMTM2QkUzREE2Njc0%0AOTE5QTM0M0RGMzdFOUZDNEI5MkJGOTc0MUJGMjZCNjU5NjFFM0YxQkE1NTZG%0ANjVBOUJFN0Q4NTIxNjVFM0VGQ0FCN0Y0MTE5M0ZCMDQyNzQxRjlCNTgyOEY1%0ANDkwQTEzRDcwRUJEOEJBQUQ1NkNEM0JGQkU0QTU5QjkzODZDNzhDMEZBQUQ0%0AQzI4Mjc4Qzc0QkU4NzZDQ0JDRjY0ODg1NzgyMzodY2FyYXBhY2VfcHVibGlj%0AX2V4cG9uZW50IgswMTAwMDE%3D--5052d4fcc8672ae9a966f81438d8146db39c6421
284
+ Parameters: {"commit"=>"Send", "controller"=>"message", "action"=>"index", "message"=>"e5eba9304c96df3541931fa2e292e6da8c86f52f91fdcc5558364e40ee3026ee94f9835cc4835e05ce30ffa1d2f11e04a815d525a8ef9c1dc4ff742373b03c763f2bb75ad427376f654908599a2a00a6b48c34a9c3e096bda0aa81f6d7dfc29378c0c311e81d755234781383da46542683986a49e07e43741a5964bd8f0a9d21", "authenticity_token"=>"92773f3d737f3a6b91ecc37e9dbf78d08875eb39"}
285
+ Rendering message/index
286
+ Completed in 0.04743 (21 reqs/sec) | Rendering: 0.00371 (7%) | 200 OK [http://localhost/]
287
+
288
+
289
+ Processing MessageController#index (for 127.0.0.1 at 2012-05-31 11:34:49) [GET]
290
+ Session ID: BAh7CyIKZmxhc2hJQzonQWN0aW9uQ29udHJvbGxlcjo6Rmxhc2g6OkZsYXNo%0ASGFzaHsABjoKQHVzZWR7ADoTY2FyYXBhY2Vfbm9uY2UiEjY2RE8xS09tbHhu%0ARzI6DGNzcmZfaWQiJTA1MDE5ZGM2Mjg1YzAwM2FmOThmNmRkMjI1M2FiMjRm%0AOhljYXJhcGFjZV9wcml2YXRlX2tleSICdwMtLS0tLUJFR0lOIFJTQSBQUklW%0AQVRFIEtFWS0tLS0tCk1JSUNXd0lCQUFLQmdRRHRUaWQrL2FFeVJZMTZYWDlx%0AUEtSNTdRTTNZdm9PbElMSXhsTW4vWE5OdDNON0I4SzIKb2FXWG9UYStQYVpu%0AU1JtalE5ODM2ZnhMa3IrWFFiOG10bGxoNC9HNlZXOWxxYjU5aFNGbDQrL0t0%0AL1FSay9zRQpKMEg1dFlLUFZKQ2hQWERyMkxxdFZzMDcrK1NsbTVPR3g0d1Bx%0AdFRDZ25qSFMraDJ6THoyU0lWNEl3SURBUUFCCkFvR0FLc1JTQStYcnZpYWd4%0AN08vK2NKeUZmTXNDRGhUUG50dlVvWERpTXA1bEVFQ2srS2pLY3phRGdpazJB%0AWSsKVGhEemlPUDdmNVV3dmVIMW0ybmk3RFFpeVZPd2JFT1BJMElwOEI0TGdr%0AdlZOVVF5bGxpZ3NqVTlHaGNLR1JWawpwamkwZ2RtYldnNVd4NEZGS0pjNmg3%0AeGhZOFhnYW1wMDduMlpYckxDU1VGOXMvRUNRUUQ4aVZ5dHExZlZ5dWpEClRW%0AYmZqVElmTGZDZUw1RDBmOEd1YWEvcWphRU5BNWhwdFp6d2ZqemloL2FGdWl3%0AOWNyQTllTCthWWtQZjRReUQKaHpxVVFTWkxBa0VBOEk5UStkeG1EeVFQc2t1%0AeUZ4bmxuckcrSS9ZQVFqcEtKUXdyTGFHN3BXUEJYWVlmWWpHbQovWVJ3T0dW%0AWjlNZUJDZlNDSGtSbVhjcXRHemRzYkVPdWlRSkFSVjB4Y0o1Y25PT0Q5WWo3%0Ac0tHbXY3dXRtTFYxCitrSlJINmYxNHRZT0EzWVdXZ3JCVmFsRzdlM3NmNlM0%0AWEJSeFppRVJkOFUvNFhGK0wyNW9YNnBaYXdKQUJWUm4KaXVHak1UcXZUbGYy%0AL2lRSXZsZFp5eG9zTDB0elVSYlA3aGJqUFdyVVllb1N6KzRoc1FRNktFVzJs%0ASUhIRGgxbwp0SnIzV2FTZjZUWjFKSURyWVFKQVhFR1BoQUNHeC9DWkM2M3g1%0AWkVocXljanV5SDRLeno1NHZTMm9TMWJhNFpmCklaVWJWSTEyTjA3YU9LS2pR%0Aa2NOMXhaT1RUZjFSOHk5OHRTVE1RM0VJQT09Ci0tLS0tRU5EIFJTQSBQUklW%0AQVRFIEtFWS0tLS0tCjocY2FyYXBhY2VfcHVibGljX21vZHVsdXMiAgABRUQ0%0ARTI3N0VGREExMzI0NThEN0E1RDdGNkEzQ0E0NzlFRDAzMzc2MkZBMEU5NDgy%0AQzhDNjUzMjdGRDczNERCNzczN0IwN0MyQjZBMUE1OTdBMTM2QkUzREE2Njc0%0AOTE5QTM0M0RGMzdFOUZDNEI5MkJGOTc0MUJGMjZCNjU5NjFFM0YxQkE1NTZG%0ANjVBOUJFN0Q4NTIxNjVFM0VGQ0FCN0Y0MTE5M0ZCMDQyNzQxRjlCNTgyOEY1%0ANDkwQTEzRDcwRUJEOEJBQUQ1NkNEM0JGQkU0QTU5QjkzODZDNzhDMEZBQUQ0%0AQzI4Mjc4Qzc0QkU4NzZDQ0JDRjY0ODg1NzgyMzodY2FyYXBhY2VfcHVibGlj%0AX2V4cG9uZW50IgswMTAwMDE%3D--1451a9b3f36bd96993cfe26873025e13aff76ab9
291
+ Parameters: {"controller"=>"message", "action"=>"index"}
292
+ Rendering message/index
293
+ Completed in 0.00537 (186 reqs/sec) | Rendering: 0.00392 (73%) | 200 OK [http://localhost/]
294
+
295
+
296
+ Processing MessageController#index (for 127.0.0.1 at 2012-05-31 11:34:56) [POST]
297
+ Session ID: BAh7CzoTY2FyYXBhY2Vfbm9uY2UiEjI3Q1Vma2FjZVkzWTY6DGNzcmZfaWQi%0AJTA1MDE5ZGM2Mjg1YzAwM2FmOThmNmRkMjI1M2FiMjRmOhljYXJhcGFjZV9w%0Acml2YXRlX2tleSICdwMtLS0tLUJFR0lOIFJTQSBQUklWQVRFIEtFWS0tLS0t%0ACk1JSUNXd0lCQUFLQmdRRHRUaWQrL2FFeVJZMTZYWDlxUEtSNTdRTTNZdm9P%0AbElMSXhsTW4vWE5OdDNON0I4SzIKb2FXWG9UYStQYVpuU1JtalE5ODM2ZnhM%0Aa3IrWFFiOG10bGxoNC9HNlZXOWxxYjU5aFNGbDQrL0t0L1FSay9zRQpKMEg1%0AdFlLUFZKQ2hQWERyMkxxdFZzMDcrK1NsbTVPR3g0d1BxdFRDZ25qSFMraDJ6%0ATHoyU0lWNEl3SURBUUFCCkFvR0FLc1JTQStYcnZpYWd4N08vK2NKeUZmTXND%0ARGhUUG50dlVvWERpTXA1bEVFQ2srS2pLY3phRGdpazJBWSsKVGhEemlPUDdm%0ANVV3dmVIMW0ybmk3RFFpeVZPd2JFT1BJMElwOEI0TGdrdlZOVVF5bGxpZ3Nq%0AVTlHaGNLR1JWawpwamkwZ2RtYldnNVd4NEZGS0pjNmg3eGhZOFhnYW1wMDdu%0AMlpYckxDU1VGOXMvRUNRUUQ4aVZ5dHExZlZ5dWpEClRWYmZqVElmTGZDZUw1%0ARDBmOEd1YWEvcWphRU5BNWhwdFp6d2ZqemloL2FGdWl3OWNyQTllTCthWWtQ%0AZjRReUQKaHpxVVFTWkxBa0VBOEk5UStkeG1EeVFQc2t1eUZ4bmxuckcrSS9Z%0AQVFqcEtKUXdyTGFHN3BXUEJYWVlmWWpHbQovWVJ3T0dWWjlNZUJDZlNDSGtS%0AbVhjcXRHemRzYkVPdWlRSkFSVjB4Y0o1Y25PT0Q5WWo3c0tHbXY3dXRtTFYx%0ACitrSlJINmYxNHRZT0EzWVdXZ3JCVmFsRzdlM3NmNlM0WEJSeFppRVJkOFUv%0ANFhGK0wyNW9YNnBaYXdKQUJWUm4KaXVHak1UcXZUbGYyL2lRSXZsZFp5eG9z%0ATDB0elVSYlA3aGJqUFdyVVllb1N6KzRoc1FRNktFVzJsSUhIRGgxbwp0SnIz%0AV2FTZjZUWjFKSURyWVFKQVhFR1BoQUNHeC9DWkM2M3g1WkVocXljanV5SDRL%0Aeno1NHZTMm9TMWJhNFpmCklaVWJWSTEyTjA3YU9LS2pRa2NOMXhaT1RUZjFS%0AOHk5OHRTVE1RM0VJQT09Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0t%0ACjocY2FyYXBhY2VfcHVibGljX21vZHVsdXMiAgABRUQ0RTI3N0VGREExMzI0%0ANThEN0E1RDdGNkEzQ0E0NzlFRDAzMzc2MkZBMEU5NDgyQzhDNjUzMjdGRDcz%0ANERCNzczN0IwN0MyQjZBMUE1OTdBMTM2QkUzREE2Njc0OTE5QTM0M0RGMzdF%0AOUZDNEI5MkJGOTc0MUJGMjZCNjU5NjFFM0YxQkE1NTZGNjVBOUJFN0Q4NTIx%0ANjVFM0VGQ0FCN0Y0MTE5M0ZCMDQyNzQxRjlCNTgyOEY1NDkwQTEzRDcwRUJE%0AOEJBQUQ1NkNEM0JGQkU0QTU5QjkzODZDNzhDMEZBQUQ0QzI4Mjc4Qzc0QkU4%0ANzZDQ0JDRjY0ODg1NzgyMyIKZmxhc2hJQzonQWN0aW9uQ29udHJvbGxlcjo6%0ARmxhc2g6OkZsYXNoSGFzaHsABjoKQHVzZWR7ADodY2FyYXBhY2VfcHVibGlj%0AX2V4cG9uZW50IgswMTAwMDE%3D--d5df4076915916b3df1d0ed8fc329d11bfd7f4ca
298
+ Parameters: {"controller"=>"message", "action"=>"index", "commit"=>"Send", "message"=>"055ecb0eb0835395c0885b0b46a9095539d20a9f01e47e06c98df71b6fb7bfd5d276673b4947cf0a7e4570e97a1d008f92f5b199f1b8defac305a910dce3de00b3923e8a73285fc42193ba0109829b0a5f6e1edded2e7df996d6f9109d718d1f67216c39d52245c00659e121a72488fb1efc1e98d3f89dfb91947474f5430211", "authenticity_token"=>"92773f3d737f3a6b91ecc37e9dbf78d08875eb39"}
299
+ Rendering message/index
300
+ Completed in 0.07173 (13 reqs/sec) | Rendering: 0.00283 (3%) | 200 OK [http://localhost/]
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: carapace
3
3
  version: !ruby/object:Gem::Version
4
- hash: 27
5
- prerelease: false
4
+ hash: 25
5
+ prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 0
10
- version: 0.1.0
9
+ - 1
10
+ version: 0.1.1
11
11
  platform: ruby
12
12
  authors:
13
13
  - John Lane
@@ -15,8 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2012-05-30 00:00:00 +01:00
19
- default_executable:
18
+ date: 2012-05-31 00:00:00 Z
20
19
  dependencies: []
21
20
 
22
21
  description: Allows field contents to be encrypted between broswer and webserver
@@ -38,6 +37,7 @@ files:
38
37
  - test/rails_app/log/server.log
39
38
  - test/rails_app/log/production.log
40
39
  - test/rails_app/README.md
40
+ - test/rails_app/lib/carapace.rb
41
41
  - test/rails_app/script/performance/request
42
42
  - test/rails_app/script/performance/benchmarker
43
43
  - test/rails_app/script/performance/profiler
@@ -89,8 +89,7 @@ files:
89
89
  - README.md
90
90
  - Rakefile
91
91
  - CHANGELOG.md
92
- has_rdoc: true
93
- homepage: http://rubygems.org/gems/carapace
92
+ homepage: https://github.com/johnlane/carapace
94
93
  licenses:
95
94
  - MIT
96
95
  post_install_message:
@@ -119,7 +118,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
119
118
  requirements: []
120
119
 
121
120
  rubyforge_project:
122
- rubygems_version: 1.3.7
121
+ rubygems_version: 1.8.24
123
122
  signing_key:
124
123
  specification_version: 3
125
124
  summary: RSA encryption for HTML form fields