letsencrypt-rails-heroku 2.0.2 → 2.0.3

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: 34bfad9e6385886924b26bed9062f53175f4b1ca1ee7473c2c33828aa2cb34d0
4
- data.tar.gz: e27e8e2fea3cdd4ebf9a253cd816c8af307fadae6c77e7535bc1c99baba41c0e
3
+ metadata.gz: 5f589e4dde9bc04d66b094ae2d1fd43a34b87c3224c616e98bd3a7c08facfbca
4
+ data.tar.gz: 0b28b8ce30bee194a6df29900c84c086338fd70eb40fa8e2680f6ebbe1f63616
5
5
  SHA512:
6
- metadata.gz: cef68fb15ea48913116f1f65aa1f53a50202e9fb31cd53078546655cbd93b9b84b1c1cae8b381ebcfa7417243deedf5e7fcf9e9c8d12c8de0310840f37ee8378
7
- data.tar.gz: ae93f4a569b1f40b3bec3c8fe9d19c43790c097570b814e29219d015344a948528268b68513dd047f5a5e5ff576e1c01664ecaf6f4479687f65dd18131ded062
6
+ metadata.gz: af35ed069d85e13ffebc88a94fa341056658050bf542812492735b48b49654d0f21c0d28820c3875f2af658d68db2e0495a8ef8b93579d1be75aa503ba6e72df
7
+ data.tar.gz: 1fd670635000f7dd4585a2b87155cd7799169f4a72aa6dc3b4ac20c9ed266ea43d25750283f49a43d6d1eaec32dccd100b42ab461bb2130751bffdd3bbf15b85
@@ -1,3 +1,11 @@
1
+ # 2.0.3
2
+
3
+ - Raise an error when the HTTP challenge is nil (#71). Thanks
4
+ [@mashedkeyboard](https://github.com/mashedkeyboard)!
5
+ - Return the response body on a 403 Forbidden from Heroku, not that it's
6
+ that useful.
7
+ - Relax `platform-api` version requirements, as it works OK with v3 too.
8
+
1
9
  # 2.0.2
2
10
 
3
11
  - Include OpenSSL::SSL::SSLError as a valid error we retry for when waiting
@@ -5,7 +13,7 @@
5
13
 
6
14
  # 2.0.1
7
15
 
8
- - Fixed a typo that broke renewals with existing certificates
16
+ - Fixed a typo that broke renewals with existing certificates.
9
17
 
10
18
  # 2.0.0
11
19
 
data/Gemfile CHANGED
@@ -1,7 +1,7 @@
1
1
  source "https://rubygems.org"
2
2
 
3
3
  gem 'acme-client', '~> 2.0'
4
- gem 'platform-api', '~> 2.2'
4
+ gem 'platform-api', '>= 2.2', '< 4'
5
5
 
6
6
  group :development do
7
7
  gem "shoulda", ">= 0"
@@ -1,38 +1,42 @@
1
1
  GEM
2
2
  remote: https://rubygems.org/
3
3
  specs:
4
- acme-client (2.0.3)
5
- faraday (~> 0.9, >= 0.9.1)
6
- activesupport (5.0.0)
4
+ acme-client (2.0.7)
5
+ faraday (>= 0.17, < 2.0.0)
6
+ activesupport (6.0.3.3)
7
7
  concurrent-ruby (~> 1.0, >= 1.0.2)
8
- i18n (~> 0.7)
8
+ i18n (>= 0.7, < 2)
9
9
  minitest (~> 5.1)
10
10
  tzinfo (~> 1.1)
11
- addressable (2.4.0)
12
- builder (3.2.2)
13
- concurrent-ruby (1.0.2)
11
+ zeitwerk (~> 2.2, >= 2.2.2)
12
+ addressable (2.7.0)
13
+ public_suffix (>= 2.0.2, < 5.0)
14
+ builder (3.2.4)
15
+ concurrent-ruby (1.1.7)
14
16
  descendants_tracker (0.0.4)
15
17
  thread_safe (~> 0.3, >= 0.3.1)
16
- docile (1.1.5)
18
+ docile (1.3.2)
17
19
  erubis (2.7.0)
18
- excon (0.62.0)
19
- faraday (0.9.2)
20
+ excon (0.76.0)
21
+ faraday (1.0.1)
20
22
  multipart-post (>= 1.2, < 3)
21
- git (1.3.0)
22
- github_api (0.14.5)
23
- addressable (~> 2.4.0)
23
+ git (1.7.0)
24
+ rchardet (~> 1.8)
25
+ github_api (0.19.0)
26
+ addressable (~> 2.4)
24
27
  descendants_tracker (~> 0.0.4)
25
- faraday (~> 0.8, < 0.10)
26
- hashie (>= 3.4)
28
+ faraday (>= 0.8, < 2)
29
+ hashie (~> 3.5, >= 3.5.2)
27
30
  oauth2 (~> 1.0)
28
- hashie (3.4.6)
29
- heroics (0.0.25)
31
+ hashie (3.6.0)
32
+ heroics (0.1.1)
30
33
  erubis (~> 2.0)
31
34
  excon
32
35
  moneta
33
36
  multi_json (>= 1.9.2)
34
- highline (1.7.8)
35
- i18n (0.7.0)
37
+ highline (2.0.3)
38
+ i18n (1.8.5)
39
+ concurrent-ruby (~> 1.0)
36
40
  json (1.8.6)
37
41
  juwelier (2.1.3)
38
42
  builder
@@ -44,43 +48,47 @@ GEM
44
48
  rake
45
49
  rdoc
46
50
  semver
47
- jwt (1.5.6)
51
+ jwt (2.2.2)
48
52
  mini_portile2 (2.4.0)
49
- minitest (5.9.0)
53
+ minitest (5.14.2)
50
54
  moneta (1.0.0)
51
- multi_json (1.13.1)
55
+ multi_json (1.15.0)
52
56
  multi_xml (0.6.0)
53
- multipart-post (2.0.0)
54
- nokogiri (1.10.2)
57
+ multipart-post (2.1.1)
58
+ nokogiri (1.10.10)
55
59
  mini_portile2 (~> 2.4.0)
56
- oauth2 (1.2.0)
57
- faraday (>= 0.8, < 0.10)
58
- jwt (~> 1.0)
60
+ oauth2 (1.4.4)
61
+ faraday (>= 0.8, < 2.0)
62
+ jwt (>= 1.0, < 3.0)
59
63
  multi_json (~> 1.3)
60
64
  multi_xml (~> 0.5)
61
65
  rack (>= 1.2, < 3)
62
- platform-api (2.2.0)
63
- heroics (~> 0.0.25)
66
+ platform-api (3.0.0)
67
+ heroics (~> 0.1.1)
64
68
  moneta (~> 1.0.0)
65
- rack (2.0.7)
66
- rake (12.0.0)
69
+ rate_throttle_client (~> 0.1.0)
70
+ public_suffix (4.0.6)
71
+ rack (2.2.3)
72
+ rake (13.0.1)
73
+ rate_throttle_client (0.1.2)
74
+ rchardet (1.8.0)
67
75
  rdoc (3.12.2)
68
76
  json (~> 1.4)
69
77
  semver (1.0.1)
70
- shoulda (3.5.0)
71
- shoulda-context (~> 1.0, >= 1.0.1)
72
- shoulda-matchers (>= 1.4.1, < 3.0)
73
- shoulda-context (1.2.1)
74
- shoulda-matchers (2.8.0)
75
- activesupport (>= 3.0.0)
76
- simplecov (0.12.0)
77
- docile (~> 1.1.0)
78
- json (>= 1.8, < 3)
79
- simplecov-html (~> 0.10.0)
80
- simplecov-html (0.10.0)
81
- thread_safe (0.3.5)
82
- tzinfo (1.2.2)
78
+ shoulda (4.0.0)
79
+ shoulda-context (~> 2.0)
80
+ shoulda-matchers (~> 4.0)
81
+ shoulda-context (2.0.0)
82
+ shoulda-matchers (4.4.1)
83
+ activesupport (>= 4.2.0)
84
+ simplecov (0.19.0)
85
+ docile (~> 1.1)
86
+ simplecov-html (~> 0.11)
87
+ simplecov-html (0.12.3)
88
+ thread_safe (0.3.6)
89
+ tzinfo (1.2.7)
83
90
  thread_safe (~> 0.1)
91
+ zeitwerk (2.4.0)
84
92
 
85
93
  PLATFORMS
86
94
  ruby
@@ -89,10 +97,10 @@ DEPENDENCIES
89
97
  acme-client (~> 2.0)
90
98
  bundler (~> 1.0)
91
99
  juwelier (~> 2.1.0)
92
- platform-api (~> 2.2)
100
+ platform-api (>= 2.2, < 4)
93
101
  rdoc (~> 3.12)
94
102
  shoulda
95
103
  simplecov
96
104
 
97
105
  BUNDLED WITH
98
- 1.16.6
106
+ 1.17.3
data/VERSION CHANGED
@@ -1 +1 @@
1
- 2.0.2
1
+ 2.0.3
@@ -2,16 +2,16 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Juwelier::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: letsencrypt-rails-heroku 2.0.2 ruby lib
5
+ # stub: letsencrypt-rails-heroku 2.0.3 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "letsencrypt-rails-heroku".freeze
9
- s.version = "2.0.2"
9
+ s.version = "2.0.3"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib".freeze]
13
13
  s.authors = ["Pixie Labs".freeze, "David Somers".freeze, "Abigail McPhillips".freeze]
14
- s.date = "2020-07-24"
14
+ s.date = "2020-10-07"
15
15
  s.description = "This gem automatically handles creation, renewal, and applying SSL certificates from LetsEncrypt to your Heroku account.".freeze
16
16
  s.email = "team@pixielabs.io".freeze
17
17
  s.extra_rdoc_files = [
@@ -38,7 +38,7 @@ Gem::Specification.new do |s|
38
38
  ]
39
39
  s.homepage = "https://github.com/pixielabs/letsencrypt-rails-heroku".freeze
40
40
  s.licenses = ["MIT".freeze]
41
- s.rubygems_version = "3.0.8".freeze
41
+ s.rubygems_version = "3.0.6".freeze
42
42
  s.summary = "Automatic LetsEncrypt certificates in your Rails app on Heroku".freeze
43
43
 
44
44
  if s.respond_to? :specification_version then
@@ -46,7 +46,7 @@ Gem::Specification.new do |s|
46
46
 
47
47
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
48
48
  s.add_runtime_dependency(%q<acme-client>.freeze, ["~> 2.0"])
49
- s.add_runtime_dependency(%q<platform-api>.freeze, ["~> 2.2"])
49
+ s.add_runtime_dependency(%q<platform-api>.freeze, [">= 2.2", "< 4"])
50
50
  s.add_development_dependency(%q<shoulda>.freeze, [">= 0"])
51
51
  s.add_development_dependency(%q<rdoc>.freeze, ["~> 3.12"])
52
52
  s.add_development_dependency(%q<bundler>.freeze, ["~> 1.0"])
@@ -54,7 +54,7 @@ Gem::Specification.new do |s|
54
54
  s.add_development_dependency(%q<simplecov>.freeze, [">= 0"])
55
55
  else
56
56
  s.add_dependency(%q<acme-client>.freeze, ["~> 2.0"])
57
- s.add_dependency(%q<platform-api>.freeze, ["~> 2.2"])
57
+ s.add_dependency(%q<platform-api>.freeze, [">= 2.2", "< 4"])
58
58
  s.add_dependency(%q<shoulda>.freeze, [">= 0"])
59
59
  s.add_dependency(%q<rdoc>.freeze, ["~> 3.12"])
60
60
  s.add_dependency(%q<bundler>.freeze, ["~> 1.0"])
@@ -63,7 +63,7 @@ Gem::Specification.new do |s|
63
63
  end
64
64
  else
65
65
  s.add_dependency(%q<acme-client>.freeze, ["~> 2.0"])
66
- s.add_dependency(%q<platform-api>.freeze, ["~> 2.2"])
66
+ s.add_dependency(%q<platform-api>.freeze, [">= 2.2", "< 4"])
67
67
  s.add_dependency(%q<shoulda>.freeze, [">= 0"])
68
68
  s.add_dependency(%q<rdoc>.freeze, ["~> 3.12"])
69
69
  s.add_dependency(%q<bundler>.freeze, ["~> 1.0"])
@@ -12,5 +12,7 @@ module Letsencrypt
12
12
  class FinalizationTimeoutError < StandardError; end
13
13
  # Error adding the certificate to Heroku.
14
14
  class HerokuCertificateError < StandardError; end
15
+ # No HTTP challenge available from certificate provider.
16
+ class NoHTTPChallengeError < StandardError; end
15
17
  end
16
18
  end
@@ -66,6 +66,8 @@ namespace :letsencrypt do
66
66
  puts "Performing verification for #{authorization.domain}:"
67
67
 
68
68
  challenge = authorization.http
69
+
70
+ raise Letsencrypt::Error::NoHTTPChallengeError, "No HTTP challenge was given by Let's Encrypt for #{authorization.domain}, and letsencrypt-rails-heroku does not currently support other challenge types." unless challenge
69
71
 
70
72
  print "Setting config vars on Heroku..."
71
73
  heroku.config_var.update(heroku_app, {
@@ -194,6 +196,11 @@ namespace :letsencrypt do
194
196
  rescue Excon::Error::UnprocessableEntity => e
195
197
  warn "Error adding certificate to Heroku. Response from Heroku’s API follows:"
196
198
  raise Letsencrypt::Error::HerokuCertificateError, e.response.body
199
+ rescue Excon::Error::Forbidden => e
200
+ warn "Error adding certificate to Heroku, expected an OK response status, got a '403 Forbidden'. Response follows:"
201
+ puts e.response.body
202
+ # Re-raise for now.
203
+ raise e
197
204
  end
198
205
 
199
206
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: letsencrypt-rails-heroku
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.2
4
+ version: 2.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pixie Labs
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2020-07-24 00:00:00.000000000 Z
13
+ date: 2020-10-07 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: acme-client
@@ -30,16 +30,22 @@ dependencies:
30
30
  name: platform-api
31
31
  requirement: !ruby/object:Gem::Requirement
32
32
  requirements:
33
- - - "~>"
33
+ - - ">="
34
34
  - !ruby/object:Gem::Version
35
35
  version: '2.2'
36
+ - - "<"
37
+ - !ruby/object:Gem::Version
38
+ version: '4'
36
39
  type: :runtime
37
40
  prerelease: false
38
41
  version_requirements: !ruby/object:Gem::Requirement
39
42
  requirements:
40
- - - "~>"
43
+ - - ">="
41
44
  - !ruby/object:Gem::Version
42
45
  version: '2.2'
46
+ - - "<"
47
+ - !ruby/object:Gem::Version
48
+ version: '4'
43
49
  - !ruby/object:Gem::Dependency
44
50
  name: shoulda
45
51
  requirement: !ruby/object:Gem::Requirement
@@ -154,7 +160,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
154
160
  - !ruby/object:Gem::Version
155
161
  version: '0'
156
162
  requirements: []
157
- rubygems_version: 3.0.8
163
+ rubygems_version: 3.0.6
158
164
  signing_key:
159
165
  specification_version: 4
160
166
  summary: Automatic LetsEncrypt certificates in your Rails app on Heroku