diff -up ./src/common/pkcs11_lib.c.login_required ./src/common/pkcs11_lib.c
--- ./src/common/pkcs11_lib.c.login_required 2010-03-18 17:45:38.091458000 -0700
+++ ./src/common/pkcs11_lib.c 2010-03-18 17:48:24.498131000 -0700
@@ -662,6 +662,16 @@ int pkcs11_login(pkcs11_handle_t *h, cha
return (rv == SECSuccess) ? 0 : -1;
}
+int get_slot_login_required(pkcs11_handle_t *h)
+{
+ if (h->slot == NULL) {
+ DBG("Login failed: No Slot selected");
+ return -1;
+ }
+
+ return PK11_NeedLogin(h->slot);
+}
+
int close_pkcs11_session(pkcs11_handle_t *h)
{
if (h->slot) {