diff options
author | Stef Walter <stefw@collabora.co.uk> | 2011-05-30 21:35:25 +0200 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2011-06-07 07:08:46 +0200 |
commit | 4670344db4dd5ffd0fb54be922083a81cf5f8c4b (patch) | |
tree | f742d3c933ab1223fecd6996705dbe67ae322f64 | |
parent | 683cda5b17f1c9db9d813af937ae7c560f140fee (diff) | |
download | gnutls-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.c | 4 |
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; } |