rubysspi 1.0.4-i386-mswin32 → 1.0.5-i386-mswin32
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +1 -1
- data/lib/rubysspi/proxy_auth.rb +5 -0
- data/test/test_gem_list.rb +3 -0
- data/test/test_net_http.rb +17 -8
- metadata +2 -2
data/Rakefile
CHANGED
@@ -6,7 +6,7 @@ require 'rake/testtask'
|
|
6
6
|
spec = Gem::Specification.new do |s|
|
7
7
|
s.name = "rubysspi"
|
8
8
|
s.summary = "A library which implements Ruby bindings to the Win32 SSPI library. Also includes a module to add Negotiate authentication support to Net::HTTP."
|
9
|
-
s.version = "1.0.
|
9
|
+
s.version = "1.0.5"
|
10
10
|
s.author = "Justin Bailey"
|
11
11
|
s.email = "jgbailey @nospam@ gmail.com"
|
12
12
|
s.homepage = "http://rubyforge.org/projects/rubysspi/"
|
data/lib/rubysspi/proxy_auth.rb
CHANGED
@@ -33,6 +33,9 @@ module Net
|
|
33
33
|
end_transport req, res
|
34
34
|
begin_transport req
|
35
35
|
req["Proxy-Authorization"] = "Negotiate #{n.get_initial_token}"
|
36
|
+
# Some versions of ISA will close the connection if this isn't present.
|
37
|
+
req["Connection"] = "Keep-Alive"
|
38
|
+
req["Proxy-Connection"] = "Keep-Alive"
|
36
39
|
req.exec @socket, @curr_http_version, edit_path(req.path)
|
37
40
|
begin
|
38
41
|
res = HTTPResponse.read_new(@socket)
|
@@ -40,6 +43,8 @@ module Net
|
|
40
43
|
if res["Proxy-Authenticate"]
|
41
44
|
res.reading_body(@socket, req.response_body_permitted?) { }
|
42
45
|
req["Proxy-Authorization"] = "Negotiate #{n.complete_authentication res["Proxy-Authenticate"]}"
|
46
|
+
req["Connection"] = "Keep-Alive"
|
47
|
+
req["Proxy-Connection"] = "Keep-Alive"
|
43
48
|
req.exec @socket, @curr_http_version, edit_path(req.path)
|
44
49
|
begin
|
45
50
|
res = HTTPResponse.read_new(@socket)
|
data/test/test_gem_list.rb
CHANGED
data/test/test_net_http.rb
CHANGED
@@ -7,19 +7,28 @@ $: << (File.dirname(__FILE__) << "/../lib")
|
|
7
7
|
require 'rubysspi/proxy_auth'
|
8
8
|
|
9
9
|
class NTLMTest < Test::Unit::TestCase
|
10
|
-
def
|
11
|
-
|
10
|
+
def test_net_http
|
11
|
+
proxy = get_proxy
|
12
|
+
Net::HTTP.Proxy(proxy.host, proxy.port).start("www.google.com") do |http|
|
13
|
+
resp = http.get("/")
|
14
|
+
assert resp.code.to_i == 200, "Did not get response from Google as expected."
|
15
|
+
end
|
12
16
|
end
|
13
17
|
|
14
|
-
def
|
15
|
-
|
18
|
+
def test_head_request
|
19
|
+
proxy = get_proxy
|
20
|
+
Net::HTTP.Proxy(proxy.host, proxy.port).start("www.google.com") do |http|
|
21
|
+
resp = http.head("/")
|
22
|
+
assert resp.code.to_i == 200, "Did not get response from Google as expected."
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
26
|
+
|
27
|
+
def get_proxy
|
16
28
|
assert ENV["http_proxy"], "http_proxy environment variable must be set."
|
17
29
|
proxy = URI.parse(ENV["http_proxy"])
|
18
30
|
assert proxy.host && proxy.port, "Could not parse http_proxy (#{ENV["http_proxy"]}). http_proxy should be a URL with a port (e.g. http://proxy.corp.com:8080)."
|
19
31
|
|
20
|
-
|
21
|
-
resp = http.get("/")
|
22
|
-
assert resp.code.to_i == 200, "Did not get response from Google as expected."
|
23
|
-
end
|
32
|
+
return proxy
|
24
33
|
end
|
25
34
|
end
|
metadata
CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.0
|
|
3
3
|
specification_version: 1
|
4
4
|
name: rubysspi
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 1.0.
|
7
|
-
date: 2006-
|
6
|
+
version: 1.0.5
|
7
|
+
date: 2006-12-01 00:00:00 -08:00
|
8
8
|
summary: A library which implements Ruby bindings to the Win32 SSPI library. Also includes a module to add Negotiate authentication support to Net::HTTP.
|
9
9
|
require_paths:
|
10
10
|
- lib
|