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...@gmail.com> 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-p...@eveo-vapps/gems/
> openpgp-0.0.3/lib/openpgp/buffer.rb:138:in `chr'
>         from /Users/szagerman/.rvm/gems/ruby-1.8.7-p...@eveo-vapps/gems/
> openpgp-0.0.3/lib/openpgp/buffer.rb:138:in `write_byte'
>         from /Users/szagerman/.rvm/gems/ruby-1.8.7-p...@eveo-vapps/gems/
> openpgp-0.0.3/lib/openpgp/message.rb:129
>         from /Users/szagerman/.rvm/gems/ruby-1.8.7-p...@eveo-vapps/gems/
> openpgp-0.0.3/lib/openpgp/message.rb:126:in `each'
>         from /Users/szagerman/.rvm/gems/ruby-1.8.7-p...@eveo-vapps/gems/
> openpgp-0.0.3/lib/openpgp/message.rb:126
>         from /Users/szagerman/.rvm/gems/ruby-1.8.7-p...@eveo-vapps/gems/
> openpgp-0.0.3/lib/openpgp/buffer.rb:18:in `call'
>         from /Users/szagerman/.rvm/gems/ruby-1.8.7-p...@eveo-vapps/gems/
> openpgp-0.0.3/lib/openpgp/buffer.rb:18:in `initialize'
>         from /Users/szagerman/.rvm/gems/ruby-1.8.7-p...@eveo-vapps/gems/
> openpgp-0.0.3/lib/openpgp/buffer.rb:9:in `new'
>         from /Users/szagerman/.rvm/gems/ruby-1.8.7-p...@eveo-vapps/gems/
> openpgp-0.0.3/lib/openpgp/buffer.rb:9:in `write'
>         from /Users/szagerman/.rvm/gems/ruby-1.8.7-p...@eveo-vapps/gems/
> openpgp-0.0.3/lib/openpgp/message.rb:125:in `to_s'
>         from /Users/szagerman/.rvm/gems/ruby-1.8.7-p...@eveo-vapps/gems/
> openpgp-0.0.3/lib/openpgp/message.rb:78:in `write'
>         from /Users/szagerman/.rvm/gems/ruby-1.8.7-p...@eveo-vapps/gems/
> openpgp-0.0.3/lib/openpgp/message.rb:28
>         from /Users/szagerman/.rvm/gems/ruby-1.8.7-p...@eveo-vapps/gems/
> openpgp-0.0.3/lib/openpgp/packet.rb:105:in `call'
>         from /Users/szagerman/.rvm/gems/ruby-1.8.7-p...@eveo-vapps/gems/
> openpgp-0.0.3/lib/openpgp/packet.rb:105:in `initialize'
>         from /Users/szagerman/.rvm/gems/ruby-1.8.7-p...@eveo-vapps/gems/
> openpgp-0.0.3/lib/openpgp/packet.rb:346:in `initialize'
>         from /Users/szagerman/.rvm/gems/ruby-1.8.7-p...@eveo-vapps/gems/
> openpgp-0.0.3/lib/openpgp/message.rb:27:in `new'
>         from /Users/szagerman/.rvm/gems/ruby-1.8.7-p...@eveo-vapps/gems/
> openpgp-0.0.3/lib/openpgp/message.rb:27
>         from /Users/szagerman/.rvm/gems/ruby-1.8.7-p...@eveo-vapps/gems/
> openpgp-0.0.3/lib/openpgp/message.rb:86:in `call'
>         from /Users/szagerman/.rvm/gems/ruby-1.8.7-p...@eveo-vapps/gems/
> openpgp-0.0.3/lib/openpgp/message.rb:86:in `initialize'
>         from /Users/szagerman/.rvm/gems/ruby-1.8.7-p...@eveo-vapps/gems/
> openpgp-0.0.3/lib/openpgp/message.rb:25:in `new'
>         from /Users/szagerman/.rvm/gems/ruby-1.8.7-p...@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-p...@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-t...@googlegroups.com.
To unsubscribe from this group, send email to 
rubyonrails-talk+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to