From 126595bb07d0073492f4aa83575e7cf20e049f1c Mon Sep 17 00:00:00 2001 From: nils Date: Thu, 23 Feb 2006 18:43:14 +0000 Subject: [PATCH] fix some warnings git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2858 c6295689-39f2-0310-b995-f0e70906c6a9 --- src/libopensc/card-piv.c | 29 ++++++++++++++--------------- src/libopensc/pkcs15-tccardos.c | 15 +++++++++------ 2 files changed, 23 insertions(+), 21 deletions(-) diff --git a/src/libopensc/card-piv.c b/src/libopensc/card-piv.c index 74ac5e4f..8ec28022 100644 --- a/src/libopensc/card-piv.c +++ b/src/libopensc/card-piv.c @@ -76,12 +76,12 @@ enum { struct piv_object { int enumtag; - char * name; - char * oidstring; - int tag_len; + const char * name; + const char * oidstring; + size_t tag_len; u8 tag_value[3]; - u8 containerid[2]; /* will use as relative paths for simulation */ - int maxlen; /* advisory, used with select_file, but we can read larger */ + u8 containerid[2]; /* will use as relative paths for simulation */ + size_t maxlen; /* advisory, used with select_file, but we can read larger */ }; static struct piv_object piv_objects[] = { @@ -131,7 +131,7 @@ static struct sc_card_driver piv_drv = { * oterwise, store tag and length at **ptr, and increment */ -static int put_tag_and_len(u8 tag, size_t len, u8 **ptr) +static size_t put_tag_and_len(unsigned int tag, size_t len, u8 **ptr) { int i; u8 *p; @@ -146,7 +146,7 @@ static int put_tag_and_len(u8 tag, size_t len, u8 **ptr) if (ptr) { p = *ptr; - *p++ = tag; + *p++ = (u8)tag; switch (i) { case 2: *p++ = len; @@ -515,7 +515,7 @@ static int piv_get_data(sc_card_t * card, unsigned int enumtag, u8 *p; int r = 0; u8 tagbuf[8]; - int tag_len; + size_t tag_len; SC_FUNC_CALLED(card->ctx,1); sc_debug(card->ctx, "get_data: tag=%d \n", enumtag); @@ -694,18 +694,17 @@ static int piv_read_binary(sc_card_t *card, unsigned int idx, static int piv_put_data(sc_card_t *card, unsigned int tag, const u8 *buf, size_t buf_len) { -// struct piv_private_data * priv = (struct piv_private_data *) card->drv_data; int r; u8 * sbuf; size_t sbuflen; u8 * p; - int tag_len; + size_t tag_len; SC_FUNC_CALLED(card->ctx,1); tag_len = piv_objects[tag].tag_len; sbuflen = put_tag_and_len(0x5c, tag_len, NULL) + buf_len; - if (!(sbuf = (u8 *) malloc(sbuflen))) + if (!(sbuf = (u8 *) malloc(sbuflen))) return SC_ERROR_OUT_OF_MEMORY; p = sbuf; @@ -851,10 +850,10 @@ err: */ static int piv_general_mutual_authenticate(sc_card_t *card, - u8 key_ref, u8 alg_id) + unsigned int key_ref, unsigned int alg_id) { int r; - int N; + size_t N; int locked = 0; u8 *rbuf = NULL; size_t rbuflen; @@ -904,7 +903,7 @@ static int piv_general_mutual_authenticate(sc_card_t *card, *p++ = 0x7c; *p++ = 2 * N + 4; *p++ = 0x80; - *p++ = N; + *p++ = (u8)N; DES_set_key((DES_cblock *) &k1, &ks1); DES_set_key((DES_cblock *) &k2, &ks2); @@ -957,7 +956,7 @@ err: } static int piv_general_external_authenticate(sc_card_t *card, - u8 key_ref, u8 alg_id) + unsigned int key_ref, unsigned int alg_id) { struct piv_private_data * priv = (struct piv_private_data *) card->drv_data; int r; diff --git a/src/libopensc/pkcs15-tccardos.c b/src/libopensc/pkcs15-tccardos.c index cd4ceaf9..32a974a3 100644 --- a/src/libopensc/pkcs15-tccardos.c +++ b/src/libopensc/pkcs15-tccardos.c @@ -37,6 +37,9 @@ #define TC_CARDOS_GLOBALPIN 0x3000 #define TC_CARDOS_PIN_MASK 0x3000 +int sc_pkcs15emu_tccardos_init_ex(sc_pkcs15_card_t *p15card, + sc_pkcs15emu_opt_t *opts); + static int read_file(struct sc_card *card, const char *file, u8 *buf, size_t *len) { @@ -114,7 +117,7 @@ static int create_cert_obj(sc_pkcs15_card_t *p15card, int fileId) } static int create_pkey_obj(sc_pkcs15_card_t *p15card, int cert, int key_descr, - u8 keyId, u8 pinId) + unsigned int keyId, unsigned int pinId) { sc_pkcs15_object_t p15obj; sc_pkcs15_prkey_info_t pinfo; @@ -127,7 +130,7 @@ static int create_pkey_obj(sc_pkcs15_card_t *p15card, int cert, int key_descr, pinfo.id.value[1] = cert & 0xff; pinfo.id.len = 2; pinfo.native = 1; - pinfo.key_reference = keyId; + pinfo.key_reference = (u8)keyId; pinfo.modulus_length = 1024; /* XXX */ pinfo.access_flags = SC_PKCS15_PRKEY_ACCESS_NEVEREXTRACTABLE; pinfo.usage = 0; @@ -147,7 +150,7 @@ static int create_pkey_obj(sc_pkcs15_card_t *p15card, int cert, int key_descr, /* the common object attributes */ sprintf(p15obj.label, "SK.CH.%s", get_service(cert)); if (pinId && (key_descr & TC_CARDOS_PIN_MASK)) { - p15obj.auth_id.value[0] = pinId; + p15obj.auth_id.value[0] = (u8)pinId; p15obj.auth_id.len = 1; } p15obj.flags = SC_PKCS15_CO_FLAG_PRIVATE; @@ -158,7 +161,7 @@ static int create_pkey_obj(sc_pkcs15_card_t *p15card, int cert, int key_descr, } static int create_pin_obj(sc_pkcs15_card_t *p15card, int cert, - int key_descr, u8 pinId) + int key_descr, unsigned int pinId) { sc_pkcs15_object_t p15obj; sc_pkcs15_pin_info_t ainfo; @@ -167,9 +170,9 @@ static int create_pin_obj(sc_pkcs15_card_t *p15card, int cert, memset(&p15obj, 0, sizeof(p15obj)); memset(&ainfo, 0, sizeof(ainfo)); /* the authentication object attributes */ - ainfo.auth_id.value[0] = pinId; + ainfo.auth_id.value[0] = (u8)pinId; ainfo.auth_id.len = 1; - ainfo.reference = pinId; + ainfo.reference = (u8)pinId; ainfo.flags = SC_PKCS15_PIN_FLAG_EXCHANGE_REF_DATA; if ((key_descr & TC_CARDOS_PIN_MASK) == TC_CARDOS_LOCALPIN) ainfo.flags |= SC_PKCS15_PIN_FLAG_LOCAL;