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 [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.

