network_interface 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- checksums.yaml.gz.sig +2 -0
- data/.github/workflows/verify.yml +60 -0
- data/Gemfile.lock +16 -17
- data/lib/network_interface/version.rb +1 -1
- data/network_interface.gemspec +6 -3
- data.tar.gz.sig +0 -0
- metadata +91 -24
- metadata.gz.sig +0 -0
- data/spec/netiface_spec.rb +0 -48
- data/spec/spec_helper.rb +0 -107
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 3d0cb4999f24c11d163ca55348ddeabe91595407a8ca2440ea04c2c4f172e717
|
4
|
+
data.tar.gz: d1b2f9f5bec054bc222b77a2a19d72646c844151f9b0bfe2bf4a184d2a1dc90a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0a3f59b944c17959dc30d92a86a8730c7993030fd93f8e7d9560d6e23d51b884c6232be64339660343950b80eb26fba5b5fc1d7dd24a94d0125f8d0e25c9afb3
|
7
|
+
data.tar.gz: 6f2b20d6e6314a4f86cc5c9cb82ff31bdea177737ff42d5f5457bc07749571a4ed576b72dbb18aed2a8889846ec0fabf1f8db9d72969ee0192d1a8622b0e69f7
|
checksums.yaml.gz.sig
ADDED
@@ -0,0 +1,60 @@
|
|
1
|
+
name: Verify
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
branches:
|
6
|
+
- '*'
|
7
|
+
pull_request:
|
8
|
+
branches:
|
9
|
+
- '*'
|
10
|
+
|
11
|
+
jobs:
|
12
|
+
test:
|
13
|
+
timeout-minutes: 40
|
14
|
+
|
15
|
+
strategy:
|
16
|
+
fail-fast: false
|
17
|
+
matrix:
|
18
|
+
os:
|
19
|
+
- ubuntu-20.04
|
20
|
+
ruby:
|
21
|
+
- '2.5'
|
22
|
+
- '2.6'
|
23
|
+
- '2.7'
|
24
|
+
- '3.0'
|
25
|
+
include:
|
26
|
+
- { os: ubuntu-latest, ruby: '3.0', docker_image: 'ruby:3.0' }
|
27
|
+
env:
|
28
|
+
RAILS_ENV: test
|
29
|
+
|
30
|
+
runs-on: ${{ matrix.os }}
|
31
|
+
|
32
|
+
name: Ruby ${{ matrix.ruby }} ${{ matrix.docker_image && 'Docker' || matrix.os }}
|
33
|
+
steps:
|
34
|
+
- name: Checkout code
|
35
|
+
uses: actions/checkout@v2
|
36
|
+
|
37
|
+
- name: Setup Ruby
|
38
|
+
if: ${{ !matrix.docker_image }}
|
39
|
+
uses: ruby/setup-ruby@v1
|
40
|
+
with:
|
41
|
+
ruby-version: ${{ matrix.ruby }}
|
42
|
+
bundler-cache: true
|
43
|
+
|
44
|
+
- name: Rake Compile with Bundle
|
45
|
+
if: ${{ !matrix.docker_image }}
|
46
|
+
run: |
|
47
|
+
bundle exec rake compile
|
48
|
+
|
49
|
+
- name: ${{ matrix.test_cmd }}
|
50
|
+
if: ${{ !matrix.docker_image }}
|
51
|
+
run: |
|
52
|
+
bundle exec rspec
|
53
|
+
|
54
|
+
- name: Run tests in docker
|
55
|
+
if: ${{ matrix.docker_image }}
|
56
|
+
env:
|
57
|
+
DOCKER_IMAGE: ${{ matrix.docker_image }}
|
58
|
+
run: |
|
59
|
+
docker network create --ipv6 --subnet 2001:0DB8::/112 ip6net
|
60
|
+
docker run --rm --network ip6net -w $(pwd) -v $(pwd):$(pwd) ${DOCKER_IMAGE} /bin/sh -c "ls -lah; apt update; apt install -y git net-tools; bundle install; bundle exec rake compile; bundle exec rspec"
|
data/Gemfile.lock
CHANGED
@@ -1,38 +1,37 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
network_interface (0.0.
|
4
|
+
network_interface (0.0.3)
|
5
5
|
|
6
6
|
GEM
|
7
7
|
remote: https://rubygems.org/
|
8
8
|
specs:
|
9
|
-
diff-lcs (1.
|
10
|
-
rake (
|
11
|
-
rake-compiler (1.
|
9
|
+
diff-lcs (1.4.4)
|
10
|
+
rake (13.0.3)
|
11
|
+
rake-compiler (1.1.1)
|
12
12
|
rake
|
13
|
-
rspec (3.
|
14
|
-
rspec-core (~> 3.
|
15
|
-
rspec-expectations (~> 3.
|
16
|
-
rspec-mocks (~> 3.
|
17
|
-
rspec-core (3.
|
18
|
-
rspec-support (~> 3.
|
19
|
-
rspec-expectations (3.
|
13
|
+
rspec (3.10.0)
|
14
|
+
rspec-core (~> 3.10.0)
|
15
|
+
rspec-expectations (~> 3.10.0)
|
16
|
+
rspec-mocks (~> 3.10.0)
|
17
|
+
rspec-core (3.10.1)
|
18
|
+
rspec-support (~> 3.10.0)
|
19
|
+
rspec-expectations (3.10.1)
|
20
20
|
diff-lcs (>= 1.2.0, < 2.0)
|
21
|
-
rspec-support (~> 3.
|
22
|
-
rspec-mocks (3.
|
21
|
+
rspec-support (~> 3.10.0)
|
22
|
+
rspec-mocks (3.10.2)
|
23
23
|
diff-lcs (>= 1.2.0, < 2.0)
|
24
|
-
rspec-support (~> 3.
|
25
|
-
rspec-support (3.
|
24
|
+
rspec-support (~> 3.10.0)
|
25
|
+
rspec-support (3.10.2)
|
26
26
|
|
27
27
|
PLATFORMS
|
28
28
|
ruby
|
29
29
|
|
30
30
|
DEPENDENCIES
|
31
|
-
bundler (~> 1.3)
|
32
31
|
network_interface!
|
33
32
|
rake
|
34
33
|
rake-compiler
|
35
34
|
rspec
|
36
35
|
|
37
36
|
BUNDLED WITH
|
38
|
-
1.
|
37
|
+
2.1.4
|
data/network_interface.gemspec
CHANGED
@@ -16,14 +16,17 @@ Gem::Specification.new do |spec|
|
|
16
16
|
spec.homepage = "https://github.com/rapid7/network_interface"
|
17
17
|
spec.license = "MIT"
|
18
18
|
|
19
|
-
|
19
|
+
# Specify which files should be added to the gem when it is released.
|
20
|
+
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
21
|
+
spec.files = Dir.chdir(File.expand_path(__dir__)) do
|
22
|
+
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{\A(?:test|spec|features|tmp)/}) }
|
23
|
+
end
|
20
24
|
spec.extensions = ['ext/network_interface_ext/extconf.rb']
|
21
25
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
22
26
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
23
27
|
spec.require_paths = ["lib"]
|
24
28
|
|
25
|
-
spec.add_development_dependency "bundler", "~> 1.3"
|
26
29
|
spec.add_development_dependency "rake"
|
27
|
-
spec.add_development_dependency "rake-compiler"
|
30
|
+
spec.add_development_dependency "rake-compiler"
|
28
31
|
spec.add_development_dependency "rspec"
|
29
32
|
end
|
data.tar.gz.sig
ADDED
Binary file
|
metadata
CHANGED
@@ -1,30 +1,101 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: network_interface
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brandon Turner
|
8
8
|
- Lance Sanchez
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
|
-
cert_chain:
|
12
|
-
|
11
|
+
cert_chain:
|
12
|
+
- |
|
13
|
+
-----BEGIN CERTIFICATE-----
|
14
|
+
MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBl
|
15
|
+
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
|
16
|
+
d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv
|
17
|
+
b3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzExMTEwMDAwMDAwWjBlMQswCQYDVQQG
|
18
|
+
EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl
|
19
|
+
cnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwggEi
|
20
|
+
MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7c
|
21
|
+
JpSIqvTO9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYP
|
22
|
+
mDI2dsze3Tyoou9q+yHyUmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+
|
23
|
+
wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4
|
24
|
+
VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpyoeb6pNnVFzF1roV9Iq4/
|
25
|
+
AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whfGHdPAgMB
|
26
|
+
AAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW
|
27
|
+
BBRF66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYun
|
28
|
+
pyGd823IDzANBgkqhkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRC
|
29
|
+
dWKuh+vy1dneVrOfzM4UKLkNl2BcEkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTf
|
30
|
+
fwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38FnSbNd67IJKusm7Xi+fT8r87cm
|
31
|
+
NW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i8b5QZ7dsvfPx
|
32
|
+
H2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe
|
33
|
+
+o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g==
|
34
|
+
-----END CERTIFICATE-----
|
35
|
+
- |
|
36
|
+
-----BEGIN CERTIFICATE-----
|
37
|
+
MIIFMDCCBBigAwIBAgIQBAkYG1/Vu2Z1U0O1b5VQCDANBgkqhkiG9w0BAQsFADBl
|
38
|
+
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
|
39
|
+
d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv
|
40
|
+
b3QgQ0EwHhcNMTMxMDIyMTIwMDAwWhcNMjgxMDIyMTIwMDAwWjByMQswCQYDVQQG
|
41
|
+
EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl
|
42
|
+
cnQuY29tMTEwLwYDVQQDEyhEaWdpQ2VydCBTSEEyIEFzc3VyZWQgSUQgQ29kZSBT
|
43
|
+
aWduaW5nIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA+NOzHH8O
|
44
|
+
Ea9ndwfTCzFJGc/Q+0WZsTrbRPV/5aid2zLXcep2nQUut4/6kkPApfmJ1DcZ17aq
|
45
|
+
8JyGpdglrA55KDp+6dFn08b7KSfH03sjlOSRI5aQd4L5oYQjZhJUM1B0sSgmuyRp
|
46
|
+
wsJS8hRniolF1C2ho+mILCCVrhxKhwjfDPXiTWAYvqrEsq5wMWYzcT6scKKrzn/p
|
47
|
+
fMuSoeU7MRzP6vIK5Fe7SrXpdOYr/mzLfnQ5Ng2Q7+S1TqSp6moKq4TzrGdOtcT3
|
48
|
+
jNEgJSPrCGQ+UpbB8g8S9MWOD8Gi6CxR93O8vYWxYoNzQYIH5DiLanMg0A9kczye
|
49
|
+
n6Yzqf0Z3yWT0QIDAQABo4IBzTCCAckwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNV
|
50
|
+
HQ8BAf8EBAMCAYYwEwYDVR0lBAwwCgYIKwYBBQUHAwMweQYIKwYBBQUHAQEEbTBr
|
51
|
+
MCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wQwYIKwYBBQUH
|
52
|
+
MAKGN2h0dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEFzc3VyZWRJ
|
53
|
+
RFJvb3RDQS5jcnQwgYEGA1UdHwR6MHgwOqA4oDaGNGh0dHA6Ly9jcmw0LmRpZ2lj
|
54
|
+
ZXJ0LmNvbS9EaWdpQ2VydEFzc3VyZWRJRFJvb3RDQS5jcmwwOqA4oDaGNGh0dHA6
|
55
|
+
Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEFzc3VyZWRJRFJvb3RDQS5jcmww
|
56
|
+
TwYDVR0gBEgwRjA4BgpghkgBhv1sAAIEMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8v
|
57
|
+
d3d3LmRpZ2ljZXJ0LmNvbS9DUFMwCgYIYIZIAYb9bAMwHQYDVR0OBBYEFFrEuXsq
|
58
|
+
CqOl6nEDwGD5LfZldQ5YMB8GA1UdIwQYMBaAFEXroq/0ksuCMS1Ri6enIZ3zbcgP
|
59
|
+
MA0GCSqGSIb3DQEBCwUAA4IBAQA+7A1aJLPzItEVyCx8JSl2qB1dHC06GsTvMGHX
|
60
|
+
fgtg/cM9D8Svi/3vKt8gVTew4fbRknUPUbRupY5a4l4kgU4QpO4/cY5jDhNLrddf
|
61
|
+
RHnzNhQGivecRk5c/5CxGwcOkRX7uq+1UcKNJK4kxscnKqEpKBo6cSgCPC6Ro8Al
|
62
|
+
EeKcFEehemhor5unXCBc2XGxDI+7qPjFEmifz0DLQESlE/DmZAwlCEIysjaKJAL+
|
63
|
+
L3J+HNdJRZboWR3p+nRka7LrZkPas7CM1ekN3fYBIM6ZMWM9CBoYs4GbT8aTEAb8
|
64
|
+
B4H6i9r5gkn3Ym6hU/oSlBiFLpKR6mhsRDKyZqHnGKSaZFHv
|
65
|
+
-----END CERTIFICATE-----
|
66
|
+
- |
|
67
|
+
-----BEGIN CERTIFICATE-----
|
68
|
+
MIIFIzCCBAugAwIBAgIQCMePMbkSxvnPeJhYXIfaxzANBgkqhkiG9w0BAQsFADBy
|
69
|
+
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
|
70
|
+
d3cuZGlnaWNlcnQuY29tMTEwLwYDVQQDEyhEaWdpQ2VydCBTSEEyIEFzc3VyZWQg
|
71
|
+
SUQgQ29kZSBTaWduaW5nIENBMB4XDTIwMTAwNzAwMDAwMFoXDTIzMTEwNjEyMDAw
|
72
|
+
MFowYDELMAkGA1UEBhMCVVMxFjAUBgNVBAgTDU1hc3NhY2h1c2V0dHMxDzANBgNV
|
73
|
+
BAcTBkJvc3RvbjETMBEGA1UEChMKUmFwaWQ3IExMQzETMBEGA1UEAxMKUmFwaWQ3
|
74
|
+
IExMQzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALNTz4zvAy7h/vQp
|
75
|
+
4dr1txXHlABAagkwYYwTMCtHs5PXsJITx/5SAjx5swuaLfze5kPBNF2YImvFlOXY
|
76
|
+
WaB+0PsOnXnaARsDZU683xFlj8izU6IN6VrAHzDLKFBzruJENrOJD/ikbEtbjO/q
|
77
|
+
gFbmS9J9v5ohG/pcRSS0t4ZPAwymf8eCp6QsvOKK/Aymp1RhlRaP8N6N5CIpkhz1
|
78
|
+
9p968iCE+DjOXVYxcWE+jE/7uB1dbgrXykNBujMSS3GULOvVEY28n6NCmrPlo23g
|
79
|
+
yRjYVJ2Vy14nBqnxDZ/yRIfWRVjWoT9TsAEbe9gY29oDpSCSs4wSmLQd5zGCpZ9h
|
80
|
+
r0HDFB8CAwEAAaOCAcUwggHBMB8GA1UdIwQYMBaAFFrEuXsqCqOl6nEDwGD5LfZl
|
81
|
+
dQ5YMB0GA1UdDgQWBBTLBL7DTwumVEKtdCdpHVYMXOFeDzAOBgNVHQ8BAf8EBAMC
|
82
|
+
B4AwEwYDVR0lBAwwCgYIKwYBBQUHAwMwdwYDVR0fBHAwbjA1oDOgMYYvaHR0cDov
|
83
|
+
L2NybDMuZGlnaWNlcnQuY29tL3NoYTItYXNzdXJlZC1jcy1nMS5jcmwwNaAzoDGG
|
84
|
+
L2h0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9zaGEyLWFzc3VyZWQtY3MtZzEuY3Js
|
85
|
+
MEwGA1UdIARFMEMwNwYJYIZIAYb9bAMBMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8v
|
86
|
+
d3d3LmRpZ2ljZXJ0LmNvbS9DUFMwCAYGZ4EMAQQBMIGEBggrBgEFBQcBAQR4MHYw
|
87
|
+
JAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBOBggrBgEFBQcw
|
88
|
+
AoZCaHR0cDovL2NhY2VydHMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0U0hBMkFzc3Vy
|
89
|
+
ZWRJRENvZGVTaWduaW5nQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEL
|
90
|
+
BQADggEBAN+GL5/myPWg7oH4mVrG7/OhXF1MoYQF0ddaNiqaweEHMuKJBQCVZRbL
|
91
|
+
37HojoKXXv2yyRJBCeTB+ojrxX+5PdLVZa0ss7toWzJ2A1poPXZ1eZvm5xeFD32z
|
92
|
+
YQaTmmNWNI3PCDTyJ2PXUc+bDiNNwcZ7yc5o78UNRvp9Jxghya17Q76c9Ov9wvnv
|
93
|
+
dxxQKWGOQy0m4fBrkyjAyH9Djjn81RbQrqYgPuhd5nD0HjN3VUQLhQbIJrk9TVs0
|
94
|
+
EknWpNgVhohbot1lfVAMmIhdtOVaRVcQQixWPwprDj/ydB8ryDMDosIMcw+fkoXU
|
95
|
+
9GJsSaSRRYQ9UUkVL27b64okU8D48m8=
|
96
|
+
-----END CERTIFICATE-----
|
97
|
+
date: 2023-08-14 00:00:00.000000000 Z
|
13
98
|
dependencies:
|
14
|
-
- !ruby/object:Gem::Dependency
|
15
|
-
name: bundler
|
16
|
-
requirement: !ruby/object:Gem::Requirement
|
17
|
-
requirements:
|
18
|
-
- - "~>"
|
19
|
-
- !ruby/object:Gem::Version
|
20
|
-
version: '1.3'
|
21
|
-
type: :development
|
22
|
-
prerelease: false
|
23
|
-
version_requirements: !ruby/object:Gem::Requirement
|
24
|
-
requirements:
|
25
|
-
- - "~>"
|
26
|
-
- !ruby/object:Gem::Version
|
27
|
-
version: '1.3'
|
28
99
|
- !ruby/object:Gem::Dependency
|
29
100
|
name: rake
|
30
101
|
requirement: !ruby/object:Gem::Requirement
|
@@ -79,6 +150,7 @@ extensions:
|
|
79
150
|
- ext/network_interface_ext/extconf.rb
|
80
151
|
extra_rdoc_files: []
|
81
152
|
files:
|
153
|
+
- ".github/workflows/verify.yml"
|
82
154
|
- ".gitignore"
|
83
155
|
- ".rspec"
|
84
156
|
- Gemfile
|
@@ -93,8 +165,6 @@ files:
|
|
93
165
|
- lib/network_interface.rb
|
94
166
|
- lib/network_interface/version.rb
|
95
167
|
- network_interface.gemspec
|
96
|
-
- spec/netiface_spec.rb
|
97
|
-
- spec/spec_helper.rb
|
98
168
|
homepage: https://github.com/rapid7/network_interface
|
99
169
|
licenses:
|
100
170
|
- MIT
|
@@ -114,11 +184,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
114
184
|
- !ruby/object:Gem::Version
|
115
185
|
version: '0'
|
116
186
|
requirements: []
|
117
|
-
|
118
|
-
rubygems_version: 2.6.13
|
187
|
+
rubygems_version: 3.1.4
|
119
188
|
signing_key:
|
120
189
|
specification_version: 4
|
121
190
|
summary: A cross platform gem to help get network interface information
|
122
|
-
test_files:
|
123
|
-
- spec/netiface_spec.rb
|
124
|
-
- spec/spec_helper.rb
|
191
|
+
test_files: []
|
metadata.gz.sig
ADDED
Binary file
|
data/spec/netiface_spec.rb
DELETED
@@ -1,48 +0,0 @@
|
|
1
|
-
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
|
2
|
-
|
3
|
-
describe NetworkInterface do
|
4
|
-
|
5
|
-
describe "#interfaces" do
|
6
|
-
it "should have the same interfaces as the system_interfaces" do
|
7
|
-
NetworkInterface.interfaces.should include(*system_interfaces_with_addresses.keys)
|
8
|
-
end
|
9
|
-
end
|
10
|
-
|
11
|
-
describe "#addresses" do
|
12
|
-
system_interfaces_with_addresses.each do |interface, hash|
|
13
|
-
describe "#{friendly_interface_names.key(interface)}" do
|
14
|
-
if hash.has_key?(:ipv4)
|
15
|
-
describe "ipv4" do
|
16
|
-
it "should have an ipv4 address" do
|
17
|
-
NetworkInterface.addresses(interface).should have_key NetworkInterface::AF_INET
|
18
|
-
end
|
19
|
-
it "should match the system interface of #{hash[:ipv4]}" do
|
20
|
-
NetworkInterface.addresses(interface)[NetworkInterface::AF_INET][0]["addr"].should == hash[:ipv4]
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
24
|
-
if hash.has_key?(:ipv6)
|
25
|
-
describe "ipv6" do
|
26
|
-
it "should have an ipv6 address" do
|
27
|
-
NetworkInterface.addresses(interface).should have_key NetworkInterface::AF_INET6
|
28
|
-
end
|
29
|
-
it "should match the system interface of #{hash[:ipv6]}" do
|
30
|
-
NetworkInterface.addresses(interface)[NetworkInterface::AF_INET6][0]["addr"].should == hash[:ipv6]
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
34
|
-
if hash.has_key?(:mac)
|
35
|
-
describe "MAC address" do
|
36
|
-
it "should have a MAC address" do
|
37
|
-
NetworkInterface.addresses(interface).should have_key NetworkInterface::AF_LINK
|
38
|
-
end
|
39
|
-
it "should match the system interface of #{hash[:mac]}" do
|
40
|
-
NetworkInterface.addresses(interface)[NetworkInterface::AF_LINK][0]["addr"].should == hash[:mac]
|
41
|
-
end
|
42
|
-
end
|
43
|
-
end
|
44
|
-
end
|
45
|
-
end
|
46
|
-
|
47
|
-
end
|
48
|
-
end
|
data/spec/spec_helper.rb
DELETED
@@ -1,107 +0,0 @@
|
|
1
|
-
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
2
|
-
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), 'lib'))
|
3
|
-
require 'network_interface'
|
4
|
-
require 'rspec'
|
5
|
-
require 'rspec/autorun'
|
6
|
-
|
7
|
-
RSpec.configure do |config|
|
8
|
-
end
|
9
|
-
|
10
|
-
def friendly_interface_names
|
11
|
-
interfaces = NetworkInterface.interfaces
|
12
|
-
interface_names ||= begin
|
13
|
-
h = {}
|
14
|
-
interfaces.each do |interface|
|
15
|
-
info = NetworkInterface.interface_info(interface)
|
16
|
-
name = if info && info.has_key?('name')
|
17
|
-
info['name']
|
18
|
-
else
|
19
|
-
interface
|
20
|
-
end
|
21
|
-
h[name] = interface
|
22
|
-
end
|
23
|
-
h
|
24
|
-
end
|
25
|
-
interface_names
|
26
|
-
end
|
27
|
-
|
28
|
-
if RUBY_PLATFORM =~ /i386-mingw32/
|
29
|
-
def system_interfaces
|
30
|
-
ipconfig = `ipconfig`
|
31
|
-
ipconfig_array = ipconfig.split("\n").reject {|s| s.empty?}
|
32
|
-
|
33
|
-
getmac = `getmac -nh`
|
34
|
-
getmac_array = getmac.split("\n").reject {|s| s.empty?}
|
35
|
-
getmac_array.map!{|element| element.split(" ")}
|
36
|
-
getmac_hash = getmac_array.inject({}) do |hash, array|
|
37
|
-
hash.merge!({array[1][/\{(.*)\}/,1] => array[0].gsub("-",":").downcase})
|
38
|
-
end
|
39
|
-
|
40
|
-
interfaces = {}
|
41
|
-
@key = nil
|
42
|
-
ipconfig_array.each do |element|
|
43
|
-
if element.start_with? " "
|
44
|
-
case element
|
45
|
-
when /IPv6 Address.*: (.*)/
|
46
|
-
# interfaces[@key][:ipv6] = $1
|
47
|
-
when /IPv4 Address.*: (.*)/
|
48
|
-
interfaces[@key][:ipv4] = $1
|
49
|
-
interfaces[@key][:mac] = getmac_hash[@key[/\{(.*)\}/,1]]
|
50
|
-
end
|
51
|
-
elsif element[/Windows IP Configuration/]
|
52
|
-
elsif element[/Ethernet adapter (.*):/]
|
53
|
-
@key = friendly_interface_names[$1]
|
54
|
-
interfaces[@key] = {}
|
55
|
-
else
|
56
|
-
@key = element[/(.*):/,1]
|
57
|
-
interfaces[@key] = {}
|
58
|
-
end
|
59
|
-
end
|
60
|
-
|
61
|
-
interfaces
|
62
|
-
end
|
63
|
-
|
64
|
-
else
|
65
|
-
def system_interfaces
|
66
|
-
ifconfig = `/sbin/ifconfig`
|
67
|
-
ifconfig_array = ifconfig.split("\n")
|
68
|
-
ifconfig_array.map!{|element| element.split("\n")}
|
69
|
-
ifconfig_array.flatten!
|
70
|
-
interfaces = {}
|
71
|
-
@key = nil
|
72
|
-
ifconfig_array.each do |element|
|
73
|
-
if element.start_with?("\t") || element.start_with?(" ")
|
74
|
-
case element
|
75
|
-
when /ether ((\w{2}\:){5}(\w{2}))/
|
76
|
-
interfaces[@key][:mac] = $1
|
77
|
-
when /inet6 (.*) prefixlen/
|
78
|
-
interfaces[@key][:ipv6] = $1
|
79
|
-
when /inet ((\d{1,3}\.){3}\d{1,3}).*broadcast ((\d{1,3}\.){3}\d{1,3})/
|
80
|
-
interfaces[@key][:ipv4] = $1
|
81
|
-
interfaces[@key][:broadcast] = $3
|
82
|
-
when /addr:((\d{1,3}\.){3}\d{1,3})\s+Bcast:((\d{1,3}\.){3}\d{1,3})/i
|
83
|
-
interfaces[@key][:ipv4] = $1
|
84
|
-
interfaces[@key][:broadcast] = $3
|
85
|
-
end
|
86
|
-
else
|
87
|
-
@key = element.split(' ').first[/(\w*)/,1]
|
88
|
-
interfaces[@key] = {}
|
89
|
-
if element[/HWaddr ((\w{2}\:){5}(\w{2}))/]
|
90
|
-
interfaces[@key][:mac] = $1
|
91
|
-
end
|
92
|
-
end
|
93
|
-
end
|
94
|
-
interfaces
|
95
|
-
end
|
96
|
-
|
97
|
-
end
|
98
|
-
|
99
|
-
def system_interfaces_with_addresses
|
100
|
-
interfaces = {}
|
101
|
-
system_interfaces.each do |key, value|
|
102
|
-
if value.has_key? :ipv4
|
103
|
-
interfaces[key] = value
|
104
|
-
end
|
105
|
-
end
|
106
|
-
interfaces
|
107
|
-
end
|