[Rubygems-developers] Good new on authenticating proxies!

Assaph Mehr assaph at gmail.com
Wed Feb 9 17:46:43 EST 2005

> Why not just use timeout.rb from the stdlib?

I believe net/http already uses the timeout.rb. I base this on the
observation that the exception being thrown is:

c:/bin/ruby/lib/ruby/1.8/timeout.rb:42:in `rbuf_fill': execution
expired (Timeout::Error)
	from c:/bin/ruby/lib/ruby/1.8/net/protocol.rb:196:in `timeout'
	from c:/bin/ruby/lib/ruby/1.8/timeout.rb:55:in `timeout'
	from c:/bin/ruby/lib/ruby/1.8/net/protocol.rb:196:in `rbuf_fill'

> Assaph, can you telnet through the proxy and do a HEAD on RubyGems'
> yaml metadata directly?  I'm wondering if we have a problem with the
> Ruby libs or if this is a general problem you're going to have because
> of your network config there.  I don't know much about your proxy
> setup, so I may be asking for something that's just plain impossible.
> If not with telnet, perhaps wget or curl could do a HEAD for you?

The proxy setup is as follows: I have the APS running on my machine.
It is a non-authenticating proxy. It, in turn, forwards everything to
the corporate proxy and does the NTLM authentication as required by
the corporate one.

I have tried with curl and I get the same results: getting just the
head causes an error when going thru the APS. This is probably just an
APS problem as I can get just the head through the corporate proxy
(with curl).

It seems like this is not ruby's or rubygems' fault in any way. Since
this is a (bit ugly) workaround just for people behind NTLM proxies It
probably deserves mostly documentation. You can support it passively
by simplly attempting #get if #head fails, which should not impact the
majority of the users.

... D'oh!
Just tried with APS version 0.9.7 (I was using the latest version
0.9.8). It seems to work fine with this version! So all we need is
documentation on how to use this (readme or wiki - i'll go write a
wiki page soon).
Please just note that other part of my patch (changes to
gem_commands.rb) was a bug fix which I think should be added anyway.


ps. I think I have finally understood our IT department security
model. It's the time honored "Security by Stupidy".

More information about the Rubygems-developers mailing list