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