Merged. Thanks!

regards,
Joy

On Thu, 2015-07-02 at 15:00 +0200, Harald Freudenberger wrote:
> Removed securekey option from DES and AES testcases as there is now the
> required key import available. Fixed some compile warnings. Unified all
> testcases to print out a summary line and not just something like 'looks
> ok'. Fixed digest test to have a look onto the required key sizes for the
> cca token.
> 
> Signed-off-by: Harald Freudenberger <fre...@linux.vnet.ibm.com>
> ---
>  testcases/common/common.c          |   27 +++----
>  testcases/crypto/README            |    9 ---
>  testcases/crypto/aes_func.c        |   34 ++++-----
>  testcases/crypto/des3_func.c       |   37 ++++------
>  testcases/crypto/des_func.c        |   36 ++++-----
>  testcases/crypto/dh_func.c         |    6 ++
>  testcases/crypto/digest_func.c     |    4 +-
>  testcases/crypto/dsa_func.c        |  142 
> ++++++++++++++++--------------------
>  testcases/crypto/mech_to_str.h     |   14 ++++
>  testcases/crypto/ssl3_func.c       |    3 +
>  testcases/misc_tests/speed.c       |    3 -
>  testcases/misc_tests/threadmkobj.c |   13 ++--
>  testcases/pkcs11/misc_func.c       |    6 +-
>  13 files changed, 150 insertions(+), 184 deletions(-)
> 
> diff --git a/testcases/common/common.c b/testcases/common/common.c
> index 5c4d293..dd23869 100644
> --- a/testcases/common/common.c
> +++ b/testcases/common/common.c
> @@ -395,7 +395,7 @@ int is_ep11_token(CK_SLOT_ID slot_id)
> 
>       rc = funcs->C_GetTokenInfo(slot_id, &tokinfo);
>       if (rc != CKR_OK)
> -             return -1;
> +             return FALSE;
> 
>       return strstr((const char *)tokinfo.model, "EP11") != NULL;
>  }
> @@ -421,9 +421,8 @@ int is_icsf_token(CK_SLOT_ID slot_id)
>          CK_TOKEN_INFO   tokinfo;
> 
>          rc = funcs->C_GetTokenInfo(slot_id, &tokinfo);
> -        if (rc != CKR_OK) {
> -                return -1;
> -        }
> +        if (rc != CKR_OK)
> +                return FALSE;
> 
>       if ((strstr((const char *)tokinfo.model, "ICA") == NULL) &&
>           (strstr((const char *)tokinfo.model, "EP11") == NULL) &&
> @@ -449,9 +448,8 @@ int is_ica_token(CK_SLOT_ID slot_id)
>          CK_TOKEN_INFO   tokinfo;
> 
>          rc = funcs->C_GetTokenInfo(slot_id, &tokinfo);
> -        if (rc != CKR_OK) {
> -                return -1;
> -        }
> +        if (rc != CKR_OK)
> +                return FALSE;
> 
>          return strstr((const char *)tokinfo.model, "ICA") != NULL;
> 
> @@ -464,9 +462,8 @@ int is_cca_token(CK_SLOT_ID slot_id)
>          CK_TOKEN_INFO   tokinfo;
> 
>          rc = funcs->C_GetTokenInfo(slot_id, &tokinfo);
> -        if (rc != CKR_OK) {
> -                return -1;
> -        }
> +        if (rc != CKR_OK)
> +                return FALSE;
> 
>          return strstr((const char *)tokinfo.model, "CCA") != NULL;
>  }
> @@ -478,9 +475,8 @@ int is_soft_token(CK_SLOT_ID slot_id)
>          CK_TOKEN_INFO   tokinfo;
> 
>          rc = funcs->C_GetTokenInfo(slot_id, &tokinfo);
> -        if (rc != CKR_OK) {
> -                return -1;
> -        }
> +        if (rc != CKR_OK)
> +                return FALSE;
> 
>          return strstr((const char *)tokinfo.model, "SoftTok") != NULL;
>  }
> @@ -492,9 +488,8 @@ int is_tpm_token(CK_SLOT_ID slot_id)
>          CK_TOKEN_INFO   tokinfo;
> 
>          rc = funcs->C_GetTokenInfo(slot_id, &tokinfo);
> -        if (rc != CKR_OK) {
> -                return -1;
> -        }
> +        if (rc != CKR_OK)
> +                return FALSE;
> 
>          return strstr((const char *)tokinfo.model, "TPM") != NULL;
>  }
> diff --git a/testcases/crypto/README b/testcases/crypto/README
> index 5ea4abe..b57bc8a 100644
> --- a/testcases/crypto/README
> +++ b/testcases/crypto/README
> @@ -7,9 +7,6 @@ aes_tests
>       ICSF token - secret keys cannot wrap secret keys. 
>       These testcase will fail in ICSF token. 
> 
> -     CCA token -  uses secure key, the "-securekey" flag should be 
> -     used to ensure appropriate testcases are run.
> -
>  des_tests
>       Tests des ecb/cbc modes using published test vectors and generated
>       test data.
> @@ -17,9 +14,6 @@ des_tests
>       ICSF token - secret keys cannot wrap secret keys. 
>       These testcase will fail in ICSF token. 
> 
> -     CCA token -  uses secure key, the "-securekey" flag should be 
> -     used to ensure appropriate testcases are run.
> -
>  des3_tests
>       Tests des3 ecb/cbc modes using published test vectors and generated
>       test data. 
> @@ -28,9 +22,6 @@ des3_tests
>       ICSF token - secret keys cannot wrap secret keys. 
>       These testcase will fail in ICSF token. 
> 
> -     CCA token -  uses secure key, the "-securekey" flag should be 
> -     used to ensure appropriate testcases are run.
> -
>  dh_tests
>       Tests key generation and key derivation.
> 
> diff --git a/testcases/crypto/aes_func.c b/testcases/crypto/aes_func.c
> index dcfd1a0..f5942a9 100644
> --- a/testcases/crypto/aes_func.c
> +++ b/testcases/crypto/aes_func.c
> @@ -1750,31 +1750,25 @@ testcase_cleanup:
>  }
> 
>  CK_RV aes_funcs() {
> -     int i, generate_key;
> +     int i;
>       CK_RV rv = CKR_OK;
> 
> -     generate_key = securekey; // true if mech requires secure key
> -                               // generate keys and skip published tests
> -
>       for (i = 0; i < NUM_OF_PUBLISHED_TESTSUITES; i++) {
> -             if (!generate_key) {
> -                     rv = do_EncryptAES(&published_test_suites[i]);
> -                     if (rv != CKR_OK && (!no_stop))
> -                             break;
> -
> -                     rv = do_DecryptAES(&published_test_suites[i]);
> -                     if (rv != CKR_OK && (!no_stop))
> -                             break;
> +             rv = do_EncryptAES(&published_test_suites[i]);
> +             if (rv != CKR_OK && (!no_stop))
> +                     break;
> 
> -                     rv = do_EncryptUpdateAES(&published_test_suites[i]);
> -                     if (rv != CKR_OK && (!no_stop))
> -                             break;
> +             rv = do_DecryptAES(&published_test_suites[i]);
> +             if (rv != CKR_OK && (!no_stop))
> +                     break;
> 
> -                     rv = do_DecryptUpdateAES(&published_test_suites[i]);
> -                     if (rv != CKR_OK && (!no_stop))
> -                             break;
> -             }
> +             rv = do_EncryptUpdateAES(&published_test_suites[i]);
> +             if (rv != CKR_OK && (!no_stop))
> +                     break;
> 
> +             rv = do_DecryptUpdateAES(&published_test_suites[i]);
> +             if (rv != CKR_OK && (!no_stop))
> +                     break;
>       }
> 
>       for (i = 0; i < NUM_OF_GENERATED_TESTSUITES; i++) {
> @@ -1793,7 +1787,6 @@ CK_RV aes_funcs() {
>               rv = do_WrapUnwrapRSA(&generated_test_suites[i]);
>               if (rv != CKR_OK && (!no_stop))
>                       break;
> -
>       }
> 
>       /***** Error scenarios *****/
> @@ -1822,7 +1815,6 @@ int main  (int argc, char **argv) {
> 
>       printf("Using slot #%lu...\n\n", SLOT_ID );
>       printf("With option: nostop: %d\n", no_stop);
> -     printf("With option: securekey: %d\n", securekey);
> 
>       rc = do_GetFunctionList();
>       if (!rc) {
> diff --git a/testcases/crypto/des3_func.c b/testcases/crypto/des3_func.c
> index 26aaceb..274e210 100644
> --- a/testcases/crypto/des3_func.c
> +++ b/testcases/crypto/des3_func.c
> @@ -1151,31 +1151,26 @@ testcase_cleanup:
>  }
> 
>  CK_RV des3_funcs() {
> -     int i, generate_key;
> +     int i;
>       CK_RV rv;
> 
> -     generate_key = securekey;  // true if slot requires generated
> -                                     // (secure) keys
> -
>       /** published (known answer) tests **/
>       for (i = 0; i < NUM_OF_PUBLISHED_TESTSUITES; i++) {
> -             if (!generate_key) {
> -                     rv = do_EncryptDES3(&published_test_suites[i]);
> -                     if (rv != CKR_OK && (!no_stop))
> -                             break;
> -
> -                     rv = do_DecryptDES3(&published_test_suites[i]);
> -                     if (rv != CKR_OK && (!no_stop))
> -                             break;
> -
> -                     rv = do_EncryptUpdateDES3(&published_test_suites[i]);
> -                     if (rv != CKR_OK && (!no_stop))
> -                             break;
> -
> -                     rv = do_DecryptUpdateDES3(&published_test_suites[i]);
> -                     if (rv != CKR_OK && (!no_stop))
> -                             break;
> -             }
> +             rv = do_EncryptDES3(&published_test_suites[i]);
> +             if (rv != CKR_OK && (!no_stop))
> +                     break;
> +
> +             rv = do_DecryptDES3(&published_test_suites[i]);
> +             if (rv != CKR_OK && (!no_stop))
> +                     break;
> +
> +             rv = do_EncryptUpdateDES3(&published_test_suites[i]);
> +             if (rv != CKR_OK && (!no_stop))
> +                     break;
> +
> +             rv = do_DecryptUpdateDES3(&published_test_suites[i]);
> +             if (rv != CKR_OK && (!no_stop))
> +                     break;
>       }
> 
>       /** generated key tests **/
> diff --git a/testcases/crypto/des_func.c b/testcases/crypto/des_func.c
> index b887d1e..fb41c30 100644
> --- a/testcases/crypto/des_func.c
> +++ b/testcases/crypto/des_func.c
> @@ -1142,30 +1142,26 @@ testcase_cleanup:
>  }
> 
>  CK_RV des_funcs() {
> -     int i, generate_key;
> +     int i;
>       CK_RV rv;
> 
> -     generate_key = securekey;
> -
>       /** published (known answer) tests **/
>       for (i = 0; i < NUM_OF_PUBLISHED_TESTSUITES; i++) {
> -             if (!generate_key) {
> -                     rv = do_EncryptDES(&published_test_suites[i]);
> -                     if (rv != CKR_OK && (!no_stop))
> -                             break;
> -
> -                     rv = do_DecryptDES(&published_test_suites[i]);
> -                     if (rv != CKR_OK && (!no_stop))
> -                             break;
> -
> -                     rv = do_EncryptUpdateDES(&published_test_suites[i]);
> -                     if (rv != CKR_OK && (!no_stop))
> -                             break;
> -
> -                     rv = do_DecryptUpdateDES(&published_test_suites[i]);
> -                     if (rv != CKR_OK && (!no_stop))
> -                             break;
> -             }
> +             rv = do_EncryptDES(&published_test_suites[i]);
> +             if (rv != CKR_OK && (!no_stop))
> +                     break;
> +
> +             rv = do_DecryptDES(&published_test_suites[i]);
> +             if (rv != CKR_OK && (!no_stop))
> +                     break;
> +
> +             rv = do_EncryptUpdateDES(&published_test_suites[i]);
> +             if (rv != CKR_OK && (!no_stop))
> +                     break;
> +
> +             rv = do_DecryptUpdateDES(&published_test_suites[i]);
> +             if (rv != CKR_OK && (!no_stop))
> +                     break;
>       }
> 
>       /** generated tests **/
> diff --git a/testcases/crypto/dh_func.c b/testcases/crypto/dh_func.c
> index d120feb..1b9e3c3 100644
> --- a/testcases/crypto/dh_func.c
> +++ b/testcases/crypto/dh_func.c
> @@ -307,6 +307,7 @@
> 
>  #include "pkcs11types.h"
>  #include "regress.h"
> +#include "common.c"
> 
> 
>  // These values were obtained from IPsec second oakley group.
> @@ -730,7 +731,12 @@ int main(int argc, char **argv)
> 
>       }
> 
> +     testcase_setup(0);
> +
>       rv = dh_functions();
> +
> +     testcase_print_result();
> +
>       /* make sure we return non-zero if rv is non-zero */
>       return ((rv==0) || (rv % 256) ? rv : -1);
>  }
> diff --git a/testcases/crypto/digest_func.c b/testcases/crypto/digest_func.c
> index 93938c9..123d00a 100644
> --- a/testcases/crypto/digest_func.c
> +++ b/testcases/crypto/digest_func.c
> @@ -303,7 +303,7 @@ CK_RV do_SignVerify_HMAC(struct HMAC_TEST_SUITE_INFO 
> *tsuite){
>               /* for ep11, check if key len is supported */
>               key_len = tsuite->tv[i].key_len;
> 
> -             if ((is_ep11_token(SLOT_ID)) &&
> +             if ((is_ep11_token(SLOT_ID) || is_cca_token(SLOT_ID)) &&
>                   (! check_supp_keysize(SLOT_ID, mech.mechanism, key_len))){
>                       testcase_skip("keysize %d is not supported in slot %ld",
>                                       (unsigned int)key_len, slot_id);
> @@ -461,7 +461,7 @@ CK_RV do_SignVerify_HMAC_Update(struct 
> HMAC_TEST_SUITE_INFO *tsuite)
>               /* for ep11, check if key len is supported */
>               key_len = tsuite->tv[i].key_len;
> 
> -             if ((is_ep11_token(SLOT_ID)) &&
> +             if ((is_ep11_token(SLOT_ID) || is_cca_token(SLOT_ID)) &&
>                   (! check_supp_keysize(SLOT_ID, mech.mechanism, key_len))){
>                       testcase_skip("keysize %d is not supported in slot %ld",
>                                       (unsigned int)key_len, slot_id);
> diff --git a/testcases/crypto/dsa_func.c b/testcases/crypto/dsa_func.c
> index 6e2b7f3..356f9b0 100644
> --- a/testcases/crypto/dsa_func.c
> +++ b/testcases/crypto/dsa_func.c
> @@ -48,14 +48,14 @@ CK_BYTE DSA_PUBL_BASE[128] =
>  //
>  CK_RV do_GenerateDSAKeyPair( void )
>  {
> -     CK_SLOT_ID          slot_id;
> +     CK_SLOT_ID          slot_id = SLOT_ID;
>       CK_SESSION_HANDLE   session;
>       CK_MECHANISM        mech;
>       CK_OBJECT_HANDLE    publ_key, priv_key;
>       CK_FLAGS            flags;
>       CK_BYTE             user_pin[PKCS11_MAX_PIN_LEN];
>       CK_ULONG            user_pin_len;
> -     CK_RV               rc, loc_rc;
> +     CK_RV               rc;
> 
>       CK_ATTRIBUTE  publ_tmpl[] =
>       {
> @@ -64,50 +64,35 @@ CK_RV do_GenerateDSAKeyPair( void )
>               {CKA_BASE,     DSA_PUBL_BASE,     sizeof(DSA_PUBL_BASE)     }
>       };
> 
> -
> -     printf("do_GenerateDSAKeyPair...\n");
> -
> -     slot_id = SLOT_ID;
> -
> -     if (get_user_pin(user_pin))
> -             return CKR_FUNCTION_FAILED;
> -     user_pin_len = (CK_ULONG)strlen((char *)user_pin);
> -
>       mech.mechanism      = CKM_DSA_KEY_PAIR_GEN;
>       mech.ulParameterLen = 0;
>       mech.pParameter     = NULL;
> 
> +     testcase_begin("GenerateDSAKeyPair");
> +     testcase_rw_session();
> +     testcase_user_login();
> 
> -     flags = CKF_SERIAL_SESSION;
> -     rc = funcs->C_OpenSession( slot_id, flags, NULL, NULL, &session );
> -     if (rc != CKR_OK) {
> -             show_error("   C_OpenSession #3", rc );
> -             return rc;
> -     }
> -
> -     rc = funcs->C_Login( session, CKU_USER, user_pin, user_pin_len );
> -     if (rc != CKR_OK) {
> -             show_error("   C_Login #1", rc );
> -             return rc;
> -     }
> +     testcase_new_assertion();
> 
> -     rc = funcs->C_GenerateKeyPair( session,   &mech,
> +     rc = funcs->C_GenerateKeyPair( session, &mech,
>                       publ_tmpl,  3,
>                       NULL,       0,
>                       &publ_key, &priv_key );
>       if (rc != CKR_OK) {
> -             show_error("   C_GenerateKeyPair #1", rc );
> -             goto session_close;
> +             testcase_error("C_GenerateKeyPair rc=%s",
> +                            p11_get_ckr(rc));
> +             goto testcase_cleanup;
>       }
> 
> -     printf("Looks okay...\n");
> +     testcase_pass("GenerateDSAKeyPair #1");
> 
> -session_close:
> +testcase_cleanup:
> +     testcase_user_logout();
> +     rc = funcs->C_CloseAllSessions(slot_id);
> +     if (rc != CKR_OK) {
> +             testcase_error("C_CloseAllSessions rc=%s", p11_get_ckr(rc));
> +     }
> 
> -     /* Close the session */
> -     if( (loc_rc = funcs->C_CloseSession(session)) != CKR_OK )
> -             show_error("C_CloseSession", loc_rc);
> -     
>       return rc;
>  }
> 
> @@ -119,7 +104,7 @@ CK_RV do_SignDSA( void )
>  {
>       CK_BYTE             data1[20];
>       CK_BYTE             signature[256];
> -     CK_SLOT_ID          slot_id;
> +     CK_SLOT_ID          slot_id = SLOT_ID;
>       CK_SESSION_HANDLE   session;
>       CK_MECHANISM        mech;
>       CK_OBJECT_HANDLE    publ_key, priv_key;
> @@ -128,7 +113,7 @@ CK_RV do_SignDSA( void )
>       CK_ULONG            user_pin_len;
>       CK_ULONG            i;
>       CK_ULONG            len1, sig_len;
> -     CK_RV               rc, loc_rc;
> +     CK_RV               rc;
> 
>       CK_ATTRIBUTE  publ_tmpl[] =
>       {
> @@ -137,41 +122,27 @@ CK_RV do_SignDSA( void )
>               {CKA_BASE,     DSA_PUBL_BASE,     sizeof(DSA_PUBL_BASE)     }
>       };
> 
> -     printf("do_SignDSA...\n");
> -
> -     slot_id = SLOT_ID;
> -     flags = CKF_SERIAL_SESSION | CKF_RW_SESSION;
> -     rc = funcs->C_OpenSession( slot_id, flags, NULL, NULL, &session );
> -     if (rc != CKR_OK) {
> -             show_error("   C_OpenSession #1", rc );
> -             goto session_close;
> -     }
> -
> -
> -     if (get_user_pin(user_pin))
> -             return CKR_FUNCTION_FAILED;
> -     user_pin_len = (CK_ULONG)strlen((char *)user_pin);
> -
> -     rc = funcs->C_Login( session, CKU_USER, user_pin, user_pin_len );
> -     if (rc != CKR_OK) {
> -             show_error("   C_Login #1", rc );
> -             goto session_close;
> -     }
> -
>       mech.mechanism      = CKM_DSA_KEY_PAIR_GEN;
>       mech.ulParameterLen = 0;
>       mech.pParameter     = NULL;
> 
> -     rc = funcs->C_GenerateKeyPair( session,   &mech,
> +     testcase_begin("DSA Sign/Verify");
> +     testcase_rw_session();
> +     testcase_user_login();
> +
> +     testcase_new_assertion();
> +
> +     rc = funcs->C_GenerateKeyPair( session, &mech,
>                       publ_tmpl,  3,
>                       NULL,       0,
>                       &publ_key, &priv_key );
>       if (rc != CKR_OK) {
> -             show_error("   C_GenerateKeyPair #1", rc );
> -             goto session_close;
> +             testcase_error("C_GenerateKeyPair rc=%s",
> +                            p11_get_ckr(rc));
> +             goto testcase_cleanup;
>       }
> 
> -     // now, encrypt some data
> +     // now, sign some data
>       //
>       len1 = sizeof(data1);
>       sig_len = sizeof(signature);
> @@ -185,28 +156,32 @@ CK_RV do_SignDSA( void )
> 
>       rc = funcs->C_SignInit( session, &mech, priv_key );
>       if (rc != CKR_OK) {
> -             show_error("   C_SignInit #1", rc );
> -             goto session_close;
> +             testcase_error("C_SignInit rc=%s",
> +                            p11_get_ckr(rc));
> +             goto testcase_cleanup;
>       }
> 
>       rc = funcs->C_Sign( session, data1, len1, signature, &sig_len );
>       if (rc != CKR_OK) {
> -             show_error("   C_Sign #1", rc );
> -             goto session_close;
> +             testcase_error("C_Sign rc=%s",
> +                            p11_get_ckr(rc));
> +             goto testcase_cleanup;
>       }
> 
>       // now, verify the signature
>       //
>       rc = funcs->C_VerifyInit( session, &mech, publ_key );
>       if (rc != CKR_OK) {
> -             show_error("   C_VerifyInit #1", rc );
> -             goto session_close;
> +             testcase_error("C_VerifyInit rc=%s",
> +                            p11_get_ckr(rc));
> +             goto testcase_cleanup;
>       }
> 
>       rc = funcs->C_Verify( session, data1, len1, signature, sig_len );
>       if (rc != CKR_OK) {
> -             show_error("   C_Verify #1", rc );
> -             goto session_close;
> +             testcase_error("C_Verify rc=%s",
> +                            p11_get_ckr(rc));
> +             goto testcase_cleanup;
>       }
> 
>       // now, corrupt the signature and try to re-verify.
> @@ -215,26 +190,26 @@ CK_RV do_SignDSA( void )
> 
>       rc = funcs->C_VerifyInit( session, &mech, publ_key );
>       if (rc != CKR_OK) {
> -             show_error("   C_VerifyInit #2", rc );
> -             goto session_close;
> +             testcase_error("C_VerifyInit rc=%s",
> +                            p11_get_ckr(rc));
> +             goto testcase_cleanup;
>       }
> 
>       rc = funcs->C_Verify( session, data1, len1, signature, sig_len );
>       if (rc != CKR_SIGNATURE_INVALID) {
> -             show_error("   C_Verify #2", rc );
> -             PRINT_ERR("   Expected CKR_SIGNATURE_INVALID\n");
> -             goto session_close;
> -     } else
> -             rc = CKR_OK;
> -
> -     printf("Looks okay...\n");
> +             testcase_fail("Verify expected CKR_SIGNATURE_INVALID, got %s",
> +                           p11_get_ckr(rc));
> +             goto testcase_cleanup;
> +     }
> 
> -session_close:
> +testcase_cleanup:
> +     testcase_user_logout();
> +     rc = funcs->C_CloseAllSessions(slot_id);
> +     if (rc != CKR_OK) {
> +             testcase_error("C_CloseAllSessions, rc=%s",
> +                            p11_get_ckr(rc));
> +     }
> 
> -     /* Close the session */
> -     if( (loc_rc = funcs->C_CloseSession(session)) != CKR_OK )
> -             show_error("C_CloseSession", loc_rc);
> -     
>       return rc;
>  }
> 
> @@ -313,7 +288,12 @@ int main(int argc, char **argv)
> 
>       }
> 
> +     testcase_setup(0);
> +
>       rv = dsa_functions();
> +
> +     testcase_print_result();
> +
>       /* make sure we return non-zero if rv is non-zero */
>       return ((rv == 0) || (rv % 256) ? rv : -1);
>  }
> diff --git a/testcases/crypto/mech_to_str.h b/testcases/crypto/mech_to_str.h
> index 40b086a..3a3b509 100644
> --- a/testcases/crypto/mech_to_str.h
> +++ b/testcases/crypto/mech_to_str.h
> @@ -120,6 +120,12 @@ mech_to_str(CK_ULONG mech)
>               return "CKM_CDMF_MAC_GENERAL";
>       if (mech == CKM_CDMF_CBC_PAD)
>               return "CKM_CDMF_CBC_PAD";
> +     if (mech == CKM_DES_OFB64)
> +             return "CKM_DES_OFB64";
> +     if (mech == CKM_DES_CFB64)
> +             return "CKM_DES_CFB64";
> +     if (mech == CKM_DES_CFB8)
> +             return "CKM_DES_CFB8";
>       if (mech == CKM_MD2)
>               return "CKM_MD2";
>       if (mech == CKM_MD2_HMAC)
> @@ -406,6 +412,14 @@ mech_to_str(CK_ULONG mech)
>               return "CKM_DH_PKCS_PARAMETER_GEN";
>       if (mech == CKM_X9_42_DH_PARAMETER_GEN)
>               return "CKM_X9_42_DH_PARAMETER_GEN";
> +     if (mech == CKM_AES_OFB)
> +             return "CKM_AES_OFB";
> +     if (mech == CKM_AES_CFB64)
> +             return "CKM_AES_CFB64";
> +     if (mech == CKM_AES_CFB8)
> +             return "CKM_AES_CFB8";
> +     if (mech == CKM_AES_CFB128)
> +             return "CKM_AES_CFB128";
>       if (mech == CKM_VENDOR_DEFINED)
>               return "CKM_VENDOR_DEFINED";
> 
> diff --git a/testcases/crypto/ssl3_func.c b/testcases/crypto/ssl3_func.c
> index 8684c76..26fccaf 100644
> --- a/testcases/crypto/ssl3_func.c
> +++ b/testcases/crypto/ssl3_func.c
> @@ -688,7 +688,10 @@ int main(int argc, char **argv)
> 
>       }
> 
> +     testcase_setup(0);
> +
>       rv = ssl3_functions();
> +
>       testcase_print_result();
> 
>       /* make sure we return non-zero if rv is non-zero */
> diff --git a/testcases/misc_tests/speed.c b/testcases/misc_tests/speed.c
> index 4a511cf..9b404f1 100755
> --- a/testcases/misc_tests/speed.c
> +++ b/testcases/misc_tests/speed.c
> @@ -232,7 +232,6 @@ testcase_cleanup:
>  // keylength: 512, 1024, 2048, 4096
>  int do_RSA_KeyGen(int keylength)
>  {
> -     CK_SLOT_ID slot_id;
>       CK_SESSION_HANDLE session;
>       CK_MECHANISM mech;
>       CK_FLAGS flags;
> @@ -252,8 +251,6 @@ int do_RSA_KeyGen(int keylength)
> 
>       testcase_begin("RSA KeyGen with keylen=%d", keylength);
> 
> -     slot_id = SLOT_ID;
> -
>       testcase_rw_session();
>       testcase_user_login();
> 
> diff --git a/testcases/misc_tests/threadmkobj.c 
> b/testcases/misc_tests/threadmkobj.c
> index d7b7ca0..e887db6 100755
> --- a/testcases/misc_tests/threadmkobj.c
> +++ b/testcases/misc_tests/threadmkobj.c
> @@ -58,8 +58,8 @@ int do_create_token_object( void )
>     CK_FLAGS          flags;
>     CK_SESSION_HANDLE h_session;
>     CK_RV             rc;
> -   CK_BYTE           user_pin[PKCS11_MAX_PIN_LEN];
> -   CK_ULONG          user_pin_len;
> +//   CK_BYTE           user_pin[PKCS11_MAX_PIN_LEN];
> +//   CK_ULONG          user_pin_len;
> 
>     CK_BYTE           true  = TRUE;
>     CK_BYTE           false = FALSE;
> @@ -82,9 +82,9 @@ int do_create_token_object( void )
> 
> 
> 
> -   if (get_user_pin(user_pin))
> -        return CKR_FUNCTION_FAILED;
> -   user_pin_len = (CK_ULONG)strlen((char *)user_pin);
> +//   if (get_user_pin(user_pin))
> +//      return CKR_FUNCTION_FAILED;
> +//   user_pin_len = (CK_ULONG)strlen((char *)user_pin);
> 
>     // create a USER R/W session
>     //
> @@ -127,9 +127,6 @@ thread_func(void *thid)
>  {
>     int   i=0;
>     CK_RV  rv;
> -   int   *id ;
> -
> -   id = (int *)thid;
>    
>     do {
>       rv = do_create_token_object();
> diff --git a/testcases/pkcs11/misc_func.c b/testcases/pkcs11/misc_func.c
> index d6619fd..e361c29 100644
> --- a/testcases/pkcs11/misc_func.c
> +++ b/testcases/pkcs11/misc_func.c
> @@ -330,19 +330,19 @@ CK_RV do_InitToken( void )
>               return CKR_FUNCTION_FAILED;
>       so_pin_len = (CK_ULONG)strlen((char *)so_pin);
> 
> -     rc = funcs->C_InitToken( SLOT_ID, NULL, strlen((char *)so_pin), label );
> +     rc = funcs->C_InitToken( SLOT_ID, NULL, so_pin_len, label );
>       if (rc != CKR_ARGUMENTS_BAD) {
>               show_error(" C_InitToken Fail #1",rc);
>               goto done;
>       }
> 
> -     rc = funcs->C_InitToken( SLOT_ID, so_pin, strlen((char *)so_pin), NULL 
> );
> +     rc = funcs->C_InitToken( SLOT_ID, so_pin, so_pin_len, NULL );
>       if (rc != CKR_ARGUMENTS_BAD) {
>               show_error(" C_InitToken Fail #2",rc);
>               goto done;
>       }
> 
> -     rc = funcs->C_InitToken( SLOT_ID, so_pin, strlen((char *)so_pin), label 
> );
> +     rc = funcs->C_InitToken( SLOT_ID, so_pin, so_pin_len, label );
>       if (rc != CKR_OK) {
>               show_error(" C_InitToken #1", rc );
>               goto done;



------------------------------------------------------------------------------
Monitor Your Dynamic Infrastructure at Any Scale With Datadog!
Get real-time metrics from all of your servers, apps and tools
in one place.
SourceForge users - Click here to start your Free Trial of Datadog now!
http://pubads.g.doubleclick.net/gampad/clk?id=241902991&iu=/4140
_______________________________________________
Opencryptoki-tech mailing list
Opencryptoki-tech@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opencryptoki-tech

Reply via email to