rex-socket 0.1.43 → 0.1.45

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: b4d4e4c931d33bd9224bbd4b32d4bf3df2b1bdb02f0f31bdadcc620827defc3f
4
- data.tar.gz: 22a8d696e7273cedde87ba8e1ed7019574cc73c3792b4ee8b34251cbbbe2fb07
3
+ metadata.gz: faf5e107e5cabee49fbd28a5007c63151719d74671e2ec97588f23a8bfeebb49
4
+ data.tar.gz: '04811e5e61dce894070fd82b9210052e24b6bc1c766a0c5497752d5b7ff0b6c2'
5
5
  SHA512:
6
- metadata.gz: 884a8e62f6152cf38675159c730ea48bcaf64c3b0990dca16791fbf3db9be45f9edf864f54be9d53142b808beb3a37d8ca062f71258331e8ef21d13a9272a8a3
7
- data.tar.gz: 3001020fde0719137cdabaac3a00e111f760f767f78ce2e48d8098d5a926f82e54bbb8774fb2ed65684cc920742749af8e9d46f5946c325fd675f186273dc235
6
+ metadata.gz: 6aafffe07f0d89669c785c35b30fb6651c86ff46bf4bbad1f9612e08588b27c6842b74feb13c7816bc383553342fa9e951f52d10e20141e534dbb8e31ea7b8cb
7
+ data.tar.gz: b8a1683cbb979abb898c3264030b3e20d0590190da1970cb717230060c9c4c1ac99d6a29052c17a07fd229edacdc192caa7a4e2209aa8018799084491360c7fd
checksums.yaml.gz.sig CHANGED
Binary file
@@ -433,7 +433,8 @@ class Rex::Socket::Comm::Local
433
433
  raise Rex::ConnectionProxyError.new(host, port, type, "The proxy returned a non-OK response"), caller
434
434
  end
435
435
  when 'socks4'
436
- setup = [4,1,port.to_i].pack('CCn') + Socket.gethostbyname(host)[3] + Rex::Text.rand_text_alpha(rand(8)+1) + "\x00"
436
+ supports_ipv6 = false
437
+ setup = [4,1,port.to_i].pack('CCn') + Socket.resolv_nbo(host, supports_ipv6) + Rex::Text.rand_text_alpha(rand(8)+1) + "\x00"
437
438
  size = sock.put(setup)
438
439
  if size != setup.length
439
440
  raise Rex::ConnectionProxyError.new(host, port, type, "Failed to send the entire request to the proxy"), caller
@@ -463,11 +464,13 @@ class Rex::Socket::Comm::Local
463
464
  end
464
465
 
465
466
  if Rex::Socket.is_ipv4?(host)
466
- addr = Rex::Socket.gethostbyname(host)[3]
467
+ accepts_ipv6 = false
468
+ addr = Rex::Socket.resolv_nbo(host)
467
469
  setup = [5,1,0,1].pack('C4') + addr + [port.to_i].pack('n')
468
470
  elsif Rex::Socket.support_ipv6? && Rex::Socket.is_ipv6?(host)
469
471
  # IPv6 stuff all untested
470
- addr = Rex::Socket.gethostbyname(host)[3]
472
+ accepts_ipv6 = true
473
+ addr = Rex::Socket.resolv_nbo(host, accepts_ipv6)
471
474
  setup = [5,1,0,4].pack('C4') + addr + [port.to_i].pack('n')
472
475
  else
473
476
  # Then it must be a domain name.
@@ -127,7 +127,7 @@ begin
127
127
  # If peerhostname is set, or if hostname looks like a hostname, set the undocumented 'hostname'
128
128
  # attribute on sslsock, which enables the Server Name Indication (SNI)
129
129
  # extension
130
- if self.peerhostname
130
+ if self.peerhostname and not self.peerhostname.strip.empty?
131
131
  self.sslsock.hostname = self.peerhostname
132
132
  elsif !Rex::Socket.dotted_ip?(self.peerhost)
133
133
  self.sslsock.hostname = self.peerhost
@@ -1,5 +1,5 @@
1
1
  module Rex
2
2
  module Socket
3
- VERSION = "0.1.43"
3
+ VERSION = "0.1.45"
4
4
  end
5
5
  end
data/lib/rex/socket.rb CHANGED
@@ -211,7 +211,7 @@ module Socket
211
211
  #
212
212
  # @deprecated Please use {#getaddress}, {#resolv_nbo}, or similar instead.
213
213
  def self.gethostbyname(host)
214
- warn "NOTE: #{self}.#{__method__} is deprecated, use getaddress, resolve_nbo, or similar instead. It will be removed in the next Major version"
214
+ warn "NOTE: #{self}.#{__method__} is deprecated, use getaddress, resolv_nbo, or similar instead. It will be removed in the next Major version"
215
215
  if is_ipv4?(host)
216
216
  return [ host, [], 2, host.split('.').map{ |c| c.to_i }.pack("C4") ]
217
217
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rex-socket
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.43
4
+ version: 0.1.45
5
5
  platform: ruby
6
6
  authors:
7
7
  - Metasploit Hackers
@@ -93,7 +93,7 @@ cert_chain:
93
93
  EknWpNgVhohbot1lfVAMmIhdtOVaRVcQQixWPwprDj/ydB8ryDMDosIMcw+fkoXU
94
94
  9GJsSaSRRYQ9UUkVL27b64okU8D48m8=
95
95
  -----END CERTIFICATE-----
96
- date: 2022-09-16 00:00:00.000000000 Z
96
+ date: 2023-01-13 00:00:00.000000000 Z
97
97
  dependencies:
98
98
  - !ruby/object:Gem::Dependency
99
99
  name: rake
@@ -193,8 +193,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
193
193
  - !ruby/object:Gem::Version
194
194
  version: '0'
195
195
  requirements: []
196
- rubyforge_project:
197
- rubygems_version: 2.7.10
196
+ rubygems_version: 3.1.4
198
197
  signing_key:
199
198
  specification_version: 4
200
199
  summary: The Ruby Exploitation (Rex) Socket Abstraction Library.
metadata.gz.sig CHANGED
Binary file