relishable 0.39 → 0.43

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: 35876b791e70aff9d9bd2cae57b686a995650a6d
4
- data.tar.gz: e369614a2739ad284d12146bcd7ce7cacbab6712
2
+ SHA256:
3
+ metadata.gz: 136bac615ba7b6125bbfd793e1768ec6bd47a1a033d57a7724d3b5e283e8f08c
4
+ data.tar.gz: 8238322754a1c8e51de5b0c0136382cc22399f35ff679fb3fb4b46f3344fbf7c
5
5
  SHA512:
6
- metadata.gz: 7cf9b7d7eb5091d3877e2cb0dc4ffd59e82077f9c5d640e5ae226fbe3708b746b90e07fdb5b64cae834ff95601fe467718b7646de620d9486e1bb2aaeb0e9a46
7
- data.tar.gz: 9e9cb7448eedbfdb297dc40788fbf470785573aba962075ebd1c606259c91a9334661af4b4358194b7165f36057eeb3d5533897e53104d0ae1e2f5605ce6f00c
6
+ metadata.gz: 78f32269c932ab7adc2538dfc9a073ebd8f244a439086eeb24221a3466672f0649af2e9025a93cf40a92b179056cbbbdc5aff7e0804175e69ea6bbb4a415376c
7
+ data.tar.gz: 064e44f1da463ed91c3ee63582ac8afbd809d6199017cd5af2c8fb2a1e3a7629118b742f3848a175c141098ab18801a57015730233715e028ceb7312c97ebf40
data/Gemfile CHANGED
@@ -1,3 +1,3 @@
1
- source "http://rubygems.org"
1
+ source "https://rubygems.org"
2
2
 
3
3
  gemspec
data/Gemfile.lock CHANGED
@@ -1,76 +1,92 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- relishable (0.39)
5
- fog-aws (~> 0.8.0)
6
- legacy-fernet (~> 1.6.3)
7
- net-ssh (~> 3.0.2)
4
+ relishable (0.43)
5
+ fernet (~> 2.3)
6
+ fog-aws (~> 3.12.0)
7
+ net-ssh (~> 6.1.0)
8
8
 
9
9
  GEM
10
- remote: http://rubygems.org/
10
+ remote: https://rubygems.org/
11
11
  specs:
12
- addressable (2.3.8)
13
- builder (3.2.2)
14
- crack (0.4.2)
15
- safe_yaml (~> 1.0.0)
16
- diff-lcs (1.2.5)
17
- excon (0.51.0)
18
- fog-aws (0.8.1)
19
- fog-core (~> 1.27)
20
- fog-json (~> 1.0)
12
+ addressable (2.8.0)
13
+ public_suffix (>= 2.0.2, < 5.0)
14
+ builder (3.2.4)
15
+ coderay (1.1.3)
16
+ crack (0.4.5)
17
+ rexml
18
+ diff-lcs (1.4.4)
19
+ excon (0.87.0)
20
+ fernet (2.3)
21
+ valcro (~> 0.1)
22
+ fog-aws (3.12.0)
23
+ fog-core (~> 2.1)
24
+ fog-json (~> 1.1)
21
25
  fog-xml (~> 0.1)
22
26
  ipaddress (~> 0.8)
23
- fog-core (1.42.0)
27
+ fog-core (2.2.4)
24
28
  builder
25
- excon (~> 0.49)
29
+ excon (~> 0.71)
26
30
  formatador (~> 0.2)
27
- fog-json (1.0.2)
28
- fog-core (~> 1.0)
31
+ mime-types
32
+ fog-json (1.2.0)
33
+ fog-core
29
34
  multi_json (~> 1.10)
30
- fog-xml (0.1.2)
35
+ fog-xml (0.1.4)
31
36
  fog-core
32
- nokogiri (~> 1.5, >= 1.5.11)
33
- formatador (0.2.5)
37
+ nokogiri (>= 1.5.11, < 2.0.0)
38
+ formatador (0.3.0)
39
+ hashdiff (1.0.1)
34
40
  ipaddress (0.8.3)
35
- legacy-fernet (1.6.3)
36
- multi_json
37
- mini_portile2 (2.1.0)
38
- multi_json (1.12.1)
39
- net-ssh (3.0.2)
40
- nokogiri (1.6.8)
41
- mini_portile2 (~> 2.1.0)
42
- pkg-config (~> 1.1.7)
43
- pkg-config (1.1.7)
44
- power_assert (0.2.2)
45
- rake (10.4.2)
46
- rspec (3.1.0)
47
- rspec-core (~> 3.1.0)
48
- rspec-expectations (~> 3.1.0)
49
- rspec-mocks (~> 3.1.0)
50
- rspec-core (3.1.7)
51
- rspec-support (~> 3.1.0)
52
- rspec-expectations (3.1.2)
41
+ method_source (1.0.0)
42
+ mime-types (3.3.1)
43
+ mime-types-data (~> 3.2015)
44
+ mime-types-data (3.2021.0901)
45
+ mini_portile2 (2.6.1)
46
+ multi_json (1.15.0)
47
+ net-ssh (6.1.0)
48
+ nokogiri (1.12.5)
49
+ mini_portile2 (~> 2.6.1)
50
+ racc (~> 1.4)
51
+ power_assert (2.0.1)
52
+ pry (0.14.1)
53
+ coderay (~> 1.1)
54
+ method_source (~> 1.0)
55
+ public_suffix (4.0.6)
56
+ racc (1.6.0)
57
+ rake (13.0.6)
58
+ rexml (3.2.5)
59
+ rspec (3.10.0)
60
+ rspec-core (~> 3.10.0)
61
+ rspec-expectations (~> 3.10.0)
62
+ rspec-mocks (~> 3.10.0)
63
+ rspec-core (3.10.1)
64
+ rspec-support (~> 3.10.0)
65
+ rspec-expectations (3.10.1)
66
+ diff-lcs (>= 1.2.0, < 2.0)
67
+ rspec-support (~> 3.10.0)
68
+ rspec-mocks (3.10.2)
53
69
  diff-lcs (>= 1.2.0, < 2.0)
54
- rspec-support (~> 3.1.0)
55
- rspec-mocks (3.1.3)
56
- rspec-support (~> 3.1.0)
57
- rspec-support (3.1.2)
58
- safe_yaml (1.0.4)
59
- test-unit (3.0.8)
70
+ rspec-support (~> 3.10.0)
71
+ rspec-support (3.10.2)
72
+ test-unit (3.5.0)
60
73
  power_assert
61
- webmock (1.19.0)
62
- addressable (>= 2.3.6)
74
+ valcro (0.1.1)
75
+ webmock (3.14.0)
76
+ addressable (>= 2.8.0)
63
77
  crack (>= 0.3.2)
78
+ hashdiff (>= 0.4.0, < 2.0.0)
64
79
 
65
80
  PLATFORMS
66
81
  ruby
67
82
 
68
83
  DEPENDENCIES
84
+ pry
69
85
  rake (> 0)
70
86
  relishable!
71
- rspec (~> 3.1.0)
87
+ rspec (~> 3.10.0)
72
88
  test-unit
73
- webmock (~> 1.19.0)
89
+ webmock (~> 3.14.0)
74
90
 
75
91
  BUNDLED WITH
76
- 1.11.2
92
+ 2.2.29
@@ -1,5 +1,5 @@
1
1
  require "relish/release"
2
- require "fernet/legacy"
2
+ require "fernet"
3
3
  require "openssl"
4
4
 
5
5
  class RelishDecryptionFailed < RuntimeError; end
@@ -12,26 +12,18 @@ class Relish
12
12
  @secrets = secrets
13
13
  end
14
14
 
15
- def encrypt(key, value)
16
- Fernet::Legacy.generate(hmac_secrets.first) do |gen|
17
- gen.data = {key => value}
18
- end
15
+ def encrypt(value)
16
+ Fernet.generate(hmac_secrets.first[0, 32], value)
19
17
  end
20
18
 
21
- def decrypt(key, token)
19
+ def decrypt(token)
20
+ plain = nil
22
21
  hmac_secrets.each do |secret|
23
- if verifier = verifier(secret, token)
24
- return verifier.data[key] if verifier.valid?
25
- end
26
- end
27
- raise RelishDecryptionFailed
28
- end
29
-
30
- def upgrade(key, token)
31
- if verifier = verifier(hmac_secrets.first, token)
32
- return encrypt(key, verifier.data[key]) if verifier.valid?
22
+ plain = decrypt_with_secret(secret, token)
23
+ break if plain
33
24
  end
34
- raise RelishDecryptionFailed
25
+ raise RelishDecryptionFailed unless plain
26
+ plain
35
27
  end
36
28
 
37
29
  def inspect
@@ -48,12 +40,12 @@ class Relish
48
40
  end
49
41
  end
50
42
 
51
- def verifier(secret, token)
52
- Fernet::Legacy.verifier(secret, token).tap do |verifier|
53
- verifier.enforce_ttl = false
54
- verifier.verify_token(token)
55
- end
56
- rescue OpenSSL::Cipher::CipherError
43
+ def decrypt_with_secret(secret, token)
44
+ verifier = Fernet.verifier(secret[0, 32], token)
45
+ verifier.enforce_ttl = false
46
+ return nil unless verifier.valid?
47
+
48
+ verifier.message
57
49
  end
58
50
  end
59
51
  end
@@ -1,5 +1,3 @@
1
1
  class Relish
2
- VERSION = "0.39"
2
+ VERSION = "0.43"
3
3
  end
4
-
5
-
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: relishable
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.39'
4
+ version: '0.43'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mark Fine
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2016-07-27 00:00:00.000000000 Z
14
+ date: 2021-10-19 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: fog-aws
@@ -19,42 +19,42 @@ dependencies:
19
19
  requirements:
20
20
  - - "~>"
21
21
  - !ruby/object:Gem::Version
22
- version: 0.8.0
22
+ version: 3.12.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - "~>"
28
28
  - !ruby/object:Gem::Version
29
- version: 0.8.0
29
+ version: 3.12.0
30
30
  - !ruby/object:Gem::Dependency
31
- name: legacy-fernet
31
+ name: fernet
32
32
  requirement: !ruby/object:Gem::Requirement
33
33
  requirements:
34
34
  - - "~>"
35
35
  - !ruby/object:Gem::Version
36
- version: 1.6.3
36
+ version: '2.3'
37
37
  type: :runtime
38
38
  prerelease: false
39
39
  version_requirements: !ruby/object:Gem::Requirement
40
40
  requirements:
41
41
  - - "~>"
42
42
  - !ruby/object:Gem::Version
43
- version: 1.6.3
43
+ version: '2.3'
44
44
  - !ruby/object:Gem::Dependency
45
45
  name: net-ssh
46
46
  requirement: !ruby/object:Gem::Requirement
47
47
  requirements:
48
48
  - - "~>"
49
49
  - !ruby/object:Gem::Version
50
- version: 3.0.2
50
+ version: 6.1.0
51
51
  type: :runtime
52
52
  prerelease: false
53
53
  version_requirements: !ruby/object:Gem::Requirement
54
54
  requirements:
55
55
  - - "~>"
56
56
  - !ruby/object:Gem::Version
57
- version: 3.0.2
57
+ version: 6.1.0
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: rake
60
60
  requirement: !ruby/object:Gem::Requirement
@@ -75,14 +75,14 @@ dependencies:
75
75
  requirements:
76
76
  - - "~>"
77
77
  - !ruby/object:Gem::Version
78
- version: 3.1.0
78
+ version: 3.10.0
79
79
  type: :development
80
80
  prerelease: false
81
81
  version_requirements: !ruby/object:Gem::Requirement
82
82
  requirements:
83
83
  - - "~>"
84
84
  - !ruby/object:Gem::Version
85
- version: 3.1.0
85
+ version: 3.10.0
86
86
  - !ruby/object:Gem::Dependency
87
87
  name: test-unit
88
88
  requirement: !ruby/object:Gem::Requirement
@@ -103,14 +103,28 @@ dependencies:
103
103
  requirements:
104
104
  - - "~>"
105
105
  - !ruby/object:Gem::Version
106
- version: 1.19.0
106
+ version: 3.14.0
107
107
  type: :development
108
108
  prerelease: false
109
109
  version_requirements: !ruby/object:Gem::Requirement
110
110
  requirements:
111
111
  - - "~>"
112
112
  - !ruby/object:Gem::Version
113
- version: 1.19.0
113
+ version: 3.14.0
114
+ - !ruby/object:Gem::Dependency
115
+ name: pry
116
+ requirement: !ruby/object:Gem::Requirement
117
+ requirements:
118
+ - - ">="
119
+ - !ruby/object:Gem::Version
120
+ version: '0'
121
+ type: :development
122
+ prerelease: false
123
+ version_requirements: !ruby/object:Gem::Requirement
124
+ requirements:
125
+ - - ">="
126
+ - !ruby/object:Gem::Version
127
+ version: '0'
114
128
  description: Release manager.
115
129
  email:
116
130
  - pedro@heroku.com
@@ -147,8 +161,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
147
161
  - !ruby/object:Gem::Version
148
162
  version: '0'
149
163
  requirements: []
150
- rubyforge_project:
151
- rubygems_version: 2.5.1
164
+ rubygems_version: 3.2.29
152
165
  signing_key:
153
166
  specification_version: 4
154
167
  summary: releases