On 2/11/2011 3:02 PM, Andre Zepezauer wrote:
> On Fri, 2011-02-11 at 22:25 +0200, Martin Paljak wrote:
>>>>>> Furthermore, any cardmod adjustments can be implemented and isolated
>>>>>> with ifdef-s,
>>>>>
>>>>> The only #ifdef ENABLED_CARDMOD left is in ctx, and that could easily be
>>>>> removed as it tests the app_name for "cardmod" (The cardmod/Makefile.am
>>>>> has one to compile or not.)  That test for the app_name is needed today
>>>>> because of the way the readers are initialized, and the cardmod looks
>>>>> like a separate driver. This could change if the mods were merged better
>>>>> in reader-pcsc.c
>>>>
>>>> As you said above, "The cardmod modifications to
>>>> reader-pcsc for the most part turn off all these features, so they don't
>>>> get accidentally executed and cause problems.".
>>>>
>>>>
>>>> #ifdef-s in reader-pcsc.c are OK to assure those limitations.
>>>> But those ifdef-s only should exist in reader-pcsc.c, as the only reader 
>>>> driver the minidriver will know about is the pcsc driver. And to make it 
>>>> very sure, if the codebase is compiled to produce minidriver DLL, the 
>>>> extra ifdef-s will guarantee that those restrictions are enforced 
>>>> (actually it should be assured by the minidriver code that nothing gets 
>>>> called that would "confuse" reader-pcsc.c)
>>>>
>>>
>>> I would still assume that the first thing a combined driver would do
>>> would be to set a "use_provided_readers" or "cardmod_mode" flag so
>>> "#ifdef"s are not used, but "if" statements are.
>>>
>>> This would allow the same build to be used for both cardmod and pkcs#11.
>>
>> If-s should suffice, I assume the same. Eventually #ifdef-s and a separate 
>> compile could probably allow to reduce the overall binary dll size even more.
>
> BTW: There was a _standalone_ reader-cardmod.c proposed on Monday. It
> uses the 'init' function to pass in the handles. Making 'init' a stub
> and using its body for the new 'use_reader' function should be enough to
> make it work with current trunk.

Have you tried this?

>
> The only thing that could be shared with the original reader-pcsc.c is
> 'transmit'. And even that could be re-written from scratch if closer
> coupling to the underlying platform is required.
>
> Regards
> Andre
>
> http://www.opensc-project.org/pipermail/opensc-devel/2011-February/015910.html
> http://www.opensc-project.org/pipermail/opensc-devel/attachments/20110207/5b57cb23/attachment-0001.c
>
>
>

-- 

  Douglas E. Engert  <deeng...@anl.gov>
  Argonne National Laboratory
  9700 South Cass Avenue
  Argonne, Illinois  60439
  (630) 252-5444
_______________________________________________
opensc-devel mailing list
opensc-devel@lists.opensc-project.org
http://www.opensc-project.org/mailman/listinfo/opensc-devel

Reply via email to