From: Alon Levy <alevy@redhat.com>
To: Jes Sorensen <Jes.Sorensen@redhat.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH v23 06/11] libcacard: initial commit
Date: Mon, 28 Mar 2011 14:42:25 +0200 [thread overview]
Message-ID: <20110328124225.GF28224@playa.redhat.com> (raw)
In-Reply-To: <4D90808B.1090605@redhat.com>
On Mon, Mar 28, 2011 at 02:35:23PM +0200, Jes Sorensen wrote:
> On 03/23/11 14:19, Alon Levy wrote:
> > From: Robert Relyea <rrelyea@redhat.com>
> >
> > libcacard emulates a Common Access Card (CAC) which is a standard
> > for smartcards. It is used by the emulated ccid card introduced in
> > a following patch. Docs are available in docs/libcacard.txt
> >
> > Signed-off-by: Alon Levy <alevy@redhat.com>
>
> A couple of minor nits.
>
> > diff --git a/Makefile.objs b/Makefile.objs
> > index 744e1d3..f513ffa 100644
> > --- a/Makefile.objs
> > +++ b/Makefile.objs
> > @@ -352,6 +352,11 @@ user-obj-y += qemu-timer-common.o
> > endif
> > endif
> >
> > +######################################################################
> > +# smartcard
> > +
> > +libcacard-y = cac.o event.o vcard.o vreader.o vcard_emul_nss.o vcard_emul_type.o card_7816.o
> > +
> > vl.o: QEMU_CFLAGS+=$(GPROF_CFLAGS)
> >
> > vl.o: QEMU_CFLAGS+=$(SDL_CFLAGS)
> > diff --git a/Makefile.target b/Makefile.target
> > index 62b102a..7f163e3 100644
> > --- a/Makefile.target
> > +++ b/Makefile.target
> > @@ -353,6 +353,8 @@ obj-y += $(addprefix $(HWDIR)/, $(hw-obj-y))
> >
> > endif # CONFIG_SOFTMMU
> >
> > +obj-y += $(addprefix ../libcacard/, $(libcacard-$(CONFIG_SMARTCARD_NSS)))
> > +
> > obj-y += $(addprefix ../, $(trace-obj-y))
> > obj-$(CONFIG_GDBSTUB_XML) += gdbstub-xml.o
>
> This is a bit backwards, normally we do
> foobar-$(CONFIG_FOOBAR) = foo.o bar.o
>
> and then later obj-y = $(foobar-y)
>
> > diff --git a/libcacard/cac.c b/libcacard/cac.c
> > new file mode 100644
> > index 0000000..7a910d8
> > --- /dev/null
> > +++ b/libcacard/cac.c
> > @@ -0,0 +1,406 @@
> > +/*
> > + * implement the applets for the CAC card.
> > + *
> > + * This code is licensed under the GNU LGPL, version 2.1 or later.
> > + * See the COPYING.LIB file in the top-level directory.
> > + *
> > + */
> > +#include <stdlib.h>
> > +#include <string.h>
> > +
> > +#include "qemu-common.h"
>
> stdlib.h and string.h are both included by qemu-common.h
>
> > diff --git a/libcacard/card_7816.c b/libcacard/card_7816.c
> > new file mode 100644
> > index 0000000..4c10cae
> > --- /dev/null
> > +++ b/libcacard/card_7816.c
> > @@ -0,0 +1,764 @@
> > +/*
> > + * Implement the 7816 portion of the card spec
> > + *
> > + * This code is licensed under the GNU LGPL, version 2.1 or later.
> > + * See the COPYING.LIB file in the top-level directory.
> > + */
> > +
> > +#include <stdlib.h>
> > +#include <string.h>
> > +#include "qemu-common.h"
>
> same here
>
> > diff --git a/libcacard/event.c b/libcacard/event.c
> > new file mode 100644
> > index 0000000..12722cc
> > --- /dev/null
> > +++ b/libcacard/event.c
> > @@ -0,0 +1,108 @@
> > +/*
> > + * event queue implementation.
> > + *
> > + * This code is licensed under the GNU LGPL, version 2.1 or later.
> > + * See the COPYING.LIB file in the top-level directory.
> > + */
> > +
> > +#include <stdlib.h>
> > +
> > +#include "qemu-thread.h"
> > +#include "qemu-common.h"
>
> again here
>
>
> > diff --git a/libcacard/vcard.c b/libcacard/vcard.c
> > new file mode 100644
> > index 0000000..d7828a2
> > --- /dev/null
> > +++ b/libcacard/vcard.c
> > @@ -0,0 +1,341 @@
> > +/*
> > + * implement the Java card standard.
> > + *
> > + * This work is licensed under the terms of the GNU LGPL, version 2.1 or later.
> > + * See the COPYING.LIB file in the top-level directory.
> > + */
> > +#include <stdlib.h>
> > +#include <string.h>
> > +
> > +#include "qemu-common.h"
>
> and here
>
> > diff --git a/libcacard/vcard_emul_nss.c b/libcacard/vcard_emul_nss.c
> > new file mode 100644
> > index 0000000..d3ab7ea
> > --- /dev/null
> > +++ b/libcacard/vcard_emul_nss.c
> > @@ -0,0 +1,1159 @@
> > +/*
> > + * This is the actual card emulator.
> > + *
> > + * These functions can be implemented in different ways on different platforms
> > + * using the underlying system primitives. For Linux it uses NSS, though direct
> > + * to PKCS #11, openssl+pkcs11, or even gnu crypto libraries+pkcs #11 could be
> > + * used. On Windows CAPI could be used.
> > + *
> > + * This work is licensed under the terms of the GNU LGPL, version 2.1 or later.
> > + * See the COPYING.LIB file in the top-level directory.
> > + */
> > +
> > +/*
> > + * system headers
> > + */
> > +#include <stdlib.h>
> > +#include <string.h>
> > +
> > +/*
> > + * NSS headers
> > + */
> > +#include <nss.h>
> > +#include <pk11pub.h>
> > +#include <cert.h>
> > +#include <key.h>
> > +#include <secmod.h>
> > +#include <prthread.h>
> > +#include <secerr.h>
> > +
> > +#include "qemu-common.h"
>
> again here
>
> prthread.h do you have a check for it in configure? I have to admit I
> really would prefer QEMU not relying on the NSPR stuff, but I don't know
> if it can be avoided with the ccid code?
>
No, unless you mean I should rewrite the emulation to not use NSS, I don't know
how. Or are you saying NSS can be used without using NSPR? I admited and will
repeat that I have not authored this code (that's why I have Robert Relyea as
the author of this patch), so I'm not familiar with NSS/NSPR except superficially.
> > diff --git a/libcacard/vreader.c b/libcacard/vreader.c
> > new file mode 100644
> > index 0000000..0b67c6c
> > --- /dev/null
> > +++ b/libcacard/vreader.c
> > @@ -0,0 +1,519 @@
> > +/*
> > + * emulate the reader
> > + *
> > + * This work is licensed under the terms of the GNU LGPL, version 2.1 or later.
> > + * See the COPYING.LIB file in the top-level directory.
> > + */
> > +
> > +/*
> > + * System includes
> > + */
> > +#include <stdlib.h>
> > +#include <string.h>
> > +
> > +#include "qemu-thread.h"
> > +#include "qemu-common.h"
>
> and a last one....
Are these a problem enough that you will without an ack? with respect to your
previous acks do you want me to only send this patch again, and Anthony should
merge the acked patches?
>
> Cheers,
> Jes
next prev parent reply other threads:[~2011-03-28 12:43 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-23 13:19 [Qemu-devel] [PATCH v23 00/11] usb-ccid Alon Levy
2011-03-23 13:19 ` [Qemu-devel] [PATCH v23 01/11] trace: move trace objects from Makefile to Makefile.objs Alon Levy
2011-03-28 11:59 ` Jes Sorensen
2011-03-28 14:26 ` Alon Levy
2011-03-28 14:30 ` Jes Sorensen
2011-03-28 16:00 ` Alon Levy
2011-03-23 13:19 ` [Qemu-devel] [PATCH v23 02/11] qemu-thread.h: include inttypes.h Alon Levy
2011-03-28 11:59 ` Jes Sorensen
2011-03-23 13:19 ` [Qemu-devel] [PATCH v23 03/11] usb-ccid: add CCID bus Alon Levy
2011-03-28 12:01 ` Jes Sorensen
2011-03-28 12:13 ` Alon Levy
2011-03-28 14:28 ` Alon Levy
2011-03-28 14:31 ` Jes Sorensen
2011-03-28 17:44 ` Blue Swirl
2011-03-28 18:00 ` Alon Levy
2011-03-28 18:08 ` Blue Swirl
2011-03-23 13:19 ` [Qemu-devel] [PATCH v23 04/11] introduce libcacard/vscard_common.h Alon Levy
2011-03-28 12:04 ` Jes Sorensen
2011-03-23 13:19 ` [Qemu-devel] [PATCH v23 05/11] ccid: add passthru card device Alon Levy
2011-03-28 12:08 ` Jes Sorensen
2011-03-28 12:14 ` Alon Levy
2011-03-28 13:45 ` Jes Sorensen
2011-03-23 13:19 ` [Qemu-devel] [PATCH v23 06/11] libcacard: initial commit Alon Levy
2011-03-28 12:35 ` Jes Sorensen
2011-03-28 12:42 ` Alon Levy [this message]
2011-03-28 13:52 ` Jes Sorensen
2011-03-28 14:43 ` Alon Levy
2011-03-23 13:19 ` [Qemu-devel] [PATCH v23 07/11] libcacard: add vscclient Alon Levy
2011-03-28 12:43 ` Jes Sorensen
2011-03-28 12:51 ` Alon Levy
2011-03-28 13:55 ` Jes Sorensen
2011-03-23 13:19 ` [Qemu-devel] [PATCH v23 08/11] libcacard: add passthru Alon Levy
2011-03-28 13:27 ` Jes Sorensen
2011-03-28 14:24 ` Alon Levy
2011-03-28 15:21 ` Alon Levy
2011-03-28 15:25 ` Jes Sorensen
2011-03-23 13:19 ` [Qemu-devel] [PATCH v23 09/11] libcacard: add docs Alon Levy
2011-03-28 13:31 ` Jes Sorensen
2011-03-23 13:19 ` [Qemu-devel] [PATCH v23 10/11] ccid: add ccid-card-emulated device Alon Levy
2011-03-28 13:39 ` Jes Sorensen
2011-03-23 13:19 ` [Qemu-devel] [PATCH v23 11/11] ccid: add docs Alon Levy
2011-03-28 13:41 ` Jes Sorensen
2011-03-23 15:32 ` [Qemu-devel] [PATCH v23 00/11] usb-ccid Hans de Goede
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20110328124225.GF28224@playa.redhat.com \
--to=alevy@redhat.com \
--cc=Jes.Sorensen@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).