github-pages-health-check 1.17.2 → 1.17.6
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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ab80d6cf8da62b7d552dc21cb09fb42835a438cd4c62c84fb7b965120348b8d8
|
4
|
+
data.tar.gz: f5d6054ec2d220b5ec775fff2dffc714a2169f3052daa63cb6ae2678a2610fc3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b9129bccde2467d071eae219e3de4372682f6e95b9622ed7974523a706680370ecea940138e3d6a38fcd0b667d5ef8c2465688c6825ed6e0253ca3aec9340e9a
|
7
|
+
data.tar.gz: d4e701f69db381861cde03f85c1c53ee37c39476db2744afaee9b7b810f033579feaf15a3d055849a7937fa7a8fbe70951eeb48749bc486d20351127b35959c9
|
data/config/fastly-ips.txt
CHANGED
@@ -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", ">=
|
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
|
-
|
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
|
439
|
+
return nil unless caa&.errored?
|
409
440
|
|
410
441
|
caa.error.class.name
|
411
442
|
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.
|
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-
|
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:
|
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:
|
71
|
+
version: '3.0'
|
72
72
|
- - "<"
|
73
73
|
- !ruby/object:Gem::Version
|
74
74
|
version: '5.0'
|