From: Jes Sorensen <Jes.Sorensen@redhat.com>
To: Alon Levy <alevy@redhat.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH v23 06/11] libcacard: initial commit
Date: Mon, 28 Mar 2011 14:35:23 +0200 [thread overview]
Message-ID: <4D90808B.1090605@redhat.com> (raw)
In-Reply-To: <1300886393-2799-7-git-send-email-alevy@redhat.com>
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?
> 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....
Cheers,
Jes
next prev parent reply other threads:[~2011-03-28 12:44 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 [this message]
2011-03-28 12:42 ` Alon Levy
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=4D90808B.1090605@redhat.com \
--to=jes.sorensen@redhat.com \
--cc=alevy@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).