OK, I've tracked down my problem with DRb and OpenSSL a bit more; perhaps
someone can help me out now, as I'm quickly getting out of my league. Here
are test client and server scripts that will show the failure. To run them,
you'll need the latest DRb from ruby CVS
(http://www.ruby-lang.org/cgi-bin/cvsweb.cgi/lib/drb) installed (and of
course the OpenSSL extension).

s.rb:

  require 'drb'
  require 'drb/ssl'

  class Front
    def small
      puts "Called #small"
      "Hi!"
    end

    def large
      puts "Called #large"
      "a" * 1000 * 500
    end
  end

  url = ARGV[0] or raise "You must supply the url"
  config = {
    :SSLCertName => [ ["C","US"], ["O","someplace"], ["CN", "Temporary"] ],
    :verbose => true
  }
  DRb.start_service(url, Front::new, config)
  puts "Listening on #{url}"
  DRb.thread.join

c.rb:

  require 'drb'
  require 'drb/ssl'

  url = ARGV[0] or raise "You must supply the url"
  DRb.start_service
  front = DRbObject::new(nil, url)
  puts "Connected to #{url}"
  p front.small.size
  p front.large.size

s.rb output:

  ntalbott@proxytest:~$ ruby -vw s.rb drbssl://localhost:5777
  ruby 1.8.0 (2003-08-04) [i386-linux]
  .++++++++++++
  ....................++++++++++++
  Listening on drbssl://localhost:5777
  Called #small
  Called #large
  s.rb:23:in `join': Interrupt    from s.rb:23

c.rb output:

  ntalbott@proxytest:~$ ruby -vw c.rb drbssl://localhost:5777
  ruby 1.8.0 (2003-08-04) [i386-linux]
  Connected to drbssl://localhost:5777
  3
  (Hangs until server is interrupted)
  500000

If there's any other information I can provide, or anything else I can do to
help debug this, please let me know. Also, if there are other places I
should ask this question, please let me know that, too.

Thanks,


Nathaniel

<:((><