Merge branch 'sct-viewer-master' of https://github.com/robstradling/openssl into...
authorBen Laurie <ben@links.org>
Wed, 19 Feb 2014 17:17:14 +0000 (17:17 +0000)
committerBen Laurie <ben@links.org>
Wed, 19 Feb 2014 17:17:14 +0000 (17:17 +0000)
crypto/cms/cms_lib.c
crypto/engine/eng_cryptodev.c
ssl/ssl.h
util/mk1mf.pl

index 2682780..0a8200c 100644 (file)
@@ -448,8 +448,6 @@ int CMS_add0_cert(CMS_ContentInfo *cms, X509 *cert)
        STACK_OF(CMS_CertificateChoices) **pcerts;
        int i;
        pcerts = cms_get0_certificate_choices(cms);
-       if (!pcerts)
-               return 0;
        if (!pcerts)
                return 0;
        for (i = 0; i < sk_CMS_CertificateChoices_num(*pcerts); i++)
index 71e6fa5..568e131 100644 (file)
@@ -147,6 +147,11 @@ static struct {
        { CRYPTO_AES_CBC,               NID_aes_128_cbc,        16,     16, },
        { CRYPTO_AES_CBC,               NID_aes_192_cbc,        16,     24, },
        { CRYPTO_AES_CBC,               NID_aes_256_cbc,        16,     32, },
+#ifdef CRYPTO_AES_CTR
+       { CRYPTO_AES_CTR,               NID_aes_128_ctr,        14,     16, },
+       { CRYPTO_AES_CTR,               NID_aes_192_ctr,        14,     24, },
+       { CRYPTO_AES_CTR,               NID_aes_256_ctr,        14,     32, },
+#endif
        { CRYPTO_BLF_CBC,               NID_bf_cbc,             8,      16, },
        { CRYPTO_CAST_CBC,              NID_cast5_cbc,          8,      16, },
        { CRYPTO_SKIPJACK_CBC,          NID_undef,              0,       0, },
@@ -599,7 +604,46 @@ const EVP_CIPHER cryptodev_aes_256_cbc = {
        EVP_CIPHER_get_asn1_iv,
        NULL
 };
+#ifdef CRYPTO_AES_CTR
+const EVP_CIPHER cryptodev_aes_ctr = {
+       NID_aes_128_ctr,
+       16, 16, 14,
+       EVP_CIPH_CTR_MODE,
+       cryptodev_init_key,
+       cryptodev_cipher,
+       cryptodev_cleanup,
+       sizeof(struct dev_crypto_state),
+       EVP_CIPHER_set_asn1_iv,
+       EVP_CIPHER_get_asn1_iv,
+       NULL
+};
 
+const EVP_CIPHER cryptodev_aes_ctr_192 = {
+       NID_aes_192_ctr,
+       16, 24, 14,
+       EVP_CIPH_CTR_MODE,
+       cryptodev_init_key,
+       cryptodev_cipher,
+       cryptodev_cleanup,
+       sizeof(struct dev_crypto_state),
+       EVP_CIPHER_set_asn1_iv,
+       EVP_CIPHER_get_asn1_iv,
+       NULL
+};
+
+const EVP_CIPHER cryptodev_aes_ctr_256 = {
+       NID_aes_256_ctr,
+       16, 32, 14,
+       EVP_CIPH_CTR_MODE,
+       cryptodev_init_key,
+       cryptodev_cipher,
+       cryptodev_cleanup,
+       sizeof(struct dev_crypto_state),
+       EVP_CIPHER_set_asn1_iv,
+       EVP_CIPHER_get_asn1_iv,
+       NULL
+};
+#endif
 /*
  * Registered by the ENGINE when used to find out how to deal with
  * a particular NID in the ENGINE. this says what we'll do at the
@@ -637,6 +681,17 @@ cryptodev_engine_ciphers(ENGINE *e, const EVP_CIPHER **cipher,
        case NID_aes_256_cbc:
                *cipher = &cryptodev_aes_256_cbc;
                break;
+#ifdef CRYPTO_AES_CTR
+       case NID_aes_128_ctr:
+               *cipher = &cryptodev_aes_ctr;
+               break;
+       case NID_aes_192_ctr:
+               *cipher = &cryptodev_aes_ctr_192;
+               break;
+       case NID_aes_256_ctr:
+               *cipher = &cryptodev_aes_ctr_256;
+               break;
+#endif
        default:
                *cipher = NULL;
                break;
index 303e28c..3f65e87 100644 (file)
--- a/ssl/ssl.h
+++ b/ssl/ssl.h
@@ -669,6 +669,9 @@ struct ssl_session_st
 #define SSL_OP_TLS_D5_BUG                              0x00000100L
 #define SSL_OP_TLS_BLOCK_PADDING_BUG                   0x00000200L
 
+/* Hasn't done anything since OpenSSL 0.9.7h, retained for compatibility */
+#define SSL_OP_MSIE_SSLV2_RSA_PADDING                  0x0
+
 /* Disable SSL 3.0/TLS 1.0 CBC vulnerability workaround that was added
  * in OpenSSL 0.9.6d.  Usually (depending on the application protocol)
  * the workaround is not needed.  Unfortunately some broken SSL/TLS
index 94691df..90ae84b 100755 (executable)
@@ -192,7 +192,7 @@ $mkdir="-mkdir" unless defined $mkdir;
 $ranlib="echo ranlib";
 
 $cc=(defined($VARS{'CC'}))?$VARS{'CC'}:'cc';
-$src_dir=(defined($VARS{'SRC'}))?$VARS{'SRC'}:getcwd();
+$src_dir=(defined($VARS{'SRC'}))?$VARS{'SRC'}: $platform eq 'copy' ? getcwd() : '.';
 $bin_dir=(defined($VARS{'BIN'}))?$VARS{'BIN'}:'';
 
 # $bin_dir.=$o causes a core dump on my sparc :-(