github-pages-health-check 1.17.2 → 1.17.6

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: 41b89d75e93004b6de7694b363bcf15769ee02c8b03e7e6cea0eab99afa213cd
4
- data.tar.gz: 8c0ee563b5ca7c34bfcbbb61048b0e375e936ca8be0f8d527e72b1fa41917a50
3
+ metadata.gz: ab80d6cf8da62b7d552dc21cb09fb42835a438cd4c62c84fb7b965120348b8d8
4
+ data.tar.gz: f5d6054ec2d220b5ec775fff2dffc714a2169f3052daa63cb6ae2678a2610fc3
5
5
  SHA512:
6
- metadata.gz: 4e319123a847776a35923ce81d48d82e633a036166decf229bcd277437288f85c9333739af879584ea7ceb21d295a306b4004089e157da52721e725dd9eb1faf
7
- data.tar.gz: b2a091d7fdd15f89ca9d0ce22d9c6c8bfb6357a1c7f660ce8faa3ee8d5b8a0e3ea2f2299fab35dfc037c8ec369d6321bc2ff17c8923f18a2887754d1ab1769a7
6
+ metadata.gz: b9129bccde2467d071eae219e3de4372682f6e95b9622ed7974523a706680370ecea940138e3d6a38fcd0b667d5ef8c2465688c6825ed6e0253ca3aec9340e9a
7
+ data.tar.gz: d4e701f69db381861cde03f85c1c53ee37c39476db2744afaee9b7b810f033579feaf15a3d055849a7937fa7a8fbe70951eeb48749bc486d20351127b35959c9
@@ -4,7 +4,7 @@
4
4
  103.245.222.0/23
5
5
  103.245.224.0/24
6
6
  104.156.80.0/20
7
- 146.75.0.0/16
7
+ 146.75.0.0/17
8
8
  151.101.0.0/16
9
9
  157.52.64.0/18
10
10
  167.82.0.0/17
@@ -19,6 +19,6 @@ Gem::Specification.new do |s|
19
19
  s.add_dependency("addressable", "~> 2.3")
20
20
  s.add_dependency("dnsruby", "~> 1.60")
21
21
  s.add_dependency("octokit", "~> 4.0")
22
- s.add_dependency("public_suffix", ">= 2.0.2", "< 5.0")
22
+ s.add_dependency("public_suffix", ">= 3.0", "< 5.0")
23
23
  s.add_dependency("typhoeus", "~> 1.3")
24
24
  end
@@ -85,7 +85,7 @@ module GitHubPages
85
85
  cname_to_fastly? pointed_to_github_pages_ip?
86
86
  non_github_pages_ip_present? pages_domain?
87
87
  served_by_pages? valid? reason valid_domain? https?
88
- enforces_https? https_error https_eligible? caa_error
88
+ enforces_https? https_error https_eligible? caa_error dns_zone_soa? dns_zone_ns?
89
89
  ].freeze
90
90
 
91
91
  def self.redundant(host)
@@ -164,7 +164,10 @@ module GitHubPages
164
164
  # Is this domain an apex domain, meaning a CNAME would be innapropriate
165
165
  def apex_domain?
166
166
  return @apex_domain if defined?(@apex_domain)
167
- return unless valid_domain?
167
+
168
+ return false unless valid_domain?
169
+
170
+ return true if dns_zone_soa? && dns_zone_ns?
168
171
 
169
172
  # PublicSuffix.domain pulls out the apex-level domain name.
170
173
  # E.g. PublicSuffix.domain("techblog.netflix.com") # => "netflix.com"
@@ -177,6 +180,30 @@ module GitHubPages
177
180
  :ignore_private => true) == unicode_host
178
181
  end
179
182
 
183
+ #
184
+ # Does the domain have an associated SOA record?
185
+ #
186
+ def dns_zone_soa?
187
+ return @soa_records if defined?(@soa_records)
188
+ return false unless dns?
189
+
190
+ @soa_records = dns.any? do |answer|
191
+ answer.type == Dnsruby::Types::SOA && answer.name.to_s == host
192
+ end
193
+ end
194
+
195
+ #
196
+ # Does the domain have assoicated NS records?
197
+ #
198
+ def dns_zone_ns?
199
+ return @ns_records if defined?(@ns_records)
200
+ return false unless dns?
201
+
202
+ @ns_records = dns.any? do |answer|
203
+ answer.type == Dnsruby::Types::NS && answer.name.to_s == host
204
+ end
205
+ end
206
+
180
207
  # Should the domain use an A record?
181
208
  def should_be_a_record?
182
209
  !pages_io_domain? && (apex_domain? || mx_records_present?)
@@ -278,7 +305,9 @@ module GitHubPages
278
305
  Dnsruby::Types::A,
279
306
  Dnsruby::Types::AAAA,
280
307
  Dnsruby::Types::CNAME,
281
- Dnsruby::Types::MX
308
+ Dnsruby::Types::MX,
309
+ Dnsruby::Types::NS,
310
+ Dnsruby::Types::SOA
282
311
  ].freeze
283
312
 
284
313
  # Returns an array of DNS answers
@@ -339,6 +368,8 @@ module GitHubPages
339
368
  # The domain to which this domain's CNAME resolves
340
369
  # Returns nil if the domain is not a CNAME
341
370
  def cname
371
+ return unless dns?
372
+
342
373
  cnames = dns.take_while { |answer| answer.type == Dnsruby::Types::CNAME }
343
374
  return if cnames.empty?
344
375
 
@@ -405,7 +436,7 @@ module GitHubPages
405
436
 
406
437
  # Any errors querying CAA records
407
438
  def caa_error
408
- return nil unless caa.errored?
439
+ return nil unless caa&.errored?
409
440
 
410
441
  caa.error.class.name
411
442
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module GitHubPages
4
4
  module HealthCheck
5
- VERSION = "1.17.2"
5
+ VERSION = "1.17.6"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: github-pages-health-check
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.17.2
4
+ version: 1.17.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - GitHub, Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-04-21 00:00:00.000000000 Z
11
+ date: 2021-06-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: addressable
@@ -58,7 +58,7 @@ dependencies:
58
58
  requirements:
59
59
  - - ">="
60
60
  - !ruby/object:Gem::Version
61
- version: 2.0.2
61
+ version: '3.0'
62
62
  - - "<"
63
63
  - !ruby/object:Gem::Version
64
64
  version: '5.0'
@@ -68,7 +68,7 @@ dependencies:
68
68
  requirements:
69
69
  - - ">="
70
70
  - !ruby/object:Gem::Version
71
- version: 2.0.2
71
+ version: '3.0'
72
72
  - - "<"
73
73
  - !ruby/object:Gem::Version
74
74
  version: '5.0'