r_socks 0.2.8 → 0.2.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f9f3daabf6b654e432702a1f8ec25cb8a31360cbd199badd407d3f8b0beb4a75
4
- data.tar.gz: 20a333f1b28ffd89094362e27b7dccd4c0b7053bd8f5e83154fd29c2485a11ab
3
+ metadata.gz: 46f22ff3b97fbaadccab67bf228ca67015b12edb0395ee8d7ef74e9b9327a591
4
+ data.tar.gz: 13f8da021a4f3693c68f1f6260a059a0dac445a37c3d602ad0e1c5bbcfb159ca
5
5
  SHA512:
6
- metadata.gz: 9cbb6b31615e0448dab30fb0eb6a6b39485415d091d8f559b01d4a60a1982496c998c45b0870971ee002b3ac4d9e0eba078b5efce546baa5909170600b525624
7
- data.tar.gz: 991c43cbb67f8f52c2ffce971bfd0e7cecdaad8a02565e0489494ac6893036e2464e5404053887f8b5cbaeca840927c698a1a41b9023afc34f41698d9c1d3fbc
6
+ metadata.gz: 30beb9843a14a9851372be0fb1cdc14677bdf2339c93dddc9a65ec2962c27d2a1dd69ca518a443040eba645d2c461943b6bb11cfdae0c1eeaaf8f1543a4dfe38
7
+ data.tar.gz: 7d43b76ad191f450fc68f7e54f04dea783c574d57e367acfbe3a781fb2586882c6f896f93009472bf15efee163aee24444d2fa13aae760550cb1705fd0824048
@@ -118,5 +118,13 @@ module RSocks
118
118
  def forward_addr=(value)
119
119
  @store[:forward_addr] = value.to_s
120
120
  end
121
+
122
+ def forward_white_list=(arr)
123
+ @store[:white_list] = arr
124
+ end
125
+
126
+ def forward_white_list
127
+ @store[:white_list] || []
128
+ end
121
129
  end
122
130
  end
@@ -26,6 +26,11 @@ module RSocks
26
26
  )
27
27
  end
28
28
  @port, @ip = Socket.unpack_sockaddr_in(get_peername)
29
+
30
+ white_list = @config.forward_white_list
31
+ if !white_list.empty? && !white_list.include?(@ip.to_s)
32
+ raise Error, "#{@ip} not in white list"
33
+ end
29
34
  rescue => e
30
35
  puts "post_init error: #{e.message}"
31
36
  close_connection
@@ -12,6 +12,7 @@ module RSocks
12
12
  @default_password = ENV['RSOCKS_PASSWORD'] || 'default'
13
13
  @adaptor = config.auth_adaptor
14
14
  @health_check_route = config.health_check_route
15
+ @need_auth = config.auth_method == :no_auth
15
16
  end
16
17
 
17
18
  def call(data)
@@ -27,9 +28,13 @@ module RSocks
27
28
  host_format_checking(temp.shift)
28
29
  generate_header(temp)
29
30
 
30
- state = auth_user
31
- raise RSocks::HttpAuthFailed unless state
32
- state
31
+ if @need_auth
32
+ state = auth_user
33
+ raise RSocks::HttpAuthFailed unless state
34
+ return state
35
+ end
36
+
37
+ true
33
38
  end
34
39
 
35
40
  def auth_user
@@ -1,3 +1,3 @@
1
1
  module RSocks
2
- VERSION = "0.2.8"
2
+ VERSION = "0.2.9"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: r_socks
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.8
4
+ version: 0.2.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nick An