rework verbose prints

This commit is contained in:
Klas Lindfors
2014-02-04 09:06:35 +01:00
parent f53ddf285d
commit 5c96f77269
+13 -18
View File
@@ -103,19 +103,19 @@ static bool connect_reader(SCARDHANDLE *card, SCARDCONTEXT *context, const char
while(*reader_ptr != '\0') { while(*reader_ptr != '\0') {
if(strstr(reader_ptr, wanted)) { if(strstr(reader_ptr, wanted)) {
if(verbose) { if(verbose) {
printf("using reader '%s' matching '%s'.\n", reader_ptr, wanted); fprintf(stderr, "using reader '%s' matching '%s'.\n", reader_ptr, wanted);
} }
break; break;
} else { } else {
if(verbose) { if(verbose) {
printf("skipping reader '%s' since it doesn't match.\n", reader_ptr); fprintf(stderr, "skipping reader '%s' since it doesn't match.\n", reader_ptr);
} }
reader_ptr += strlen(reader_ptr) + 1; reader_ptr += strlen(reader_ptr) + 1;
} }
} }
} }
if(*reader_ptr == '\0') { if(*reader_ptr == '\0') {
fprintf (stderr, "error: no useable reader found.\n"); fprintf(stderr, "error: no useable reader found.\n");
SCardReleaseContext(*context); SCardReleaseContext(*context);
return false; return false;
} }
@@ -124,7 +124,7 @@ static bool connect_reader(SCARDHANDLE *card, SCARDCONTEXT *context, const char
SCARD_PROTOCOL_T1, card, &active_protocol); SCARD_PROTOCOL_T1, card, &active_protocol);
if(rc != SCARD_S_SUCCESS) if(rc != SCARD_S_SUCCESS)
{ {
fprintf (stderr, "error: SCardConnect failed, rc=%08lx\n", rc); fprintf(stderr, "error: SCardConnect failed, rc=%08lx\n", rc);
SCardReleaseContext(*context); SCardReleaseContext(*context);
return false; return false;
} }
@@ -185,10 +185,6 @@ static bool authenticate(SCARDHANDLE *card, unsigned const char *key, int verbos
return false; return false;
} }
memcpy(challenge, data + 4, 8); memcpy(challenge, data + 4, 8);
if(verbose) {
printf("received challenge:\n");
dump_hex(challenge, 8);
}
} }
{ {
@@ -307,9 +303,10 @@ int send_data(SCARDHANDLE *card, APDU apdu, unsigned int send_len, unsigned char
long rc; long rc;
int sw; int sw;
if(verbose) { if(verbose > 1) {
printf("sending data: (%d bytes)\n", send_len); fprintf(stderr, "> ");
dump_hex(apdu.raw, send_len); dump_hex(apdu.raw, send_len);
fprintf(stderr, "\n");
} }
rc = SCardTransmit(*card, SCARD_PCI_T1, apdu.raw, send_len, NULL, data, recv_len); rc = SCardTransmit(*card, SCARD_PCI_T1, apdu.raw, send_len, NULL, data, recv_len);
if(rc != SCARD_S_SUCCESS) { if(rc != SCARD_S_SUCCESS) {
@@ -317,9 +314,10 @@ int send_data(SCARDHANDLE *card, APDU apdu, unsigned int send_len, unsigned char
return 0; return 0;
} }
if(verbose) { if(verbose > 1) {
printf("received data: (%ld bytes)\n", *recv_len); fprintf(stderr, "< ");
dump_hex(data, *recv_len); dump_hex(data, *recv_len);
fprintf(stderr, "\n");
} }
if(*recv_len >= 2) { if(*recv_len >= 2) {
sw = (data[*recv_len - 2] << 8) | data[*recv_len - 1]; sw = (data[*recv_len - 2] << 8) | data[*recv_len - 1];
@@ -332,12 +330,8 @@ int send_data(SCARDHANDLE *card, APDU apdu, unsigned int send_len, unsigned char
void dump_hex(const unsigned char *buf, unsigned int len) { void dump_hex(const unsigned char *buf, unsigned int len) {
unsigned int i; unsigned int i;
for (i = 0; i < len; i++) { for (i = 0; i < len; i++) {
printf("0x%02x ", buf[i]); fprintf(stderr, "%02x ", buf[i]);
if (i % 8 == 7) {
printf("\n");
} }
}
printf("\n");
} }
static bool parse_key(char *key_arg, unsigned char *key, int verbose) { static bool parse_key(char *key_arg, unsigned char *key, int verbose) {
@@ -358,8 +352,9 @@ static bool parse_key(char *key_arg, unsigned char *key, int verbose) {
} }
} }
if(verbose) { if(verbose) {
printf("parsed key:\n"); fprintf(stderr, "parsed key: ");
dump_hex(key, KEY_LEN); dump_hex(key, KEY_LEN);
fprintf(stderr, "\n");
} }
return true; return true;
} }