rex-socket 0.1.35 → 0.1.36

Sign up to get free protection for your applications and to get access to all the features.
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