gpgme-loongson 2.0.18
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 +7 -0
- data/examples/edit.rb +77 -0
- data/examples/genkey.rb +55 -0
- data/examples/keylist.rb +7 -0
- data/examples/roundtrip.rb +42 -0
- data/examples/sign.rb +31 -0
- data/examples/verify.rb +8 -0
- data/ext/gpgme/extconf.rb +227 -0
- data/ext/gpgme/gpgme_n.c +3071 -0
- data/lib/gpgme.rb +108 -0
- data/lib/gpgme/compat.rb +48 -0
- data/lib/gpgme/constants.rb +268 -0
- data/lib/gpgme/crypto.rb +357 -0
- data/lib/gpgme/ctx.rb +525 -0
- data/lib/gpgme/data.rb +208 -0
- data/lib/gpgme/engine.rb +87 -0
- data/lib/gpgme/error.rb +66 -0
- data/lib/gpgme/io_callbacks.rb +21 -0
- data/lib/gpgme/key.rb +248 -0
- data/lib/gpgme/key_common.rb +43 -0
- data/lib/gpgme/key_sig.rb +35 -0
- data/lib/gpgme/misc.rb +73 -0
- data/lib/gpgme/signature.rb +85 -0
- data/lib/gpgme/sub_key.rb +67 -0
- data/lib/gpgme/user_id.rb +20 -0
- data/lib/gpgme/version.rb +4 -0
- data/test/crypto_test.rb +246 -0
- data/test/ctx_test.rb +471 -0
- data/test/data_test.rb +142 -0
- data/test/files/testkey_pub.gpg +52 -0
- data/test/files/testkey_sec.gpg +54 -0
- data/test/gpgme_test.rb +12 -0
- data/test/key_test.rb +209 -0
- data/test/signature_test.rb +52 -0
- data/test/sub_key_test.rb +48 -0
- data/test/support/resources.rb +532 -0
- data/test/test_helper.rb +114 -0
- metadata +170 -0
data/test/test_helper.rb
ADDED
@@ -0,0 +1,114 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
|
3
|
+
require 'coveralls'
|
4
|
+
Coveralls.wear!
|
5
|
+
|
6
|
+
# include compiled gpgme_n.bundle
|
7
|
+
tmp_dir = File.join(File.dirname(__FILE__), '..', 'tmp')
|
8
|
+
$:.unshift(tmp_dir) if File.directory?(tmp_dir)
|
9
|
+
|
10
|
+
# this interfers otherwise with our tests
|
11
|
+
ENV.delete('GPG_AGENT_INFO')
|
12
|
+
|
13
|
+
require 'rubygems'
|
14
|
+
require 'bundler/setup'
|
15
|
+
require 'minitest/autorun'
|
16
|
+
require 'minitest/spec'
|
17
|
+
require 'minitest/pride'
|
18
|
+
require 'mocha'
|
19
|
+
require 'gpgme'
|
20
|
+
|
21
|
+
if RUBY_VERSION.split('.').first.to_i > 1
|
22
|
+
require 'byebug'
|
23
|
+
else
|
24
|
+
require 'ruby-debug'
|
25
|
+
end
|
26
|
+
|
27
|
+
require File.dirname(__FILE__) + "/support/resources"
|
28
|
+
|
29
|
+
|
30
|
+
def import_keys
|
31
|
+
KEYS.each do |key|
|
32
|
+
import_key(key)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
def import_key(key, only = :all)
|
37
|
+
GPGME::Key.import(key[:public]) unless only == :secret
|
38
|
+
GPGME::Key.import(key[:secret]) unless only == :public
|
39
|
+
end
|
40
|
+
|
41
|
+
def remove_keys
|
42
|
+
KEYS.each do |key|
|
43
|
+
remove_key(key)
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
def remove_all_keys
|
48
|
+
GPGME::Key.find(:public).each do |k|
|
49
|
+
k.delete!(true)
|
50
|
+
end
|
51
|
+
GPGME::Key.find(:secret).each do |k|
|
52
|
+
k.delete!(true)
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
def remove_key(key)
|
57
|
+
GPGME::Key.find(:public, key[:sha]).each do |k|
|
58
|
+
k.delete!(true)
|
59
|
+
end
|
60
|
+
GPGME::Key.find(:secret, key[:sha]).each do |k|
|
61
|
+
k.delete!(true)
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
def with_key(key, only = :all, &block)
|
66
|
+
import_key key, only
|
67
|
+
|
68
|
+
begin
|
69
|
+
yield
|
70
|
+
ensure
|
71
|
+
remove_key key
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
def without_key(key, &block)
|
76
|
+
remove_key key
|
77
|
+
|
78
|
+
begin
|
79
|
+
yield
|
80
|
+
ensure
|
81
|
+
import_key key
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
85
|
+
DIRS = []
|
86
|
+
|
87
|
+
at_exit do
|
88
|
+
DIRS.each do |dir|
|
89
|
+
FileUtils.remove_entry dir
|
90
|
+
end
|
91
|
+
DIRS.clear
|
92
|
+
end
|
93
|
+
|
94
|
+
def ensure_keys(proto)
|
95
|
+
return false unless GPGME::Engine.check_version proto
|
96
|
+
|
97
|
+
case proto
|
98
|
+
when GPGME::PROTOCOL_OpenPGP
|
99
|
+
# We use a different home directory for the keys to not disturb current
|
100
|
+
# installation
|
101
|
+
require 'tmpdir'
|
102
|
+
|
103
|
+
if DIRS.empty?
|
104
|
+
dir = Dir.mktmpdir
|
105
|
+
GPGME::Engine.home_dir = dir
|
106
|
+
DIRS.push(dir)
|
107
|
+
remove_all_keys
|
108
|
+
import_keys
|
109
|
+
end
|
110
|
+
true
|
111
|
+
else
|
112
|
+
return false
|
113
|
+
end
|
114
|
+
end
|
metadata
ADDED
@@ -0,0 +1,170 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: gpgme-loongson
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 2.0.18
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Daiki Ueno
|
8
|
+
- Albert Llop
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2018-11-22 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: mini_portile2
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
requirements:
|
18
|
+
- - "~>"
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: '2.3'
|
21
|
+
type: :runtime
|
22
|
+
prerelease: false
|
23
|
+
version_requirements: !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - "~>"
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
version: '2.3'
|
28
|
+
- !ruby/object:Gem::Dependency
|
29
|
+
name: mocha
|
30
|
+
requirement: !ruby/object:Gem::Requirement
|
31
|
+
requirements:
|
32
|
+
- - "~>"
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: 0.9.12
|
35
|
+
type: :development
|
36
|
+
prerelease: false
|
37
|
+
version_requirements: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - "~>"
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: 0.9.12
|
42
|
+
- !ruby/object:Gem::Dependency
|
43
|
+
name: minitest
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - "~>"
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: 2.1.0
|
49
|
+
type: :development
|
50
|
+
prerelease: false
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - "~>"
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: 2.1.0
|
56
|
+
- !ruby/object:Gem::Dependency
|
57
|
+
name: yard
|
58
|
+
requirement: !ruby/object:Gem::Requirement
|
59
|
+
requirements:
|
60
|
+
- - "~>"
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: 0.9.11
|
63
|
+
type: :development
|
64
|
+
prerelease: false
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - "~>"
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: 0.9.11
|
70
|
+
- !ruby/object:Gem::Dependency
|
71
|
+
name: coveralls
|
72
|
+
requirement: !ruby/object:Gem::Requirement
|
73
|
+
requirements:
|
74
|
+
- - ">="
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '0'
|
77
|
+
type: :development
|
78
|
+
prerelease: false
|
79
|
+
version_requirements: !ruby/object:Gem::Requirement
|
80
|
+
requirements:
|
81
|
+
- - ">="
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
version: '0'
|
84
|
+
- !ruby/object:Gem::Dependency
|
85
|
+
name: byebug
|
86
|
+
requirement: !ruby/object:Gem::Requirement
|
87
|
+
requirements:
|
88
|
+
- - "~>"
|
89
|
+
- !ruby/object:Gem::Version
|
90
|
+
version: 3.5.1
|
91
|
+
type: :development
|
92
|
+
prerelease: false
|
93
|
+
version_requirements: !ruby/object:Gem::Requirement
|
94
|
+
requirements:
|
95
|
+
- - "~>"
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
version: 3.5.1
|
98
|
+
description: |-
|
99
|
+
Ruby-GPGME is a Ruby language binding of GPGME (GnuPG
|
100
|
+
Made Easy). GnuPG Made Easy (GPGME) is a library designed to make access to
|
101
|
+
GnuPG easier for applications. It provides a High-Level Crypto API for
|
102
|
+
encryption, decryption, signing, signature verification and key management.
|
103
|
+
email: ueno@gnu.org
|
104
|
+
executables: []
|
105
|
+
extensions:
|
106
|
+
- ext/gpgme/extconf.rb
|
107
|
+
extra_rdoc_files: []
|
108
|
+
files:
|
109
|
+
- examples/edit.rb
|
110
|
+
- examples/genkey.rb
|
111
|
+
- examples/keylist.rb
|
112
|
+
- examples/roundtrip.rb
|
113
|
+
- examples/sign.rb
|
114
|
+
- examples/verify.rb
|
115
|
+
- ext/gpgme/extconf.rb
|
116
|
+
- ext/gpgme/gpgme_n.c
|
117
|
+
- lib/gpgme.rb
|
118
|
+
- lib/gpgme/compat.rb
|
119
|
+
- lib/gpgme/constants.rb
|
120
|
+
- lib/gpgme/crypto.rb
|
121
|
+
- lib/gpgme/ctx.rb
|
122
|
+
- lib/gpgme/data.rb
|
123
|
+
- lib/gpgme/engine.rb
|
124
|
+
- lib/gpgme/error.rb
|
125
|
+
- lib/gpgme/io_callbacks.rb
|
126
|
+
- lib/gpgme/key.rb
|
127
|
+
- lib/gpgme/key_common.rb
|
128
|
+
- lib/gpgme/key_sig.rb
|
129
|
+
- lib/gpgme/misc.rb
|
130
|
+
- lib/gpgme/signature.rb
|
131
|
+
- lib/gpgme/sub_key.rb
|
132
|
+
- lib/gpgme/user_id.rb
|
133
|
+
- lib/gpgme/version.rb
|
134
|
+
- test/crypto_test.rb
|
135
|
+
- test/ctx_test.rb
|
136
|
+
- test/data_test.rb
|
137
|
+
- test/files/testkey_pub.gpg
|
138
|
+
- test/files/testkey_sec.gpg
|
139
|
+
- test/gpgme_test.rb
|
140
|
+
- test/key_test.rb
|
141
|
+
- test/signature_test.rb
|
142
|
+
- test/sub_key_test.rb
|
143
|
+
- test/support/resources.rb
|
144
|
+
- test/test_helper.rb
|
145
|
+
homepage: http://github.com/ueno/ruby-gpgme
|
146
|
+
licenses:
|
147
|
+
- LGPL-2.1+
|
148
|
+
metadata: {}
|
149
|
+
post_install_message:
|
150
|
+
rdoc_options: []
|
151
|
+
require_paths:
|
152
|
+
- lib
|
153
|
+
- ext
|
154
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
155
|
+
requirements:
|
156
|
+
- - ">="
|
157
|
+
- !ruby/object:Gem::Version
|
158
|
+
version: '0'
|
159
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
160
|
+
requirements:
|
161
|
+
- - ">="
|
162
|
+
- !ruby/object:Gem::Version
|
163
|
+
version: '0'
|
164
|
+
requirements: []
|
165
|
+
rubyforge_project: ruby-gpgme
|
166
|
+
rubygems_version: 2.7.6.2
|
167
|
+
signing_key:
|
168
|
+
specification_version: 4
|
169
|
+
summary: Ruby binding of GPGME.
|
170
|
+
test_files: []
|