attr_encrypted 1.4.0 → 3.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.
@@ -1,5 +1,5 @@
1
1
  # -*- encoding: utf-8 -*-
2
- require File.expand_path('../test_helper', __FILE__)
2
+ require_relative 'test_helper'
3
3
 
4
4
  # Test to ensure that existing representations in database do not break on
5
5
  # migrating to new versions of this gem. This ensures that future versions of
@@ -12,10 +12,14 @@ class LegacyCompatibilityTest < Minitest::Test
12
12
  PET_BIRTHDATE_SALT = Digest::SHA256.hexdigest('my-really-really-secret-pet-birthdate-salt')
13
13
  PET_BIRTHDATE_KEY = 'my-really-really-secret-pet-birthdate-key'
14
14
 
15
+ self.attr_encrypted_options[:insecure_mode] = true
16
+ self.attr_encrypted_options[:algorithm] = 'aes-256-cbc'
17
+ self.attr_encrypted_options[:mode] = :single_iv_and_salt
18
+
15
19
  attr_encrypted :nickname,
16
- :key => proc { Encryptor.encrypt(:value => PET_NICKNAME_SALT, :key => PET_NICKNAME_KEY) }
20
+ :key => proc { Encryptor.encrypt(:value => PET_NICKNAME_SALT, :key => PET_NICKNAME_KEY, insecure_mode: true, algorithm: 'aes-256-cbc') }
17
21
  attr_encrypted :birthdate,
18
- :key => proc { Encryptor.encrypt(:value => PET_BIRTHDATE_SALT, :key => PET_BIRTHDATE_KEY) }
22
+ :key => proc { Encryptor.encrypt(:value => PET_BIRTHDATE_SALT, :key => PET_BIRTHDATE_KEY, insecure_mode: true, algorithm: 'aes-256-cbc') }
19
23
  end
20
24
 
21
25
  class LegacyMarshallingPet < ActiveRecord::Base
@@ -24,12 +28,16 @@ class LegacyCompatibilityTest < Minitest::Test
24
28
  PET_BIRTHDATE_SALT = Digest::SHA256.hexdigest('my-really-really-secret-pet-birthdate-salt')
25
29
  PET_BIRTHDATE_KEY = 'my-really-really-secret-pet-birthdate-key'
26
30
 
31
+ self.attr_encrypted_options[:insecure_mode] = true
32
+ self.attr_encrypted_options[:algorithm] = 'aes-256-cbc'
33
+ self.attr_encrypted_options[:mode] = :single_iv_and_salt
34
+
27
35
  attr_encrypted :nickname,
28
- :key => proc { Encryptor.encrypt(:value => PET_NICKNAME_SALT, :key => PET_NICKNAME_KEY) },
29
- :marshal => true
36
+ :key => proc { Encryptor.encrypt(:value => PET_NICKNAME_SALT, :key => PET_NICKNAME_KEY, insecure_mode: true, algorithm: 'aes-256-cbc') },
37
+ :marshal => true
30
38
  attr_encrypted :birthdate,
31
- :key => proc { Encryptor.encrypt(:value => PET_BIRTHDATE_SALT, :key => PET_BIRTHDATE_KEY) },
32
- :marshal => true
39
+ :key => proc { Encryptor.encrypt(:value => PET_BIRTHDATE_SALT, :key => PET_BIRTHDATE_KEY, insecure_mode: true, algorithm: 'aes-256-cbc') },
40
+ :marshal => true
33
41
  end
34
42
 
35
43
  def setup
@@ -50,55 +58,36 @@ class LegacyCompatibilityTest < Minitest::Test
50
58
  end
51
59
 
52
60
  def test_marshalling_backwards_compatibility
53
- # Marshalling formats changed significantly from Ruby 1.8.7 to 1.9.3.
54
- # Also, Date class did not correctly support marshalling pre-1.9.3, so here
55
- # we just marshal it as a string in the Ruby 1.8.7 case.
56
- if RUBY_VERSION < '1.9.3'
57
- pet = LegacyMarshallingPet.create!(
58
- :name => 'Fido',
59
- :encrypted_nickname => 'xhayxWxfkfbNyOS2w1qBMPV49Gfvs6dcZFBopMK2zQA=',
60
- :encrypted_birthdate => 'f4ufXun4GXzahH4MQ1eTBQ=='
61
- )
62
- else
63
- pet = LegacyMarshallingPet.create!(
64
- :name => 'Fido',
65
- :encrypted_nickname => '7RwoT64in4H+fGVBPYtRcN0K4RtriIy1EP4nDojUa8g=',
66
- :encrypted_birthdate => 'bSp9sJhXQSp2QlNZHiujtcK4lRVBE8HQhn1y7moQ63bGJR20hvRSZ73ePAmm+wc5'
67
- )
68
- end
61
+ pet = LegacyMarshallingPet.create!(
62
+ :name => 'Fido',
63
+ :encrypted_nickname => '7RwoT64in4H+fGVBPYtRcN0K4RtriIy1EP4nDojUa8g=',
64
+ :encrypted_birthdate => 'bSp9sJhXQSp2QlNZHiujtcK4lRVBE8HQhn1y7moQ63bGJR20hvRSZ73ePAmm+wc5'
65
+ )
69
66
 
70
67
  assert_equal 'Fido', pet.name
71
68
  assert_equal 'Mummy\'s little helper', pet.nickname
72
69
 
73
- # See earlier comment.
74
- if RUBY_VERSION < '1.9.3'
75
- assert_equal '2011-07-09', pet.birthdate
76
- else
77
- assert_equal Date.new(2011, 7, 9), pet.birthdate
78
- end
70
+ assert_equal Date.new(2011, 7, 9), pet.birthdate
79
71
  end
80
72
 
81
73
  private
82
74
 
83
75
  def create_tables
84
- silence_stream(STDOUT) do
85
- ActiveRecord::Schema.define(:version => 1) do
86
- create_table :legacy_nonmarshalling_pets do |t|
87
- t.string :name
88
- t.string :encrypted_nickname
89
- t.string :encrypted_birthdate
90
- t.string :salt
91
- end
92
- create_table :legacy_marshalling_pets do |t|
93
- t.string :name
94
- t.string :encrypted_nickname
95
- t.string :encrypted_birthdate
96
- t.string :salt
97
- end
76
+ ActiveRecord::Schema.define(:version => 1) do
77
+ create_table :legacy_nonmarshalling_pets do |t|
78
+ t.string :name
79
+ t.string :encrypted_nickname
80
+ t.string :encrypted_birthdate
81
+ t.string :salt
82
+ end
83
+ create_table :legacy_marshalling_pets do |t|
84
+ t.string :name
85
+ t.string :encrypted_nickname
86
+ t.string :encrypted_birthdate
87
+ t.string :salt
98
88
  end
99
89
  end
100
90
  end
101
91
  end
102
92
 
103
93
  ActiveRecord::Base.establish_connection :adapter => 'sqlite3', :database => ':memory:'
104
-
@@ -1,17 +1,20 @@
1
- require File.expand_path('../test_helper', __FILE__)
1
+ require_relative 'test_helper'
2
2
 
3
3
  DataMapper.setup(:default, 'sqlite3::memory:')
4
4
 
5
5
  class LegacyClient
6
6
  include DataMapper::Resource
7
+ self.attr_encrypted_options[:insecure_mode] = true
8
+ self.attr_encrypted_options[:algorithm] = 'aes-256-cbc'
9
+ self.attr_encrypted_options[:mode] = :single_iv_and_salt
7
10
 
8
11
  property :id, Serial
9
12
  property :encrypted_email, String
10
13
  property :encrypted_credentials, Text
11
14
  property :salt, String
12
15
 
13
- attr_encrypted :email, :key => 'a secret key'
14
- attr_encrypted :credentials, :key => Proc.new { |client| Encryptor.encrypt(:value => client.salt, :key => 'some private key') }, :marshal => true
16
+ attr_encrypted :email, :key => 'a secret key', mode: :single_iv_and_salt
17
+ attr_encrypted :credentials, :key => Proc.new { |client| Encryptor.encrypt(:value => client.salt, :key => 'some private key', insecure_mode: true, algorithm: 'aes-256-cbc') }, :marshal => true, mode: :single_iv_and_salt
15
18
 
16
19
  def initialize(attrs = {})
17
20
  super attrs
@@ -1,4 +1,4 @@
1
- require File.expand_path('../test_helper', __FILE__)
1
+ require_relative 'test_helper'
2
2
 
3
3
  DB.create_table :legacy_humans do
4
4
  primary_key :id
@@ -8,9 +8,13 @@ DB.create_table :legacy_humans do
8
8
  column :salt, :string
9
9
  end
10
10
 
11
- class LegacyHuman < Sequel::Model(:legacy_humans)
12
- attr_encrypted :email, :key => 'a secret key'
13
- attr_encrypted :credentials, :key => Proc.new { |human| Encryptor.encrypt(:value => human.salt, :key => 'some private key') }, :marshal => true
11
+ class LegacyHuman < Sequel::Model(:legacy_humans)
12
+ self.attr_encrypted_options[:insecure_mode] = true
13
+ self.attr_encrypted_options[:algorithm] = 'aes-256-cbc'
14
+ self.attr_encrypted_options[:mode] = :single_iv_and_salt
15
+
16
+ attr_encrypted :email, :key => 'a secret key', mode: :single_iv_and_salt
17
+ attr_encrypted :credentials, :key => Proc.new { |human| Encryptor.encrypt(:value => human.salt, :key => 'some private key', insecure_mode: true, algorithm: 'aes-256-cbc') }, :marshal => true, mode: :single_iv_and_salt
14
18
 
15
19
  def after_initialize(attrs = {})
16
20
  self.salt ||= Digest::SHA1.hexdigest((Time.now.to_i * rand(5)).to_s)
data/test/run.sh CHANGED
@@ -1,52 +1,12 @@
1
- #!/bin/sh
2
-
3
- set -e
4
-
5
- export RBENV_VERSION=ree-1.8.7-2012.02
6
- rbenv version
7
-
8
- export ACTIVERECORD=2.3.8
9
- bundle
10
- bundle exec rake
11
- export ACTIVERECORD=3.0.0
12
- bundle
13
- bundle exec rake
14
- export ACTIVERECORD=3.1.0
15
- bundle
16
- bundle exec rake
17
- export ACTIVERECORD=3.2.0
18
- bundle
19
- bundle exec rake
20
-
21
- export RBENV_VERSION=1.9.3-p484
22
- rbenv version
23
-
24
- export ACTIVERECORD=3.0.0
25
- bundle
26
- bundle exec rake
27
- export ACTIVERECORD=3.1.0
28
- bundle
29
- bundle exec rake
30
- export ACTIVERECORD=3.2.0
31
- bundle
32
- bundle exec rake
33
- export ACTIVERECORD=4.0.0
34
- bundle
35
- bundle exec rake
36
-
37
- export RBENV_VERSION=2.0.0-p353
38
- rbenv version
39
-
40
- export ACTIVERECORD=3.2.0
41
- bundle
42
- bundle exec rake
43
- export ACTIVERECORD=4.0.0
44
- bundle
45
- bundle exec rake
46
-
47
- export RBENV_VERSION=2.1.0
48
- rbenv version
49
-
50
- export ACTIVERECORD=4.0.0
51
- bundle
52
- bundle exec rake
1
+ #!/usr/bin/env sh -e
2
+
3
+ for RUBY in 1.9.3 2.0.0 2.1 2.2
4
+ do
5
+ for RAILS in 2.3.8 3.0.0 3.1.0 3.2.0 4.0.0 4.1.0 4.2.0
6
+ do
7
+ if [[ $RUBY -gt 1.9.3 && $RAILS -lt 4.0.0 ]]; then
8
+ continue
9
+ fi
10
+ RBENV_VERSION=$RUBY ACTIVERECORD=$RAILS bundle && bundle exec rake
11
+ done
12
+ done
data/test/sequel_test.rb CHANGED
@@ -1,4 +1,4 @@
1
- require File.expand_path('../test_helper', __FILE__)
1
+ require_relative 'test_helper'
2
2
 
3
3
  DB.create_table :humans do
4
4
  primary_key :id
data/test/test_helper.rb CHANGED
@@ -1,35 +1,42 @@
1
- if RUBY_VERSION >= '1.9.3'
2
- require 'simplecov'
3
- require 'simplecov-rcov'
1
+ require 'simplecov'
2
+ require 'simplecov-rcov'
3
+ require "codeclimate-test-reporter"
4
4
 
5
- SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
5
+ SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter.new(
6
+ [
6
7
  SimpleCov::Formatter::HTMLFormatter,
7
8
  SimpleCov::Formatter::RcovFormatter,
9
+ CodeClimate::TestReporter::Formatter
8
10
  ]
11
+ )
9
12
 
10
- SimpleCov.start do
11
- add_filter 'test'
12
- end
13
+ SimpleCov.start do
14
+ add_filter 'test'
13
15
  end
14
16
 
17
+ CodeClimate::TestReporter.start
18
+
15
19
  require 'minitest/autorun'
16
- require 'digest/sha2'
17
- require 'rubygems'
18
- gem 'activerecord', ENV['ACTIVE_RECORD_VERSION'] if ENV['ACTIVE_RECORD_VERSION']
20
+
21
+ # Rails 4.0.x pins to an old minitest
22
+ unless defined?(MiniTest::Test)
23
+ MiniTest::Test = MiniTest::Unit::TestCase
24
+ end
25
+
19
26
  require 'active_record'
20
27
  require 'data_mapper'
28
+ require 'digest/sha2'
21
29
  require 'sequel'
22
- require 'mocha/test_unit'
23
30
 
24
31
  $:.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
25
32
  $:.unshift(File.dirname(__FILE__))
26
33
  require 'attr_encrypted'
27
34
 
28
- puts "\nTesting with ActiveRecord #{ActiveRecord::VERSION::STRING rescue ENV['ACTIVE_RECORD_VERSION']}"
29
-
30
- Minitest::Test = Minitest::Unit::TestCase if ActiveRecord::VERSION::STRING >= '4.0.0'
31
-
32
- DB = Sequel.sqlite
35
+ DB = if defined?(RUBY_ENGINE) && RUBY_ENGINE.to_sym == :jruby
36
+ Sequel.jdbc('jdbc:sqlite::memory:')
37
+ else
38
+ Sequel.sqlite
39
+ end
33
40
 
34
41
  # The :after_initialize hook was removed in Sequel 4.0
35
42
  # and had been deprecated for a while before that:
@@ -37,5 +44,8 @@ DB = Sequel.sqlite
37
44
  # This plugin re-enables it.
38
45
  Sequel::Model.plugin :after_initialize
39
46
 
40
- SECRET_KEY = 4.times.map { Digest::SHA256.hexdigest((Time.now.to_i * rand(5)).to_s) }.join
47
+ SECRET_KEY = SecureRandom.random_bytes(32)
41
48
 
49
+ def base64_encoding_regex
50
+ /^(?:[A-Za-z0-9+\/]{4})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=|[A-Za-z0-9+\/]{4})$/
51
+ end
data.tar.gz.sig ADDED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: attr_encrypted
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 3.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sean Huber
@@ -10,8 +10,30 @@ authors:
10
10
  - Stephen Aghaulor
11
11
  autorequire:
12
12
  bindir: bin
13
- cert_chain: []
14
- date: 2016-02-23 00:00:00.000000000 Z
13
+ cert_chain:
14
+ - |
15
+ -----BEGIN CERTIFICATE-----
16
+ MIIDdDCCAlygAwIBAgIBATANBgkqhkiG9w0BAQUFADBAMRIwEAYDVQQDDAlzYWdo
17
+ YXVsb3IxFTATBgoJkiaJk/IsZAEZFgVnbWFpbDETMBEGCgmSJomT8ixkARkWA2Nv
18
+ bTAeFw0xNjAxMTEyMjQyMDFaFw0xNzAxMTAyMjQyMDFaMEAxEjAQBgNVBAMMCXNh
19
+ Z2hhdWxvcjEVMBMGCgmSJomT8ixkARkWBWdtYWlsMRMwEQYKCZImiZPyLGQBGRYD
20
+ Y29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx0xdQYk2GwCpQ1n/
21
+ n2mPVYHLYqU5TAn/82t5kbqBUWjbcj8tHAi41tJ19+fT/hH0dog8JHvho1zmOr71
22
+ ZIqreJQo60TqP6oE9a5HncUpjqbRp7tOmHo9E+mOW1yT4NiXqFf1YINExQKy2XND
23
+ WPQ+T50ZNUsGMfHFWB4NAymejRWXlOEY3bvKW0UHFeNmouP5he51TjoP8uCc9536
24
+ 4AIWVP/zzzjwrFtC7av7nRw4Y+gX2bQjrkK2k2JS0ejiGzKBIEMJejcI2B+t79zT
25
+ kUQq9SFwp2BrKSIy+4kh4CiF20RT/Hfc1MbvTxSIl/bbIxCYEOhmtHExHi0CoCWs
26
+ YCGCXQIDAQABo3kwdzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQU
27
+ SCpVzSBvYbO6B3oT3n3RCZmurG8wHgYDVR0RBBcwFYETc2FnaGF1bG9yQGdtYWls
28
+ LmNvbTAeBgNVHRIEFzAVgRNzYWdoYXVsb3JAZ21haWwuY29tMA0GCSqGSIb3DQEB
29
+ BQUAA4IBAQAeiGdC3e0WiZpm0cF/b7JC6hJYXC9Yv9VsRAWD9ROsLjFKwOhmonnc
30
+ +l/QrmoTjMakYXBCai/Ca3L+k5eRrKilgyITILsmmFxK8sqPJXUw2Jmwk/dAky6x
31
+ hHKVZAofT1OrOOPJ2USoZyhR/VI8epLaD5wUmkVDNqtZWviW+dtRa55aPYjRw5Pj
32
+ wuj9nybhZr+BbEbmZE//2nbfkM4hCuMtxxxilPrJ22aYNmeWU0wsPpDyhPYxOUgU
33
+ ZjeLmnSDiwL6doiP5IiwALH/dcHU67ck3NGf6XyqNwQrrmtPY0mv1WVVL4Uh+vYE
34
+ kHoFzE2no0BfBg78Re8fY69P5yES5ncC
35
+ -----END CERTIFICATE-----
36
+ date: 2016-07-22 00:00:00.000000000 Z
15
37
  dependencies:
16
38
  - !ruby/object:Gem::Dependency
17
39
  name: encryptor
@@ -19,14 +41,14 @@ dependencies:
19
41
  requirements:
20
42
  - - "~>"
21
43
  - !ruby/object:Gem::Version
22
- version: 1.3.0
44
+ version: 3.0.0
23
45
  type: :runtime
24
46
  prerelease: false
25
47
  version_requirements: !ruby/object:Gem::Requirement
26
48
  requirements:
27
49
  - - "~>"
28
50
  - !ruby/object:Gem::Version
29
- version: 1.3.0
51
+ version: 3.0.0
30
52
  - !ruby/object:Gem::Dependency
31
53
  name: activerecord
32
54
  requirement: !ruby/object:Gem::Requirement
@@ -42,19 +64,19 @@ dependencies:
42
64
  - !ruby/object:Gem::Version
43
65
  version: 2.0.0
44
66
  - !ruby/object:Gem::Dependency
45
- name: minitest
67
+ name: actionpack
46
68
  requirement: !ruby/object:Gem::Requirement
47
69
  requirements:
48
70
  - - ">="
49
71
  - !ruby/object:Gem::Version
50
- version: '0'
72
+ version: 2.0.0
51
73
  type: :development
52
74
  prerelease: false
53
75
  version_requirements: !ruby/object:Gem::Requirement
54
76
  requirements:
55
77
  - - ">="
56
78
  - !ruby/object:Gem::Version
57
- version: '0'
79
+ version: 2.0.0
58
80
  - !ruby/object:Gem::Dependency
59
81
  name: datamapper
60
82
  requirement: !ruby/object:Gem::Requirement
@@ -70,33 +92,33 @@ dependencies:
70
92
  - !ruby/object:Gem::Version
71
93
  version: '0'
72
94
  - !ruby/object:Gem::Dependency
73
- name: addressable
95
+ name: rake
74
96
  requirement: !ruby/object:Gem::Requirement
75
97
  requirements:
76
- - - '='
98
+ - - ">="
77
99
  - !ruby/object:Gem::Version
78
- version: 2.3.7
100
+ version: '0'
79
101
  type: :development
80
102
  prerelease: false
81
103
  version_requirements: !ruby/object:Gem::Requirement
82
104
  requirements:
83
- - - '='
105
+ - - ">="
84
106
  - !ruby/object:Gem::Version
85
- version: 2.3.7
107
+ version: '0'
86
108
  - !ruby/object:Gem::Dependency
87
- name: mocha
109
+ name: minitest
88
110
  requirement: !ruby/object:Gem::Requirement
89
111
  requirements:
90
- - - "~>"
112
+ - - ">="
91
113
  - !ruby/object:Gem::Version
92
- version: 1.0.0
114
+ version: '0'
93
115
  type: :development
94
116
  prerelease: false
95
117
  version_requirements: !ruby/object:Gem::Requirement
96
118
  requirements:
97
- - - "~>"
119
+ - - ">="
98
120
  - !ruby/object:Gem::Version
99
- version: 1.0.0
121
+ version: '0'
100
122
  - !ruby/object:Gem::Dependency
101
123
  name: sequel
102
124
  requirement: !ruby/object:Gem::Requirement
@@ -140,21 +162,21 @@ dependencies:
140
162
  - !ruby/object:Gem::Version
141
163
  version: '0'
142
164
  - !ruby/object:Gem::Dependency
143
- name: rake
165
+ name: simplecov
144
166
  requirement: !ruby/object:Gem::Requirement
145
167
  requirements:
146
- - - '='
168
+ - - ">="
147
169
  - !ruby/object:Gem::Version
148
- version: 0.9.2.2
170
+ version: '0'
149
171
  type: :development
150
172
  prerelease: false
151
173
  version_requirements: !ruby/object:Gem::Requirement
152
174
  requirements:
153
- - - '='
175
+ - - ">="
154
176
  - !ruby/object:Gem::Version
155
- version: 0.9.2.2
177
+ version: '0'
156
178
  - !ruby/object:Gem::Dependency
157
- name: simplecov
179
+ name: simplecov-rcov
158
180
  requirement: !ruby/object:Gem::Requirement
159
181
  requirements:
160
182
  - - ">="
@@ -168,7 +190,7 @@ dependencies:
168
190
  - !ruby/object:Gem::Version
169
191
  version: '0'
170
192
  - !ruby/object:Gem::Dependency
171
- name: simplecov-rcov
193
+ name: codeclimate-test-reporter
172
194
  requirement: !ruby/object:Gem::Requirement
173
195
  requirements:
174
196
  - - ">="
@@ -183,7 +205,7 @@ dependencies:
183
205
  version: '0'
184
206
  description: Generates attr_accessors that encrypt and decrypt attributes transparently
185
207
  email:
186
- - shuber@huberry.com
208
+ - seah@shuber.io
187
209
  - sbfaulkner@gmail.com
188
210
  - billy.monk@gmail.com
189
211
  - saghaulor@gmail.com
@@ -191,9 +213,21 @@ executables: []
191
213
  extensions: []
192
214
  extra_rdoc_files: []
193
215
  files:
216
+ - ".gitignore"
217
+ - ".travis.yml"
218
+ - CHANGELOG.md
219
+ - Gemfile
194
220
  - MIT-LICENSE
195
- - README.rdoc
221
+ - README.md
196
222
  - Rakefile
223
+ - attr_encrypted.gemspec
224
+ - certs/saghaulor.pem
225
+ - checksum/attr_encrypted-3.0.0.gem.sha256
226
+ - checksum/attr_encrypted-3.0.0.gem.sha512
227
+ - checksum/attr_encrypted-3.0.1.gem.sha256
228
+ - checksum/attr_encrypted-3.0.1.gem.sha512
229
+ - checksum/attr_encrypted-3.0.2.gem.sha256
230
+ - checksum/attr_encrypted-3.0.2.gem.sha512
197
231
  - lib/attr_encrypted.rb
198
232
  - lib/attr_encrypted/adapters/active_record.rb
199
233
  - lib/attr_encrypted/adapters/data_mapper.rb
@@ -214,7 +248,19 @@ files:
214
248
  homepage: http://github.com/attr-encrypted/attr_encrypted
215
249
  licenses: []
216
250
  metadata: {}
217
- post_install_message:
251
+ post_install_message: |2+
252
+
253
+
254
+
255
+ WARNING: Several insecure default options and features were deprecated in attr_encrypted v2.0.0.
256
+
257
+ Additionally, there was a bug in Encryptor v2.0.0 that insecurely encrypted data when using an AES-*-GCM algorithm.
258
+
259
+ This bug was fixed but introduced breaking changes between v2.x and v3.x.
260
+
261
+ Please see the README for more information regarding upgrading to attr_encrypted v3.0.0.
262
+
263
+
218
264
  rdoc_options:
219
265
  - "--line-numbers"
220
266
  - "--inline-source"
@@ -226,7 +272,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
226
272
  requirements:
227
273
  - - ">="
228
274
  - !ruby/object:Gem::Version
229
- version: '0'
275
+ version: 2.0.0
230
276
  required_rubygems_version: !ruby/object:Gem::Requirement
231
277
  requirements:
232
278
  - - ">="
metadata.gz.sig ADDED
Binary file