Merge branch 'master' into json-tool
This commit is contained in:
commit
44f9e80ea9
3
NEWS
3
NEWS
@ -3,9 +3,10 @@ Noteworthy changes in version 1.10.1 (unreleased)
|
|||||||
|
|
||||||
* Interface changes relative to the 1.10.0 release:
|
* Interface changes relative to the 1.10.0 release:
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
gpgme_import_result_t EXTENDED: New field 'skipped_v3_keys'
|
||||||
cpp: Key::locate NEW.
|
cpp: Key::locate NEW.
|
||||||
cpp: Data::toString NEW.
|
cpp: Data::toString NEW.
|
||||||
|
cpp: ImportResult::numV3KeysSkipped NEW.
|
||||||
|
|
||||||
Noteworthy changes in version 1.10.0 (2017-12-12)
|
Noteworthy changes in version 1.10.0 (2017-12-12)
|
||||||
-------------------------------------------------
|
-------------------------------------------------
|
||||||
|
@ -4811,6 +4811,12 @@ The number of keys not imported.
|
|||||||
@item gpgme_import_status_t imports
|
@item gpgme_import_status_t imports
|
||||||
A list of gpgme_import_status_t objects which contain more information
|
A list of gpgme_import_status_t objects which contain more information
|
||||||
about the keys for which an import was attempted.
|
about the keys for which an import was attempted.
|
||||||
|
|
||||||
|
@item int skipped_v3_keys
|
||||||
|
For security reasons modern versions of GnuPG do not anymore support
|
||||||
|
v3 keys (created with PGP 2.x) and ignores them on import. This
|
||||||
|
counter provides the number of such skipped v3 keys.
|
||||||
|
|
||||||
@end table
|
@end table
|
||||||
@end deftp
|
@end deftp
|
||||||
|
|
||||||
|
@ -154,6 +154,11 @@ int GpgME::ImportResult::notImported() const
|
|||||||
return d ? d->res.not_imported : 0 ;
|
return d ? d->res.not_imported : 0 ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int GpgME::ImportResult::numV3KeysSkipped() const
|
||||||
|
{
|
||||||
|
return d ? d->res.skipped_v3_keys : 0 ;
|
||||||
|
}
|
||||||
|
|
||||||
GpgME::Import GpgME::ImportResult::import(unsigned int idx) const
|
GpgME::Import GpgME::ImportResult::import(unsigned int idx) const
|
||||||
{
|
{
|
||||||
return Import(d, idx);
|
return Import(d, idx);
|
||||||
|
@ -78,6 +78,7 @@ public:
|
|||||||
int numSecretKeysUnchanged() const;
|
int numSecretKeysUnchanged() const;
|
||||||
|
|
||||||
int notImported() const;
|
int notImported() const;
|
||||||
|
int numV3KeysSkipped() const;
|
||||||
|
|
||||||
Import import(unsigned int idx) const;
|
Import import(unsigned int idx) const;
|
||||||
std::vector<Import> imports() const;
|
std::vector<Import> imports() const;
|
||||||
|
@ -1639,6 +1639,9 @@ struct _gpgme_op_import_result
|
|||||||
|
|
||||||
/* List of keys for which an import was attempted. */
|
/* List of keys for which an import was attempted. */
|
||||||
gpgme_import_status_t imports;
|
gpgme_import_status_t imports;
|
||||||
|
|
||||||
|
/* Number of v3 keys skipped. */
|
||||||
|
int skipped_v3_keys;
|
||||||
};
|
};
|
||||||
typedef struct _gpgme_op_import_result *gpgme_import_result_t;
|
typedef struct _gpgme_op_import_result *gpgme_import_result_t;
|
||||||
|
|
||||||
|
@ -94,8 +94,9 @@ gpgme_op_import_result (gpgme_ctx_t ctx)
|
|||||||
TRACE_LOG3 ("%i secret keys, %i imported, %i unchanged",
|
TRACE_LOG3 ("%i secret keys, %i imported, %i unchanged",
|
||||||
opd->result.secret_read, opd->result.secret_imported,
|
opd->result.secret_read, opd->result.secret_imported,
|
||||||
opd->result.secret_unchanged);
|
opd->result.secret_unchanged);
|
||||||
TRACE_LOG2 ("%i skipped new keys, %i not imported",
|
TRACE_LOG3 ("%i skipped new keys, %i not imported, %i v3 skipped",
|
||||||
opd->result.skipped_new_keys, opd->result.not_imported);
|
opd->result.skipped_new_keys, opd->result.not_imported,
|
||||||
|
opd->result.skipped_v3_keys);
|
||||||
|
|
||||||
impstat = opd->result.imports;
|
impstat = opd->result.imports;
|
||||||
i = 0;
|
i = 0;
|
||||||
@ -212,6 +213,10 @@ parse_import_res (char *args, gpgme_import_result_t result)
|
|||||||
PARSE_NEXT (result->secret_unchanged);
|
PARSE_NEXT (result->secret_unchanged);
|
||||||
PARSE_NEXT (result->skipped_new_keys);
|
PARSE_NEXT (result->skipped_new_keys);
|
||||||
PARSE_NEXT (result->not_imported);
|
PARSE_NEXT (result->not_imported);
|
||||||
|
if (args && *args)
|
||||||
|
{
|
||||||
|
PARSE_NEXT (result->skipped_v3_keys);
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -1261,7 +1261,7 @@ gpgme_get_key (gpgme_ctx_t ctx, const char *fpr, gpgme_key_t *r_key,
|
|||||||
{
|
{
|
||||||
gpgme_ctx_t listctx;
|
gpgme_ctx_t listctx;
|
||||||
gpgme_error_t err;
|
gpgme_error_t err;
|
||||||
gpgme_key_t key;
|
gpgme_key_t result, key;
|
||||||
|
|
||||||
TRACE_BEG2 (DEBUG_CTX, "gpgme_get_key", ctx,
|
TRACE_BEG2 (DEBUG_CTX, "gpgme_get_key", ctx,
|
||||||
"fpr=%s, secret=%i", fpr, secret);
|
"fpr=%s, secret=%i", fpr, secret);
|
||||||
@ -1295,7 +1295,7 @@ gpgme_get_key (gpgme_ctx_t ctx, const char *fpr, gpgme_key_t *r_key,
|
|||||||
|
|
||||||
err = gpgme_op_keylist_start (listctx, fpr, secret);
|
err = gpgme_op_keylist_start (listctx, fpr, secret);
|
||||||
if (!err)
|
if (!err)
|
||||||
err = gpgme_op_keylist_next (listctx, r_key);
|
err = gpgme_op_keylist_next (listctx, &result);
|
||||||
if (!err)
|
if (!err)
|
||||||
{
|
{
|
||||||
try_next_key:
|
try_next_key:
|
||||||
@ -1305,9 +1305,9 @@ gpgme_get_key (gpgme_ctx_t ctx, const char *fpr, gpgme_key_t *r_key,
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (!err
|
if (!err
|
||||||
&& *r_key && (*r_key)->subkeys && (*r_key)->subkeys->fpr
|
&& result && result->subkeys && result->subkeys->fpr
|
||||||
&& key && key->subkeys && key->subkeys->fpr
|
&& key && key->subkeys && key->subkeys->fpr
|
||||||
&& !strcmp ((*r_key)->subkeys->fpr, key->subkeys->fpr))
|
&& !strcmp (result->subkeys->fpr, key->subkeys->fpr))
|
||||||
{
|
{
|
||||||
/* The fingerprint is identical. We assume that this is
|
/* The fingerprint is identical. We assume that this is
|
||||||
the same key and don't mark it as an ambiguous. This
|
the same key and don't mark it as an ambiguous. This
|
||||||
@ -1323,12 +1323,14 @@ gpgme_get_key (gpgme_ctx_t ctx, const char *fpr, gpgme_key_t *r_key,
|
|||||||
gpgme_key_unref (key);
|
gpgme_key_unref (key);
|
||||||
err = gpg_error (GPG_ERR_AMBIGUOUS_NAME);
|
err = gpg_error (GPG_ERR_AMBIGUOUS_NAME);
|
||||||
}
|
}
|
||||||
gpgme_key_unref (*r_key);
|
gpgme_key_unref (result);
|
||||||
|
result = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
gpgme_release (listctx);
|
gpgme_release (listctx);
|
||||||
if (! err)
|
if (! err)
|
||||||
{
|
{
|
||||||
|
*r_key = result;
|
||||||
TRACE_LOG2 ("key=%p (%s)", *r_key,
|
TRACE_LOG2 ("key=%p (%s)", *r_key,
|
||||||
((*r_key)->subkeys && (*r_key)->subkeys->fpr) ?
|
((*r_key)->subkeys && (*r_key)->subkeys->fpr) ?
|
||||||
(*r_key)->subkeys->fpr : "invalid");
|
(*r_key)->subkeys->fpr : "invalid");
|
||||||
|
@ -196,7 +196,8 @@ print_import_result (gpgme_import_result_t r)
|
|||||||
" secret imported: %d\n"
|
" secret imported: %d\n"
|
||||||
" secret unchanged: %d\n"
|
" secret unchanged: %d\n"
|
||||||
" skipped new keys: %d\n"
|
" skipped new keys: %d\n"
|
||||||
" not imported: %d\n",
|
" not imported: %d\n"
|
||||||
|
" skipped v3 keys: %d\n",
|
||||||
r->considered,
|
r->considered,
|
||||||
r->no_user_id,
|
r->no_user_id,
|
||||||
r->imported,
|
r->imported,
|
||||||
@ -210,6 +211,7 @@ print_import_result (gpgme_import_result_t r)
|
|||||||
r->secret_imported,
|
r->secret_imported,
|
||||||
r->secret_unchanged,
|
r->secret_unchanged,
|
||||||
r->skipped_new_keys,
|
r->skipped_new_keys,
|
||||||
r->not_imported);
|
r->not_imported,
|
||||||
|
r->skipped_v3_keys);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -177,7 +177,8 @@ print_import_result (gpgme_import_result_t r)
|
|||||||
" secret imported: %d\n"
|
" secret imported: %d\n"
|
||||||
" secret unchanged: %d\n"
|
" secret unchanged: %d\n"
|
||||||
" skipped new keys: %d\n"
|
" skipped new keys: %d\n"
|
||||||
" not imported: %d\n",
|
" not imported: %d\n"
|
||||||
|
" skipped v3 keys: %d\n",
|
||||||
r->considered,
|
r->considered,
|
||||||
r->no_user_id,
|
r->no_user_id,
|
||||||
r->imported,
|
r->imported,
|
||||||
@ -191,6 +192,7 @@ print_import_result (gpgme_import_result_t r)
|
|||||||
r->secret_imported,
|
r->secret_imported,
|
||||||
r->secret_unchanged,
|
r->secret_unchanged,
|
||||||
r->skipped_new_keys,
|
r->skipped_new_keys,
|
||||||
r->not_imported);
|
r->not_imported,
|
||||||
|
r->skipped_v3_keys);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user