doc/
2003-07-31 Marcus Brinkmann <marcus@g10code.de> * gpgme.texi (Listing Keys): Document GPG_ERR_AMBIGUOUS_NAME for gpgme_get_key. gpgme/ 2003-07-31 Marcus Brinkmann <marcus@g10code.de> * keylist.c (gpgme_get_key): Check if there is more than one key listed, and return GPG_ERR_AMBIGUOUS_NAME in that case.
This commit is contained in:
parent
6bb0790d97
commit
82f7a68aa2
12
NEWS
12
NEWS
@ -1,3 +1,15 @@
|
|||||||
|
Noteworthy changes in version 0.4.3 (unreleased)
|
||||||
|
------------------------------------------------
|
||||||
|
|
||||||
|
* gpgme_get_key fails with GPG_ERR_AMBIGUOUS_NAME if the key ID
|
||||||
|
provided was not unique, instead returning the first matching key.
|
||||||
|
|
||||||
|
* Interface changes relative to the 0.4.3 release:
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
gpgme_get_key CHANGED: Fails correctly if key ID not unique.
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
|
||||||
Noteworthy changes in version 0.4.2 (2003-07-30)
|
Noteworthy changes in version 0.4.2 (2003-07-30)
|
||||||
------------------------------------------------
|
------------------------------------------------
|
||||||
|
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
2003-07-31 Marcus Brinkmann <marcus@g10code.de>
|
||||||
|
|
||||||
|
* gpgme.texi (Listing Keys): Document GPG_ERR_AMBIGUOUS_NAME for
|
||||||
|
gpgme_get_key.
|
||||||
|
|
||||||
2003-07-29 Marcus Brinkmann <marcus@g10code.de>
|
2003-07-29 Marcus Brinkmann <marcus@g10code.de>
|
||||||
|
|
||||||
* Makefile.am (EXTRA_DIST): Remove variable.
|
* Makefile.am (EXTRA_DIST): Remove variable.
|
||||||
|
@ -1144,7 +1144,8 @@ were configured to exclude support for this engine, or because the
|
|||||||
engine is not installed properly.
|
engine is not installed properly.
|
||||||
|
|
||||||
@item GPG_ERR_AMBIGUOUS_NAME
|
@item GPG_ERR_AMBIGUOUS_NAME
|
||||||
This value indicates that a user ID did not specify a unique key.
|
This value indicates that a user ID or other specifier did not specify
|
||||||
|
a unique key.
|
||||||
|
|
||||||
@item GPG_ERR_WRONG_KEY_USAGE
|
@item GPG_ERR_WRONG_KEY_USAGE
|
||||||
This value indicates that a key is not used appropriately.
|
This value indicates that a key is not used appropriately.
|
||||||
@ -2377,8 +2378,9 @@ the error code @code{GPG_ERR_NO_ERROR} and *@var{r_key} will be set to
|
|||||||
|
|
||||||
The function returns the error code @code{GPG_ERR_INV_VALUE} if
|
The function returns the error code @code{GPG_ERR_INV_VALUE} if
|
||||||
@var{ctx} or @var{r_key} is not a valid pointer or @var{fpr} is not a
|
@var{ctx} or @var{r_key} is not a valid pointer or @var{fpr} is not a
|
||||||
fingerprint or key ID, and @code{GPG_ERR_ENOMEM} if at some time
|
fingerprint or key ID, @code{GPG_ERR_AMBIGUOUS_NAME} if the key ID was
|
||||||
during the operation there was not enough memory available.
|
not a unique specifier for a key, and @code{GPG_ERR_ENOMEM} if at some
|
||||||
|
time during the operation there was not enough memory available.
|
||||||
@end deftypefun
|
@end deftypefun
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,5 +1,8 @@
|
|||||||
2003-07-31 Marcus Brinkmann <marcus@g10code.de>
|
2003-07-31 Marcus Brinkmann <marcus@g10code.de>
|
||||||
|
|
||||||
|
* keylist.c (gpgme_get_key): Check if there is more than one key
|
||||||
|
listed, and return GPG_ERR_AMBIGUOUS_NAME in that case.
|
||||||
|
|
||||||
* util.h (_gpgme_decode_c_string): Change type of LEN argument to
|
* util.h (_gpgme_decode_c_string): Change type of LEN argument to
|
||||||
size_t.
|
size_t.
|
||||||
(_gpgme_decode_percent_string): Likewise.
|
(_gpgme_decode_percent_string): Likewise.
|
||||||
|
@ -832,6 +832,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;
|
||||||
|
|
||||||
if (!ctx || !r_key)
|
if (!ctx || !r_key)
|
||||||
return gpg_error (GPG_ERR_INV_VALUE);
|
return gpg_error (GPG_ERR_INV_VALUE);
|
||||||
@ -849,6 +850,21 @@ 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, r_key);
|
||||||
|
if (!err)
|
||||||
|
{
|
||||||
|
err = gpgme_op_keylist_next (listctx, &key);
|
||||||
|
if (gpgme_err_code (err) == GPG_ERR_EOF)
|
||||||
|
err = gpg_error (GPG_ERR_NO_ERROR);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (!err)
|
||||||
|
{
|
||||||
|
gpgme_key_unref (key);
|
||||||
|
err = gpg_error (GPG_ERR_AMBIGUOUS_NAME);
|
||||||
|
}
|
||||||
|
gpgme_key_unref (*r_key);
|
||||||
|
}
|
||||||
|
}
|
||||||
gpgme_release (listctx);
|
gpgme_release (listctx);
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user