sysrandom 1.0.3-java → 1.0.4-java

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