sysrandom 1.0.3-java → 1.0.4-java

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
2
  SHA1:
3
- metadata.gz: d812ca3fb0df778688c2d76874a023a337f5f1c4
4
- data.tar.gz: 9344ca8db08119375316e6088a54da2470d14368
3
+ metadata.gz: 698ae7c953b7be632ce8c211d38b4588e4fe314e
4
+ data.tar.gz: 822887cfdfd9dd957d49da8b469a80ad72f4882a
5
5
  SHA512:
6
- metadata.gz: f22fb8633a3454f7fef9f2cbd1ea1b3b7128a823a518f3a0bfe44a8025e0ff4fb5a13a8064beb2792e8587c1eae7ad0f8faa60cb91d0fdf1c2931981179f9c6e
7
- data.tar.gz: bfe736acebef9fe868cf41baa05fb9b6ba14df7da1dd8e46d13a2131432155b6d6ddf8b2d8bf61c35b3c81bf7deab8536e2ca90c5de15ae82adee15a830b47b3
6
+ metadata.gz: 16158e0fa2e92f855f5b0dca9857ef26a7614a257a8036c2482d34e94d1bed9f23404d39827242e891628ca9a0777caecfc21cac57c24821d1c495ac3adcee76
7
+ data.tar.gz: 5cc2509e26233d1ccf7446f78433c14568e5c504550ddd8a181402f8b9e3b449bef0295bc87919a2001d38bbd87e34c2400a21b1ca0838af8d8d7c7243283148
@@ -1,9 +1,15 @@
1
1
  sudo: false
2
2
  language: ruby
3
+
4
+ branches:
5
+ only:
6
+ - master
7
+
3
8
  rvm:
4
9
  - 2.0
5
10
  - 2.1
6
11
  - 2.2
7
12
  - 2.3.1
8
13
  - jruby-9.1.1.0
14
+
9
15
  before_install: gem install bundler -v 1.12.3
data/CHANGES.md CHANGED
@@ -1,3 +1,9 @@
1
+ ## 1.0.4 (2016-12-04)
2
+
3
+ * [#15](https://github.com/cryptosphere/sysrandom/pull/16)
4
+ Argument handling fixups.
5
+ ([@tarcieri])
6
+
1
7
  ## 1.0.3 (2016-09-27)
2
8
 
3
9
  * [#14](https://github.com/cryptosphere/sysrandom/pull/14)
data/README.md CHANGED
@@ -1,8 +1,11 @@
1
- # Sysrandom
2
-
3
- [![Gem Version](https://badge.fury.io/rb/sysrandom.svg)](https://rubygems.org/gems/sysrandom)
4
- [![Build Status](https://secure.travis-ci.org/cryptosphere/sysrandom.svg?branch=master)](https://travis-ci.org/cryptosphere/sysrandom)
5
- [![ISC licensed](https://img.shields.io/badge/license-ISC-blue.svg)](https://github.com/cryptosphere/sysrandom/blob/master/LICENSE.txt)
1
+ # Sysrandom [![Gem Version][gem-image]][gem-link] [![Build Status][build-image]][build-link] [![ISC licensed][license-image]][license-link]
2
+
3
+ [gem-image]: https://badge.fury.io/rb/sysrandom.svg
4
+ [gem-link]: https://rubygems.org/gems/sysrandom
5
+ [build-image]: https://secure.travis-ci.org/cryptosphere/sysrandom.svg?branch=master
6
+ [build-link]: https://travis-ci.org/cryptosphere/sysrandom
7
+ [license-image]: https://img.shields.io/badge/license-ISC-blue.svg
8
+ [license-link]: https://github.com/cryptosphere/sysrandom/blob/master/LICENSE.txt
6
9
 
7
10
  Secure random number generation for Ruby using system RNG facilities e.g. `/dev/urandom`, `getrandom(2)`
8
11
 
@@ -58,10 +58,14 @@ Sysrandom_random_bytes(int argc, VALUE * argv, VALUE self)
58
58
  int n;
59
59
 
60
60
  if (rb_scan_args(argc, argv, "01", &n_obj) == 1) {
61
- n = NUM2INT(n_obj);
61
+ if(n_obj == Qnil) {
62
+ n = DEFAULT_N_BYTES;
63
+ } else {
64
+ n = NUM2INT(n_obj);
62
65
 
63
- if(n < 0) {
64
- rb_raise(rb_eArgError, "negative string size");
66
+ if(n < 0) {
67
+ rb_raise(rb_eArgError, "negative string size");
68
+ }
65
69
  }
66
70
  } else {
67
71
  n = DEFAULT_N_BYTES;
@@ -26,7 +26,8 @@ module Sysrandom
26
26
  @_java_secure_random.nextLong & 0xFFFFFFFF
27
27
  end
28
28
 
29
- def random_bytes(n = DEFAULT_LENGTH)
29
+ def random_bytes(n = nil)
30
+ n ||= DEFAULT_LENGTH
30
31
  raise ArgumentError, "negative string size" if n < 0
31
32
  return "" if n == 0
32
33
 
@@ -49,15 +50,16 @@ module Sysrandom
49
50
  end
50
51
  end
51
52
 
52
- def base64(n = DEFAULT_LENGTH)
53
+ def base64(n = nil)
53
54
  Base64.encode64(random_bytes(n)).chomp
54
55
  end
55
56
 
56
- def urlsafe_base64(n = DEFAULT_LENGTH)
57
- Base64.urlsafe_encode64(random_bytes(n)).chomp
57
+ def urlsafe_base64(n = nil, padding = false)
58
+ result = Base64.urlsafe_encode64(random_bytes(n)).chomp
59
+ padding ? result : result.tr("=", "")
58
60
  end
59
61
 
60
- def hex(n = DEFAULT_LENGTH)
62
+ def hex(n = nil)
61
63
  random_bytes(n).unpack("h*").first
62
64
  end
63
65
 
@@ -1,3 +1,3 @@
1
1
  module Sysrandom
2
- VERSION = "1.0.3".freeze
2
+ VERSION = "1.0.4".freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sysrandom
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 1.0.4
5
5
  platform: java
6
6
  authors:
7
7
  - Tony Arcieri
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-09-28 00:00:00.000000000 Z
11
+ date: 2017-01-13 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Sysrandom generates secure random numbers using /dev/urandom, getrandom(), etc
14
14
  email:
@@ -55,7 +55,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
55
55
  version: '0'
56
56
  requirements: []
57
57
  rubyforge_project:
58
- rubygems_version: 2.4.8
58
+ rubygems_version: 2.6.8
59
59
  signing_key:
60
60
  specification_version: 4
61
61
  summary: Secure random number generation using system RNG facilities