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