From: Nikos Mavrogiannopoulos Date: Tue, 7 Jun 2011 17:07:24 +0000 (+0200) Subject: Return error code when an object is not found. X-Git-Tag: gnutls_2_99_3~25 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=56f236ee47dbd587535f2ffadf09acbbb333d8dc;p=thirdparty%2Fgnutls.git Return error code when an object is not found. Only request for token insertion if the expected data is not found. Based on patch by Stef Walter. --- diff --git a/lib/pkcs11.c b/lib/pkcs11.c index 5fdd756a18..6ef1039efa 100644 --- a/lib/pkcs11.c +++ b/lib/pkcs11.c @@ -1060,9 +1060,9 @@ pkcs11_find_object (pakchois_session_t ** _pks, *_pks = pks; pakchois_find_objects_final (pks); return 0; - } + ret = GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE; pakchois_find_objects_final (pks); fail: pakchois_close_session (pks); diff --git a/lib/pkcs11_privkey.c b/lib/pkcs11_privkey.c index e0f7675b86..87878256a8 100644 --- a/lib/pkcs11_privkey.c +++ b/lib/pkcs11_privkey.c @@ -121,7 +121,7 @@ gnutls_pkcs11_privkey_get_info (gnutls_pkcs11_privkey_t pkey, int rret; \ ret = pkcs11_find_object (&pks, &obj, &key->info, \ SESSION_LOGIN); \ - if (ret < 0) { \ + if (ret == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) { \ if (token_func) \ { \ rret = token_func(token_data, key->info.token, retries++); \