summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStef Walter <stefw@collabora.co.uk>2011-05-30 21:35:25 +0200
committerNikos Mavrogiannopoulos <nmav@gnutls.org>2011-06-07 07:08:46 +0200
commit4670344db4dd5ffd0fb54be922083a81cf5f8c4b (patch)
treef742d3c933ab1223fecd6996705dbe67ae322f64
parent683cda5b17f1c9db9d813af937ae7c560f140fee (diff)
downloadgnutls-4670344db4dd5ffd0fb54be922083a81cf5f8c4b.tar.gz
pkcs11: Accept CKR_USER_ALREADY_LOGGED_IN as successful result for PAP Login
* When doing CKF_PROTECTED_AUTHENTICATION_PATH login, accept CKR_USER_ALREADY_LOGGED_IN as a successful result. * Another code path, or another consumer of the same PKCS#11 module may have already logged in. * This is what the non PAP code path already does. Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
-rw-r--r--lib/pkcs11.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/pkcs11.c b/lib/pkcs11.c
index a5319e6899..f63bec76f0 100644
--- a/lib/pkcs11.c
+++ b/lib/pkcs11.c
@@ -2057,8 +2057,8 @@ pkcs11_login (pakchois_session_t * pks, const struct token_info *info, int so)
* required. */
if (info->tinfo.flags & CKF_PROTECTED_AUTHENTICATION_PATH)
{
- if (pakchois_login (pks, (so == 0) ? CKU_USER : CKU_SO, NULL, 0) ==
- CKR_OK)
+ rv = pakchois_login (pks, (so == 0) ? CKU_USER : CKU_SO, NULL, 0);
+ if (rv == CKR_OK || rv == CKR_USER_ALREADY_LOGGED_IN)
{
return 0;
}