# HG changeset patch # User Mychaela Falconia # Date 1613085117 0 # Node ID e9e8ce12f5a596787b7a7aaaf56a45949455b071 # Parent 5b69dfc789f2638355a9b147d624b1879da6e1c0 encode_pin_entry() factored out into libcommon diff -r 5b69dfc789f2 -r e9e8ce12f5a5 libcommon/Makefile --- a/libcommon/Makefile Thu Feb 11 23:08:39 2021 +0000 +++ b/libcommon/Makefile Thu Feb 11 23:11:57 2021 +0000 @@ -1,7 +1,7 @@ CC= gcc CFLAGS= -O2 -I/usr/include/PCSC OBJS= alpha_decode.o alpha_valid.o apdu.o atr.o cardconnect.o exit.o \ - hexdump.o hexread.o hexstr.o names.o + hexdump.o hexread.o hexstr.o names.o pinentry.o LIB= libcommon.a all: ${LIB} diff -r 5b69dfc789f2 -r e9e8ce12f5a5 libcommon/pinentry.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/libcommon/pinentry.c Thu Feb 11 23:11:57 2021 +0000 @@ -0,0 +1,28 @@ +#include +#include +#include + +encode_pin_entry(arg, dest) + char *arg; + u_char *dest; +{ + unsigned n; + + n = 0; + while (*arg) { + if (!isdigit(*arg)) { + fprintf(stderr, + "error: PIN argument contains a non-digit character\n"); + return(-1); + } + if (n >= 8) { + fprintf(stderr, "error: PIN argument is too long\n"); + return(-1); + } + *dest++ = *arg++; + n++; + } + for (; n < 8; n++) + *dest++ = 0xFF; + return(0); +} diff -r 5b69dfc789f2 -r e9e8ce12f5a5 simtool/chv.c --- a/simtool/chv.c Thu Feb 11 23:08:39 2021 +0000 +++ b/simtool/chv.c Thu Feb 11 23:11:57 2021 +0000 @@ -4,36 +4,9 @@ */ #include -#include #include -#include #include "simresp.h" -encode_pin_entry(arg, dest) - char *arg; - u_char *dest; -{ - unsigned n; - - n = 0; - while (*arg) { - if (!isdigit(*arg)) { - fprintf(stderr, - "error: PIN argument contains a non-digit character\n"); - return(-1); - } - if (n >= 8) { - fprintf(stderr, "error: PIN argument is too long\n"); - return(-1); - } - *dest++ = *arg++; - n++; - } - for (; n < 8; n++) - *dest++ = 0xFF; - return(0); -} - cmd_verify_chv(argc, argv) char **argv; {