ffi-libsodium 0.2.1 → 0.2.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/sodium/secret_buffer.rb +2 -10
- data/lib/sodium/utils.rb +2 -2
- data/lib/sodium/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fdc92d489a260705153ce0494e12e0f1289e05ba
|
4
|
+
data.tar.gz: 9fcd924e4c32a968b4a289c5f83205ec22c482d9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2b0997acf74a10f0d18eb4fb72db925e38ddd69d7da98b198cc04b6d3f206ebf9d44a4ed34491c88432e0f304138cc2ee26044f9d551dde2b6e3d843ba621091
|
7
|
+
data.tar.gz: b1ece50e6cd1af7c61edf6ca14ae0c77a516ca8382d52a321c0ff9dae1c44596fac4c03983cfe55ab66859be75a7923c7807af1e56cc00214a5daca9510a779c
|
data/lib/sodium/secret_buffer.rb
CHANGED
@@ -13,13 +13,13 @@ module Sodium
|
|
13
13
|
def initialize(size)
|
14
14
|
@size = Integer(size)
|
15
15
|
@to_ptr = Sodium.malloc(@size)
|
16
|
-
|
16
|
+
ObjectSpace.define_finalizer(@to_ptr, self.class.free(@to_ptr.address))
|
17
17
|
end
|
18
18
|
|
19
19
|
def free
|
20
|
-
remove_finalizer
|
21
20
|
Sodium::Mprotect.readonly(@to_ptr)
|
22
21
|
Sodium.free(@to_ptr)
|
22
|
+
ObjectSpace.undefine_finalizer @to_ptr
|
23
23
|
remove_instance_variable(:@size)
|
24
24
|
remove_instance_variable(:@to_ptr)
|
25
25
|
true
|
@@ -39,14 +39,6 @@ module Sodium
|
|
39
39
|
|
40
40
|
private
|
41
41
|
|
42
|
-
def setup_finalizer
|
43
|
-
ObjectSpace.define_finalizer(@to_ptr, self.class.free(@to_ptr.address))
|
44
|
-
end
|
45
|
-
|
46
|
-
def remove_finalizer
|
47
|
-
ObjectSpace.undefine_finalizer @to_ptr
|
48
|
-
end
|
49
|
-
|
50
42
|
def self.free(address)
|
51
43
|
->(obj_id) do
|
52
44
|
ptr = FFI::Pointer.new(address)
|
data/lib/sodium/utils.rb
CHANGED
@@ -16,13 +16,13 @@ module Sodium
|
|
16
16
|
|
17
17
|
def check_length(data, length, description)
|
18
18
|
if data.respond_to?(:bytesize)
|
19
|
-
data.bytesize == length || fail(LengthError, "Expected a length=#{length} bytes #{description}, got
|
19
|
+
data.bytesize == length || fail(LengthError, "Expected a length=#{length} bytes #{description}, got bytesize=#{data.bytesize} bytes", caller)
|
20
20
|
else
|
21
21
|
data.size == length || fail(LengthError, "Expected a length=#{length} bytes #{description}, got size=#{data.size} bytes", caller)
|
22
22
|
end
|
23
23
|
end
|
24
24
|
|
25
|
-
ZERO = "\0".
|
25
|
+
ZERO = "\0".encode(Encoding::ASCII_8BIT).freeze
|
26
26
|
|
27
27
|
def zeros(n)
|
28
28
|
ZERO * n
|
data/lib/sodium/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ffi-libsodium
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hendrik Beskow
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-12-
|
11
|
+
date: 2014-12-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ffi
|