subnetica 1.0.2 → 1.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/subnetica.rb +14 -2
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ee3a82a5af90c42c3ac1151967b5d7f989160d278a95c336fda10d0f831767cf
4
- data.tar.gz: 20cad993e7f4890f097b3fea155c211ed9f6b01c9145b450e8485703e9ed8db0
3
+ metadata.gz: f1091fd607ca13713d464b44a8b2eb88fef5c67998356710122e6839024578a8
4
+ data.tar.gz: 28df63d0f0d6364364c0633df09f7582ed912be8dd52b5ab71348942fa2b5d46
5
5
  SHA512:
6
- metadata.gz: 69cde7ab7305ed557f1bc98b432f9f7c5820bfda297a5234b2f800e6c09999cdc51c783267e41f43544737096df7180d506609946bd6286b7bff858d1cf287bd
7
- data.tar.gz: 2ce303250b531440a69d1a16c74ac905dceda50ef02659a453e3b8140cfd89e8f1c4dd4e0f88d394d12ed8eb09d02ba378c5cef7b8b19e725eed525f04600a16
6
+ metadata.gz: 791f6dcde649bd4a939747b74d6d080d4095da322c4109a9e9d385c1f3bb22aa9d9e8cf68e04718fab11b8f887dc6e05c4afaeb92d876563e8913798e8fd261f
7
+ data.tar.gz: 1035c3e439b639339062b4ba07a1df52398db3296cd14d2d22adf352a2d720921dfa82fb51ab46958578a7a117333be63c48247c269cfafbb8b814abf4440a7b
data/lib/subnetica.rb CHANGED
@@ -30,7 +30,7 @@ module Subnetica
30
30
  [IPAddr.new('::1/128'), 'Loopback address'],
31
31
  [IPAddr.new('::ffff:0:0/96'), 'IPv4-mapped addresses'],
32
32
  [IPAddr.new('::ffff:0:0:0/96'), 'IPv4 translated addresses'],
33
- [IPAddr.new('64:ff9b::/96'), 'IPv4/IPv6 translation (RFC6052)'],
33
+ [IPAddr.new('64:ff9b::/96'), 'IPv4/IPv6 translation (RFC6052, NAT64)'],
34
34
  [IPAddr.new('64:ff9b:1::/48'), 'IPv4/IPv6 translation (RFC8215)'],
35
35
  [IPAddr.new('100::/64'), 'Discard prefix (RFC6666)'],
36
36
  [IPAddr.new('2000::/3'), 'Global Unicast Address (GUA)'],
@@ -71,7 +71,10 @@ module Subnetica
71
71
  [IPAddr.new('ff02::1:1/128'), 'Link name'],
72
72
  [IPAddr.new('ff02::1:2/128'), 'All-dhcp-agents (DHCPv6) in the link-local'],
73
73
  [IPAddr.new('ff02::1:3/128'), 'Link-local multicast name resolution'],
74
- [IPAddr.new('ff05::1:3/128'), 'All-dhcp-agents (DHCPv6) in the site-local']
74
+ [IPAddr.new('ff05::1:3/128'), 'All-dhcp-agents (DHCPv6) in the site-local'],
75
+
76
+ [IPAddr.new('ff02::114'), 'Yggdrasil Multicast Discovery'],
77
+ [IPAddr.new('ff12::8384'), 'Syncthing Local Discovery Protocol']
75
78
  ].freeze
76
79
 
77
80
  def self.getinfo ipaddr
@@ -92,6 +95,15 @@ module Subnetica
92
95
  end
93
96
 
94
97
  attributes['IPv4-mapped IPv6'] = "::ffff:#{ipaddr}"
98
+
99
+ [32, 27, 24, 16].each do |mask|
100
+ bits = mask - ipaddr.prefix
101
+ if bits.positive?
102
+ num_prefix = 2**bits
103
+ calc_res = " = #{num_prefix}" if num_prefix <= 65_536
104
+ attributes["/#{mask}s"] = "2^#{bits}#{calc_res}"
105
+ end
106
+ end
95
107
  elsif ipaddr.ipv6?
96
108
  flags << 'IPv6'
97
109
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: subnetica
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marek Küthe
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-04-20 00:00:00.000000000 Z
11
+ date: 2023-05-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: meshname