Bug 815639
| Summary: | [virt-viewer]virt-viewer failed to initialize smartcard when using reconnect&wait | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 6 | Reporter: | zhe peng <zpeng> |
| Component: | spice-gtk | Assignee: | Christophe Fergeau <cfergeau> |
| Status: | CLOSED ERRATA | QA Contact: | Desktop QE <desktop-qa-list> |
| Severity: | medium | Docs Contact: | |
| Priority: | medium | ||
| Version: | 6.3 | CC: | acathrow, cfergeau, cwei, dblechte, djasa, jwu, mjenner, mzhan, pvine, tzheng |
| Target Milestone: | rc | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | spice-gtk-0.20-3.el6 | Doc Type: | Bug Fix |
| Doc Text: |
Cause: spice-gtk did not handle correctly indication that software smartcard support was already initialized
Consequence: software smartcard support would stop working after migration or restarting a guest
Fix: don't disable software smartcard support at spice connection time if libcacard tells us software smartcard support is already initialized
Result: software smartcard support should keep working across guest reboots/migrations.
|
Story Points: | --- |
| Clone Of: | Environment: | ||
| Last Closed: | 2013-11-21 08:24:13 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
|
Description
zhe peng
2012-04-24 06:53:04 UTC
I can reproduce this, the steps from rhbz#815175 can be followed to create a software smartcard and test with that. I'm using pcsc_scan to check for the presence or absence of a smartcard. Initial investigation shows that it's the vcard_emul_init call from smartcard_manager_init which fails because libcacard is already initialized. This can be workarounded with something like this:
From 9acba6054dbc94447837e7049c8ff2f86b47b225 Mon Sep 17 00:00:00 2001
From: Christophe Fergeau <cfergeau>
Date: Wed, 25 Apr 2012 19:17:00 +0200
Subject: [PATCH] Don't fail when vcard_emul_init has already been called
---
gtk/smartcard-manager.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/gtk/smartcard-manager.c b/gtk/smartcard-manager.c
index 8e22e6c..f1d5836 100644
--- a/gtk/smartcard-manager.c
+++ b/gtk/smartcard-manager.c
@@ -457,7 +457,7 @@ static gboolean smartcard_manager_init(SpiceSession *session,
init:
SPICE_DEBUG("vcard_emul_init");
- if (vcard_emul_init(options) != VCARD_EMUL_OK) {
+ if (vcard_emul_init(options) == VCARD_EMUL_FAIL) {
*err = g_error_new(SPICE_CLIENT_ERROR,
SPICE_CLIENT_ERROR_FAILED,
"Failed to initialize smartcard");
--
1.7.1
but more investigation is needed because the smartcard is still not working after that.
By the way, this can be reassigned to spice-gtk. Since RHEL 6.3 External Beta has begun, and this bug remains unresolved, it has been rejected as it is not proposed as exception or blocker. Red Hat invites you to ask your support representative to propose this request, if appropriate and relevant, in the next release of Red Hat Enterprise Linux. Actually, a variant of the patch from comment #3 works. Patch sent upstream: http://lists.freedesktop.org/archives/spice-devel/2013-July/013888.html reproduced - qa_ack+ note that the smart card support doesn't have to be configured or even installed in the guest at all, the error message appears right after second start of the guest during virt-viewer lifetime. Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. http://rhn.redhat.com/errata/RHBA-2013-1577.html |