Ignore:
Timestamp:
Feb 7, 2019, 8:36:33 AM (5 years ago)
Author:
coas-nagasima
Message:

wolfsslを3.15.7にバージョンアップ

File:
1 edited

Legend:

Unmodified
Added
Removed
  • asp3_tinet_ecnl_arm/trunk/wolfssl-3.12.2/src/keys.c

    r352 r372  
    245245    switch (ssl->options.cipherSuite) {
    246246
    247 #ifdef HAVE_ECC
     247#if defined(HAVE_ECC) || defined(HAVE_CURVE25519)
    248248
    249249#ifdef BUILD_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
     
    260260        ssl->specs.iv_size               = AES_IV_SIZE;
    261261        ssl->specs.block_size            = AES_BLOCK_SIZE;
     262
    262263    break;
    263264#endif
     265
     266#ifdef BUILD_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
     267    case TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 :
     268        ssl->specs.bulk_cipher_algorithm = wolfssl_aes;
     269        ssl->specs.cipher_type           = block;
     270        ssl->specs.mac_algorithm         = sha384_mac;
     271        ssl->specs.kea                   = ecc_diffie_hellman_kea;
     272        ssl->specs.sig_algo              = rsa_sa_algo;
     273        ssl->specs.hash_size             = WC_SHA384_DIGEST_SIZE;
     274        ssl->specs.pad_size              = PAD_SHA;
     275        ssl->specs.static_ecdh           = 0;
     276        ssl->specs.key_size              = AES_256_KEY_SIZE;
     277        ssl->specs.iv_size               = AES_IV_SIZE;
     278        ssl->specs.block_size            = AES_BLOCK_SIZE;
     279
     280    break;
     281#endif
     282
     283#ifdef BUILD_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
     284    case TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA :
     285        ssl->specs.bulk_cipher_algorithm = wolfssl_aes;
     286        ssl->specs.cipher_type           = block;
     287        ssl->specs.mac_algorithm         = sha_mac;
     288        ssl->specs.kea                   = ecc_diffie_hellman_kea;
     289        ssl->specs.sig_algo              = rsa_sa_algo;
     290        ssl->specs.hash_size             = WC_SHA_DIGEST_SIZE;
     291        ssl->specs.pad_size              = PAD_SHA;
     292        ssl->specs.static_ecdh           = 0;
     293        ssl->specs.key_size              = AES_128_KEY_SIZE;
     294        ssl->specs.block_size            = AES_BLOCK_SIZE;
     295        ssl->specs.iv_size               = AES_IV_SIZE;
     296
     297    break;
     298#endif
     299
     300#ifdef BUILD_TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
     301    case TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA :
     302        ssl->specs.bulk_cipher_algorithm = wolfssl_triple_des;
     303        ssl->specs.cipher_type           = block;
     304        ssl->specs.mac_algorithm         = sha_mac;
     305        ssl->specs.kea                   = ecc_diffie_hellman_kea;
     306        ssl->specs.sig_algo              = rsa_sa_algo;
     307        ssl->specs.hash_size             = WC_SHA_DIGEST_SIZE;
     308        ssl->specs.pad_size              = PAD_SHA;
     309        ssl->specs.static_ecdh           = 0;
     310        ssl->specs.key_size              = DES3_KEY_SIZE;
     311        ssl->specs.block_size            = DES_BLOCK_SIZE;
     312        ssl->specs.iv_size               = DES_IV_SIZE;
     313
     314    break;
     315#endif
     316
     317#ifdef BUILD_TLS_ECDHE_RSA_WITH_RC4_128_SHA
     318    case TLS_ECDHE_RSA_WITH_RC4_128_SHA :
     319        ssl->specs.bulk_cipher_algorithm = wolfssl_rc4;
     320        ssl->specs.cipher_type           = stream;
     321        ssl->specs.mac_algorithm         = sha_mac;
     322        ssl->specs.kea                   = ecc_diffie_hellman_kea;
     323        ssl->specs.sig_algo              = rsa_sa_algo;
     324        ssl->specs.hash_size             = WC_SHA_DIGEST_SIZE;
     325        ssl->specs.pad_size              = PAD_SHA;
     326        ssl->specs.static_ecdh           = 0;
     327        ssl->specs.key_size              = RC4_KEY_SIZE;
     328        ssl->specs.iv_size               = 0;
     329        ssl->specs.block_size            = 0;
     330
     331    break;
     332#endif
     333
     334#ifdef BUILD_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
     335    case TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA :
     336        ssl->specs.bulk_cipher_algorithm = wolfssl_aes;
     337        ssl->specs.cipher_type           = block;
     338        ssl->specs.mac_algorithm         = sha_mac;
     339        ssl->specs.kea                   = ecc_diffie_hellman_kea;
     340        ssl->specs.sig_algo              = rsa_sa_algo;
     341        ssl->specs.hash_size             = WC_SHA_DIGEST_SIZE;
     342        ssl->specs.pad_size              = PAD_SHA;
     343        ssl->specs.static_ecdh           = 0;
     344        ssl->specs.key_size              = AES_256_KEY_SIZE;
     345        ssl->specs.block_size            = AES_BLOCK_SIZE;
     346        ssl->specs.iv_size               = AES_IV_SIZE;
     347
     348    break;
     349#endif
     350
     351#ifdef BUILD_TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
     352    case TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 :
     353        ssl->specs.bulk_cipher_algorithm = wolfssl_aes_gcm;
     354        ssl->specs.cipher_type           = aead;
     355        ssl->specs.mac_algorithm         = sha256_mac;
     356        ssl->specs.kea                   = ecc_diffie_hellman_kea;
     357        ssl->specs.sig_algo              = rsa_sa_algo;
     358        ssl->specs.hash_size             = WC_SHA256_DIGEST_SIZE;
     359        ssl->specs.pad_size              = PAD_SHA;
     360        ssl->specs.static_ecdh           = 0;
     361        ssl->specs.key_size              = AES_128_KEY_SIZE;
     362        ssl->specs.block_size            = AES_BLOCK_SIZE;
     363        ssl->specs.iv_size               = AESGCM_IMP_IV_SZ;
     364        ssl->specs.aead_mac_size         = AES_GCM_AUTH_SZ;
     365
     366    break;
     367#endif
     368
     369#ifdef BUILD_TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
     370    case TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 :
     371        ssl->specs.bulk_cipher_algorithm = wolfssl_aes_gcm;
     372        ssl->specs.cipher_type           = aead;
     373        ssl->specs.mac_algorithm         = sha384_mac;
     374        ssl->specs.kea                   = ecc_diffie_hellman_kea;
     375        ssl->specs.sig_algo              = rsa_sa_algo;
     376        ssl->specs.hash_size             = WC_SHA384_DIGEST_SIZE;
     377        ssl->specs.pad_size              = PAD_SHA;
     378        ssl->specs.static_ecdh           = 0;
     379        ssl->specs.key_size              = AES_256_KEY_SIZE;
     380        ssl->specs.block_size            = AES_BLOCK_SIZE;
     381        ssl->specs.iv_size               = AESGCM_IMP_IV_SZ;
     382        ssl->specs.aead_mac_size         = AES_GCM_AUTH_SZ;
     383
     384    break;
     385#endif
     386
     387#ifdef BUILD_TLS_ECDHE_PSK_WITH_NULL_SHA256
     388    case TLS_ECDHE_PSK_WITH_NULL_SHA256 :
     389        ssl->specs.bulk_cipher_algorithm = wolfssl_cipher_null;
     390        ssl->specs.cipher_type           = stream;
     391        ssl->specs.mac_algorithm         = sha256_mac;
     392        ssl->specs.kea                   = ecdhe_psk_kea;
     393        ssl->specs.sig_algo              = anonymous_sa_algo;
     394        ssl->specs.hash_size             = WC_SHA256_DIGEST_SIZE;
     395        ssl->specs.pad_size              = PAD_SHA;
     396        ssl->specs.static_ecdh           = 0;
     397        ssl->specs.key_size              = 0;
     398        ssl->specs.block_size            = 0;
     399        ssl->specs.iv_size               = 0;
     400
     401        ssl->options.usingPSK_cipher     = 1;
     402        break;
     403#endif
     404
     405#ifdef BUILD_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256
     406    case TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256 :
     407        ssl->specs.bulk_cipher_algorithm = wolfssl_aes;
     408        ssl->specs.cipher_type           = block;
     409        ssl->specs.mac_algorithm         = sha256_mac;
     410        ssl->specs.kea                   = ecdhe_psk_kea;
     411        ssl->specs.sig_algo              = anonymous_sa_algo;
     412        ssl->specs.hash_size             = WC_SHA256_DIGEST_SIZE;
     413        ssl->specs.pad_size              = PAD_SHA;
     414        ssl->specs.static_ecdh           = 0;
     415        ssl->specs.key_size              = AES_128_KEY_SIZE;
     416        ssl->specs.block_size            = AES_BLOCK_SIZE;
     417        ssl->specs.iv_size               = AES_IV_SIZE;
     418
     419        ssl->options.usingPSK_cipher     = 1;
     420        break;
     421#endif
     422
     423#endif /* HAVE_ECC || HAVE_CURVE25519 */
     424
     425#if defined(HAVE_ECC) || (defined(HAVE_CURVE25519) && defined(HAVE_ED25519))
    264426
    265427#ifdef BUILD_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
     
    276438        ssl->specs.iv_size               = AES_IV_SIZE;
    277439        ssl->specs.block_size            = AES_BLOCK_SIZE;
    278     break;
    279 #endif
     440
     441        break;
     442#endif
     443
     444#ifdef BUILD_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
     445    case TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 :
     446        ssl->specs.bulk_cipher_algorithm = wolfssl_aes;
     447        ssl->specs.cipher_type           = block;
     448        ssl->specs.mac_algorithm         = sha384_mac;
     449        ssl->specs.kea                   = ecc_diffie_hellman_kea;
     450        ssl->specs.sig_algo              = ecc_dsa_sa_algo;
     451        ssl->specs.hash_size             = WC_SHA384_DIGEST_SIZE;
     452        ssl->specs.pad_size              = PAD_SHA;
     453        ssl->specs.static_ecdh           = 0;
     454        ssl->specs.key_size              = AES_256_KEY_SIZE;
     455        ssl->specs.iv_size               = AES_IV_SIZE;
     456        ssl->specs.block_size            = AES_BLOCK_SIZE;
     457
     458        break;
     459#endif
     460
     461#ifdef BUILD_TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA
     462    case TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA :
     463        ssl->specs.bulk_cipher_algorithm = wolfssl_triple_des;
     464        ssl->specs.cipher_type           = block;
     465        ssl->specs.mac_algorithm         = sha_mac;
     466        ssl->specs.kea                   = ecc_diffie_hellman_kea;
     467        ssl->specs.sig_algo              = ecc_dsa_sa_algo;
     468        ssl->specs.hash_size             = WC_SHA_DIGEST_SIZE;
     469        ssl->specs.pad_size              = PAD_SHA;
     470        ssl->specs.static_ecdh           = 0;
     471        ssl->specs.key_size              = DES3_KEY_SIZE;
     472        ssl->specs.block_size            = DES_BLOCK_SIZE;
     473        ssl->specs.iv_size               = DES_IV_SIZE;
     474
     475        break;
     476#endif
     477
     478#ifdef BUILD_TLS_ECDHE_ECDSA_WITH_RC4_128_SHA
     479    case TLS_ECDHE_ECDSA_WITH_RC4_128_SHA :
     480        ssl->specs.bulk_cipher_algorithm = wolfssl_rc4;
     481        ssl->specs.cipher_type           = stream;
     482        ssl->specs.mac_algorithm         = sha_mac;
     483        ssl->specs.kea                   = ecc_diffie_hellman_kea;
     484        ssl->specs.sig_algo              = ecc_dsa_sa_algo;
     485        ssl->specs.hash_size             = WC_SHA_DIGEST_SIZE;
     486        ssl->specs.pad_size              = PAD_SHA;
     487        ssl->specs.static_ecdh           = 0;
     488        ssl->specs.key_size              = RC4_KEY_SIZE;
     489        ssl->specs.iv_size               = 0;
     490        ssl->specs.block_size            = 0;
     491
     492        break;
     493#endif
     494
     495#ifdef BUILD_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
     496    case TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA :
     497        ssl->specs.bulk_cipher_algorithm = wolfssl_aes;
     498        ssl->specs.cipher_type           = block;
     499        ssl->specs.mac_algorithm         = sha_mac;
     500        ssl->specs.kea                   = ecc_diffie_hellman_kea;
     501        ssl->specs.sig_algo              = ecc_dsa_sa_algo;
     502        ssl->specs.hash_size             = WC_SHA_DIGEST_SIZE;
     503        ssl->specs.pad_size              = PAD_SHA;
     504        ssl->specs.static_ecdh           = 0;
     505        ssl->specs.key_size              = AES_128_KEY_SIZE;
     506        ssl->specs.block_size            = AES_BLOCK_SIZE;
     507        ssl->specs.iv_size               = AES_IV_SIZE;
     508
     509        break;
     510#endif
     511
     512#ifdef BUILD_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
     513    case TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA :
     514        ssl->specs.bulk_cipher_algorithm = wolfssl_aes;
     515        ssl->specs.cipher_type           = block;
     516        ssl->specs.mac_algorithm         = sha_mac;
     517        ssl->specs.kea                   = ecc_diffie_hellman_kea;
     518        ssl->specs.sig_algo              = ecc_dsa_sa_algo;
     519        ssl->specs.hash_size             = WC_SHA_DIGEST_SIZE;
     520        ssl->specs.pad_size              = PAD_SHA;
     521        ssl->specs.static_ecdh           = 0;
     522        ssl->specs.key_size              = AES_256_KEY_SIZE;
     523        ssl->specs.block_size            = AES_BLOCK_SIZE;
     524        ssl->specs.iv_size               = AES_IV_SIZE;
     525
     526        break;
     527#endif
     528
     529#ifdef BUILD_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
     530    case TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 :
     531        ssl->specs.bulk_cipher_algorithm = wolfssl_aes_gcm;
     532        ssl->specs.cipher_type           = aead;
     533        ssl->specs.mac_algorithm         = sha256_mac;
     534        ssl->specs.kea                   = ecc_diffie_hellman_kea;
     535        ssl->specs.sig_algo              = ecc_dsa_sa_algo;
     536        ssl->specs.hash_size             = WC_SHA256_DIGEST_SIZE;
     537        ssl->specs.pad_size              = PAD_SHA;
     538        ssl->specs.static_ecdh           = 0;
     539        ssl->specs.key_size              = AES_128_KEY_SIZE;
     540        ssl->specs.block_size            = AES_BLOCK_SIZE;
     541        ssl->specs.iv_size               = AESGCM_IMP_IV_SZ;
     542        ssl->specs.aead_mac_size         = AES_GCM_AUTH_SZ;
     543
     544        break;
     545#endif
     546
     547#ifdef BUILD_TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
     548    case TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 :
     549        ssl->specs.bulk_cipher_algorithm = wolfssl_aes_gcm;
     550        ssl->specs.cipher_type           = aead;
     551        ssl->specs.mac_algorithm         = sha384_mac;
     552        ssl->specs.kea                   = ecc_diffie_hellman_kea;
     553        ssl->specs.sig_algo              = ecc_dsa_sa_algo;
     554        ssl->specs.hash_size             = WC_SHA384_DIGEST_SIZE;
     555        ssl->specs.pad_size              = PAD_SHA;
     556        ssl->specs.static_ecdh           = 0;
     557        ssl->specs.key_size              = AES_256_KEY_SIZE;
     558        ssl->specs.block_size            = AES_BLOCK_SIZE;
     559        ssl->specs.iv_size               = AESGCM_IMP_IV_SZ;
     560        ssl->specs.aead_mac_size         = AES_GCM_AUTH_SZ;
     561
     562        break;
     563#endif
     564
     565#ifdef BUILD_TLS_ECDHE_ECDSA_WITH_AES_128_CCM
     566    case TLS_ECDHE_ECDSA_WITH_AES_128_CCM :
     567        ssl->specs.bulk_cipher_algorithm = wolfssl_aes_ccm;
     568        ssl->specs.cipher_type           = aead;
     569        ssl->specs.mac_algorithm         = sha256_mac;
     570        ssl->specs.kea                   = ecc_diffie_hellman_kea;
     571        ssl->specs.sig_algo              = ecc_dsa_sa_algo;
     572        ssl->specs.hash_size             = WC_SHA256_DIGEST_SIZE;
     573        ssl->specs.pad_size              = PAD_SHA;
     574        ssl->specs.static_ecdh           = 0;
     575        ssl->specs.key_size              = AES_128_KEY_SIZE;
     576        ssl->specs.block_size            = AES_BLOCK_SIZE;
     577        ssl->specs.iv_size               = AESGCM_IMP_IV_SZ;
     578        ssl->specs.aead_mac_size         = AES_CCM_16_AUTH_SZ;
     579
     580        break;
     581#endif
     582
     583#ifdef BUILD_TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8
     584    case TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8 :
     585        ssl->specs.bulk_cipher_algorithm = wolfssl_aes_ccm;
     586        ssl->specs.cipher_type           = aead;
     587        ssl->specs.mac_algorithm         = sha256_mac;
     588        ssl->specs.kea                   = ecc_diffie_hellman_kea;
     589        ssl->specs.sig_algo              = ecc_dsa_sa_algo;
     590        ssl->specs.hash_size             = WC_SHA256_DIGEST_SIZE;
     591        ssl->specs.pad_size              = PAD_SHA;
     592        ssl->specs.static_ecdh           = 0;
     593        ssl->specs.key_size              = AES_128_KEY_SIZE;
     594        ssl->specs.block_size            = AES_BLOCK_SIZE;
     595        ssl->specs.iv_size               = AESGCM_IMP_IV_SZ;
     596        ssl->specs.aead_mac_size         = AES_CCM_8_AUTH_SZ;
     597
     598        break;
     599#endif
     600
     601#ifdef BUILD_TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8
     602    case TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8 :
     603        ssl->specs.bulk_cipher_algorithm = wolfssl_aes_ccm;
     604        ssl->specs.cipher_type           = aead;
     605        ssl->specs.mac_algorithm         = sha256_mac;
     606        ssl->specs.kea                   = ecc_diffie_hellman_kea;
     607        ssl->specs.sig_algo              = ecc_dsa_sa_algo;
     608        ssl->specs.hash_size             = WC_SHA256_DIGEST_SIZE;
     609        ssl->specs.pad_size              = PAD_SHA;
     610        ssl->specs.static_ecdh           = 0;
     611        ssl->specs.key_size              = AES_256_KEY_SIZE;
     612        ssl->specs.block_size            = AES_BLOCK_SIZE;
     613        ssl->specs.iv_size               = AESGCM_IMP_IV_SZ;
     614        ssl->specs.aead_mac_size         = AES_CCM_8_AUTH_SZ;
     615
     616        break;
     617#endif
     618
     619#ifdef BUILD_TLS_ECDHE_ECDSA_WITH_NULL_SHA
     620    case TLS_ECDHE_ECDSA_WITH_NULL_SHA :
     621        ssl->specs.bulk_cipher_algorithm = wolfssl_cipher_null;
     622        ssl->specs.cipher_type           = stream;
     623        ssl->specs.mac_algorithm         = sha_mac;
     624        ssl->specs.kea                   = ecc_diffie_hellman_kea;
     625        ssl->specs.sig_algo              = ecc_dsa_sa_algo;
     626        ssl->specs.hash_size             = WC_SHA_DIGEST_SIZE;
     627        ssl->specs.pad_size              = PAD_SHA;
     628        ssl->specs.static_ecdh           = 0;
     629        ssl->specs.key_size              = 0;
     630        ssl->specs.block_size            = 0;
     631        ssl->specs.iv_size               = 0;
     632
     633        break;
     634#endif
     635
     636#endif /* HAVE_ECC || (HAVE_CURVE25519 && HAVE_ED25519) */
     637
     638#if defined(HAVE_ECC)
    280639
    281640#ifdef BUILD_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256
     
    292651        ssl->specs.iv_size               = AES_IV_SIZE;
    293652        ssl->specs.block_size            = AES_BLOCK_SIZE;
    294     break;
     653
     654        break;
    295655#endif
    296656
     
    308668        ssl->specs.iv_size               = AES_IV_SIZE;
    309669        ssl->specs.block_size            = AES_BLOCK_SIZE;
    310     break;
    311 #endif
    312 
    313 #ifdef BUILD_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
    314     case TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 :
    315         ssl->specs.bulk_cipher_algorithm = wolfssl_aes;
    316         ssl->specs.cipher_type           = block;
    317         ssl->specs.mac_algorithm         = sha384_mac;
    318         ssl->specs.kea                   = ecc_diffie_hellman_kea;
    319         ssl->specs.sig_algo              = rsa_sa_algo;
    320         ssl->specs.hash_size             = WC_SHA384_DIGEST_SIZE;
    321         ssl->specs.pad_size              = PAD_SHA;
    322         ssl->specs.static_ecdh           = 0;
    323         ssl->specs.key_size              = AES_256_KEY_SIZE;
    324         ssl->specs.iv_size               = AES_IV_SIZE;
    325         ssl->specs.block_size            = AES_BLOCK_SIZE;
    326     break;
    327 #endif
    328 
    329 #ifdef BUILD_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
    330     case TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 :
    331         ssl->specs.bulk_cipher_algorithm = wolfssl_aes;
    332         ssl->specs.cipher_type           = block;
    333         ssl->specs.mac_algorithm         = sha384_mac;
    334         ssl->specs.kea                   = ecc_diffie_hellman_kea;
    335         ssl->specs.sig_algo              = ecc_dsa_sa_algo;
    336         ssl->specs.hash_size             = WC_SHA384_DIGEST_SIZE;
    337         ssl->specs.pad_size              = PAD_SHA;
    338         ssl->specs.static_ecdh           = 0;
    339         ssl->specs.key_size              = AES_256_KEY_SIZE;
    340         ssl->specs.iv_size               = AES_IV_SIZE;
    341         ssl->specs.block_size            = AES_BLOCK_SIZE;
    342     break;
     670
     671        break;
    343672#endif
    344673
     
    356685        ssl->specs.iv_size               = AES_IV_SIZE;
    357686        ssl->specs.block_size            = AES_BLOCK_SIZE;
    358     break;
     687
     688        break;
    359689#endif
    360690
     
    372702        ssl->specs.iv_size               = AES_IV_SIZE;
    373703        ssl->specs.block_size            = AES_BLOCK_SIZE;
    374     break;
    375 #endif
    376 
    377 #ifdef BUILD_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
    378     case TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA :
    379         ssl->specs.bulk_cipher_algorithm = wolfssl_aes;
    380         ssl->specs.cipher_type           = block;
    381         ssl->specs.mac_algorithm         = sha_mac;
    382         ssl->specs.kea                   = ecc_diffie_hellman_kea;
    383         ssl->specs.sig_algo              = rsa_sa_algo;
    384         ssl->specs.hash_size             = WC_SHA_DIGEST_SIZE;
    385         ssl->specs.pad_size              = PAD_SHA;
    386         ssl->specs.static_ecdh           = 0;
    387         ssl->specs.key_size              = AES_128_KEY_SIZE;
    388         ssl->specs.block_size            = AES_BLOCK_SIZE;
    389         ssl->specs.iv_size               = AES_IV_SIZE;
    390704
    391705        break;
     
    405719        ssl->specs.block_size            = AES_BLOCK_SIZE;
    406720        ssl->specs.iv_size               = AES_IV_SIZE;
    407 
    408         break;
    409 #endif
    410 
    411 #ifdef BUILD_TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
    412     case TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA :
    413         ssl->specs.bulk_cipher_algorithm = wolfssl_triple_des;
    414         ssl->specs.cipher_type           = block;
    415         ssl->specs.mac_algorithm         = sha_mac;
    416         ssl->specs.kea                   = ecc_diffie_hellman_kea;
    417         ssl->specs.sig_algo              = rsa_sa_algo;
    418         ssl->specs.hash_size             = WC_SHA_DIGEST_SIZE;
    419         ssl->specs.pad_size              = PAD_SHA;
    420         ssl->specs.static_ecdh           = 0;
    421         ssl->specs.key_size              = DES3_KEY_SIZE;
    422         ssl->specs.block_size            = DES_BLOCK_SIZE;
    423         ssl->specs.iv_size               = DES_IV_SIZE;
    424721
    425722        break;
     
    443740#endif
    444741
    445 #ifdef BUILD_TLS_ECDHE_RSA_WITH_RC4_128_SHA
    446     case TLS_ECDHE_RSA_WITH_RC4_128_SHA :
    447         ssl->specs.bulk_cipher_algorithm = wolfssl_rc4;
    448         ssl->specs.cipher_type           = stream;
    449         ssl->specs.mac_algorithm         = sha_mac;
    450         ssl->specs.kea                   = ecc_diffie_hellman_kea;
    451         ssl->specs.sig_algo              = rsa_sa_algo;
    452         ssl->specs.hash_size             = WC_SHA_DIGEST_SIZE;
    453         ssl->specs.pad_size              = PAD_SHA;
    454         ssl->specs.static_ecdh           = 0;
    455         ssl->specs.key_size              = RC4_KEY_SIZE;
    456         ssl->specs.iv_size               = 0;
    457         ssl->specs.block_size            = 0;
    458 
    459         break;
    460 #endif
    461 
    462742#ifdef BUILD_TLS_ECDH_RSA_WITH_RC4_128_SHA
    463743    case TLS_ECDH_RSA_WITH_RC4_128_SHA :
     
    477757#endif
    478758
    479 #ifdef BUILD_TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA
    480     case TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA :
    481         ssl->specs.bulk_cipher_algorithm = wolfssl_triple_des;
    482         ssl->specs.cipher_type           = block;
    483         ssl->specs.mac_algorithm         = sha_mac;
    484         ssl->specs.kea                   = ecc_diffie_hellman_kea;
    485         ssl->specs.sig_algo              = ecc_dsa_sa_algo;
    486         ssl->specs.hash_size             = WC_SHA_DIGEST_SIZE;
    487         ssl->specs.pad_size              = PAD_SHA;
    488         ssl->specs.static_ecdh           = 0;
    489         ssl->specs.key_size              = DES3_KEY_SIZE;
    490         ssl->specs.block_size            = DES_BLOCK_SIZE;
    491         ssl->specs.iv_size               = DES_IV_SIZE;
    492 
    493         break;
    494 #endif
    495 
    496759#ifdef BUILD_TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA
    497760    case TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA :
     
    511774#endif
    512775
    513 #ifdef BUILD_TLS_ECDHE_ECDSA_WITH_RC4_128_SHA
    514     case TLS_ECDHE_ECDSA_WITH_RC4_128_SHA :
    515         ssl->specs.bulk_cipher_algorithm = wolfssl_rc4;
    516         ssl->specs.cipher_type           = stream;
    517         ssl->specs.mac_algorithm         = sha_mac;
    518         ssl->specs.kea                   = ecc_diffie_hellman_kea;
    519         ssl->specs.sig_algo              = ecc_dsa_sa_algo;
    520         ssl->specs.hash_size             = WC_SHA_DIGEST_SIZE;
    521         ssl->specs.pad_size              = PAD_SHA;
    522         ssl->specs.static_ecdh           = 0;
    523         ssl->specs.key_size              = RC4_KEY_SIZE;
    524         ssl->specs.iv_size               = 0;
    525         ssl->specs.block_size            = 0;
    526 
    527         break;
    528 #endif
    529 
    530776#ifdef BUILD_TLS_ECDH_ECDSA_WITH_RC4_128_SHA
    531777    case TLS_ECDH_ECDSA_WITH_RC4_128_SHA :
     
    545791#endif
    546792
    547 #ifdef BUILD_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
    548     case TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA :
    549         ssl->specs.bulk_cipher_algorithm = wolfssl_aes;
    550         ssl->specs.cipher_type           = block;
    551         ssl->specs.mac_algorithm         = sha_mac;
    552         ssl->specs.kea                   = ecc_diffie_hellman_kea;
    553         ssl->specs.sig_algo              = rsa_sa_algo;
    554         ssl->specs.hash_size             = WC_SHA_DIGEST_SIZE;
    555         ssl->specs.pad_size              = PAD_SHA;
    556         ssl->specs.static_ecdh           = 0;
    557         ssl->specs.key_size              = AES_256_KEY_SIZE;
    558         ssl->specs.block_size            = AES_BLOCK_SIZE;
    559         ssl->specs.iv_size               = AES_IV_SIZE;
    560 
    561         break;
    562 #endif
    563 
    564793#ifdef BUILD_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA
    565794    case TLS_ECDH_RSA_WITH_AES_256_CBC_SHA :
     
    579808#endif
    580809
    581 #ifdef BUILD_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
    582     case TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA :
    583         ssl->specs.bulk_cipher_algorithm = wolfssl_aes;
    584         ssl->specs.cipher_type           = block;
    585         ssl->specs.mac_algorithm         = sha_mac;
    586         ssl->specs.kea                   = ecc_diffie_hellman_kea;
    587         ssl->specs.sig_algo              = ecc_dsa_sa_algo;
    588         ssl->specs.hash_size             = WC_SHA_DIGEST_SIZE;
    589         ssl->specs.pad_size              = PAD_SHA;
    590         ssl->specs.static_ecdh           = 0;
    591         ssl->specs.key_size              = AES_128_KEY_SIZE;
    592         ssl->specs.block_size            = AES_BLOCK_SIZE;
    593         ssl->specs.iv_size               = AES_IV_SIZE;
    594 
    595         break;
    596 #endif
    597 
    598810#ifdef BUILD_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA
    599811    case TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA :
     
    613825#endif
    614826
    615 #ifdef BUILD_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
    616     case TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA :
    617         ssl->specs.bulk_cipher_algorithm = wolfssl_aes;
    618         ssl->specs.cipher_type           = block;
    619         ssl->specs.mac_algorithm         = sha_mac;
    620         ssl->specs.kea                   = ecc_diffie_hellman_kea;
    621         ssl->specs.sig_algo              = ecc_dsa_sa_algo;
    622         ssl->specs.hash_size             = WC_SHA_DIGEST_SIZE;
    623         ssl->specs.pad_size              = PAD_SHA;
    624         ssl->specs.static_ecdh           = 0;
    625         ssl->specs.key_size              = AES_256_KEY_SIZE;
    626         ssl->specs.block_size            = AES_BLOCK_SIZE;
    627         ssl->specs.iv_size               = AES_IV_SIZE;
    628 
    629         break;
    630 #endif
    631 
    632827#ifdef BUILD_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA
    633828    case TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA :
     
    647842#endif
    648843
    649 #ifdef BUILD_TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
    650     case TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 :
    651         ssl->specs.bulk_cipher_algorithm = wolfssl_aes_gcm;
    652         ssl->specs.cipher_type           = aead;
    653         ssl->specs.mac_algorithm         = sha256_mac;
    654         ssl->specs.kea                   = ecc_diffie_hellman_kea;
    655         ssl->specs.sig_algo              = rsa_sa_algo;
    656         ssl->specs.hash_size             = WC_SHA256_DIGEST_SIZE;
    657         ssl->specs.pad_size              = PAD_SHA;
    658         ssl->specs.static_ecdh           = 0;
    659         ssl->specs.key_size              = AES_128_KEY_SIZE;
    660         ssl->specs.block_size            = AES_BLOCK_SIZE;
    661         ssl->specs.iv_size               = AESGCM_IMP_IV_SZ;
    662         ssl->specs.aead_mac_size         = AES_GCM_AUTH_SZ;
    663 
    664         break;
    665 #endif
    666 
    667 #ifdef BUILD_TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
    668     case TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 :
    669         ssl->specs.bulk_cipher_algorithm = wolfssl_aes_gcm;
    670         ssl->specs.cipher_type           = aead;
    671         ssl->specs.mac_algorithm         = sha384_mac;
    672         ssl->specs.kea                   = ecc_diffie_hellman_kea;
    673         ssl->specs.sig_algo              = rsa_sa_algo;
    674         ssl->specs.hash_size             = WC_SHA384_DIGEST_SIZE;
    675         ssl->specs.pad_size              = PAD_SHA;
    676         ssl->specs.static_ecdh           = 0;
    677         ssl->specs.key_size              = AES_256_KEY_SIZE;
    678         ssl->specs.block_size            = AES_BLOCK_SIZE;
    679         ssl->specs.iv_size               = AESGCM_IMP_IV_SZ;
    680         ssl->specs.aead_mac_size         = AES_GCM_AUTH_SZ;
    681 
    682         break;
    683 #endif
    684 
    685 #ifdef BUILD_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
    686     case TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 :
    687         ssl->specs.bulk_cipher_algorithm = wolfssl_aes_gcm;
    688         ssl->specs.cipher_type           = aead;
    689         ssl->specs.mac_algorithm         = sha256_mac;
    690         ssl->specs.kea                   = ecc_diffie_hellman_kea;
    691         ssl->specs.sig_algo              = ecc_dsa_sa_algo;
    692         ssl->specs.hash_size             = WC_SHA256_DIGEST_SIZE;
    693         ssl->specs.pad_size              = PAD_SHA;
    694         ssl->specs.static_ecdh           = 0;
    695         ssl->specs.key_size              = AES_128_KEY_SIZE;
    696         ssl->specs.block_size            = AES_BLOCK_SIZE;
    697         ssl->specs.iv_size               = AESGCM_IMP_IV_SZ;
    698         ssl->specs.aead_mac_size         = AES_GCM_AUTH_SZ;
    699 
    700         break;
    701 #endif
    702 
    703 #ifdef BUILD_TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
    704     case TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 :
    705         ssl->specs.bulk_cipher_algorithm = wolfssl_aes_gcm;
    706         ssl->specs.cipher_type           = aead;
    707         ssl->specs.mac_algorithm         = sha384_mac;
    708         ssl->specs.kea                   = ecc_diffie_hellman_kea;
    709         ssl->specs.sig_algo              = ecc_dsa_sa_algo;
    710         ssl->specs.hash_size             = WC_SHA384_DIGEST_SIZE;
    711         ssl->specs.pad_size              = PAD_SHA;
    712         ssl->specs.static_ecdh           = 0;
    713         ssl->specs.key_size              = AES_256_KEY_SIZE;
    714         ssl->specs.block_size            = AES_BLOCK_SIZE;
    715         ssl->specs.iv_size               = AESGCM_IMP_IV_SZ;
    716         ssl->specs.aead_mac_size         = AES_GCM_AUTH_SZ;
    717 
    718         break;
    719 #endif
    720 
    721844#ifdef BUILD_TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256
    722845    case TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256 :
     
    791914#endif
    792915
    793 #ifdef BUILD_TLS_ECDHE_ECDSA_WITH_AES_128_CCM
    794     case TLS_ECDHE_ECDSA_WITH_AES_128_CCM :
    795         ssl->specs.bulk_cipher_algorithm = wolfssl_aes_ccm;
    796         ssl->specs.cipher_type           = aead;
    797         ssl->specs.mac_algorithm         = sha256_mac;
    798         ssl->specs.kea                   = ecc_diffie_hellman_kea;
    799         ssl->specs.sig_algo              = ecc_dsa_sa_algo;
    800         ssl->specs.hash_size             = WC_SHA256_DIGEST_SIZE;
    801         ssl->specs.pad_size              = PAD_SHA;
    802         ssl->specs.static_ecdh           = 0;
    803         ssl->specs.key_size              = AES_128_KEY_SIZE;
    804         ssl->specs.block_size            = AES_BLOCK_SIZE;
    805         ssl->specs.iv_size               = AESGCM_IMP_IV_SZ;
    806         ssl->specs.aead_mac_size         = AES_CCM_16_AUTH_SZ;
    807 
    808         break;
    809 #endif
    810 
    811 #ifdef BUILD_TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8
    812     case TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8 :
    813         ssl->specs.bulk_cipher_algorithm = wolfssl_aes_ccm;
    814         ssl->specs.cipher_type           = aead;
    815         ssl->specs.mac_algorithm         = sha256_mac;
    816         ssl->specs.kea                   = ecc_diffie_hellman_kea;
    817         ssl->specs.sig_algo              = ecc_dsa_sa_algo;
    818         ssl->specs.hash_size             = WC_SHA256_DIGEST_SIZE;
    819         ssl->specs.pad_size              = PAD_SHA;
    820         ssl->specs.static_ecdh           = 0;
    821         ssl->specs.key_size              = AES_128_KEY_SIZE;
    822         ssl->specs.block_size            = AES_BLOCK_SIZE;
    823         ssl->specs.iv_size               = AESGCM_IMP_IV_SZ;
    824         ssl->specs.aead_mac_size         = AES_CCM_8_AUTH_SZ;
    825 
    826         break;
    827 #endif
    828 
    829 #ifdef BUILD_TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8
    830     case TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8 :
    831         ssl->specs.bulk_cipher_algorithm = wolfssl_aes_ccm;
    832         ssl->specs.cipher_type           = aead;
    833         ssl->specs.mac_algorithm         = sha256_mac;
    834         ssl->specs.kea                   = ecc_diffie_hellman_kea;
    835         ssl->specs.sig_algo              = ecc_dsa_sa_algo;
    836         ssl->specs.hash_size             = WC_SHA256_DIGEST_SIZE;
    837         ssl->specs.pad_size              = PAD_SHA;
    838         ssl->specs.static_ecdh           = 0;
    839         ssl->specs.key_size              = AES_256_KEY_SIZE;
    840         ssl->specs.block_size            = AES_BLOCK_SIZE;
    841         ssl->specs.iv_size               = AESGCM_IMP_IV_SZ;
    842         ssl->specs.aead_mac_size         = AES_CCM_8_AUTH_SZ;
    843 
    844         break;
    845 #endif
    846 
    847 #ifdef BUILD_TLS_ECDHE_ECDSA_WITH_NULL_SHA
    848     case TLS_ECDHE_ECDSA_WITH_NULL_SHA :
    849         ssl->specs.bulk_cipher_algorithm = wolfssl_cipher_null;
    850         ssl->specs.cipher_type           = stream;
    851         ssl->specs.mac_algorithm         = sha_mac;
    852         ssl->specs.kea                   = ecc_diffie_hellman_kea;
    853         ssl->specs.sig_algo              = ecc_dsa_sa_algo;
    854         ssl->specs.hash_size             = WC_SHA_DIGEST_SIZE;
    855         ssl->specs.pad_size              = PAD_SHA;
    856         ssl->specs.static_ecdh           = 0;
    857         ssl->specs.key_size              = 0;
    858         ssl->specs.block_size            = 0;
    859         ssl->specs.iv_size               = 0;
    860 
    861     break;
    862 #endif
    863 
    864 #ifdef BUILD_TLS_ECDHE_PSK_WITH_NULL_SHA256
    865     case TLS_ECDHE_PSK_WITH_NULL_SHA256 :
    866         ssl->specs.bulk_cipher_algorithm = wolfssl_cipher_null;
    867         ssl->specs.cipher_type           = stream;
    868         ssl->specs.mac_algorithm         = sha256_mac;
    869         ssl->specs.kea                   = ecdhe_psk_kea;
    870         ssl->specs.sig_algo              = anonymous_sa_algo;
    871         ssl->specs.hash_size             = WC_SHA256_DIGEST_SIZE;
    872         ssl->specs.pad_size              = PAD_SHA;
    873         ssl->specs.static_ecdh           = 0;
    874         ssl->specs.key_size              = 0;
    875         ssl->specs.block_size            = 0;
    876         ssl->specs.iv_size               = 0;
    877 
    878         ssl->options.usingPSK_cipher     = 1;
    879         break;
    880 #endif
    881 
    882 #ifdef BUILD_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256
    883     case TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256 :
    884         ssl->specs.bulk_cipher_algorithm = wolfssl_aes;
    885         ssl->specs.cipher_type           = block;
    886         ssl->specs.mac_algorithm         = sha256_mac;
    887         ssl->specs.kea                   = ecdhe_psk_kea;
    888         ssl->specs.sig_algo              = anonymous_sa_algo;
    889         ssl->specs.hash_size             = WC_SHA256_DIGEST_SIZE;
    890         ssl->specs.pad_size              = PAD_SHA;
    891         ssl->specs.static_ecdh           = 0;
    892         ssl->specs.key_size              = AES_128_KEY_SIZE;
    893         ssl->specs.block_size            = AES_BLOCK_SIZE;
    894         ssl->specs.iv_size               = AES_IV_SIZE;
    895 
    896         ssl->options.usingPSK_cipher     = 1;
    897         break;
    898 #endif
    899916#endif /* HAVE_ECC */
    900917
     
    14181435#endif
    14191436
     1437#ifdef BUILD_TLS_DH_anon_WITH_AES_256_GCM_SHA384
     1438    case TLS_DH_anon_WITH_AES_256_GCM_SHA384:
     1439        ssl->specs.bulk_cipher_algorithm = wolfssl_aes_gcm;
     1440        ssl->specs.cipher_type           = aead;
     1441        ssl->specs.mac_algorithm         = sha384_mac;
     1442        ssl->specs.kea                   = diffie_hellman_kea;
     1443        ssl->specs.sig_algo              = anonymous_sa_algo;
     1444        ssl->specs.hash_size             = WC_SHA384_DIGEST_SIZE;
     1445        ssl->specs.pad_size              = PAD_SHA;
     1446        ssl->specs.static_ecdh           = 0;
     1447        ssl->specs.key_size              = AES_256_KEY_SIZE;
     1448        ssl->specs.block_size            = AES_BLOCK_SIZE;
     1449        ssl->specs.iv_size               = AESGCM_IMP_IV_SZ;
     1450        ssl->specs.aead_mac_size         = AES_GCM_AUTH_SZ;
     1451
     1452         ssl->options.usingAnon_cipher    = 1;
     1453        break;
     1454#endif
     1455
    14201456#ifdef BUILD_TLS_DHE_PSK_WITH_AES_128_GCM_SHA256
    14211457    case TLS_DHE_PSK_WITH_AES_128_GCM_SHA256 :
     
    21072143#ifndef NO_TLS
    21082144        ssl->options.tls = 1;
     2145    #if !defined(WOLFSSL_NO_TLS12) && !defined(WOLFSSL_AEAD_ONLY)
    21092146        ssl->hmac = TLS_hmac;
     2147    #endif
    21102148        if (ssl->version.minor >= 2) {
    21112149            ssl->options.tls1_1 = 1;
     
    21162154    }
    21172155
    2118 #ifdef WOLFSSL_DTLS
     2156#if defined(WOLFSSL_DTLS) && !defined(WOLFSSL_AEAD_ONLY)
    21192157    if (ssl->options.dtls)
    21202158        ssl->hmac = TLS_hmac;
     
    29853023
    29863024        if (clientCopy) {
     3025    #ifndef WOLFSSL_AEAD_ONLY
    29873026            XMEMCPY(ssl->keys.client_write_MAC_secret,
    2988                     keys->client_write_MAC_secret, MAX_DIGEST_SIZE);
     3027                    keys->client_write_MAC_secret, WC_MAX_DIGEST_SIZE);
     3028    #endif
    29893029            XMEMCPY(ssl->keys.client_write_key,
    29903030                    keys->client_write_key, AES_256_KEY_SIZE);
     
    29923032                    keys->client_write_IV, MAX_WRITE_IV_SZ);
    29933033        } else {
     3034    #ifndef WOLFSSL_AEAD_ONLY
    29943035            XMEMCPY(ssl->keys.server_write_MAC_secret,
    2995                     keys->server_write_MAC_secret, MAX_DIGEST_SIZE);
     3036                    keys->server_write_MAC_secret, WC_MAX_DIGEST_SIZE);
     3037    #endif
    29963038            XMEMCPY(ssl->keys.server_write_key,
    29973039                    keys->server_write_key, AES_256_KEY_SIZE);
     
    30623104        if (ssl->specs.cipher_type != aead) {
    30633105            sz = ssl->specs.hash_size;
     3106    #ifndef WOLFSSL_AEAD_ONLY
    30643107            XMEMCPY(keys->client_write_MAC_secret,&keyData[i], sz);
    30653108            XMEMCPY(keys->server_write_MAC_secret,&keyData[i], sz);
     3109    #endif
    30663110            i += sz;
    30673111        }
     
    30893133        sz = ssl->specs.hash_size;
    30903134        if (side & PROVISION_CLIENT) {
     3135    #ifndef WOLFSSL_AEAD_ONLY
    30913136            XMEMCPY(keys->client_write_MAC_secret,&keyData[i], sz);
     3137    #endif
    30923138            i += sz;
    30933139        }
    30943140        if (side & PROVISION_SERVER) {
     3141    #ifndef WOLFSSL_AEAD_ONLY
    30953142            XMEMCPY(keys->server_write_MAC_secret,&keyData[i], sz);
     3143    #endif
    30963144            i += sz;
    30973145        }
     
    32443292        ssl->arrays->preMasterSecret[i] = 0;
    32453293
     3294    XFREE(ssl->arrays->preMasterSecret, ssl->heap, DYNAMIC_TYPE_SECRET);
     3295    ssl->arrays->preMasterSecret = NULL;
     3296
    32463297    return 0;
    32473298}
     
    34223473#endif
    34233474
    3424 #ifdef NO_OLD_TLS
     3475#ifndef NO_OLD_TLS
     3476    if (ssl->options.tls) return MakeTlsMasterSecret(ssl);
     3477    return MakeSslMasterSecret(ssl);
     3478#elif !defined(WOLFSSL_NO_TLS12)
    34253479    return MakeTlsMasterSecret(ssl);
    3426 #elif !defined(NO_TLS)
    3427     if (ssl->options.tls) return MakeTlsMasterSecret(ssl);
    3428 #endif
    3429 
    3430 #ifndef NO_OLD_TLS
    3431     return MakeSslMasterSecret(ssl);
     3480#else
     3481    (void)ssl;
     3482    return 0;
    34323483#endif
    34333484}
Note: See TracChangeset for help on using the changeset viewer.