letsencrypt-rails-heroku 1.2.0 → 1.2.1

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