gpgme 2.0.5 → 2.0.6
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 +4 -4
- data/ext/gpgme/extconf.rb +6 -2
- data/ext/gpgme/gpgme_n.c +151 -0
- data/lib/gpgme/constants.rb +44 -20
- data/lib/gpgme/ctx.rb +7 -0
- data/lib/gpgme/engine.rb +11 -0
- data/ports/archives/gpgme-1.5.0.tar.bz2 +0 -0
- data/ports/archives/libgpg-error-1.13.tar.bz2 +0 -0
- metadata +12 -6
- data/ports/archives/gpgme-1.4.3.tar.bz2 +0 -0
- data/ports/archives/libgpg-error-1.12.tar.bz2 +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f4029d3a91ef53cbba61b60cadc0ae5a990de620
|
4
|
+
data.tar.gz: d54ecce41c072bc922f50be17510f209ca0327c6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d6af9b82d68f349f8d774683f04740036d743c3c2801f49e9a53d3b94af26d8b045a31e4b23e737f6b21418bba26f7c038ea59bef8650125fbe7b160aa52c624
|
7
|
+
data.tar.gz: c38ed6111d7ebb79e87276c81fac76bc5e38af4e61065a1042c3fa8d297040e9c796ad50f0b25a5b363a0801bf4d3fb9b904d5169663ee80e8b12906b586ee0c
|
data/ext/gpgme/extconf.rb
CHANGED
@@ -62,7 +62,7 @@ EOS
|
|
62
62
|
require 'rubygems'
|
63
63
|
require 'mini_portile'
|
64
64
|
|
65
|
-
libgpg_error_recipe = MiniPortile.new('libgpg-error', '1.
|
65
|
+
libgpg_error_recipe = MiniPortile.new('libgpg-error', '1.13').tap do |recipe|
|
66
66
|
recipe.target = File.join(ROOT, "ports")
|
67
67
|
recipe.files = ["ftp://ftp.gnupg.org/gcrypt/#{recipe.name}/#{recipe.name}-#{recipe.version}.tar.bz2"]
|
68
68
|
recipe.configure_options = [
|
@@ -96,7 +96,7 @@ EOS
|
|
96
96
|
recipe.activate
|
97
97
|
end
|
98
98
|
|
99
|
-
gpgme_recipe = MiniPortile.new('gpgme', '1.
|
99
|
+
gpgme_recipe = MiniPortile.new('gpgme', '1.5.0').tap do |recipe|
|
100
100
|
recipe.target = File.join(ROOT, "ports")
|
101
101
|
recipe.files = ["ftp://ftp.gnupg.org/gcrypt/#{recipe.name}/#{recipe.name}-#{recipe.version}.tar.bz2"]
|
102
102
|
recipe.configure_options = [
|
@@ -104,6 +104,10 @@ EOS
|
|
104
104
|
'--enable-static',
|
105
105
|
"--with-gpg-error-prefix=#{libgpg_error_recipe.path}",
|
106
106
|
"--with-libassuan-prefix=#{libassuan_recipe.path}",
|
107
|
+
# GPGME 1.5.0 assumes gpgsm is present if gpgconf is found.
|
108
|
+
# However, on some systems (e.g. Debian), they are splitted into
|
109
|
+
# separate packages.
|
110
|
+
'--disable-gpgsm-test',
|
107
111
|
"CFLAGS='-fPIC #{ENV["CFLAGS"]}'",
|
108
112
|
]
|
109
113
|
checkpoint = "#{recipe.target}/#{recipe.name}-#{recipe.version}-#{recipe.host}.installed"
|
data/ext/gpgme/gpgme_n.c
CHANGED
@@ -132,6 +132,15 @@ static VALUE cEngineInfo,
|
|
132
132
|
cImportStatus,
|
133
133
|
cImportResult;
|
134
134
|
|
135
|
+
#if defined(GPGME_VERSION_NUMBER) && GPGME_VERSION_NUMBER >= 0x010500
|
136
|
+
static VALUE
|
137
|
+
rb_s_gpgme_get_dirinfo (VALUE dummy, VALUE vwhat)
|
138
|
+
{
|
139
|
+
const char *result = gpgme_get_dirinfo (StringValueCStr(vwhat));
|
140
|
+
return result ? rb_str_new2 (result) : Qnil;
|
141
|
+
}
|
142
|
+
#endif
|
143
|
+
|
135
144
|
static VALUE
|
136
145
|
rb_s_gpgme_check_version (VALUE dummy, VALUE vreq)
|
137
146
|
{
|
@@ -809,6 +818,10 @@ save_gpgme_key_attrs (VALUE vkey, gpgme_key_t key)
|
|
809
818
|
rb_iv_set (vsubkey, "@fpr", rb_str_new2 (subkey->fpr));
|
810
819
|
rb_iv_set (vsubkey, "@timestamp", LONG2NUM(subkey->timestamp));
|
811
820
|
rb_iv_set (vsubkey, "@expires", LONG2NUM(subkey->expires));
|
821
|
+
#if defined(GPGME_VERSION_NUMBER) && GPGME_VERSION_NUMBER >= 0x010500
|
822
|
+
if (subkey->curve)
|
823
|
+
rb_iv_set (vsubkey, "@curve", rb_str_new2 (subkey->curve));
|
824
|
+
#endif
|
812
825
|
rb_ary_push (vsubkeys, vsubkey);
|
813
826
|
}
|
814
827
|
vuids = rb_ary_new ();
|
@@ -1988,6 +2001,96 @@ rb_s_gpgme_wait (VALUE dummy, VALUE vctx, VALUE rstatus, VALUE vhang)
|
|
1988
2001
|
return Qnil;
|
1989
2002
|
}
|
1990
2003
|
|
2004
|
+
#if defined(GPGME_VERSION_NUMBER) && GPGME_VERSION_NUMBER >= 0x010500
|
2005
|
+
static VALUE
|
2006
|
+
rb_s_gpgme_op_spawn_start (VALUE dummy, VALUE vctx, VALUE vfile,
|
2007
|
+
VALUE vargv, VALUE vdatain, VALUE vdataout,
|
2008
|
+
VALUE vdataerr, VALUE vflags)
|
2009
|
+
{
|
2010
|
+
gpgme_ctx_t ctx;
|
2011
|
+
const char *file;
|
2012
|
+
const char **argv;
|
2013
|
+
gpgme_data_t datain = NULL;
|
2014
|
+
gpgme_data_t dataout = NULL;
|
2015
|
+
gpgme_data_t dataerr = NULL;
|
2016
|
+
gpgme_error_t err;
|
2017
|
+
|
2018
|
+
CHECK_KEYLIST_NOT_IN_PROGRESS(vctx);
|
2019
|
+
|
2020
|
+
UNWRAP_GPGME_CTX(vctx, ctx);
|
2021
|
+
if (!ctx)
|
2022
|
+
rb_raise (rb_eArgError, "released ctx");
|
2023
|
+
|
2024
|
+
file = StringValueCStr(vfile);
|
2025
|
+
|
2026
|
+
if (NIL_P(vargv))
|
2027
|
+
argv = NULL;
|
2028
|
+
else
|
2029
|
+
{
|
2030
|
+
int i;
|
2031
|
+
|
2032
|
+
argv = ALLOC_N(const char *, RARRAY_LEN(vargv) + 1);
|
2033
|
+
for (i = 0; i < RARRAY_LEN(vargv); i++)
|
2034
|
+
argv[i] = StringValueCStr(RARRAY_PTR(vargv)[i]);
|
2035
|
+
argv[i] = NULL;
|
2036
|
+
}
|
2037
|
+
|
2038
|
+
UNWRAP_GPGME_DATA(vdatain, datain);
|
2039
|
+
UNWRAP_GPGME_DATA(vdataout, dataout);
|
2040
|
+
UNWRAP_GPGME_DATA(vdataerr, dataerr);
|
2041
|
+
|
2042
|
+
err = gpgme_op_spawn_start (ctx, file, argv, datain, dataout, dataerr,
|
2043
|
+
NUM2INT(vflags));
|
2044
|
+
if (argv)
|
2045
|
+
xfree (argv);
|
2046
|
+
return LONG2NUM(err);
|
2047
|
+
}
|
2048
|
+
|
2049
|
+
static VALUE
|
2050
|
+
rb_s_gpgme_op_spawn (VALUE dummy, VALUE vctx, VALUE vfile,
|
2051
|
+
VALUE vargv, VALUE vdatain, VALUE vdataout,
|
2052
|
+
VALUE vdataerr, VALUE vflags)
|
2053
|
+
{
|
2054
|
+
gpgme_ctx_t ctx;
|
2055
|
+
const char *file;
|
2056
|
+
const char **argv;
|
2057
|
+
gpgme_data_t datain = NULL;
|
2058
|
+
gpgme_data_t dataout = NULL;
|
2059
|
+
gpgme_data_t dataerr = NULL;
|
2060
|
+
gpgme_error_t err;
|
2061
|
+
|
2062
|
+
CHECK_KEYLIST_NOT_IN_PROGRESS(vctx);
|
2063
|
+
|
2064
|
+
UNWRAP_GPGME_CTX(vctx, ctx);
|
2065
|
+
if (!ctx)
|
2066
|
+
rb_raise (rb_eArgError, "released ctx");
|
2067
|
+
|
2068
|
+
file = StringValueCStr(vfile);
|
2069
|
+
|
2070
|
+
if (NIL_P(vargv))
|
2071
|
+
argv = NULL;
|
2072
|
+
else
|
2073
|
+
{
|
2074
|
+
int i;
|
2075
|
+
|
2076
|
+
argv = ALLOC_N(const char *, RARRAY_LEN(vargv) + 1);
|
2077
|
+
for (i = 0; i < RARRAY_LEN(vargv); i++)
|
2078
|
+
argv[i] = StringValueCStr(RARRAY_PTR(vargv)[i]);
|
2079
|
+
argv[i] = NULL;
|
2080
|
+
}
|
2081
|
+
|
2082
|
+
UNWRAP_GPGME_DATA(vdatain, datain);
|
2083
|
+
UNWRAP_GPGME_DATA(vdataout, dataout);
|
2084
|
+
UNWRAP_GPGME_DATA(vdataerr, dataerr);
|
2085
|
+
|
2086
|
+
err = gpgme_op_spawn (ctx, file, argv, datain, dataout, dataerr,
|
2087
|
+
NUM2INT(vflags));
|
2088
|
+
if (argv)
|
2089
|
+
xfree (argv);
|
2090
|
+
return LONG2NUM(err);
|
2091
|
+
}
|
2092
|
+
#endif
|
2093
|
+
|
1991
2094
|
void
|
1992
2095
|
Init_gpgme_n (void)
|
1993
2096
|
{
|
@@ -1995,6 +2098,10 @@ Init_gpgme_n (void)
|
|
1995
2098
|
|
1996
2099
|
mGPGME = rb_define_module ("GPGME");
|
1997
2100
|
|
2101
|
+
#if defined(GPGME_VERSION_NUMBER) && GPGME_VERSION_NUMBER >= 0x010500
|
2102
|
+
rb_define_module_function (mGPGME, "gpgme_get_dirinfo",
|
2103
|
+
rb_s_gpgme_get_dirinfo, 1);
|
2104
|
+
#endif
|
1998
2105
|
rb_define_module_function (mGPGME, "gpgme_check_version",
|
1999
2106
|
rb_s_gpgme_check_version, 1);
|
2000
2107
|
rb_define_module_function (mGPGME, "gpgme_engine_check_version",
|
@@ -2238,11 +2345,23 @@ Init_gpgme_n (void)
|
|
2238
2345
|
rb_define_module_function (mGPGME, "gpgme_wait",
|
2239
2346
|
rb_s_gpgme_wait, 3);
|
2240
2347
|
|
2348
|
+
/* Running other Programs */
|
2349
|
+
#if defined(GPGME_VERSION_NUMBER) && GPGME_VERSION_NUMBER >= 0x010500
|
2350
|
+
rb_define_module_function (mGPGME, "gpgme_op_spawn",
|
2351
|
+
rb_s_gpgme_op_spawn, 7);
|
2352
|
+
rb_define_module_function (mGPGME, "gpgme_op_spawn_start",
|
2353
|
+
rb_s_gpgme_op_spawn_start, 7);
|
2354
|
+
#endif
|
2355
|
+
|
2241
2356
|
/* gpgme_pubkey_algo_t */
|
2242
2357
|
rb_define_const (mGPGME, "GPGME_PK_RSA", INT2FIX(GPGME_PK_RSA));
|
2243
2358
|
rb_define_const (mGPGME, "GPGME_PK_DSA", INT2FIX(GPGME_PK_DSA));
|
2244
2359
|
rb_define_const (mGPGME, "GPGME_PK_ELG", INT2FIX(GPGME_PK_ELG));
|
2245
2360
|
rb_define_const (mGPGME, "GPGME_PK_ELG_E", INT2FIX(GPGME_PK_ELG_E));
|
2361
|
+
/* This algorithm was added in 1.5.0. */
|
2362
|
+
#ifdef GPGME_PK_ECC
|
2363
|
+
rb_define_const (mGPGME, "GPGME_PK_ECC", INT2FIX(GPGME_PK_ECC));
|
2364
|
+
#endif
|
2246
2365
|
|
2247
2366
|
/* gpgme_hash_algo_t */
|
2248
2367
|
rb_define_const (mGPGME, "GPGME_MD_MD5", INT2FIX(GPGME_MD_MD5));
|
@@ -2251,6 +2370,10 @@ Init_gpgme_n (void)
|
|
2251
2370
|
rb_define_const (mGPGME, "GPGME_MD_MD2", INT2FIX(GPGME_MD_MD2));
|
2252
2371
|
rb_define_const (mGPGME, "GPGME_MD_TIGER", INT2FIX(GPGME_MD_TIGER));
|
2253
2372
|
rb_define_const (mGPGME, "GPGME_MD_HAVAL", INT2FIX(GPGME_MD_HAVAL));
|
2373
|
+
/* This algorithm was added in 1.5.0. */
|
2374
|
+
#ifdef GPGME_MD_SHA224
|
2375
|
+
rb_define_const (mGPGME, "GPGME_MD_SHA224", INT2FIX(GPGME_MD_SHA224));
|
2376
|
+
#endif
|
2254
2377
|
rb_define_const (mGPGME, "GPGME_MD_SHA256", INT2FIX(GPGME_MD_SHA256));
|
2255
2378
|
rb_define_const (mGPGME, "GPGME_MD_SHA384", INT2FIX(GPGME_MD_SHA384));
|
2256
2379
|
rb_define_const (mGPGME, "GPGME_MD_SHA512", INT2FIX(GPGME_MD_SHA512));
|
@@ -2497,6 +2620,11 @@ Init_gpgme_n (void)
|
|
2497
2620
|
rb_define_const (mGPGME, "GPGME_PROTOCOL_ASSUAN",
|
2498
2621
|
INT2FIX(GPGME_PROTOCOL_ASSUAN))
|
2499
2622
|
#endif
|
2623
|
+
/* This protocol was added in 1.5.0. */
|
2624
|
+
#ifdef GPGME_PROTOCOL_SPAWN
|
2625
|
+
rb_define_const (mGPGME, "GPGME_PROTOCOL_SPAWN",
|
2626
|
+
INT2FIX(GPGME_PROTOCOL_SPAWN));
|
2627
|
+
#endif
|
2500
2628
|
|
2501
2629
|
/* gpgme_status_code_t */
|
2502
2630
|
rb_define_const (mGPGME, "GPGME_STATUS_EOF",
|
@@ -2653,6 +2781,21 @@ Init_gpgme_n (void)
|
|
2653
2781
|
rb_define_const (mGPGME, "GPGME_STATUS_PKA_TRUST_GOOD",
|
2654
2782
|
INT2FIX(GPGME_STATUS_PKA_TRUST_GOOD));
|
2655
2783
|
#endif
|
2784
|
+
/* These status codes were added in 1.5.0. */
|
2785
|
+
#if defined(GPGME_VERSION_NUMBER) && GPGME_VERSION_NUMBER >= 0x010500
|
2786
|
+
rb_define_const (mGPGME, "GPGME_STATUS_PLAINTEXT_LENGTH",
|
2787
|
+
INT2FIX(GPGME_STATUS_PLAINTEXT_LENGTH));
|
2788
|
+
rb_define_const (mGPGME, "GPGME_STATUS_MOUNTPOINT",
|
2789
|
+
INT2FIX(GPGME_STATUS_MOUNTPOINT));
|
2790
|
+
rb_define_const (mGPGME, "GPGME_STATUS_PINENTRY_LAUNCHED",
|
2791
|
+
INT2FIX(GPGME_STATUS_PINENTRY_LAUNCHED));
|
2792
|
+
rb_define_const (mGPGME, "GPGME_STATUS_ATTRIBUTE",
|
2793
|
+
INT2FIX(GPGME_STATUS_ATTRIBUTE));
|
2794
|
+
rb_define_const (mGPGME, "GPGME_STATUS_BEGIN_SIGNING",
|
2795
|
+
INT2FIX(GPGME_STATUS_BEGIN_SIGNING));
|
2796
|
+
rb_define_const (mGPGME, "GPGME_STATUS_KEY_NOT_CREATED",
|
2797
|
+
INT2FIX(GPGME_STATUS_KEY_NOT_CREATED));
|
2798
|
+
#endif
|
2656
2799
|
|
2657
2800
|
/* The available keylist mode flags. */
|
2658
2801
|
rb_define_const (mGPGME, "GPGME_KEYLIST_MODE_LOCAL",
|
@@ -2705,4 +2848,12 @@ Init_gpgme_n (void)
|
|
2705
2848
|
rb_define_const (mGPGME, "GPGME_PINENTRY_MODE_LOOPBACK",
|
2706
2849
|
INT2FIX(GPGME_PINENTRY_MODE_LOOPBACK));
|
2707
2850
|
#endif
|
2851
|
+
|
2852
|
+
/* These flags were added in 1.5.0. */
|
2853
|
+
#if defined(GPGME_VERSION_NUMBER) && GPGME_VERSION_NUMBER >= 0x010500
|
2854
|
+
rb_define_const (mGPGME, "GPGME_SPAWN_DETACHED",
|
2855
|
+
INT2FIX(GPGME_SPAWN_DETACHED));
|
2856
|
+
rb_define_const (mGPGME, "GPGME_SPAWN_ALLOW_SET_FG",
|
2857
|
+
INT2FIX(GPGME_SPAWN_ALLOW_SET_FG));
|
2858
|
+
#endif
|
2708
2859
|
}
|
data/lib/gpgme/constants.rb
CHANGED
@@ -64,33 +64,35 @@ module GPGME
|
|
64
64
|
MD_RMD160 = GPGME_MD_RMD160
|
65
65
|
MD_SHA1 = GPGME_MD_SHA1
|
66
66
|
MD_SHA256 = GPGME_MD_SHA256
|
67
|
+
if defined?(MD_SHA224)
|
68
|
+
MD_SHA224 = GPGME_MD_SHA224
|
69
|
+
end
|
67
70
|
MD_SHA384 = GPGME_MD_SHA384
|
68
71
|
MD_SHA512 = GPGME_MD_SHA512
|
69
72
|
MD_TIGER = GPGME_MD_TIGER
|
70
|
-
if defined?(
|
73
|
+
if defined?(gpgme_set_pinentry_mode)
|
71
74
|
PINENTRY_MODE_DEFAULT = GPGME_PINENTRY_MODE_DEFAULT
|
72
|
-
end
|
73
|
-
if defined?(GPGME_PINENTRY_MODE_ASK)
|
74
75
|
PINENTRY_MODE_ASK = GPGME_PINENTRY_MODE_ASK
|
75
|
-
end
|
76
|
-
if defined?(GPGME_PINENTRY_MODE_CANCEL)
|
77
76
|
PINENTRY_MODE_CANCEL = GPGME_PINENTRY_MODE_CANCEL
|
78
|
-
end
|
79
|
-
if defined?(GPGME_PINENTRY_MODE_ERROR)
|
80
77
|
PINENTRY_MODE_ERROR = GPGME_PINENTRY_MODE_ERROR
|
81
|
-
end
|
82
|
-
if defined?(GPGME_PINENTRY_MODE_LOOPBACK)
|
83
78
|
PINENTRY_MODE_LOOPBACK = GPGME_PINENTRY_MODE_LOOPBACK
|
79
|
+
PINENTRY_MODE_NAMES = {
|
80
|
+
PINENTRY_MODE_DEFAULT => :default,
|
81
|
+
PINENTRY_MODE_ASK => :ask,
|
82
|
+
PINENTRY_MODE_CANCEL => :cancel,
|
83
|
+
PINENTRY_MODE_ERROR => :error,
|
84
|
+
PINENTRY_MODE_LOOPBACK => :loopback
|
85
|
+
}
|
84
86
|
end
|
85
87
|
PK_DSA = GPGME_PK_DSA
|
86
88
|
PK_ELG = GPGME_PK_ELG
|
87
89
|
PK_ELG_E = GPGME_PK_ELG_E
|
88
90
|
PK_RSA = GPGME_PK_RSA
|
91
|
+
if defined?(GPGME_PK_ECC)
|
92
|
+
PK_ECC = GPGME_PK_ECC
|
93
|
+
end
|
89
94
|
PROTOCOL_CMS = GPGME_PROTOCOL_CMS
|
90
95
|
PROTOCOL_OpenPGP = GPGME_PROTOCOL_OpenPGP
|
91
|
-
if defined?(GPGME_PROTOCOL_ASSUAN)
|
92
|
-
PROTOCOL_ASSUAN = GPGME_PROTOCOL_ASSUAN
|
93
|
-
end
|
94
96
|
SIGSUM_BAD_POLICY = GPGME_SIGSUM_BAD_POLICY
|
95
97
|
SIGSUM_CRL_MISSING = GPGME_SIGSUM_CRL_MISSING
|
96
98
|
SIGSUM_CRL_TOO_OLD = GPGME_SIGSUM_CRL_TOO_OLD
|
@@ -169,6 +171,24 @@ module GPGME
|
|
169
171
|
if defined?(GPGME_STATUS_PKA_TRUST_GOOD)
|
170
172
|
STATUS_PKA_TRUST_GOOD = GPGME_STATUS_PKA_TRUST_GOOD
|
171
173
|
end
|
174
|
+
if defined?(GPGME_STATUS_PLAINTEXT_LENGTH)
|
175
|
+
STATUS_PLAINTEXT_LENGTH = GPGME_STATUS_PLAINTEXT_LENGTH
|
176
|
+
end
|
177
|
+
if defined?(GPGME_STATUS_MOUNTPOINT)
|
178
|
+
STATUS_MOUNTPOINT = GPGME_STATUS_MOUNTPOINT
|
179
|
+
end
|
180
|
+
if defined?(GPGME_STATUS_PINENTRY_LAUNCHED)
|
181
|
+
STATUS_PINENTRY_LAUNCHED = GPGME_STATUS_PINENTRY_LAUNCHED
|
182
|
+
end
|
183
|
+
if defined?(GPGME_STATUS_ATTRIBUTE)
|
184
|
+
STATUS_ATTRIBUTE = GPGME_STATUS_ATTRIBUTE
|
185
|
+
end
|
186
|
+
if defined?(GPGME_STATUS_BEGIN_SIGNING)
|
187
|
+
STATUS_BEGIN_SIGNING = GPGME_STATUS_BEGIN_SIGNING
|
188
|
+
end
|
189
|
+
if defined?(GPGME_STATUS_KEY_NOT_CREATED)
|
190
|
+
STATUS_KEY_NOT_CREATED = GPGME_STATUS_KEY_NOT_CREATED
|
191
|
+
end
|
172
192
|
STATUS_POLICY_URL = GPGME_STATUS_POLICY_URL
|
173
193
|
STATUS_PROGRESS = GPGME_STATUS_PROGRESS
|
174
194
|
STATUS_RSA_OR_IDEA = GPGME_STATUS_RSA_OR_IDEA
|
@@ -201,6 +221,18 @@ module GPGME
|
|
201
221
|
PROTOCOL_CMS => :CMS
|
202
222
|
}
|
203
223
|
|
224
|
+
if defined?(GPGME_PROTOCOL_ASSUAN)
|
225
|
+
PROTOCOL_ASSUAN = GPGME_PROTOCOL_ASSUAN
|
226
|
+
PROTOCOL_NAMES[PROTOCOL_ASSUAN] = :ASSUAN
|
227
|
+
end
|
228
|
+
|
229
|
+
if defined?(GPGME_PROTOCOL_SPAWN)
|
230
|
+
PROTOCOL_SPAWN = GPGME_PROTOCOL_SPAWN
|
231
|
+
PROTOCOL_NAMES[PROTOCOL_SPAWN] = :SPAWN
|
232
|
+
SPAWN_DETACHED = GPGME_SPAWN_DETACHED
|
233
|
+
SPAWN_ALLOW_SET_FG = GPGME_SPAWN_ALLOW_SET_FG
|
234
|
+
end
|
235
|
+
|
204
236
|
KEYLIST_MODE_NAMES = {
|
205
237
|
KEYLIST_MODE_LOCAL => :local,
|
206
238
|
KEYLIST_MODE_EXTERN => :extern,
|
@@ -216,12 +248,4 @@ module GPGME
|
|
216
248
|
VALIDITY_FULL => :full,
|
217
249
|
VALIDITY_ULTIMATE => :ultimate
|
218
250
|
}
|
219
|
-
|
220
|
-
PINENTRY_MODE_NAMES = {
|
221
|
-
PINENTRY_MODE_DEFAULT => :default,
|
222
|
-
PINENTRY_MODE_ASK => :ask,
|
223
|
-
PINENTRY_MODE_CANCEL => :cancel,
|
224
|
-
PINENTRY_MODE_ERROR => :error,
|
225
|
-
PINENTRY_MODE_LOOPBACK => :loopback
|
226
|
-
}
|
227
251
|
end
|
data/lib/gpgme/ctx.rb
CHANGED
@@ -463,6 +463,13 @@ module GPGME
|
|
463
463
|
cipher
|
464
464
|
end
|
465
465
|
|
466
|
+
def spawn(file, argv, datain, dataout, dataerr, flags = 0)
|
467
|
+
err = GPGME::gpgme_op_spawn(self, file, argv, datain, dataout, dataerr,
|
468
|
+
flags)
|
469
|
+
exc = GPGME::error_to_exception(err)
|
470
|
+
raise exc if exc
|
471
|
+
end
|
472
|
+
|
466
473
|
def inspect
|
467
474
|
"#<#{self.class} protocol=#{PROTOCOL_NAMES[protocol] || protocol}, \
|
468
475
|
armor=#{armor}, textmode=#{textmode}, \
|
data/lib/gpgme/engine.rb
CHANGED
@@ -71,6 +71,17 @@ module GPGME
|
|
71
71
|
current = info.first
|
72
72
|
set_info current.protocol, current.file_name, home_dir
|
73
73
|
end
|
74
|
+
|
75
|
+
##
|
76
|
+
# Return the default configuration.
|
77
|
+
#
|
78
|
+
# @example
|
79
|
+
# GPGME::Engine.dirinfo('homedir')
|
80
|
+
# # => '/home/user/.gnupg"
|
81
|
+
#
|
82
|
+
def dirinfo(what)
|
83
|
+
GPGME::gpgme_get_dirinfo(what)
|
84
|
+
end
|
74
85
|
end # class << self
|
75
86
|
end # class Engine
|
76
87
|
end # module GPGME
|
Binary file
|
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gpgme
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daiki Ueno
|
@@ -9,22 +9,28 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-
|
12
|
+
date: 2014-06-26 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: mini_portile
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
requirements:
|
18
|
-
- -
|
18
|
+
- - '>='
|
19
19
|
- !ruby/object:Gem::Version
|
20
20
|
version: 0.5.0
|
21
|
+
- - <=
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: 0.6.0
|
21
24
|
type: :runtime
|
22
25
|
prerelease: false
|
23
26
|
version_requirements: !ruby/object:Gem::Requirement
|
24
27
|
requirements:
|
25
|
-
- -
|
28
|
+
- - '>='
|
26
29
|
- !ruby/object:Gem::Version
|
27
30
|
version: 0.5.0
|
31
|
+
- - <=
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 0.6.0
|
28
34
|
- !ruby/object:Gem::Dependency
|
29
35
|
name: mocha
|
30
36
|
requirement: !ruby/object:Gem::Requirement
|
@@ -142,8 +148,8 @@ files:
|
|
142
148
|
- examples/genkey.rb
|
143
149
|
- examples/keylist.rb
|
144
150
|
- examples/edit.rb
|
145
|
-
- ports/archives/libgpg-error-1.
|
146
|
-
- ports/archives/gpgme-1.
|
151
|
+
- ports/archives/libgpg-error-1.13.tar.bz2
|
152
|
+
- ports/archives/gpgme-1.5.0.tar.bz2
|
147
153
|
- ports/archives/libassuan-2.1.1.tar.bz2
|
148
154
|
homepage: http://github.com/ueno/ruby-gpgme
|
149
155
|
licenses:
|
Binary file
|
Binary file
|