rex-socket 0.1.35 → 0.1.36

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: b1517a6b3b1b5f2e63572e2721c55364746b819c63cf539e34031df7bf41a68e
4
- data.tar.gz: 168fc65032c5c98b1dfdc54525f4267e4f6e1f4c568572e85d879370274ec474
3
+ metadata.gz: 5c8406c7c6de56b14dfb52d691b52e04bfa41c3c4d3dfec6604864e104371e13
4
+ data.tar.gz: 5b5346a4646a8d1c69a616df64120d5f099c0506f97a3dca5c27b40b4c253d9a
5
5
  SHA512:
6
- metadata.gz: 6ae63e9bab2bf9e22dacbc9c18144e68a1a355a253d3a2ff650020a7258c1b1c7eef5a0e19acd013c80edf71f839c8f8adcd2e4dcbe6a5e5edbd410846b53b4c
7
- data.tar.gz: e8687039de9392d0fbb99956119a3c7828c06a3d07b4e72840be18992ca2c9cc70c5f4a7e3768bf31f43f3a055a3b3e9231761240c88d1939fc795acdc1fecd5
6
+ metadata.gz: 1285905a72192b26a171872a76fd2272c51a3d93a78aed5648ad857c356b43bd2d2c7fa7e75ebf742c38a207fc65a7d1e6fb4641c9f5af19af4b53f8151e233f
7
+ data.tar.gz: 73bd96efa3758be73faafa8543343b959e17f4d16f49206be05dc5e65fd44be834756aa6166b2e651b4feababfb6aaa4708f7b40dc2fe39aa70873663d60e12a
checksums.yaml.gz.sig CHANGED
Binary file
@@ -49,6 +49,7 @@ class Rex::Socket::Parameters
49
49
  # keys can be specified.
50
50
  #
51
51
  # @option hash [String] 'PeerHost' The remote host to connect to
52
+ # @option hash [String] 'PeerHostname' The unresolved remote hostname, used to specify Server Name Indication (SNI)
52
53
  # @option hash [String] 'PeerAddr' (alias for 'PeerHost')
53
54
  # @option hash [Fixnum] 'PeerPort' The remote port to connect to
54
55
  # @option hash [String] 'LocalHost' The local host to communicate from, if any
@@ -84,6 +85,10 @@ class Rex::Socket::Parameters
84
85
  self.peerhost = hash['PeerAddr']
85
86
  end
86
87
 
88
+ if (hash['PeerHostname'])
89
+ self.peerhostname = hash['PeerHostname']
90
+ end
91
+
87
92
  if (hash['LocalHost'])
88
93
  self.localhost = hash['LocalHost']
89
94
  elsif (hash['LocalAddr'])
@@ -291,6 +296,11 @@ class Rex::Socket::Parameters
291
296
  # @return [String]
292
297
  attr_accessor :peerhost
293
298
 
299
+ # The remote hostname information, equivalent to the PeerHostname parameter hash
300
+ # key.
301
+ # @return [String]
302
+ attr_accessor :peerhostname
303
+
294
304
  # The remote port. Equivalent to the PeerPort parameter hash key.
295
305
  # @return [Fixnum]
296
306
  attr_writer :peerport
@@ -123,10 +123,14 @@ begin
123
123
  # Tie the context to a socket
124
124
  self.sslsock = OpenSSL::SSL::SSLSocket.new(self, self.sslctx)
125
125
 
126
- # If peerhost looks like a hostname, set the undocumented 'hostname'
126
+ # If peerhostname is set, or if hostname looks like a hostname, set the undocumented 'hostname'
127
127
  # attribute on sslsock, which enables the Server Name Indication (SNI)
128
128
  # extension
129
- self.sslsock.hostname = self.peerhost if !Rex::Socket.dotted_ip?(self.peerhost)
129
+ if self.peerhostname
130
+ self.sslsock.hostname = self.peerhostname
131
+ else !Rex::Socket.dotted_ip?(self.peerhost)
132
+ self.sslsock.hostname = self.peerhost
133
+ end
130
134
 
131
135
  # Force a negotiation timeout
132
136
  begin
@@ -1,5 +1,5 @@
1
1
  module Rex
2
2
  module Socket
3
- VERSION = "0.1.35"
3
+ VERSION = "0.1.36"
4
4
  end
5
5
  end
data/lib/rex/socket.rb CHANGED
@@ -706,6 +706,7 @@ module Socket
706
706
  def initsock(params = nil)
707
707
  if (params)
708
708
  self.peerhost = params.peerhost
709
+ self.peerhostname = params.peerhostname
709
710
  self.peerport = params.peerport
710
711
  self.localhost = params.localhost
711
712
  self.localport = params.localport
@@ -785,6 +786,10 @@ module Socket
785
786
  #
786
787
  attr_reader :peerhost
787
788
  #
789
+ # The peer hostname of the connected socket.
790
+ #
791
+ attr_reader :peerhostname
792
+ #
788
793
  # The peer port of the connected socket.
789
794
  #
790
795
  attr_reader :peerport
@@ -809,7 +814,7 @@ module Socket
809
814
 
810
815
  protected
811
816
 
812
- attr_writer :peerhost, :peerport, :localhost, :localport # :nodoc:
817
+ attr_writer :peerhost, :peerhostname, :peerport, :localhost, :localport # :nodoc:
813
818
  attr_writer :context # :nodoc:
814
819
  attr_writer :ipv # :nodoc:
815
820
 
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.35
4
+ version: 0.1.36
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-04-05 00:00:00.000000000 Z
96
+ date: 2022-05-03 00:00:00.000000000 Z
97
97
  dependencies:
98
98
  - !ruby/object:Gem::Dependency
99
99
  name: rake
metadata.gz.sig CHANGED
Binary file