diff options
Diffstat (limited to 'src/lib/libssl/s3_lib.c')
| -rw-r--r-- | src/lib/libssl/s3_lib.c | 195 |
1 files changed, 40 insertions, 155 deletions
diff --git a/src/lib/libssl/s3_lib.c b/src/lib/libssl/s3_lib.c index 896b12fc4f..cc0aeef511 100644 --- a/src/lib/libssl/s3_lib.c +++ b/src/lib/libssl/s3_lib.c | |||
| @@ -271,6 +271,7 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]={ | |||
| 271 | SSL_ALL_STRENGTHS, | 271 | SSL_ALL_STRENGTHS, |
| 272 | }, | 272 | }, |
| 273 | /* Cipher 07 */ | 273 | /* Cipher 07 */ |
| 274 | #ifndef OPENSSL_NO_IDEA | ||
| 274 | { | 275 | { |
| 275 | 1, | 276 | 1, |
| 276 | SSL3_TXT_RSA_IDEA_128_SHA, | 277 | SSL3_TXT_RSA_IDEA_128_SHA, |
| @@ -283,6 +284,7 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]={ | |||
| 283 | SSL_ALL_CIPHERS, | 284 | SSL_ALL_CIPHERS, |
| 284 | SSL_ALL_STRENGTHS, | 285 | SSL_ALL_STRENGTHS, |
| 285 | }, | 286 | }, |
| 287 | #endif | ||
| 286 | /* Cipher 08 */ | 288 | /* Cipher 08 */ |
| 287 | { | 289 | { |
| 288 | 1, | 290 | 1, |
| @@ -512,7 +514,6 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]={ | |||
| 512 | SSL_ALL_STRENGTHS, | 514 | SSL_ALL_STRENGTHS, |
| 513 | }, | 515 | }, |
| 514 | 516 | ||
| 515 | #if 0 | ||
| 516 | /* Cipher 1E */ | 517 | /* Cipher 1E */ |
| 517 | { | 518 | { |
| 518 | 0, | 519 | 0, |
| @@ -526,70 +527,55 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]={ | |||
| 526 | SSL_ALL_CIPHERS, | 527 | SSL_ALL_CIPHERS, |
| 527 | SSL_ALL_STRENGTHS, | 528 | SSL_ALL_STRENGTHS, |
| 528 | }, | 529 | }, |
| 529 | #endif | ||
| 530 | 530 | ||
| 531 | #ifndef OPENSSL_NO_KRB5 | 531 | #ifndef OPENSSL_NO_KRB5 |
| 532 | /* The Kerberos ciphers | 532 | /* The Kerberos ciphers |
| 533 | ** 20000107 VRS: And the first shall be last, | 533 | ** 20000107 VRS: And the first shall be last, |
| 534 | ** in hopes of avoiding the lynx ssl renegotiation problem. | 534 | ** in hopes of avoiding the lynx ssl renegotiation problem. |
| 535 | */ | 535 | */ |
| 536 | /* Cipher 1E VRS */ | 536 | /* Cipher 21 VRS */ |
| 537 | { | 537 | { |
| 538 | 1, | 538 | 1, |
| 539 | SSL3_TXT_KRB5_DES_64_CBC_SHA, | 539 | SSL3_TXT_KRB5_DES_40_CBC_SHA, |
| 540 | SSL3_CK_KRB5_DES_64_CBC_SHA, | 540 | SSL3_CK_KRB5_DES_40_CBC_SHA, |
| 541 | SSL_kKRB5|SSL_aKRB5| SSL_DES|SSL_SHA1 |SSL_SSLV3, | 541 | SSL_kKRB5|SSL_aKRB5| SSL_DES|SSL_SHA1 |SSL_SSLV3, |
| 542 | SSL_NOT_EXP|SSL_LOW, | 542 | SSL_EXPORT|SSL_EXP40, |
| 543 | 0, | 543 | 0, |
| 544 | 56, | 544 | 40, |
| 545 | 56, | 545 | 56, |
| 546 | SSL_ALL_CIPHERS, | 546 | SSL_ALL_CIPHERS, |
| 547 | SSL_ALL_STRENGTHS, | 547 | SSL_ALL_STRENGTHS, |
| 548 | }, | 548 | }, |
| 549 | 549 | ||
| 550 | /* Cipher 1F VRS */ | 550 | /* Cipher 22 VRS */ |
| 551 | { | ||
| 552 | 1, | ||
| 553 | SSL3_TXT_KRB5_DES_192_CBC3_SHA, | ||
| 554 | SSL3_CK_KRB5_DES_192_CBC3_SHA, | ||
| 555 | SSL_kKRB5|SSL_aKRB5| SSL_3DES|SSL_SHA1 |SSL_SSLV3, | ||
| 556 | SSL_NOT_EXP|SSL_HIGH, | ||
| 557 | 0, | ||
| 558 | 112, | ||
| 559 | 168, | ||
| 560 | SSL_ALL_CIPHERS, | ||
| 561 | SSL_ALL_STRENGTHS, | ||
| 562 | }, | ||
| 563 | |||
| 564 | /* Cipher 20 VRS */ | ||
| 565 | { | 551 | { |
| 566 | 1, | 552 | 1, |
| 567 | SSL3_TXT_KRB5_RC4_128_SHA, | 553 | SSL3_TXT_KRB5_DES_40_CBC_MD5, |
| 568 | SSL3_CK_KRB5_RC4_128_SHA, | 554 | SSL3_CK_KRB5_DES_40_CBC_MD5, |
| 569 | SSL_kKRB5|SSL_aKRB5| SSL_RC4|SSL_SHA1 |SSL_SSLV3, | 555 | SSL_kKRB5|SSL_aKRB5| SSL_DES|SSL_MD5 |SSL_SSLV3, |
| 570 | SSL_NOT_EXP|SSL_MEDIUM, | 556 | SSL_EXPORT|SSL_EXP40, |
| 571 | 0, | 557 | 0, |
| 572 | 128, | 558 | 40, |
| 573 | 128, | 559 | 56, |
| 574 | SSL_ALL_CIPHERS, | 560 | SSL_ALL_CIPHERS, |
| 575 | SSL_ALL_STRENGTHS, | 561 | SSL_ALL_STRENGTHS, |
| 576 | }, | 562 | }, |
| 577 | 563 | ||
| 578 | /* Cipher 21 VRS */ | 564 | /* Cipher 23 VRS */ |
| 579 | { | 565 | { |
| 580 | 1, | 566 | 1, |
| 581 | SSL3_TXT_KRB5_IDEA_128_CBC_SHA, | 567 | SSL3_TXT_KRB5_DES_64_CBC_SHA, |
| 582 | SSL3_CK_KRB5_IDEA_128_CBC_SHA, | 568 | SSL3_CK_KRB5_DES_64_CBC_SHA, |
| 583 | SSL_kKRB5|SSL_aKRB5| SSL_IDEA|SSL_SHA1 |SSL_SSLV3, | 569 | SSL_kKRB5|SSL_aKRB5| SSL_DES|SSL_SHA1 |SSL_SSLV3, |
| 584 | SSL_NOT_EXP|SSL_MEDIUM, | 570 | SSL_NOT_EXP|SSL_LOW, |
| 585 | 0, | 571 | 0, |
| 586 | 128, | 572 | 56, |
| 587 | 128, | 573 | 56, |
| 588 | SSL_ALL_CIPHERS, | 574 | SSL_ALL_CIPHERS, |
| 589 | SSL_ALL_STRENGTHS, | 575 | SSL_ALL_STRENGTHS, |
| 590 | }, | 576 | }, |
| 591 | 577 | ||
| 592 | /* Cipher 22 VRS */ | 578 | /* Cipher 24 VRS */ |
| 593 | { | 579 | { |
| 594 | 1, | 580 | 1, |
| 595 | SSL3_TXT_KRB5_DES_64_CBC_MD5, | 581 | SSL3_TXT_KRB5_DES_64_CBC_MD5, |
| @@ -603,12 +589,12 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]={ | |||
| 603 | SSL_ALL_STRENGTHS, | 589 | SSL_ALL_STRENGTHS, |
| 604 | }, | 590 | }, |
| 605 | 591 | ||
| 606 | /* Cipher 23 VRS */ | 592 | /* Cipher 25 VRS */ |
| 607 | { | 593 | { |
| 608 | 1, | 594 | 1, |
| 609 | SSL3_TXT_KRB5_DES_192_CBC3_MD5, | 595 | SSL3_TXT_KRB5_DES_192_CBC3_SHA, |
| 610 | SSL3_CK_KRB5_DES_192_CBC3_MD5, | 596 | SSL3_CK_KRB5_DES_192_CBC3_SHA, |
| 611 | SSL_kKRB5|SSL_aKRB5| SSL_3DES|SSL_MD5 |SSL_SSLV3, | 597 | SSL_kKRB5|SSL_aKRB5| SSL_3DES|SSL_SHA1 |SSL_SSLV3, |
| 612 | SSL_NOT_EXP|SSL_HIGH, | 598 | SSL_NOT_EXP|SSL_HIGH, |
| 613 | 0, | 599 | 0, |
| 614 | 112, | 600 | 112, |
| @@ -617,114 +603,16 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]={ | |||
| 617 | SSL_ALL_STRENGTHS, | 603 | SSL_ALL_STRENGTHS, |
| 618 | }, | 604 | }, |
| 619 | 605 | ||
| 620 | /* Cipher 24 VRS */ | ||
| 621 | { | ||
| 622 | 1, | ||
| 623 | SSL3_TXT_KRB5_RC4_128_MD5, | ||
| 624 | SSL3_CK_KRB5_RC4_128_MD5, | ||
| 625 | SSL_kKRB5|SSL_aKRB5| SSL_RC4|SSL_MD5 |SSL_SSLV3, | ||
| 626 | SSL_NOT_EXP|SSL_MEDIUM, | ||
| 627 | 0, | ||
| 628 | 128, | ||
| 629 | 128, | ||
| 630 | SSL_ALL_CIPHERS, | ||
| 631 | SSL_ALL_STRENGTHS, | ||
| 632 | }, | ||
| 633 | |||
| 634 | /* Cipher 25 VRS */ | ||
| 635 | { | ||
| 636 | 1, | ||
| 637 | SSL3_TXT_KRB5_IDEA_128_CBC_MD5, | ||
| 638 | SSL3_CK_KRB5_IDEA_128_CBC_MD5, | ||
| 639 | SSL_kKRB5|SSL_aKRB5| SSL_IDEA|SSL_MD5 |SSL_SSLV3, | ||
| 640 | SSL_NOT_EXP|SSL_MEDIUM, | ||
| 641 | 0, | ||
| 642 | 128, | ||
| 643 | 128, | ||
| 644 | SSL_ALL_CIPHERS, | ||
| 645 | SSL_ALL_STRENGTHS, | ||
| 646 | }, | ||
| 647 | |||
| 648 | /* Cipher 26 VRS */ | 606 | /* Cipher 26 VRS */ |
| 649 | { | 607 | { |
| 650 | 1, | 608 | 1, |
| 651 | SSL3_TXT_KRB5_DES_40_CBC_SHA, | 609 | SSL3_TXT_KRB5_DES_192_CBC3_MD5, |
| 652 | SSL3_CK_KRB5_DES_40_CBC_SHA, | 610 | SSL3_CK_KRB5_DES_192_CBC3_MD5, |
| 653 | SSL_kKRB5|SSL_aKRB5| SSL_DES|SSL_SHA1 |SSL_SSLV3, | 611 | SSL_kKRB5|SSL_aKRB5| SSL_3DES|SSL_MD5 |SSL_SSLV3, |
| 654 | SSL_EXPORT|SSL_EXP40, | 612 | SSL_NOT_EXP|SSL_HIGH, |
| 655 | 0, | ||
| 656 | 40, | ||
| 657 | 56, | ||
| 658 | SSL_ALL_CIPHERS, | ||
| 659 | SSL_ALL_STRENGTHS, | ||
| 660 | }, | ||
| 661 | |||
| 662 | /* Cipher 27 VRS */ | ||
| 663 | { | ||
| 664 | 1, | ||
| 665 | SSL3_TXT_KRB5_RC2_40_CBC_SHA, | ||
| 666 | SSL3_CK_KRB5_RC2_40_CBC_SHA, | ||
| 667 | SSL_kKRB5|SSL_aKRB5| SSL_RC2|SSL_SHA1 |SSL_SSLV3, | ||
| 668 | SSL_EXPORT|SSL_EXP40, | ||
| 669 | 0, | ||
| 670 | 40, | ||
| 671 | 128, | ||
| 672 | SSL_ALL_CIPHERS, | ||
| 673 | SSL_ALL_STRENGTHS, | ||
| 674 | }, | ||
| 675 | |||
| 676 | /* Cipher 28 VRS */ | ||
| 677 | { | ||
| 678 | 1, | ||
| 679 | SSL3_TXT_KRB5_RC4_40_SHA, | ||
| 680 | SSL3_CK_KRB5_RC4_40_SHA, | ||
| 681 | SSL_kKRB5|SSL_aKRB5| SSL_RC4|SSL_SHA1 |SSL_SSLV3, | ||
| 682 | SSL_EXPORT|SSL_EXP40, | ||
| 683 | 0, | ||
| 684 | 128, | ||
| 685 | 128, | ||
| 686 | SSL_ALL_CIPHERS, | ||
| 687 | SSL_ALL_STRENGTHS, | ||
| 688 | }, | ||
| 689 | |||
| 690 | /* Cipher 29 VRS */ | ||
| 691 | { | ||
| 692 | 1, | ||
| 693 | SSL3_TXT_KRB5_DES_40_CBC_MD5, | ||
| 694 | SSL3_CK_KRB5_DES_40_CBC_MD5, | ||
| 695 | SSL_kKRB5|SSL_aKRB5| SSL_DES|SSL_MD5 |SSL_SSLV3, | ||
| 696 | SSL_EXPORT|SSL_EXP40, | ||
| 697 | 0, | ||
| 698 | 40, | ||
| 699 | 56, | ||
| 700 | SSL_ALL_CIPHERS, | ||
| 701 | SSL_ALL_STRENGTHS, | ||
| 702 | }, | ||
| 703 | |||
| 704 | /* Cipher 2A VRS */ | ||
| 705 | { | ||
| 706 | 1, | ||
| 707 | SSL3_TXT_KRB5_RC2_40_CBC_MD5, | ||
| 708 | SSL3_CK_KRB5_RC2_40_CBC_MD5, | ||
| 709 | SSL_kKRB5|SSL_aKRB5| SSL_RC2|SSL_MD5 |SSL_SSLV3, | ||
| 710 | SSL_EXPORT|SSL_EXP40, | ||
| 711 | 0, | ||
| 712 | 40, | ||
| 713 | 128, | ||
| 714 | SSL_ALL_CIPHERS, | ||
| 715 | SSL_ALL_STRENGTHS, | ||
| 716 | }, | ||
| 717 | |||
| 718 | /* Cipher 2B VRS */ | ||
| 719 | { | ||
| 720 | 1, | ||
| 721 | SSL3_TXT_KRB5_RC4_40_MD5, | ||
| 722 | SSL3_CK_KRB5_RC4_40_MD5, | ||
| 723 | SSL_kKRB5|SSL_aKRB5| SSL_RC4|SSL_MD5 |SSL_SSLV3, | ||
| 724 | SSL_EXPORT|SSL_EXP40, | ||
| 725 | 0, | 613 | 0, |
| 726 | 128, | 614 | 112, |
| 727 | 128, | 615 | 168, |
| 728 | SSL_ALL_CIPHERS, | 616 | SSL_ALL_CIPHERS, |
| 729 | SSL_ALL_STRENGTHS, | 617 | SSL_ALL_STRENGTHS, |
| 730 | }, | 618 | }, |
| @@ -1100,7 +988,7 @@ void ssl3_free(SSL *s) | |||
| 1100 | sk_X509_NAME_pop_free(s->s3->tmp.ca_names,X509_NAME_free); | 988 | sk_X509_NAME_pop_free(s->s3->tmp.ca_names,X509_NAME_free); |
| 1101 | EVP_MD_CTX_cleanup(&s->s3->finish_dgst1); | 989 | EVP_MD_CTX_cleanup(&s->s3->finish_dgst1); |
| 1102 | EVP_MD_CTX_cleanup(&s->s3->finish_dgst2); | 990 | EVP_MD_CTX_cleanup(&s->s3->finish_dgst2); |
| 1103 | OPENSSL_cleanse(s->s3,sizeof *s->s3); | 991 | memset(s->s3,0,sizeof *s->s3); |
| 1104 | OPENSSL_free(s->s3); | 992 | OPENSSL_free(s->s3); |
| 1105 | s->s3=NULL; | 993 | s->s3=NULL; |
| 1106 | } | 994 | } |
| @@ -1455,19 +1343,16 @@ SSL_CIPHER *ssl3_get_cipher_by_char(const unsigned char *p) | |||
| 1455 | { | 1343 | { |
| 1456 | CRYPTO_w_lock(CRYPTO_LOCK_SSL); | 1344 | CRYPTO_w_lock(CRYPTO_LOCK_SSL); |
| 1457 | 1345 | ||
| 1458 | if (init) | 1346 | for (i=0; i<SSL3_NUM_CIPHERS; i++) |
| 1459 | { | 1347 | sorted[i]= &(ssl3_ciphers[i]); |
| 1460 | for (i=0; i<SSL3_NUM_CIPHERS; i++) | ||
| 1461 | sorted[i]= &(ssl3_ciphers[i]); | ||
| 1462 | 1348 | ||
| 1463 | qsort(sorted, | 1349 | qsort( (char *)sorted, |
| 1464 | SSL3_NUM_CIPHERS,sizeof(SSL_CIPHER *), | 1350 | SSL3_NUM_CIPHERS,sizeof(SSL_CIPHER *), |
| 1465 | FP_ICC ssl_cipher_ptr_id_cmp); | 1351 | FP_ICC ssl_cipher_ptr_id_cmp); |
| 1466 | 1352 | ||
| 1467 | init=0; | ||
| 1468 | } | ||
| 1469 | |||
| 1470 | CRYPTO_w_unlock(CRYPTO_LOCK_SSL); | 1353 | CRYPTO_w_unlock(CRYPTO_LOCK_SSL); |
| 1354 | |||
| 1355 | init=0; | ||
| 1471 | } | 1356 | } |
| 1472 | 1357 | ||
| 1473 | id=0x03000000L|((unsigned long)p[0]<<8L)|(unsigned long)p[1]; | 1358 | id=0x03000000L|((unsigned long)p[0]<<8L)|(unsigned long)p[1]; |
