proxy_pac_rb 0.3.3 → 0.3.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- YTczOTMwM2ZkNGNhM2E2YWE1MWJmMDRhNjc2OGNlNTM0ZTAwOWE1NA==
4
+ ZmUwYmYzZTQ5ZDI1YTE5MWVlNTQ0ZThhMGRhYjUwNmM2OWVlZWE1ZA==
5
5
  data.tar.gz: !binary |-
6
- MTE0Y2JmMWQzNGE3YmUwZjI0MmU0ZGYzMDcxZjE4ZGNkZTQ5MzlmNA==
6
+ OTgwOWNmNGM5YTY2NDU0MzQ2MTJhMzY2ZGFiMzM2ZTgwM2QxNTRmYw==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- MmJkOTZjZWUwODQ1YzZhYjNhMjc4ZDI5Yjc0MzIzZDY0MDI2YjQ0MGI1M2Ni
10
- MzhjMWZmOTk5OTBjMWFmZjU5NDAzZTU3MDRmZTY2YTEwODdmZTEzN2NhNWM1
11
- MmFiNTk5YTJmMzNjYzUyNDBiNWE1NDZjZTE3NjhiYTE4ODljM2Q=
9
+ YmEwZTU3MjE1ZmFjOWQ4MWU4YjlhZjVmMjYwYjdjMDY2YTcyYjY0YTMyMTY1
10
+ YWNiZGVkNDc2ZWMzYWYwYzg4MWMxOGFlYzZhNmQyMTMzODEzZjc0ZDkyYzY0
11
+ ZTljNjJkZDZlZWE1NTIyODk5OWZiYzBmZDdjOGNmM2FmZmQzMmY=
12
12
  data.tar.gz: !binary |-
13
- ZTFlNDZiNjI0MGM3ZDI4MmY5MDM1ZDEyMDQ2ODhjMGVjMmM4NTM2NmI1ZjQz
14
- ZjM5ZWMwMjk0NmIxZDlhMzM5MTRiN2RlMDJjMTdiZDQ2YjVmMDU0Yjg0YTli
15
- MDU3YzQ1YzBmM2FiN2IzOTIxZWUxNzAzODQzZTIxZGZiY2UzYzI=
13
+ OGJhOTczZGI3MDI0ZmU0NDYwZTU1NzQ2MWJkNzM4ZTdkZTRkMGNiYTc2OGU4
14
+ N2JmOGNiZmJlNGRlMWFmNjU1YzhjMTc4ZGMzYzA2YjFiZjJmYjVkNzRlMWVk
15
+ OGE2MDZhMDgzMTk0ZmY0YmQwMmYxMmVjYjJhNDhiY2E0ZjdmOWU=
data/bin/pprb CHANGED
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # encoding: utf-8
2
3
 
3
4
  $LOAD_PATH << File.expand_path('../../lib', __FILE__)
4
5
 
@@ -58,7 +58,7 @@ module ProxyPacRb
58
58
  end
59
59
 
60
60
  def dnsResolve(host)
61
- resolve_host(host).to_s
61
+ resolve_host(host)
62
62
  end
63
63
 
64
64
  def dnsDomainLevels(host)
@@ -72,7 +72,9 @@ module ProxyPacRb
72
72
  private
73
73
 
74
74
  def resolve_host(host)
75
- Resolv.each_address(host) do |address|
75
+ return nil if host.blank?
76
+
77
+ Resolv.each_address(host.force_encoding('ASCII-8BIT')) do |address|
76
78
  begin
77
79
  return address if IPAddr.new(address).ipv4?
78
80
  rescue ArgumentError
@@ -1,4 +1,4 @@
1
1
  #main ProxyPacRb
2
2
  module ProxyPacRb
3
- VERSION = '0.3.3'
3
+ VERSION = '0.3.4'
4
4
  end
data/lib/proxy_pac_rb.rb CHANGED
@@ -4,6 +4,7 @@ require 'resolv'
4
4
  require 'time'
5
5
  require 'open-uri'
6
6
  require 'active_support/core_ext/string/strip'
7
+ require 'active_support/core_ext/object/blank'
7
8
 
8
9
  require 'proxy_pac_rb/version'
9
10
  require 'proxy_pac_rb/encoding'
@@ -67,6 +67,28 @@ describe ProxyPacRb::Environment do
67
67
  result = environment.isInNet('10.0.0.1', '127.0.0.0', '255.255.255.0')
68
68
  expect(result).to be_false
69
69
  end
70
+
71
+ it 'resolves host name' do
72
+ name = 'google-public-dns-a.google.com'
73
+ result = environment.isInNet(name, '8.0.0.0', '255.0.0.0')
74
+ expect(result).to eq true
75
+ end
76
+
77
+ it 'handles not resolvable host names' do
78
+ name = 'asdf.in.localhost.localdomain'
79
+ result = environment.isInNet(name, '8.0.0.0', '255.0.0.0')
80
+ expect(result).to eq false
81
+ end
82
+
83
+ it 'handles empty strings' do
84
+ result = environment.isInNet('', '8.0.0.0', '255.0.0.0')
85
+ expect(result).to eq false
86
+ end
87
+
88
+ it 'handles nil' do
89
+ result = environment.isInNet(nil, '8.0.0.0', '255.0.0.0')
90
+ expect(result).to eq false
91
+ end
70
92
  end
71
93
 
72
94
  describe '#dnsResolve' do
@@ -76,9 +98,21 @@ describe ProxyPacRb::Environment do
76
98
  expect(environment.dnsResolve(name)).to eq(ip)
77
99
  end
78
100
 
79
- it 'return an empty string for a not resolvable host name' do
101
+ it 'return nil for a not resolvable host name' do
80
102
  name = 'not.resolvable.localhost.localdomain'
81
- expect(environment.dnsResolve(name)).to eq('')
103
+ expect(environment.dnsResolve(name)).to eq(nil)
104
+ end
105
+
106
+ it 'handles nil values as input' do
107
+ expect(environment.dnsResolve(nil)).to eq(nil)
108
+ end
109
+
110
+ it 'handles empty string as input' do
111
+ expect(environment.dnsResolve('')).to eq(nil)
112
+ end
113
+
114
+ it 'handles garbage as input' do
115
+ expect(environment.dnsResolve('§§jk:')).to eq(nil)
82
116
  end
83
117
  end
84
118
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: proxy_pac_rb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.3
4
+ version: 0.3.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dennis Günnewig