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:
|
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'
|