letsencrypt-rails-heroku 1.2.0 → 1.2.1

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
- SHA1:
3
- metadata.gz: c3f97585c884a70e519fdc84a79276ab7abb845e
4
- data.tar.gz: 04ecb09cedcc720fbfb2eb87175f68165eab842f
2
+ SHA256:
3
+ metadata.gz: e19d5080608ad213dfa35f80bbbca7d8aefcfeb7724b0d94efef50e56208f749
4
+ data.tar.gz: 8567453f9e4d49488692a81bcfe64299a342c8e2cc8c9395116ff7c518842cb8
5
5
  SHA512:
6
- metadata.gz: 9b52c79ddaf3970f102d6c24b4baa210fb78ec162a83e44ee1cf858dbdfd5acef0498d5a0e2f8050d83442b6abecc1d34f39753bd8ef8643083138ecd4729208
7
- data.tar.gz: c9d16e37682bfd2649b9e5a42aa587e574e31fc9aff5f6e4454bcf41092931998ebe3bd2362c7f6c37ffc2b7690483035a2b12fba462a641e04f549b6a6edade
6
+ metadata.gz: e6e647b7ccffae1ea0690a3711bbb37ed773aa9a09c54fcfeb6d7d964ad097cc59524f222dd314e1af4c9ad066319d87feca72af7833055cf2d8e346e42cec7e
7
+ data.tar.gz: 91e1769ca76f84c11de507dce46da2c56c431186ef6793f6ff12b934c664403255721bba2b5dcc99bdbf1530f21f2d219dba0d540e2016a64e9caaae85bb2560
@@ -1,3 +1,19 @@
1
+ # 1.2.1
2
+
3
+ - Update `rack` and `nokogiri` dependencies due to reported vulnerabilities
4
+ in those libraries. Note that these don't affect letsencrypt-rails-heroku
5
+ directly.
6
+ [CVE-2018-16471](https://nvd.nist.gov/vuln/detail/CVE-2018-16471),
7
+ [CVE-2016-4658](https://nvd.nist.gov/vuln/detail/CVE-2016-4658),
8
+ [CVE-2017-5029](https://nvd.nist.gov/vuln/detail/CVE-2017-5029),
9
+ [CVE-2018-14404](https://nvd.nist.gov/vuln/detail/CVE-2018-14404),
10
+ [CVE-2017-18258](https://nvd.nist.gov/vuln/detail/CVE-2017-18258),
11
+ [CVE-2017-9050](https://nvd.nist.gov/vuln/detail/CVE-2017-9050).
12
+
13
+ - Stop using [jalada/platform-api](https://github.com/jalada/platform-api)
14
+ because the newer version of the official version supports the API endpoints
15
+ we need now.
16
+
1
17
  # 1.2.0
2
18
 
3
19
  - Support SSL Endpoint configuration, as well as the default SNI.
data/Gemfile CHANGED
@@ -1,9 +1,7 @@
1
1
  source "https://rubygems.org"
2
2
 
3
3
  gem 'acme-client', '~> 0.4.0'
4
- # SNI endpoints not supported yet:
5
- # <https://github.com/heroku/platform-api/issues/49>
6
- gem 'platform-api', github: 'jalada/platform-api', branch: 'master'
4
+ gem 'platform-api', '~> 2.2'
7
5
 
8
6
  group :development do
9
7
  gem "shoulda", ">= 0"
@@ -1,11 +1,3 @@
1
- GIT
2
- remote: git://github.com/jalada/platform-api.git
3
- revision: 45ddb3c1a7e2c7f85d979c0791db18e99affb237
4
- branch: master
5
- specs:
6
- platform-api (0.8.0)
7
- heroics (~> 0.0.17)
8
-
9
1
  GEM
10
2
  remote: https://rubygems.org/
11
3
  specs:
@@ -23,7 +15,7 @@ GEM
23
15
  thread_safe (~> 0.3, >= 0.3.1)
24
16
  docile (1.1.5)
25
17
  erubis (2.7.0)
26
- excon (0.51.0)
18
+ excon (0.62.0)
27
19
  faraday (0.9.2)
28
20
  multipart-post (>= 1.2, < 3)
29
21
  git (1.3.0)
@@ -34,15 +26,14 @@ GEM
34
26
  hashie (>= 3.4)
35
27
  oauth2 (~> 1.0)
36
28
  hashie (3.4.6)
37
- heroics (0.0.17)
29
+ heroics (0.0.25)
38
30
  erubis (~> 2.0)
39
31
  excon
40
32
  moneta
41
33
  multi_json (>= 1.9.2)
42
- netrc
43
34
  highline (1.7.8)
44
35
  i18n (0.7.0)
45
- json (1.8.3)
36
+ json (1.8.6)
46
37
  juwelier (2.1.3)
47
38
  builder
48
39
  bundler (>= 1.13)
@@ -54,22 +45,24 @@ GEM
54
45
  rdoc
55
46
  semver
56
47
  jwt (1.5.6)
57
- mini_portile2 (2.1.0)
48
+ mini_portile2 (2.4.0)
58
49
  minitest (5.9.0)
59
- moneta (0.8.0)
60
- multi_json (1.12.1)
50
+ moneta (1.0.0)
51
+ multi_json (1.13.1)
61
52
  multi_xml (0.6.0)
62
53
  multipart-post (2.0.0)
63
- netrc (0.11.0)
64
- nokogiri (1.6.8.1)
65
- mini_portile2 (~> 2.1.0)
54
+ nokogiri (1.10.2)
55
+ mini_portile2 (~> 2.4.0)
66
56
  oauth2 (1.2.0)
67
57
  faraday (>= 0.8, < 0.10)
68
58
  jwt (~> 1.0)
69
59
  multi_json (~> 1.3)
70
60
  multi_xml (~> 0.5)
71
61
  rack (>= 1.2, < 3)
72
- rack (2.0.1)
62
+ platform-api (2.2.0)
63
+ heroics (~> 0.0.25)
64
+ moneta (~> 1.0.0)
65
+ rack (2.0.7)
73
66
  rake (12.0.0)
74
67
  rdoc (3.12.2)
75
68
  json (~> 1.4)
@@ -96,10 +89,10 @@ DEPENDENCIES
96
89
  acme-client (~> 0.4.0)
97
90
  bundler (~> 1.0)
98
91
  juwelier (~> 2.1.0)
99
- platform-api!
92
+ platform-api (~> 2.2)
100
93
  rdoc (~> 3.12)
101
94
  shoulda
102
95
  simplecov
103
96
 
104
97
  BUNDLED WITH
105
- 1.13.6
98
+ 1.16.6
@@ -1,4 +1,4 @@
1
- Copyright (c) 2016 Pixie Labs
1
+ Copyright (c) 2019 Pixie Labs
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
data/README.md CHANGED
@@ -1,5 +1,8 @@
1
1
  # LetsEncrypt & Rails & Heroku
2
2
 
3
+ ### Deprecated: Heroku now support [free automated SSL certificates for paid dynos](https://devcenter.heroku.com/articles/automated-certificate-management), you should use that instead of this gem unless your situation is covered by the [known limitations](https://devcenter.heroku.com/articles/automated-certificate-management#known-limitations) of ACM, e.g. your app runs in Heroku Private Spaces.
4
+
5
+
3
6
  [![Gem Version](https://badge.fury.io/rb/letsencrypt-rails-heroku.svg)](https://badge.fury.io/rb/letsencrypt-rails-heroku)
4
7
 
5
8
  This gem is a complete solution for securing your Ruby on Rails application
@@ -14,7 +17,9 @@ repository.
14
17
 
15
18
  ## Requirements
16
19
 
17
- - You must be using hobby or professional dynos to use free SNI-based SSL. Find out more on [Heroku's documentation page about SSL](https://devcenter.heroku.com/articles/ssl).
20
+ - You must be using hobby or professional dynos to use free SNI-based SSL.
21
+ Find out more on [Heroku's documentation page about
22
+ SSL](https://devcenter.heroku.com/articles/ssl).
18
23
 
19
24
  - You should have already configured your app DNS as per [Heroku's
20
25
  documentation](https://devcenter.heroku.com/articles/custom-domains).
@@ -24,10 +29,6 @@ repository.
24
29
  Add the gem to your Gemfile:
25
30
 
26
31
  ```
27
- # Until the new API calls are generally available, you must manually specify my fork
28
- # of the Heroku API gem:
29
- gem 'platform-api', git: 'https://github.com/jalada/platform-api', branch: 'master'
30
-
31
32
  gem 'letsencrypt-rails-heroku', group: 'production'
32
33
  ```
33
34
 
@@ -126,10 +127,13 @@ You can see these details by typing `heroku domains`.
126
127
 
127
128
  ## Adding a scheduled task
128
129
 
129
- You should add a scheduled task on Heroku to renew the certificate. The
130
- scheduled task should be configured to run `rake letsencrypt:renew` as often
131
- as you want to renew your certificate. Letsencrypt certificates are valid for
132
- 90 days, but there's no harm renewing them more frequently than that.
130
+ You should add a scheduled task on Heroku to renew the certificate. If you
131
+ are unfamiliar with how to do this, take a look at [Heroku's documentation
132
+ on their scheduler addon](https://devcenter.heroku.com/articles/scheduler).
133
+
134
+ The scheduled task should be configured to run `rake letsencrypt:renew` as
135
+ often as you want to renew your certificate. Letsencrypt certificates are valid
136
+ for 90 days, but there's no harm renewing them more frequently than that.
133
137
 
134
138
  Heroku Scheduler only lets you run a task as infrequently as once a day, but
135
139
  you don't want to renew your SSL certificate every day (you will hit
@@ -138,7 +142,7 @@ run less frequently using a shell control statement. For example to renew your
138
142
  certificate on the 1st day of every month:
139
143
 
140
144
  ```
141
- if [ "$(date +%d)" = 01 ]; then rake letsencrypt:renew; fi
145
+ if [ "$(date +%d)" = 01 ]; then bundle exec rake letsencrypt:renew; fi
142
146
  ```
143
147
 
144
148
  Source: [blog.dbrgn.ch](https://blog.dbrgn.ch/2013/10/4/heroku-schedule-weekly-monthly-tasks/)
@@ -148,12 +152,13 @@ Source: [blog.dbrgn.ch](https://blog.dbrgn.ch/2013/10/4/heroku-schedule-weekly-m
148
152
  Suggestions and pull requests are welcome in improving the situation with the
149
153
  following security considerations:
150
154
 
151
- - When configuring this gem you must add a non-expiring Heroku API token
152
- into your application environment. Your collaborators could use this
153
- token to impersonate the account it was created with when accessing
154
- the Heroku API. This is important if your account has access to other apps
155
- that your collaborators don’t. Additionally, if your application environment was
156
- leaked this would give the attacker access to the Heroku API as your user account.
155
+ - When configuring this gem you must add a non-expiring Heroku API token into
156
+ your application environment. Your collaborators could use this token to
157
+ impersonate the account it was created with when accessing the Heroku API.
158
+ This is important if your account has access to other apps that your
159
+ collaborators don’t. Additionally, if your application environment was
160
+ leaked this would give the attacker access to the Heroku API as your user
161
+ account.
157
162
  [More information about Heroku’s API and oAuth](https://devcenter.heroku.com/articles/oauth#direct-authorization).
158
163
 
159
164
  You should create the API token from a suitably locked-down account.
@@ -170,17 +175,17 @@ following security considerations:
170
175
 
171
176
  ### Common name invalid errors (security certificate is from *.herokuapp.com)
172
177
 
173
- Your domain is still configured as a CNAME or ALIAS to `your-app.herokuapp.com`. Check the output of `heroku domains` matches your DNS configuration. When you add an SNI cert to an app for the first time [the DNS target changes](https://devcenter.heroku.com/articles/custom-domains#view-existing-domains).
178
+ Your domain is still configured as a CNAME or ALIAS to
179
+ `your-app.herokuapp.com`. Check the output of `heroku domains` matches your DNS
180
+ configuration. When you add an SNI cert to an app for the first time
181
+ [the DNS target changes](https://devcenter.heroku.com/articles/custom-domains#view-existing-domains).
174
182
 
175
183
  ## To-do list
176
184
 
177
185
  - Persist account key, or at least give the option of using an existing one, so
178
186
  we don’t register with LetsEncrypt over and over.
179
187
 
180
- - Stop using a fork of the `platform-api` gem once it supports the SNI endpoint
181
- API calls. [See issue #49 of the platform-api gem](https://github.com/heroku/platform-api/issues/49).
182
-
183
- - Provide instructions for running the gem decoupled from the app it is
188
+ - Provide instructions for running the gem decoupled from the app it is
184
189
  securing, for the paranoid.
185
190
 
186
191
  ## Contributing
@@ -202,4 +207,5 @@ Your domain is still configured as a CNAME or ALIAS to `your-app.herokuapp.com`.
202
207
 
203
208
  1. Bump the version: `rake version:bump:{major,minor,patch}`.
204
209
  2. Update `CHANGELOG.md` & commit.
205
- 3. Use `rake release` to regenerate gemspec, push a tag to git, and push a new `.gem` to rubygems.org
210
+ 3. Use `rake release` to regenerate gemspec, push a tag to git, and push a new
211
+ `.gem` to rubygems.org.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.2.0
1
+ 1.2.1
@@ -2,18 +2,18 @@
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 1.2.0 ruby lib
5
+ # stub: letsencrypt-rails-heroku 1.2.1 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
- s.name = "letsencrypt-rails-heroku"
9
- s.version = "1.2.0"
8
+ s.name = "letsencrypt-rails-heroku".freeze
9
+ s.version = "1.2.1"
10
10
 
11
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
- s.require_paths = ["lib"]
13
- s.authors = ["Pixie Labs", "David Somers", "Abigail McPhillips"]
14
- s.date = "2017-03-03"
15
- s.description = "This gem automatically handles creation, renewal, and applying SSL certificates from LetsEncrypt to your Heroku account."
16
- s.email = "team@pixielabs.io"
11
+ s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
12
+ s.require_paths = ["lib".freeze]
13
+ s.authors = ["Pixie Labs".freeze, "David Somers".freeze, "Abigail McPhillips".freeze]
14
+ s.date = "2019-04-12"
15
+ s.description = "This gem automatically handles creation, renewal, and applying SSL certificates from LetsEncrypt to your Heroku account.".freeze
16
+ s.email = "team@pixielabs.io".freeze
17
17
  s.extra_rdoc_files = [
18
18
  "LICENSE.txt",
19
19
  "README.md"
@@ -35,39 +35,39 @@ Gem::Specification.new do |s|
35
35
  "lib/letsencrypt-rails-heroku/railtie.rb",
36
36
  "lib/tasks/letsencrypt.rake"
37
37
  ]
38
- s.homepage = "https://github.com/pixielabs/letsencrypt-rails-heroku"
39
- s.licenses = ["MIT"]
40
- s.rubygems_version = "2.5.1"
41
- s.summary = "Automatic LetsEncrypt certificates in your Rails app on Heroku"
38
+ s.homepage = "https://github.com/pixielabs/letsencrypt-rails-heroku".freeze
39
+ s.licenses = ["MIT".freeze]
40
+ s.rubygems_version = "2.7.8".freeze
41
+ s.summary = "Automatic LetsEncrypt certificates in your Rails app on Heroku".freeze
42
42
 
43
43
  if s.respond_to? :specification_version then
44
44
  s.specification_version = 4
45
45
 
46
46
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
47
- s.add_runtime_dependency(%q<acme-client>, ["~> 0.4.0"])
48
- s.add_runtime_dependency(%q<platform-api>, [">= 0"])
49
- s.add_development_dependency(%q<shoulda>, [">= 0"])
50
- s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
51
- s.add_development_dependency(%q<bundler>, ["~> 1.0"])
52
- s.add_development_dependency(%q<juwelier>, ["~> 2.1.0"])
53
- s.add_development_dependency(%q<simplecov>, [">= 0"])
47
+ s.add_runtime_dependency(%q<acme-client>.freeze, ["~> 0.4.0"])
48
+ s.add_runtime_dependency(%q<platform-api>.freeze, ["~> 2.2"])
49
+ s.add_development_dependency(%q<shoulda>.freeze, [">= 0"])
50
+ s.add_development_dependency(%q<rdoc>.freeze, ["~> 3.12"])
51
+ s.add_development_dependency(%q<bundler>.freeze, ["~> 1.0"])
52
+ s.add_development_dependency(%q<juwelier>.freeze, ["~> 2.1.0"])
53
+ s.add_development_dependency(%q<simplecov>.freeze, [">= 0"])
54
54
  else
55
- s.add_dependency(%q<acme-client>, ["~> 0.4.0"])
56
- s.add_dependency(%q<platform-api>, [">= 0"])
57
- s.add_dependency(%q<shoulda>, [">= 0"])
58
- s.add_dependency(%q<rdoc>, ["~> 3.12"])
59
- s.add_dependency(%q<bundler>, ["~> 1.0"])
60
- s.add_dependency(%q<juwelier>, ["~> 2.1.0"])
61
- s.add_dependency(%q<simplecov>, [">= 0"])
55
+ s.add_dependency(%q<acme-client>.freeze, ["~> 0.4.0"])
56
+ s.add_dependency(%q<platform-api>.freeze, ["~> 2.2"])
57
+ s.add_dependency(%q<shoulda>.freeze, [">= 0"])
58
+ s.add_dependency(%q<rdoc>.freeze, ["~> 3.12"])
59
+ s.add_dependency(%q<bundler>.freeze, ["~> 1.0"])
60
+ s.add_dependency(%q<juwelier>.freeze, ["~> 2.1.0"])
61
+ s.add_dependency(%q<simplecov>.freeze, [">= 0"])
62
62
  end
63
63
  else
64
- s.add_dependency(%q<acme-client>, ["~> 0.4.0"])
65
- s.add_dependency(%q<platform-api>, [">= 0"])
66
- s.add_dependency(%q<shoulda>, [">= 0"])
67
- s.add_dependency(%q<rdoc>, ["~> 3.12"])
68
- s.add_dependency(%q<bundler>, ["~> 1.0"])
69
- s.add_dependency(%q<juwelier>, ["~> 2.1.0"])
70
- s.add_dependency(%q<simplecov>, [">= 0"])
64
+ s.add_dependency(%q<acme-client>.freeze, ["~> 0.4.0"])
65
+ s.add_dependency(%q<platform-api>.freeze, ["~> 2.2"])
66
+ s.add_dependency(%q<shoulda>.freeze, [">= 0"])
67
+ s.add_dependency(%q<rdoc>.freeze, ["~> 3.12"])
68
+ s.add_dependency(%q<bundler>.freeze, ["~> 1.0"])
69
+ s.add_dependency(%q<juwelier>.freeze, ["~> 2.1.0"])
70
+ s.add_dependency(%q<simplecov>.freeze, [">= 0"])
71
71
  end
72
72
  end
73
73
 
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: 1.2.0
4
+ version: 1.2.1
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: 2017-03-03 00:00:00.000000000 Z
13
+ date: 2019-04-12 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: acme-client
@@ -30,16 +30,16 @@ 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
- version: '0'
35
+ version: '2.2'
36
36
  type: :runtime
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
- - - ">="
40
+ - - "~>"
41
41
  - !ruby/object:Gem::Version
42
- version: '0'
42
+ version: '2.2'
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: shoulda
45
45
  requirement: !ruby/object:Gem::Requirement
@@ -154,7 +154,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
154
154
  version: '0'
155
155
  requirements: []
156
156
  rubyforge_project:
157
- rubygems_version: 2.5.1
157
+ rubygems_version: 2.7.8
158
158
  signing_key:
159
159
  specification_version: 4
160
160
  summary: Automatic LetsEncrypt certificates in your Rails app on Heroku