diff options
| author | markus <> | 2003-05-11 21:36:58 +0000 |
|---|---|---|
| committer | markus <> | 2003-05-11 21:36:58 +0000 |
| commit | 1c98a87f0daac81245653c227eb2f2508a22a965 (patch) | |
| tree | 3de6d603296ec563b936da4e6a8a1e33d48f8884 /src/lib/libssl/s3_lib.c | |
| parent | 31392c89d1135cf2a416f97295f6d21681b3fbc4 (diff) | |
| download | openbsd-1c98a87f0daac81245653c227eb2f2508a22a965.tar.gz openbsd-1c98a87f0daac81245653c227eb2f2508a22a965.tar.bz2 openbsd-1c98a87f0daac81245653c227eb2f2508a22a965.zip | |
import 0.9.7b (without idea and rc5)
Diffstat (limited to '')
| -rw-r--r-- | src/lib/libssl/s3_lib.c | 193 |
1 files changed, 155 insertions, 38 deletions
diff --git a/src/lib/libssl/s3_lib.c b/src/lib/libssl/s3_lib.c index 14b2f13ae2..896b12fc4f 100644 --- a/src/lib/libssl/s3_lib.c +++ b/src/lib/libssl/s3_lib.c | |||
| @@ -512,6 +512,7 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]={ | |||
| 512 | SSL_ALL_STRENGTHS, | 512 | SSL_ALL_STRENGTHS, |
| 513 | }, | 513 | }, |
| 514 | 514 | ||
| 515 | #if 0 | ||
| 515 | /* Cipher 1E */ | 516 | /* Cipher 1E */ |
| 516 | { | 517 | { |
| 517 | 0, | 518 | 0, |
| @@ -525,55 +526,70 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]={ | |||
| 525 | SSL_ALL_CIPHERS, | 526 | SSL_ALL_CIPHERS, |
| 526 | SSL_ALL_STRENGTHS, | 527 | SSL_ALL_STRENGTHS, |
| 527 | }, | 528 | }, |
| 529 | #endif | ||
| 528 | 530 | ||
| 529 | #ifndef OPENSSL_NO_KRB5 | 531 | #ifndef OPENSSL_NO_KRB5 |
| 530 | /* The Kerberos ciphers | 532 | /* The Kerberos ciphers |
| 531 | ** 20000107 VRS: And the first shall be last, | 533 | ** 20000107 VRS: And the first shall be last, |
| 532 | ** in hopes of avoiding the lynx ssl renegotiation problem. | 534 | ** in hopes of avoiding the lynx ssl renegotiation problem. |
| 533 | */ | 535 | */ |
| 534 | /* Cipher 21 VRS */ | 536 | /* Cipher 1E VRS */ |
| 535 | { | 537 | { |
| 536 | 1, | 538 | 1, |
| 537 | SSL3_TXT_KRB5_DES_40_CBC_SHA, | 539 | SSL3_TXT_KRB5_DES_64_CBC_SHA, |
| 538 | SSL3_CK_KRB5_DES_40_CBC_SHA, | 540 | SSL3_CK_KRB5_DES_64_CBC_SHA, |
| 539 | SSL_kKRB5|SSL_aKRB5| SSL_DES|SSL_SHA1 |SSL_SSLV3, | 541 | SSL_kKRB5|SSL_aKRB5| SSL_DES|SSL_SHA1 |SSL_SSLV3, |
| 540 | SSL_EXPORT|SSL_EXP40, | 542 | SSL_NOT_EXP|SSL_LOW, |
| 541 | 0, | 543 | 0, |
| 542 | 40, | 544 | 56, |
| 543 | 56, | 545 | 56, |
| 544 | SSL_ALL_CIPHERS, | 546 | SSL_ALL_CIPHERS, |
| 545 | SSL_ALL_STRENGTHS, | 547 | SSL_ALL_STRENGTHS, |
| 546 | }, | 548 | }, |
| 547 | 549 | ||
| 548 | /* Cipher 22 VRS */ | 550 | /* Cipher 1F VRS */ |
| 549 | { | 551 | { |
| 550 | 1, | 552 | 1, |
| 551 | SSL3_TXT_KRB5_DES_40_CBC_MD5, | 553 | SSL3_TXT_KRB5_DES_192_CBC3_SHA, |
| 552 | SSL3_CK_KRB5_DES_40_CBC_MD5, | 554 | SSL3_CK_KRB5_DES_192_CBC3_SHA, |
| 553 | SSL_kKRB5|SSL_aKRB5| SSL_DES|SSL_MD5 |SSL_SSLV3, | 555 | SSL_kKRB5|SSL_aKRB5| SSL_3DES|SSL_SHA1 |SSL_SSLV3, |
| 554 | SSL_EXPORT|SSL_EXP40, | 556 | SSL_NOT_EXP|SSL_HIGH, |
| 555 | 0, | 557 | 0, |
| 556 | 40, | 558 | 112, |
| 557 | 56, | 559 | 168, |
| 558 | SSL_ALL_CIPHERS, | 560 | SSL_ALL_CIPHERS, |
| 559 | SSL_ALL_STRENGTHS, | 561 | SSL_ALL_STRENGTHS, |
| 560 | }, | 562 | }, |
| 561 | 563 | ||
| 562 | /* Cipher 23 VRS */ | 564 | /* Cipher 20 VRS */ |
| 563 | { | 565 | { |
| 564 | 1, | 566 | 1, |
| 565 | SSL3_TXT_KRB5_DES_64_CBC_SHA, | 567 | SSL3_TXT_KRB5_RC4_128_SHA, |
| 566 | SSL3_CK_KRB5_DES_64_CBC_SHA, | 568 | SSL3_CK_KRB5_RC4_128_SHA, |
| 567 | SSL_kKRB5|SSL_aKRB5| SSL_DES|SSL_SHA1 |SSL_SSLV3, | 569 | SSL_kKRB5|SSL_aKRB5| SSL_RC4|SSL_SHA1 |SSL_SSLV3, |
| 568 | SSL_NOT_EXP|SSL_LOW, | 570 | SSL_NOT_EXP|SSL_MEDIUM, |
| 569 | 0, | 571 | 0, |
| 570 | 56, | 572 | 128, |
| 571 | 56, | 573 | 128, |
| 572 | SSL_ALL_CIPHERS, | 574 | SSL_ALL_CIPHERS, |
| 573 | SSL_ALL_STRENGTHS, | 575 | SSL_ALL_STRENGTHS, |
| 574 | }, | 576 | }, |
| 575 | 577 | ||
| 576 | /* Cipher 24 VRS */ | 578 | /* Cipher 21 VRS */ |
| 579 | { | ||
| 580 | 1, | ||
| 581 | SSL3_TXT_KRB5_IDEA_128_CBC_SHA, | ||
| 582 | SSL3_CK_KRB5_IDEA_128_CBC_SHA, | ||
| 583 | SSL_kKRB5|SSL_aKRB5| SSL_IDEA|SSL_SHA1 |SSL_SSLV3, | ||
| 584 | SSL_NOT_EXP|SSL_MEDIUM, | ||
| 585 | 0, | ||
| 586 | 128, | ||
| 587 | 128, | ||
| 588 | SSL_ALL_CIPHERS, | ||
| 589 | SSL_ALL_STRENGTHS, | ||
| 590 | }, | ||
| 591 | |||
| 592 | /* Cipher 22 VRS */ | ||
| 577 | { | 593 | { |
| 578 | 1, | 594 | 1, |
| 579 | SSL3_TXT_KRB5_DES_64_CBC_MD5, | 595 | SSL3_TXT_KRB5_DES_64_CBC_MD5, |
| @@ -587,12 +603,12 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]={ | |||
| 587 | SSL_ALL_STRENGTHS, | 603 | SSL_ALL_STRENGTHS, |
| 588 | }, | 604 | }, |
| 589 | 605 | ||
| 590 | /* Cipher 25 VRS */ | 606 | /* Cipher 23 VRS */ |
| 591 | { | 607 | { |
| 592 | 1, | 608 | 1, |
| 593 | SSL3_TXT_KRB5_DES_192_CBC3_SHA, | 609 | SSL3_TXT_KRB5_DES_192_CBC3_MD5, |
| 594 | SSL3_CK_KRB5_DES_192_CBC3_SHA, | 610 | SSL3_CK_KRB5_DES_192_CBC3_MD5, |
| 595 | SSL_kKRB5|SSL_aKRB5| SSL_3DES|SSL_SHA1 |SSL_SSLV3, | 611 | SSL_kKRB5|SSL_aKRB5| SSL_3DES|SSL_MD5 |SSL_SSLV3, |
| 596 | SSL_NOT_EXP|SSL_HIGH, | 612 | SSL_NOT_EXP|SSL_HIGH, |
| 597 | 0, | 613 | 0, |
| 598 | 112, | 614 | 112, |
| @@ -601,16 +617,114 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]={ | |||
| 601 | SSL_ALL_STRENGTHS, | 617 | SSL_ALL_STRENGTHS, |
| 602 | }, | 618 | }, |
| 603 | 619 | ||
| 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 | |||
| 604 | /* Cipher 26 VRS */ | 648 | /* Cipher 26 VRS */ |
| 605 | { | 649 | { |
| 606 | 1, | 650 | 1, |
| 607 | SSL3_TXT_KRB5_DES_192_CBC3_MD5, | 651 | SSL3_TXT_KRB5_DES_40_CBC_SHA, |
| 608 | SSL3_CK_KRB5_DES_192_CBC3_MD5, | 652 | SSL3_CK_KRB5_DES_40_CBC_SHA, |
| 609 | SSL_kKRB5|SSL_aKRB5| SSL_3DES|SSL_MD5 |SSL_SSLV3, | 653 | SSL_kKRB5|SSL_aKRB5| SSL_DES|SSL_SHA1 |SSL_SSLV3, |
| 610 | SSL_NOT_EXP|SSL_HIGH, | 654 | SSL_EXPORT|SSL_EXP40, |
| 611 | 0, | 655 | 0, |
| 612 | 112, | 656 | 40, |
| 613 | 168, | 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, | ||
| 726 | 128, | ||
| 727 | 128, | ||
| 614 | SSL_ALL_CIPHERS, | 728 | SSL_ALL_CIPHERS, |
| 615 | SSL_ALL_STRENGTHS, | 729 | SSL_ALL_STRENGTHS, |
| 616 | }, | 730 | }, |
| @@ -986,7 +1100,7 @@ void ssl3_free(SSL *s) | |||
| 986 | sk_X509_NAME_pop_free(s->s3->tmp.ca_names,X509_NAME_free); | 1100 | sk_X509_NAME_pop_free(s->s3->tmp.ca_names,X509_NAME_free); |
| 987 | EVP_MD_CTX_cleanup(&s->s3->finish_dgst1); | 1101 | EVP_MD_CTX_cleanup(&s->s3->finish_dgst1); |
| 988 | EVP_MD_CTX_cleanup(&s->s3->finish_dgst2); | 1102 | EVP_MD_CTX_cleanup(&s->s3->finish_dgst2); |
| 989 | memset(s->s3,0,sizeof *s->s3); | 1103 | OPENSSL_cleanse(s->s3,sizeof *s->s3); |
| 990 | OPENSSL_free(s->s3); | 1104 | OPENSSL_free(s->s3); |
| 991 | s->s3=NULL; | 1105 | s->s3=NULL; |
| 992 | } | 1106 | } |
| @@ -1341,16 +1455,19 @@ SSL_CIPHER *ssl3_get_cipher_by_char(const unsigned char *p) | |||
| 1341 | { | 1455 | { |
| 1342 | CRYPTO_w_lock(CRYPTO_LOCK_SSL); | 1456 | CRYPTO_w_lock(CRYPTO_LOCK_SSL); |
| 1343 | 1457 | ||
| 1344 | for (i=0; i<SSL3_NUM_CIPHERS; i++) | 1458 | if (init) |
| 1345 | sorted[i]= &(ssl3_ciphers[i]); | 1459 | { |
| 1460 | for (i=0; i<SSL3_NUM_CIPHERS; i++) | ||
| 1461 | sorted[i]= &(ssl3_ciphers[i]); | ||
| 1346 | 1462 | ||
| 1347 | qsort( (char *)sorted, | 1463 | qsort(sorted, |
| 1348 | SSL3_NUM_CIPHERS,sizeof(SSL_CIPHER *), | 1464 | SSL3_NUM_CIPHERS,sizeof(SSL_CIPHER *), |
| 1349 | FP_ICC ssl_cipher_ptr_id_cmp); | 1465 | FP_ICC ssl_cipher_ptr_id_cmp); |
| 1350 | 1466 | ||
| 1467 | init=0; | ||
| 1468 | } | ||
| 1469 | |||
| 1351 | CRYPTO_w_unlock(CRYPTO_LOCK_SSL); | 1470 | CRYPTO_w_unlock(CRYPTO_LOCK_SSL); |
| 1352 | |||
| 1353 | init=0; | ||
| 1354 | } | 1471 | } |
| 1355 | 1472 | ||
| 1356 | id=0x03000000L|((unsigned long)p[0]<<8L)|(unsigned long)p[1]; | 1473 | id=0x03000000L|((unsigned long)p[0]<<8L)|(unsigned long)p[1]; |
