Am Donnerstag 17 September 2009 10:41:56 schrieb Martin Paljak:
> I'm not an expert on pkcs15init nor know the historical and
> philosophical reasons for the separation between libopensc and
> pkcs15init.

I guess noone is. lets considere it historic development.

> I'll push the change to my 0.12 branch for review, but I have a few
> questions that can be answered without the patch:
>   - Why a separate pkcs15init library? Are there any real life users
> of the separate library? What are the reasons? Do we need it? Why not
> a single libopensc.so?

not sure if the changes we have so far break ABI. but if we break ABI,
then I favor to merge libopensc, libpkcs15init and opensc-pcks11.so
into one library / shared object.

>   - Do we really need 3 implementations for PIN caching?
I don't see why, but I'm no expert either.

I would love if opensc could simply stay verified, i.e. read public
objects from the card once and answer them from memory, and if it
gets a pin then verify once. and if the card allows several operations
(e.g. rsa signing etc.) without re-entering the pin, it shoud do that.
but I guess trimming opensc to work that way would need a huge rewrite
and I don't have time for that. :(

> My suggestion would be to remove pkcs15init as a separate library and
> have a single libopensc.so

why keep the internal API? only openssh uses them. we could merge 
opensc-pkcs11.so as well into libopensc so people can use
a) libopensc with many functions available
b) if they onlye use PKCS#11 they can access the symlink opensc-pkcs11.so

but only have one binary left.

if we break abi, we should create an export file so we clearly define
which functions we want to export, and which not, and also cleanup
the header files to reflect that.

> Answers to questions and thoughts on this subject are most welcome.

about those details: you know them much better than I do, so I can't
comment on that.

other things we could clean up:
* keep or remove the code to load drivers as plugins?
* keep license LGPL 2.1+ or change to LGPL 3.0+?
* keep allowing drivers with no source or mandate changes
  to libopensc be LGPL'ed (or compatible)?
* remove the UI code?
* remove the nsplugin code?

Regards, Andreas
p.s. what about roman's patch? apply it to 0.11.*? I have to little clue
to judge it. if noone has an option, I guess going with the submitter
is the right thing to do. 
_______________________________________________
opensc-devel mailing list
opensc-devel@lists.opensc-project.org
http://www.opensc-project.org/mailman/listinfo/opensc-devel

Reply via email to