Hello

--- On Wed, 4/5/11, Vic Lee <[email protected]> wrote:
 
> Please check the attached patch, it should be safe to
> apply. It mainly moves the pcsc dependency to the
> sub-plugin, so that the rdpdr_main can be smartcard
> independent. It compiles and runs ok without PCSC. This
> achieves the goal of making pcsc dependency in its own
> sub-plugin and can be packaged separately.

I've already pushed this commit to OSSystems' wip/smartcard. Actually I intent 
to meld it into a "final smart card commit" later on.

> However, I think a bigger issue is in rdpdr_scard.c file.
> It's casting a pointer to uint32, which will almost
> certainly to crash on 64bit systems; and the pointer points
> to IRP struct, which is just a locally allocated struct and
> it's not safe to be accessed from another thread, otherwise
> it's also going to be crashed.

> To solve the issue, I think we need to extend the device
> plugin API and provide a callback to the sub-plugin so that
> the sub-plugin can send messages in a safe way, then
> eventually we are able to remove rdpdr_scard.

I've made another commit that adds a generic callback message, in this form:

void * (*) (void *)

So we could get or send any message to the device service, Please take a look 
and give your comments: 
https://github.com/OSSystems/FreeRDP/tree/wip%2Fsmartcard

About rdpdr_scard, I still couldn't find a better way to do that but using a 
separate thread... I'm still working on it.


Thank you for the attention,

Eduardo

------------------------------------------------------------------------------
WhatsUp Gold - Download Free Network Management Software
The most intuitive, comprehensive, and cost-effective network 
management toolset available today.  Delivers lowest initial 
acquisition cost and overall TCO of any competing solution.
http://p.sf.net/sfu/whatsupgold-sd
_______________________________________________
Freerdp-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freerdp-devel

Reply via email to