62 lines
1.9 KiB
Diff
62 lines
1.9 KiB
Diff
|
From 370694b36f1ed6f26554ccc740da3b3e92aafded Mon Sep 17 00:00:00 2001
|
||
|
From: Rex Dieter <rdieter@fedoraproject.org>
|
||
|
Date: Fri, 17 Aug 2012 08:52:25 -0500
|
||
|
Subject: [PATCH] only print debug message if no pkcs11 socket
|
||
|
|
||
|
This is to handle the case of running gnome-keyring in environments
|
||
|
not matching GNOME;Unity and avoid needless
|
||
|
WARNING: couldn't connect to: /tmp/keyring-SqfLpI/pkcs11
|
||
|
type errors
|
||
|
|
||
|
https://bugzilla.gnome.org/show_bug.cgi?id=665961
|
||
|
---
|
||
|
pkcs11/rpc-layer/gkm-rpc-module.c | 18 ++++++++++++++++--
|
||
|
1 file changed, 16 insertions(+), 2 deletions(-)
|
||
|
|
||
|
diff --git a/pkcs11/rpc-layer/gkm-rpc-module.c b/pkcs11/rpc-layer/gkm-rpc-module.c
|
||
|
index 240fd83..1b11d96 100644
|
||
|
--- a/pkcs11/rpc-layer/gkm-rpc-module.c
|
||
|
+++ b/pkcs11/rpc-layer/gkm-rpc-module.c
|
||
|
@@ -251,8 +251,13 @@ call_connect (CallState *cs)
|
||
|
|
||
|
if (connect (sock, (struct sockaddr*) &addr, sizeof (addr)) < 0) {
|
||
|
close (sock);
|
||
|
- warning (("couldn't connect to: %s: %s", pkcs11_socket_path, strerror (errno)));
|
||
|
- return CKR_DEVICE_ERROR;
|
||
|
+ if (errno == ENOENT) {
|
||
|
+ debug (("couldn't connect to: %s: %s", pkcs11_socket_path, strerror (errno)));
|
||
|
+ return CKR_DEVICE_REMOVED;
|
||
|
+ } else {
|
||
|
+ warning (("couldn't connect to: %s: %s", pkcs11_socket_path, strerror (errno)));
|
||
|
+ return CKR_DEVICE_ERROR;
|
||
|
+ }
|
||
|
}
|
||
|
|
||
|
if (egg_unix_credentials_write (sock) < 0) {
|
||
|
@@ -1208,6 +1213,10 @@ rpc_C_Initialize (CK_VOID_PTR init_args)
|
||
|
if (ret == CKR_OK)
|
||
|
ret = call_run (cs);
|
||
|
call_done (cs, ret);
|
||
|
+
|
||
|
+ /* No daemon available */
|
||
|
+ } else if (ret == CKR_DEVICE_REMOVED) {
|
||
|
+ ret = CKR_OK;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
@@ -1248,8 +1257,13 @@ rpc_C_Finalize (CK_VOID_PTR reserved)
|
||
|
if (ret == CKR_OK)
|
||
|
ret = call_run (cs);
|
||
|
call_done (cs, ret);
|
||
|
+
|
||
|
+ /* No daemon available */
|
||
|
+ } else if (ret == CKR_DEVICE_REMOVED) {
|
||
|
+ ret = CKR_OK;
|
||
|
}
|
||
|
|
||
|
+
|
||
|
if (ret != CKR_OK)
|
||
|
warning (("finalizing the daemon returned an error: %d", ret));
|
||
|
}
|
||
|
--
|
||
|
1.7.12.1
|