rex-socket 0.1.30 → 0.1.34
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 +4 -4
- checksums.yaml.gz.sig +4 -3
- data/.github/workflows/verify.yml +4 -15
- data/lib/rex/socket/parameters.rb +16 -2
- data/lib/rex/socket/version.rb +1 -1
- data/lib/rex/socket.rb +3 -2
- data.tar.gz.sig +0 -0
- metadata +2 -2
- metadata.gz.sig +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b7c47df3f39b889182acdf10979bdf50d435d605e79d9242549ed300de2298b9
|
4
|
+
data.tar.gz: 23844c82242b552bdea184aa95b5c499766ab70e9f77cc9baaa73b7edea81cab
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 91887057ffde34e4fd7a30b4148e4da3f3442d5e99f746e2d464515bf81ad7a459932a8c69879d83267dc06939abadad17c50fad21b42e026047f879a8869cc4
|
7
|
+
data.tar.gz: aed583e93601c0ac04343844aad9b4304f5a848fb9c44405ddc8bc33cdeabbc2e8470a8f4c78fded2933a154e3aaf9b53f2c652e46471180349fd83c7d3b861c
|
checksums.yaml.gz.sig
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
1
|
+
H���!��Ò����]}萌d�:}x
|
2
|
+
5"�4��5(.����S��GuM -4����0�����2�]��3w��?dF�Ԯ
|
3
|
+
�{�ߟG;��#��
|
4
|
+
��|�-�:���*+��s��K�[D��:u^l�H�����m#��y�ERNDנ��W��MRE�eU��\��\�?�i]8��
|
@@ -10,7 +10,7 @@ on:
|
|
10
10
|
|
11
11
|
jobs:
|
12
12
|
test:
|
13
|
-
runs-on: ubuntu-
|
13
|
+
runs-on: ubuntu-18.04
|
14
14
|
timeout-minutes: 40
|
15
15
|
|
16
16
|
strategy:
|
@@ -32,23 +32,12 @@ jobs:
|
|
32
32
|
- name: Checkout code
|
33
33
|
uses: actions/checkout@v2
|
34
34
|
|
35
|
-
-
|
35
|
+
- name: Setup Ruby
|
36
|
+
uses: ruby/setup-ruby@v1
|
36
37
|
with:
|
37
38
|
ruby-version: ${{ matrix.ruby }}
|
39
|
+
bundler-cache: true
|
38
40
|
|
39
|
-
- name: Setup bundler
|
40
|
-
run: |
|
41
|
-
gem install bundler
|
42
|
-
- uses: actions/cache@v2
|
43
|
-
with:
|
44
|
-
path: vendor/bundle
|
45
|
-
key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}
|
46
|
-
restore-keys: |
|
47
|
-
${{ runner.os }}-gems-
|
48
|
-
- name: Bundle install
|
49
|
-
run: |
|
50
|
-
bundle config path vendor/bundle
|
51
|
-
bundle install --jobs 4 --retry 3
|
52
41
|
- name: ${{ matrix.test_cmd }}
|
53
42
|
run: |
|
54
43
|
echo "${CMD}"
|
@@ -192,7 +192,15 @@ class Rex::Socket::Parameters
|
|
192
192
|
end
|
193
193
|
|
194
194
|
# Whether to force IPv6 addressing
|
195
|
-
|
195
|
+
if hash['IPv6'].nil?
|
196
|
+
# if IPv6 isn't specified and at least one host is an IPv6 address and the
|
197
|
+
# other is either nil, a hostname or an IPv6 address, then use IPv6
|
198
|
+
self.v6 = (Rex::Socket.is_ipv6?(self.localhost) || Rex::Socket.is_ipv6?(self.peerhost)) && \
|
199
|
+
(self.localhost.nil? || !Rex::Socket.is_ipv4?(self.localhost)) && \
|
200
|
+
(self.peerhost.nil? || !Rex::Socket.is_ipv4?(self.peerhost))
|
201
|
+
else
|
202
|
+
self.v6 = hash['IPv6']
|
203
|
+
end
|
196
204
|
end
|
197
205
|
|
198
206
|
def merge(other)
|
@@ -294,7 +302,13 @@ class Rex::Socket::Parameters
|
|
294
302
|
# @return [String]
|
295
303
|
attr_writer :localhost
|
296
304
|
def localhost
|
297
|
-
@localhost
|
305
|
+
return @localhost if @localhost
|
306
|
+
|
307
|
+
if @v6 || (@peerhost && Rex::Socket.is_ipv6?(@peerhost))
|
308
|
+
'::'
|
309
|
+
else
|
310
|
+
'0.0.0.0'
|
311
|
+
end
|
298
312
|
end
|
299
313
|
|
300
314
|
# The local port. Equivalent to the LocalPort parameter hash key.
|
data/lib/rex/socket/version.rb
CHANGED
data/lib/rex/socket.rb
CHANGED
@@ -184,6 +184,8 @@ module Socket
|
|
184
184
|
# @param hostname [String] A hostname or ASCII IP address
|
185
185
|
# @return [Array<String>]
|
186
186
|
def self.getaddresses(hostname, accept_ipv6 = true)
|
187
|
+
raise ::SocketError, 'getaddrinfo: nodename nor servname provided, or not known' if hostname.nil?
|
188
|
+
|
187
189
|
if hostname =~ MATCH_IPV4 || (accept_ipv6 && hostname =~ MATCH_IPV6)
|
188
190
|
return [hostname]
|
189
191
|
end
|
@@ -730,7 +732,7 @@ module Socket
|
|
730
732
|
# Wrapper around getsockname that stores the local address and local port values.
|
731
733
|
#
|
732
734
|
def getlocalname
|
733
|
-
if self.localhost
|
735
|
+
if [nil, '0.0.0.0', '::'].include?(self.localhost) && [nil, 0].include?(self.localport)
|
734
736
|
_, self.localhost, self.localport = getsockname
|
735
737
|
end
|
736
738
|
|
@@ -821,4 +823,3 @@ end
|
|
821
823
|
SHUT_RDWR = ::Socket::SHUT_RDWR
|
822
824
|
SHUT_RD = ::Socket::SHUT_RD
|
823
825
|
SHUT_WR = ::Socket::SHUT_WR
|
824
|
-
|
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.
|
4
|
+
version: 0.1.34
|
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: 2021-
|
96
|
+
date: 2021-10-28 00:00:00.000000000 Z
|
97
97
|
dependencies:
|
98
98
|
- !ruby/object:Gem::Dependency
|
99
99
|
name: rake
|
metadata.gz.sig
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
|o����&� 2��a�fcѨ��֎|�R�O��| �)�& >-'s/����Agu9ck�� �����X����1�Yΐ�~7���P?��-�_s�?P�:�� ԛ�e1s��jl�:��\�J�
|