On Mon, 2011-02-14 at 13:23 -0600, Douglas E. Engert wrote:
> 
> On 2/11/2011 6:02 PM, Andre Zepezauer wrote:
> > On Fri, 2011-02-11 at 15:16 -0600, Douglas E. Engert wrote:
> >>
> >> 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.
> >
> > See attachment for a more compact implementation of 'transmit'.
> 
> 
> Can you please try these modifications on your own systems.

Haven't a MS Windows box at hand, sorry.

_______________________________________________
opensc-devel mailing list
opensc-devel@lists.opensc-project.org
http://www.opensc-project.org/mailman/listinfo/opensc-devel

Reply via email to