- moved OpenSC-related functions to scutil

- added make-target for flawfinder (to be used with vim)


git-svn-id: https://vsmartcard.svn.sourceforge.net/svnroot/vsmartcard@334 96b47cad-a561-4643-ad3b-153ac7d7599c
This commit is contained in:
frankmorgner
2010-10-15 16:59:53 +00:00
parent 2bfeff8b33
commit 13a2f7916f
6 changed files with 61 additions and 59 deletions

View File

@@ -24,6 +24,9 @@ noinst_HEADERS = \
ccid.h \
usbstring.h
flaw:
flawfinder -SQD *.h *.c
if WITH_CCID
bin_PROGRAMS += ccid-emulator
endif

View File

@@ -19,7 +19,6 @@
#include "binutil.h"
#include <stdio.h>
#include <string.h>
#include <opensc/opensc.h>
void print_usage(const char *app_name, const struct option options[],
const char *option_help[])
@@ -70,59 +69,3 @@ void parse_error(const char *app_name, const struct option options[],
printf("Could not parse %s ('%s').\n", options[opt_ind].name, optarg);
print_usage(app_name , options, option_help);
}
static int list_readers(sc_context_t *ctx)
{
unsigned int i, rcount = sc_ctx_get_reader_count(ctx);
if (rcount == 0) {
printf("No smart card readers found.\n");
return 0;
}
printf("Readers known about:\n");
printf("Nr. Driver Name\n");
for (i = 0; i < rcount; i++) {
sc_reader_t *screader = sc_ctx_get_reader(ctx, i);
printf("%-7d%-11s%s\n", i, screader->driver->short_name,
screader->name);
}
return 0;
}
static int list_drivers(sc_context_t *ctx)
{
int i;
if (ctx->card_drivers[0] == NULL) {
printf("No card drivers installed!\n");
return 0;
}
printf("Configured card drivers:\n");
for (i = 0; ctx->card_drivers[i] != NULL; i++) {
printf(" %-16s %s\n", ctx->card_drivers[i]->short_name,
ctx->card_drivers[i]->name);
}
return 0;
}
int print_avail(int verbose)
{
sc_context_t *ctx = NULL;
int r;
r = sc_context_create(&ctx, NULL);
if (r) {
fprintf(stderr, "Failed to establish context: %s\n", sc_strerror(r));
return 1;
}
ctx->debug = verbose;
r = list_readers(ctx)|list_drivers(ctx);
if (ctx)
sc_release_context(ctx);
return r;
}

View File

@@ -26,6 +26,4 @@ void print_usage(const char *app_name, const struct option options[],
void parse_error(const char *app_name, const struct option options[],
const char *option_help[], const char *optarg, int opt_ind);
int print_avail(int verbose);
#endif

View File

@@ -89,4 +89,6 @@ void _bin_log(sc_context_t *ctx, int type, const char *file, int line,
const char *func, const char *label, const u8 *data, size_t len,
FILE *f);
int print_avail(int verbose);
#endif

View File

@@ -212,3 +212,58 @@ void _bin_log(sc_context_t *ctx, int type, const char *file, int line,
}
}
static int list_drivers(sc_context_t *ctx)
{
int i;
if (ctx->card_drivers[0] == NULL) {
printf("No card drivers installed!\n");
return 0;
}
printf("Configured card drivers:\n");
for (i = 0; ctx->card_drivers[i] != NULL; i++) {
printf(" %-16s %s\n", ctx->card_drivers[i]->short_name,
ctx->card_drivers[i]->name);
}
return 0;
}
static int list_readers(sc_context_t *ctx)
{
unsigned int i, rcount = sc_ctx_get_reader_count(ctx);
if (rcount == 0) {
printf("No smart card readers found.\n");
return 0;
}
printf("Readers known about:\n");
printf("Nr. Driver Name\n");
for (i = 0; i < rcount; i++) {
sc_reader_t *screader = sc_ctx_get_reader(ctx, i);
printf("%-7d%-11s%s\n", i, screader->driver->short_name,
screader->name);
}
return 0;
}
int print_avail(int verbose)
{
sc_context_t *ctx = NULL;
int r;
r = sc_context_create(&ctx, NULL);
if (r) {
fprintf(stderr, "Failed to establish context: %s\n", sc_strerror(r));
return 1;
}
ctx->debug = verbose;
r = list_readers(ctx)|list_drivers(ctx);
if (ctx)
sc_release_context(ctx);
return r;
}

View File

@@ -293,6 +293,7 @@ static const struct usb_endpoint_descriptor *hs_eps [] = {
/*-------------------------------------------------------------------------*/
/* 56 is the maximum for the KOBIL Class 3 Reader */
/* Flawfinder: ignore */
static char serial [57];
static const char interrupt_on_string[] = "Insertion and removal events enabled";