letsencrypt-rails-heroku 2.0.2 → 2.0.3

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