]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
Return error code when an object is not found.
authorNikos Mavrogiannopoulos <nmav@gnutls.org>
Tue, 7 Jun 2011 17:07:24 +0000 (19:07 +0200)
committerNikos Mavrogiannopoulos <nmav@gnutls.org>
Tue, 7 Jun 2011 17:07:24 +0000 (19:07 +0200)
Only request for token insertion if the expected data is not found.

Based on patch by Stef Walter.

lib/pkcs11.c
lib/pkcs11_privkey.c

index 5fdd756a1881c2d04948d2bdd4c284056580668e..6ef1039efa3627a48bd515092edb4d4908df3819 100644 (file)
@@ -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);
index e0f7675b86cab674e9633fea883a8fb4f525ec0b..87878256a83471573182bbcd68dcf863a99113e9 100644 (file)
@@ -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++); \