pkcs11 0.3.2 → 0.3.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 47cf0846032fa4195445f11d2ed667ef25696d713c8093a0f9d2107ae1873d59
4
- data.tar.gz: 2ed990c095b4a1523c86ac34f912f28f2f08f372f9450dbf4656d8ba4ce4d289
3
+ metadata.gz: 0fb60ecaa0300930499d7783396ff4f471174f6bca63a97082208baaa9d3521b
4
+ data.tar.gz: c3019089cd8d0a8c2aed6d11f8a3f3b55d688c199ea62fb85b385e195e98494c
5
5
  SHA512:
6
- metadata.gz: bf7312e8a33c520a4fce0afd823654130c1bc78632ff314ea871f4752db9420d6eb17191d86c1665139bce460b5e97b243321440e1a568821a7039cfb7241a50
7
- data.tar.gz: b5b901d6014dde392c0cd67dff23452f6bc6700decd13cf31fe447aebc3e011d1227ce52a47d3bc7c003ced3d1d2b537821cbe856e1baed9592bbb7f185a9415
6
+ metadata.gz: d3f00f7d6fa0b386477b06de8e1fe30257f0fb4e625c7661ca90bad46fee20449d3f2b17ce71c132f11c3f2d11ed2aa8e27cbfb8c6000cb33d23c4a10d6a2aee
7
+ data.tar.gz: af86c163e05b8d7e850563fa724901bad4a6ed395a712b2c7f6a0a5dfc1c65352bd729d0f722d00b52db33f19bd8e4884d3ac26cbf5eda8f3c6db0c2bdfb6d73
Binary file
data.tar.gz.sig CHANGED
Binary file
@@ -18,10 +18,14 @@ install:
18
18
  - ps: |
19
19
  if ($env:ruby_version -like "*x64*") {
20
20
  $(new-object net.webclient).DownloadFile('http://ftp.mozilla.org/pub/firefox/releases/68.3.0esr/win64/en-US/Firefox%20Setup%2068.3.0esr.exe', 'C:/firefox-setup.exe')
21
- cmd /c "C:/firefox-setup.exe" -ms
22
21
  $env:SOFTOKN_PATH = 'C:/Program Files/Mozilla Firefox/softokn3.dll'
23
22
  $env:PATH = 'C:/Program Files/Mozilla Firefox;' + $env:PATH
23
+ } else {
24
+ $(new-object net.webclient).DownloadFile('http://ftp.mozilla.org/pub/firefox/releases/68.3.0esr/win32/en-US/Firefox%20Setup%2068.3.0esr.exe', 'C:/firefox-setup.exe')
25
+ $env:SOFTOKN_PATH = 'C:/Program Files (x86)/Mozilla Firefox/softokn3.dll'
26
+ $env:PATH = 'C:/Program Files (x86)/Mozilla Firefox;' + $env:PATH
24
27
  }
28
+ cmd /c "C:/firefox-setup.exe" -ms
25
29
 
26
30
  build: off
27
31
 
data/.gitignore CHANGED
@@ -4,14 +4,22 @@ ext/pk11_struct_def.inc
4
4
  ext/pk11_struct_impl.inc
5
5
  ext/pk11_thread_funcs.c
6
6
  ext/pk11_thread_funcs.h
7
+ pkcs11_luna/ext/generate_constants.rb
8
+ pkcs11_luna/ext/generate_structs.rb
9
+ pkcs11_luna/ext/pk11_const_macros.h
10
+ pkcs11_luna/ext/pk11_struct_macros.h
11
+ pkcs11_luna/ext/pk11_version.h
12
+ pkcs11_luna/ext/std_structs.rb
13
+ pkcs11_luna/pkg/
14
+ pkcs11_protect_server/ext/generate_constants.rb
15
+ pkcs11_protect_server/ext/generate_structs.rb
7
16
  pkcs11_protect_server/ext/pk11_const_macros.h
8
17
  pkcs11_protect_server/ext/pk11_struct_macros.h
9
18
  pkcs11_protect_server/ext/pk11_version.h
10
- pkcs11_protect_server/ext/pk11s_const_def.inc
11
- pkcs11_protect_server/ext/pk11s_struct.doc
12
- pkcs11_protect_server/ext/pk11s_struct_def.inc
13
- pkcs11_protect_server/ext/pk11s_struct_impl.inc
19
+ pkcs11_protect_server/ext/std_structs.rb
20
+ pkcs11_protect_server/pkg/
14
21
  *.so
15
22
  Gemfile.lock
16
23
  tmp
17
24
  Manifest.txt
25
+ pkg/
data/Gemfile CHANGED
@@ -11,6 +11,6 @@ gem "rake-compiler-dock", "~>0.6.2", :group => [:development, :test]
11
11
  gem "minitest", "~>5.7", :group => [:development, :test]
12
12
  gem "hoe-bundler", "~>1.0", :group => [:development, :test]
13
13
  gem "rdoc", ">=4.0", "<7", :group => [:development, :test]
14
- gem "hoe", "~>3.20", :group => [:development, :test]
14
+ gem "hoe", "~>3.22", :group => [:development, :test]
15
15
 
16
16
  # vim: syntax=ruby
@@ -1,5 +1,12 @@
1
- === 0.3.2 / 2020-01-11
1
+ === 0.3.3 / 2020-11-07
2
2
 
3
+ * Fix possible segfault on GC pressure at startup
4
+ * Move CI from http://travis-ci.org to https://travis-ci.com
5
+
6
+ === 0.3.2 / 2020-01-12
7
+
8
+ * pkcs11_protect_server, pkcs11_luna: Move parsing of vendor header files to gem installation.
9
+ This fixes possible compile errors, if the version of vendor header files differ between gem build and gem install.
3
10
  * pkcs11_luna: Workaround invalid UTF-8 encoding in cryptoki_v2.h of some Luna Client versions.
4
11
 
5
12
  === 0.3.1 / 2020-01-07
@@ -1,11 +1,11 @@
1
- {<img src="https://travis-ci.org/larskanis/pkcs11.svg?branch=master" alt="Build Status" />}[https://travis-ci.org/larskanis/pkcs11]
2
- {<img src="https://ci.appveyor.com/api/projects/status/8m7ugl1ogijw1c8c?svg=true" alt="Build Status" />}[https://ci.appveyor.com/project/larskanis/pkcs11]
3
-
4
1
  = PKCS #11/Ruby Interface
5
2
 
6
3
  home :: http://github.com/larskanis/pkcs11
7
4
  API documentation :: http://rubydoc.info/gems/pkcs11/frames
8
5
 
6
+ {<img src="https://travis-ci.com/larskanis/pkcs11.svg?branch=master" alt="Build Status" />}[https://travis-ci.com/larskanis/pkcs11]
7
+ {<img src="https://ci.appveyor.com/api/projects/status/8m7ugl1ogijw1c8c?svg=true" alt="Build Status" />}[https://ci.appveyor.com/project/larskanis/pkcs11]
8
+
9
9
  This module allows Ruby programs to interface with "RSA Security Inc.
10
10
  PKCS #11 Cryptographic Token Interface (Cryptoki)".
11
11
  PKCS #11 is the de-facto standard to access cryptographic devices.
data/Rakefile CHANGED
@@ -24,6 +24,12 @@ Hoe.plugin :bundler
24
24
  # Build a Manifest file to satisfy hoe.
25
25
  IO.write("Manifest.txt", `git ls-files`)
26
26
 
27
+ # Ensure pkg is rebuilt
28
+ task :remove_pkg do
29
+ rm_rf 'pkg'
30
+ end
31
+ task :gem => [:remove_pkg]
32
+
27
33
  hoe = Hoe.spec 'pkcs11' do
28
34
  developer('Ryosuke Kutsuna', 'ryosuke@deer-n-horse.jp')
29
35
  developer('GOTOU Yuuzou', 'gotoyuzo@notwork.org')
@@ -12,7 +12,7 @@ class ConstantParser
12
12
  def self.run(argv)
13
13
  s = self.new
14
14
  options = Struct.new(:verbose, :const, :files).new
15
- OptionParser.new(argv) do |opts|
15
+ OptionParser.new do |opts|
16
16
  opts.banner = "Usage: #{$0} [options] <header-file.h>*"
17
17
 
18
18
  opts.on("-v", "--[no-]verbose", "Run verbosely", &options.method(:verbose=))
@@ -21,7 +21,7 @@ class ConstantParser
21
21
  puts opts
22
22
  exit
23
23
  end
24
- end.parse!
24
+ end.parse!(argv)
25
25
  options.files = argv
26
26
  s.options = options
27
27
  s.start!
@@ -15,7 +15,7 @@ class StructParser
15
15
  def self.run(argv)
16
16
  s = self.new
17
17
  options = Struct.new(:verbose, :def, :impl, :doc, :files).new
18
- OptionParser.new(argv) do |opts|
18
+ OptionParser.new do |opts|
19
19
  opts.banner = "Usage: #{$0} [options] <header-file.h>*"
20
20
 
21
21
  opts.on("-v", "--[no-]verbose", "Run verbosely", &options.method(:verbose=))
@@ -26,7 +26,7 @@ class StructParser
26
26
  puts opts
27
27
  exit
28
28
  end
29
- end.parse!
29
+ end.parse!(argv)
30
30
  options.files = argv
31
31
  s.options = options
32
32
  s.start!
data/ext/pk11.c CHANGED
@@ -1501,11 +1501,11 @@ cCK_MECHANISM_initialize(int argc, VALUE *argv, VALUE self)
1501
1501
  }
1502
1502
 
1503
1503
  /* rb_define_method(cCK_MECHANISM, "mechanism", cCK_MECHANISM_get_mechanism, 0); */
1504
- /* rb_define_method(cCK_MECHANISM, "mechanism=", cCK_MECHANISM_set_mechanism, 0); */
1504
+ /* rb_define_method(cCK_MECHANISM, "mechanism=", cCK_MECHANISM_set_mechanism, 1); */
1505
1505
  PKCS11_IMPLEMENT_ULONG_ACCESSOR(CK_MECHANISM, mechanism);
1506
1506
 
1507
1507
  /* rb_define_method(cCK_MECHANISM, "pParameter", cCK_MECHANISM_get_pParameter, 0); */
1508
- /* rb_define_method(cCK_MECHANISM, "pParameter=", cCK_MECHANISM_set_pParameter, 0); */
1508
+ /* rb_define_method(cCK_MECHANISM, "pParameter=", cCK_MECHANISM_set_pParameter, 1); */
1509
1509
  /* @see PKCS11::CK_MECHANISM#initialize */
1510
1510
  static VALUE
1511
1511
  cCK_MECHANISM_get_pParameter(VALUE self)
@@ -170,14 +170,15 @@ Init_pkcs11_const(VALUE cPKCS11, VALUE ePKCS11Error)
170
170
  PKCS11_DEFINE_CONST(CKZ_DATA_SPECIFIED);
171
171
  PKCS11_DEFINE_CONST(CKZ_SALT_SPECIFIED);
172
172
 
173
- vOBJECT_CLASSES = rb_hash_new();
174
- vATTRIBUTES = rb_hash_new();
175
- vMECHANISMS = rb_hash_new();
176
- vRETURN_VALUES = rb_hash_new();
177
- rb_define_const(cPKCS11, "OBJECT_CLASSES", vOBJECT_CLASSES);
178
- rb_define_const(cPKCS11, "ATTRIBUTES", vATTRIBUTES);
179
- rb_define_const(cPKCS11, "MECHANISMS", vMECHANISMS);
180
- rb_define_const(cPKCS11, "RETURN_VALUES", vRETURN_VALUES);
173
+ #define DEFINE_GLOBAL_HASH(h) \
174
+ rb_global_variable(&v##h); \
175
+ v##h = rb_hash_new(); \
176
+ rb_define_const(cPKCS11, #h, v##h);
177
+
178
+ DEFINE_GLOBAL_HASH(OBJECT_CLASSES)
179
+ DEFINE_GLOBAL_HASH(ATTRIBUTES)
180
+ DEFINE_GLOBAL_HASH(MECHANISMS)
181
+ DEFINE_GLOBAL_HASH(RETURN_VALUES)
181
182
 
182
183
  #include "pk11_const_def.inc"
183
184
 
@@ -6,7 +6,7 @@
6
6
  /**************************************************/
7
7
 
8
8
  #define PKCS11_DEFINE_CONST(constant) \
9
- rb_define_const(MODULE_FOR_CONSTS, #constant, INT2NUM(constant))
9
+ rb_define_const(MODULE_FOR_CONSTS, #constant, LONG2NUM(constant))
10
10
 
11
11
  #define PKCS11_DEFINE_CONST_GROUP(group, name, value) \
12
12
  do { \
@@ -17,6 +17,7 @@
17
17
  old = rb_hash_aref(group, rvalue); \
18
18
  if (!NIL_P(old)) rb_warning("%s is equal to %s", RSTRING_PTR(old), name); \
19
19
  rb_hash_aset(group, rvalue, str); \
20
+ RB_GC_GUARD(str); \
20
21
  } while(0)
21
22
 
22
23
  #define PKCS11_DEFINE_OBJECT_CLASS(constant) \
@@ -416,6 +416,7 @@ static VALUE c##s##_set_##f(VALUE o, VALUE v){ \
416
416
  #define PKCS11_DEFINE_STRUCT(s) \
417
417
  do { \
418
418
  c##s = rb_define_class_under(MODULE_FOR_STRUCTS, #s, BASECLASS_FOR_STRUCTS); \
419
+ rb_global_variable(&a##s##_members); \
419
420
  a##s##_members = rb_ary_new(); \
420
421
  rb_define_alloc_func(c##s, s##_s_alloc); \
421
422
  rb_define_const(c##s, "SIZEOF_STRUCT", ULONG2NUM(sizeof(s))); \
@@ -1,6 +1,6 @@
1
1
  #ifndef RUBY_PK11_VERSION_H
2
2
  #define RUBY_PK11_VERSION_H
3
3
 
4
- static const char *VERSION = "0.3.2";
4
+ static const char *VERSION = "0.3.3";
5
5
 
6
6
  #endif
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pkcs11
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryosuke Kutsuna
@@ -12,26 +12,26 @@ bindir: bin
12
12
  cert_chain:
13
13
  - |
14
14
  -----BEGIN CERTIFICATE-----
15
- MIIDPDCCAiSgAwIBAgIBBjANBgkqhkiG9w0BAQsFADBEMQ0wCwYDVQQDDARsYXJz
16
- MR8wHQYKCZImiZPyLGQBGRYPZ3JlaXotcmVpbnNkb3JmMRIwEAYKCZImiZPyLGQB
17
- GRYCZGUwHhcNMTkxMjAzMTkzNDA5WhcNMjAxMjAyMTkzNDA5WjBEMQ0wCwYDVQQD
18
- DARsYXJzMR8wHQYKCZImiZPyLGQBGRYPZ3JlaXotcmVpbnNkb3JmMRIwEAYKCZIm
19
- iZPyLGQBGRYCZGUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZb4Uv
20
- RFJfRu/VEWiy3psh2jinETjiuBrL0NeRFGf8H7iU9+gx/DI/FFhfHGLrDeIskrJx
21
- YIWDMmEjVO10UUdj7wu4ZhmU++0Cd7Kq9/TyP/shIP3IjqHjVLCnJ3P6f1cl5rxZ
22
- gqo+d3BAoDrmPk0rtaf6QopwUw9RBiF8V4HqvpiY+ruJotP5UQDP4/lVOKvA8PI9
23
- P0GmVbFBrbc7Zt5h78N3UyOK0u+nvOC23BvyHXzCtcFsXCoEkt+Wwh0RFqVZdnjM
24
- LMO2vULHKKHDdX54K/sbVCj9pN9h1aotNzrEyo55zxn0G9PHg/G3P8nMvAXPkUTe
25
- brhXrfCwWRvOXA4TAgMBAAGjOTA3MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0G
26
- A1UdDgQWBBRAHK81igrXodaDj8a8/BIKsaZrETANBgkqhkiG9w0BAQsFAAOCAQEA
27
- XDITkfRngYnc7MnDMd1XRSZqZKPvPFIk/ByhD4T5mHDAmOVV9Q4csAF9wAnYqLVG
28
- XqetRpK47O55NHN7zG2RbE7ospqgNU4ToXM2KCZuGoGuV75RBf6kk498kcPuFBPq
29
- FWzBIlr9Nat2NjwmEAvVf2UrmKl7rEDCQTkYCe9H5qkWtbneBASIfbVaw14yhosQ
30
- 0fP+rf/XkPrhjfYMBd258JnTy32boRZQ018c/kX8myjnEZA6rTr6082ESHD3BTHj
31
- D5uWyL3krcnTOgVS0jv7qSuxDjlvpHqvN1BNaw64Gf5TpqRDNM5r+hXhD8U339Ot
32
- lrxBVhTTtOOm6AE6oziYmw==
15
+ MIIDPDCCAiSgAwIBAgIBATANBgkqhkiG9w0BAQsFADAkMSIwIAYDVQQDDBl0cmF2
16
+ aXMtY2kvREM9ZHVtbXkvREM9b3JnMB4XDTIwMDQwODExMDA0MFoXDTIxMDQwODEx
17
+ MDA0MFowJDEiMCAGA1UEAwwZdHJhdmlzLWNpL0RDPWR1bW15L0RDPW9yZzCCASIw
18
+ DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK+5uh+zqCXKho0zXIaLmJD6YDpa
19
+ l07nJ+PQFcMBYgsKA2ip01THj3DVYwP/va6hYgqPmxEJB3tsEthKnHVHm0dgqqg/
20
+ gfyDFU0ZfbSYKeNlZQRIdddKPc6dNbmtY2gBWFt6YOZnBccsgJmSUAbh0a9xhVbm
21
+ qAStn/q7eq9iW9+12AB9HM+QCWrsCAXEHGGNENDAK9HtHwBs4KsneiIQY5rd/Mzs
22
+ Ii25XXnDUa1NjC4u/mMuJXBpWLw2rEAQkzEFQBZR0W0ehm9Mi4TokhLy/QH8GRaH
23
+ 0KADzpk1cxuOrEBIhy6ISQs7g/tI6YTePAmDMTsodov02FZCcMpoxOifpFkCAwEA
24
+ AaN5MHcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0OBBYEFOTn5ek+QtcI
25
+ g+ZglIvRPAPGoXvLMB4GA1UdEQQXMBWBE3RyYXZpcy1jaUBkdW1teS5vcmcwHgYD
26
+ VR0SBBcwFYETdHJhdmlzLWNpQGR1bW15Lm9yZzANBgkqhkiG9w0BAQsFAAOCAQEA
27
+ Xuaj6r4QXrQwDdrmT2sPgWiS5/CRRiSwyWsE1jfM0q5spzuKRIy+vSfmj6isScGf
28
+ vT7nwXus+3IcISSdfUddGqf/L54z6U9dVc+V5SH+QuptDRPgQ+fPJFKn8uFARJDU
29
+ 9qNNSKpyoXXHksouuRV4dXVYRChfhLiavXaR0jNmi6qgTsSSvyKD2aObyVdVUzxr
30
+ Umpavc3v5BbquwF9DlKeHZwU/qP0ynCZg/Z9CFa18e5JfyBSFXHXDA0YXE6+b4Dh
31
+ +QvsIa+rEKMYbn0IActnL2SCNlGcttHDcH0AkctmwmAN2r6LTInUBCJoahaIeIXU
32
+ RE1H1QyCW3SV93CTTKaR2A==
33
33
  -----END CERTIFICATE-----
34
- date: 2020-01-11 00:00:00.000000000 Z
34
+ date: 2020-11-07 00:00:00.000000000 Z
35
35
  dependencies:
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: yard
@@ -129,14 +129,14 @@ dependencies:
129
129
  requirements:
130
130
  - - "~>"
131
131
  - !ruby/object:Gem::Version
132
- version: '3.20'
132
+ version: '3.22'
133
133
  type: :development
134
134
  prerelease: false
135
135
  version_requirements: !ruby/object:Gem::Requirement
136
136
  requirements:
137
137
  - - "~>"
138
138
  - !ruby/object:Gem::Version
139
- version: '3.20'
139
+ version: '3.22'
140
140
  description: 'This module allows Ruby programs to interface with "RSA Security Inc.
141
141
  PKCS #11 Cryptographic Token Interface (Cryptoki)".'
142
142
  email:
@@ -233,7 +233,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
233
233
  - !ruby/object:Gem::Version
234
234
  version: '0'
235
235
  requirements: []
236
- rubygems_version: 3.0.3
236
+ rubygems_version: 3.1.4
237
237
  signing_key:
238
238
  specification_version: 4
239
239
  summary: PKCS#11 binding for Ruby
metadata.gz.sig CHANGED
Binary file