one more bit of info...
if the data being encrypted is 250 chars or longer, the RangeError
occurs; if it''s 249 chars long, no error
strange
On Sep 17, 11:01 am, lunaclaire
<szager...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
wrote:> I''ve been handed someone else''s code to debug, but am
getting no
> further than he did... perhaps someone can help.
>
> We''re using the OpenPGP gem (http://openpgp.rubyforge.org/) to
PGP-
> encrypt an XML file for submission to a third-party for processing.
>
> The prob is that when encrypting, we get errors like the following:
>
> RangeError: 1502 out of char range
> from /Users/szagerman/.rvm/gems/ruby-1.8.7-p249@eveo-vapps/gems/
> openpgp-0.0.3/lib/openpgp/buffer.rb:138:in `chr''
> from /Users/szagerman/.rvm/gems/ruby-1.8.7-p249@eveo-vapps/gems/
> openpgp-0.0.3/lib/openpgp/buffer.rb:138:in `write_byte''
> from /Users/szagerman/.rvm/gems/ruby-1.8.7-p249@eveo-vapps/gems/
> openpgp-0.0.3/lib/openpgp/message.rb:129
> from /Users/szagerman/.rvm/gems/ruby-1.8.7-p249@eveo-vapps/gems/
> openpgp-0.0.3/lib/openpgp/message.rb:126:in `each''
> from /Users/szagerman/.rvm/gems/ruby-1.8.7-p249@eveo-vapps/gems/
> openpgp-0.0.3/lib/openpgp/message.rb:126
> from /Users/szagerman/.rvm/gems/ruby-1.8.7-p249@eveo-vapps/gems/
> openpgp-0.0.3/lib/openpgp/buffer.rb:18:in `call''
> from /Users/szagerman/.rvm/gems/ruby-1.8.7-p249@eveo-vapps/gems/
> openpgp-0.0.3/lib/openpgp/buffer.rb:18:in `initialize''
> from /Users/szagerman/.rvm/gems/ruby-1.8.7-p249@eveo-vapps/gems/
> openpgp-0.0.3/lib/openpgp/buffer.rb:9:in `new''
> from /Users/szagerman/.rvm/gems/ruby-1.8.7-p249@eveo-vapps/gems/
> openpgp-0.0.3/lib/openpgp/buffer.rb:9:in `write''
> from /Users/szagerman/.rvm/gems/ruby-1.8.7-p249@eveo-vapps/gems/
> openpgp-0.0.3/lib/openpgp/message.rb:125:in `to_s''
> from /Users/szagerman/.rvm/gems/ruby-1.8.7-p249@eveo-vapps/gems/
> openpgp-0.0.3/lib/openpgp/message.rb:78:in `write''
> from /Users/szagerman/.rvm/gems/ruby-1.8.7-p249@eveo-vapps/gems/
> openpgp-0.0.3/lib/openpgp/message.rb:28
> from /Users/szagerman/.rvm/gems/ruby-1.8.7-p249@eveo-vapps/gems/
> openpgp-0.0.3/lib/openpgp/packet.rb:105:in `call''
> from /Users/szagerman/.rvm/gems/ruby-1.8.7-p249@eveo-vapps/gems/
> openpgp-0.0.3/lib/openpgp/packet.rb:105:in `initialize''
> from /Users/szagerman/.rvm/gems/ruby-1.8.7-p249@eveo-vapps/gems/
> openpgp-0.0.3/lib/openpgp/packet.rb:346:in `initialize''
> from /Users/szagerman/.rvm/gems/ruby-1.8.7-p249@eveo-vapps/gems/
> openpgp-0.0.3/lib/openpgp/message.rb:27:in `new''
> from /Users/szagerman/.rvm/gems/ruby-1.8.7-p249@eveo-vapps/gems/
> openpgp-0.0.3/lib/openpgp/message.rb:27
> from /Users/szagerman/.rvm/gems/ruby-1.8.7-p249@eveo-vapps/gems/
> openpgp-0.0.3/lib/openpgp/message.rb:86:in `call''
> from /Users/szagerman/.rvm/gems/ruby-1.8.7-p249@eveo-vapps/gems/
> openpgp-0.0.3/lib/openpgp/message.rb:86:in `initialize''
> from /Users/szagerman/.rvm/gems/ruby-1.8.7-p249@eveo-vapps/gems/
> openpgp-0.0.3/lib/openpgp/message.rb:25:in `new''
> from /Users/szagerman/.rvm/gems/ruby-1.8.7-p249@eveo-vapps/gems/
> openpgp-0.0.3/lib/openpgp/message.rb:25:in `encrypt''
>
> If the XML being encrypted grows larger (more elements included), that
> RangeError number value becomes a larger number.
>
> Looking at that trace and digging into the src for OpenPGP to where
> the error is occurring finds this line at from /Users/szagerman/.rvm/
> gems/ruby-1.8.7-p249@eveo-vapps/gems/openpgp-0.0.3/lib/openpgp/
> message.rb:129:
>
> buffer.write_byte(body.size)
>
> So, I''m wondering if the body.size is greater than 255 if this
causes
> a prob writing it as a byte (the call being write_byte)...?
>
> And if so, whether one is supposed to break up the payload into small
> chunks somehow? That doesnt seem right and I think from more reading
> of the OpenPGP code that it is packetizing the original data in some
> way.
>
> Any thoughts?
--
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk+unsubscribe@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en.