All pastes #51814 Raw Edit

Anonymous

public text v1 · immutable
#51814 ·published 2006-04-27 19:01 UTC
rendered paste body
donp@portland-1:/tmp$ cat ssl.rb
require 'net/https'

url = URI.parse 'https://www.wamu.com'
server = Net::HTTP.new url.host, url.port
server.use_ssl = url.scheme == 'https'
server.verify_mode = OpenSSL::SSL::VERIFY_NONE
response = server.get url.request_uri
puts response.code

donp@portland-1:/tmp$ ruby ssl.rb
/usr/lib/ruby/1.8/net/http.rb:565:in `connect': undefined method `verify_mode' for nil:NilClass (NoMethodError)
        from /usr/lib/ruby/1.8/net/http.rb:555:in `do_start'
        from /usr/lib/ruby/1.8/net/http.rb:544:in `start'
        from /usr/lib/ruby/1.8/net/http.rb:1031:in `request'
        from /usr/lib/ruby/1.8/net/http.rb:771:in `get'
        from ssl.rb:7
donp@portland-1:/tmp$

564      if use_ssl?
565        unless @ssl_context.verify_mode
566          warn "warning: peer certificate won't be verified in this SSL session"
567          @ssl_context.verify_mode = OpenSSL::SSL::VERIFY_NONE
568        end


it looks like the code is there to set @ssl_context in net/protocols.rb
36    def initialize(addr, port, otime = nil, rtime = nil, dout = nil)
37      super
38      @ssl_context = OpenSSL::SSL::SSLContext.new()
39    end

but for some reason this modified initialize is not being run.
im thinking it has something to do with the order of 'require' statements.