[Pcsclite-muscle] Changes to pcscd for XSpice support

Jeremy White jwhite at codeweavers.com
Tue Oct 28 19:51:12 UTC 2014


Hi Folks,

I'm working on adding SmartCard support to 'XSpice'.

XSpice is a virtual Xorg driver connected to a spice server; think VNC 
server, but with Spice.  Primary page is spice-space.org, and the 
discussion on the spice-devel mailing list on this topic is given in [1].

XSpice has no VM; just multiple Xorg frame buffers running on the target 
server.  It is used by clients running on remote hardware; those clients 
have full pcsc stacks of their own, and are capable of passing APDU data 
to the XSpice server.  The challenge is that we want applications (e.g. 
Firefox, xdm) running on top of that frame buffer to have access to the 
client smart card data.  But we don't want clients to mix; we want each 
client to have a fully separated smart card channel.

I have a proposed design that seems sound from an XSpice perspective. 
The core idea is to preserve the application use of libpcsclite and 
libcoolkey libraries by providing a per user instance of pcscd.  There 
would be a custom spiceccd driver which would communicate with the 
XSpice server, and would provide pcscd with a virtual device to manage.

This does have implications for pcscd, though, and I was hoping to 
describe my use case and see if it makes sense.

Specifically, my plan would involve modifying pcscd to permit 
PCSCLITE_IPC_DIR to be provided by configuration, rather than being a 
compile time constant.

If my plan seems sensible, I'd be curious to know if patches with those 
changes would be accepted here.  If not, I'd be curious to hear 
alternate ideas of how to accomplish this.

Cheers,

Jeremy

[1] http://lists.freedesktop.org/archives/spice-devel/2014-July/017105.html



More information about the Pcsclite-muscle mailing list