github-pages-health-check 1.17.0 → 1.17.7

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: 707b4cdba4aba9ac4eff72df8a4428f40b0d6f929570ad3c088b469f26d8e25d
4
- data.tar.gz: df3af08fb19f7ca11da1100bbddbeb4c8418221f88aa1515e06b2a39baba2276
3
+ metadata.gz: e961f88294ef76b14d92f54148d7945f53b6530fca559f6bbc2293791009a1aa
4
+ data.tar.gz: 031ae5026c940269ef7f6c76440acb3b20ee8c4df284280877778d4f8554a31c
5
5
  SHA512:
6
- metadata.gz: bb30c4dcb64983947a346d6b92ce788d543f64dfdf200ed7e63a79b87e4133f025b57b2acce54d465575d8b3b80ab4b82a3566431f45ab56055c770764e4eb33
7
- data.tar.gz: 64ace9fb8bc8bad17f3d3c0e5bbf682a3c5555a8b1e84e838136ae53caf848583e0dfefb54abef47527aa52ffaa71b165c33b1c0adfe11001caed318a8d0a74c
6
+ metadata.gz: ae56fb03f358257dd708d28e8241e57bb706efe4491794aaaf23c5e0fd6f74c9bc7e052d70d6c407edf9e1b9126bad029c4b4c2076208765d57a57301f2ee78b
7
+ data.tar.gz: 39902634d23d7d69b110dbe17f2ae6fa5f668628e3829c0c816bffe46143320d531bd23f098612c87f480ec416e8ca754125eaec5f58ba364ff2496c0798236d
@@ -0,0 +1,15 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: bundler
4
+ directory: "/"
5
+ schedule:
6
+ interval: daily
7
+ time: "10:00"
8
+ timezone: Europe/Vienna
9
+ pull-request-branch-name:
10
+ separator: "-"
11
+ open-pull-requests-limit: 99
12
+ allow:
13
+ - dependency-type: direct
14
+ - dependency-type: indirect
15
+ rebase-strategy: disabled
@@ -9,6 +9,7 @@
9
9
  197.234.240.0/22
10
10
  198.41.128.0/17
11
11
  162.158.0.0/15
12
- 104.16.0.0/12
12
+ 104.16.0.0/13
13
+ 104.24.0.0/14
13
14
  172.64.0.0/13
14
- 131.0.72.0/22
15
+ 131.0.72.0/22
@@ -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
 
@@ -356,7 +387,6 @@ module GitHubPages
356
387
  return unless dns_resolves?
357
388
 
358
389
  @served_by_pages = begin
359
- return false unless response.mock? || response.return_code == :ok
360
390
  return true if response.headers["Server"] == "GitHub.com"
361
391
 
362
392
  # Typhoeus mangles the case of the header, compare insensitively
@@ -406,7 +436,7 @@ module GitHubPages
406
436
 
407
437
  # Any errors querying CAA records
408
438
  def caa_error
409
- return nil unless caa.errored?
439
+ return nil unless caa&.errored?
410
440
 
411
441
  caa.error.class.name
412
442
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module GitHubPages
4
4
  module HealthCheck
5
- VERSION = "1.17.0"
5
+ VERSION = "1.17.7"
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.0
4
+ version: 1.17.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - GitHub, Inc.
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-01-04 00:00:00.000000000 Z
11
+ date: 2021-08-23 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'
@@ -93,6 +93,7 @@ extensions: []
93
93
  extra_rdoc_files: []
94
94
  files:
95
95
  - ".dockerignore"
96
+ - ".github/dependabot.yml"
96
97
  - ".github/workflows/push-cibuild.yml"
97
98
  - ".gitignore"
98
99
  - ".rspec"
@@ -145,7 +146,7 @@ homepage: https://github.com/github/github-pages-health-check
145
146
  licenses:
146
147
  - MIT
147
148
  metadata: {}
148
- post_install_message:
149
+ post_install_message:
149
150
  rdoc_options: []
150
151
  require_paths:
151
152
  - lib
@@ -161,7 +162,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
161
162
  version: '0'
162
163
  requirements: []
163
164
  rubygems_version: 3.1.2
164
- signing_key:
165
+ signing_key:
165
166
  specification_version: 4
166
167
  summary: Checks your GitHub Pages site for commons DNS configuration issues
167
168
  test_files: []