svn commit: r276865 - in stable: 8/crypto/openssl 8/crypto/openssl/crypto 8/crypto/openssl/crypto/asn1 8/crypto/openssl/crypto/bn 8/crypto/openssl/crypto/bn/asm 8/crypto/openssl/crypto/dsa 8/crypto...

Jung-uk Kim jkim at FreeBSD.org
Fri Jan 9 01:11:52 UTC 2015


Author: jkim
Date: Fri Jan  9 01:11:43 2015
New Revision: 276865
URL: https://svnweb.freebsd.org/changeset/base/276865

Log:
  Merge OpenSSL 0.9.8zd.

Modified:
  stable/9/crypto/openssl/CHANGES
  stable/9/crypto/openssl/Makefile
  stable/9/crypto/openssl/NEWS
  stable/9/crypto/openssl/README
  stable/9/crypto/openssl/crypto/Makefile
  stable/9/crypto/openssl/crypto/asn1/a_bitstr.c
  stable/9/crypto/openssl/crypto/asn1/a_type.c
  stable/9/crypto/openssl/crypto/asn1/a_verify.c
  stable/9/crypto/openssl/crypto/asn1/asn1.h
  stable/9/crypto/openssl/crypto/asn1/asn1_err.c
  stable/9/crypto/openssl/crypto/asn1/tasn_dec.c
  stable/9/crypto/openssl/crypto/asn1/x_algor.c
  stable/9/crypto/openssl/crypto/bn/asm/mips3.s
  stable/9/crypto/openssl/crypto/bn/asm/x86_64-gcc.c
  stable/9/crypto/openssl/crypto/bn/bn_asm.c
  stable/9/crypto/openssl/crypto/bn/bntest.c
  stable/9/crypto/openssl/crypto/bn/exptest.c
  stable/9/crypto/openssl/crypto/constant_time_locl.h
  stable/9/crypto/openssl/crypto/dsa/dsa_asn1.c
  stable/9/crypto/openssl/crypto/ecdsa/Makefile
  stable/9/crypto/openssl/crypto/ecdsa/ecs_vrf.c
  stable/9/crypto/openssl/crypto/evp/Makefile
  stable/9/crypto/openssl/crypto/evp/evp_enc.c
  stable/9/crypto/openssl/crypto/md32_common.h
  stable/9/crypto/openssl/crypto/opensslv.h
  stable/9/crypto/openssl/crypto/rsa/rsa_oaep.c
  stable/9/crypto/openssl/crypto/rsa/rsa_pk1.c
  stable/9/crypto/openssl/crypto/x509/x509.h
  stable/9/crypto/openssl/crypto/x509/x_all.c
  stable/9/crypto/openssl/doc/ssl/SSL_CTX_set_mode.pod
  stable/9/crypto/openssl/doc/ssl/SSL_CTX_set_options.pod
  stable/9/crypto/openssl/doc/ssl/SSL_CTX_set_tmp_rsa_callback.pod
  stable/9/crypto/openssl/e_os.h
  stable/9/crypto/openssl/openssl.spec
  stable/9/crypto/openssl/ssl/d1_pkt.c
  stable/9/crypto/openssl/ssl/d1_srvr.c
  stable/9/crypto/openssl/ssl/s23_srvr.c
  stable/9/crypto/openssl/ssl/s3_clnt.c
  stable/9/crypto/openssl/ssl/s3_pkt.c
  stable/9/crypto/openssl/ssl/s3_srvr.c
  stable/9/crypto/openssl/ssl/ssl.h
  stable/9/crypto/openssl/ssl/ssl_lib.c
  stable/9/crypto/openssl/util/libeay.num
  stable/9/crypto/openssl/util/mk1mf.pl
  stable/9/secure/lib/libcrypto/Makefile.inc
  stable/9/secure/lib/libcrypto/man/ASN1_OBJECT_new.3
  stable/9/secure/lib/libcrypto/man/ASN1_STRING_length.3
  stable/9/secure/lib/libcrypto/man/ASN1_STRING_new.3
  stable/9/secure/lib/libcrypto/man/ASN1_STRING_print_ex.3
  stable/9/secure/lib/libcrypto/man/ASN1_generate_nconf.3
  stable/9/secure/lib/libcrypto/man/BIO_ctrl.3
  stable/9/secure/lib/libcrypto/man/BIO_f_base64.3
  stable/9/secure/lib/libcrypto/man/BIO_f_buffer.3
  stable/9/secure/lib/libcrypto/man/BIO_f_cipher.3
  stable/9/secure/lib/libcrypto/man/BIO_f_md.3
  stable/9/secure/lib/libcrypto/man/BIO_f_null.3
  stable/9/secure/lib/libcrypto/man/BIO_f_ssl.3
  stable/9/secure/lib/libcrypto/man/BIO_find_type.3
  stable/9/secure/lib/libcrypto/man/BIO_new.3
  stable/9/secure/lib/libcrypto/man/BIO_push.3
  stable/9/secure/lib/libcrypto/man/BIO_read.3
  stable/9/secure/lib/libcrypto/man/BIO_s_accept.3
  stable/9/secure/lib/libcrypto/man/BIO_s_bio.3
  stable/9/secure/lib/libcrypto/man/BIO_s_connect.3
  stable/9/secure/lib/libcrypto/man/BIO_s_fd.3
  stable/9/secure/lib/libcrypto/man/BIO_s_file.3
  stable/9/secure/lib/libcrypto/man/BIO_s_mem.3
  stable/9/secure/lib/libcrypto/man/BIO_s_null.3
  stable/9/secure/lib/libcrypto/man/BIO_s_socket.3
  stable/9/secure/lib/libcrypto/man/BIO_set_callback.3
  stable/9/secure/lib/libcrypto/man/BIO_should_retry.3
  stable/9/secure/lib/libcrypto/man/BN_BLINDING_new.3
  stable/9/secure/lib/libcrypto/man/BN_CTX_new.3
  stable/9/secure/lib/libcrypto/man/BN_CTX_start.3
  stable/9/secure/lib/libcrypto/man/BN_add.3
  stable/9/secure/lib/libcrypto/man/BN_add_word.3
  stable/9/secure/lib/libcrypto/man/BN_bn2bin.3
  stable/9/secure/lib/libcrypto/man/BN_cmp.3
  stable/9/secure/lib/libcrypto/man/BN_copy.3
  stable/9/secure/lib/libcrypto/man/BN_generate_prime.3
  stable/9/secure/lib/libcrypto/man/BN_mod_inverse.3
  stable/9/secure/lib/libcrypto/man/BN_mod_mul_montgomery.3
  stable/9/secure/lib/libcrypto/man/BN_mod_mul_reciprocal.3
  stable/9/secure/lib/libcrypto/man/BN_new.3
  stable/9/secure/lib/libcrypto/man/BN_num_bytes.3
  stable/9/secure/lib/libcrypto/man/BN_rand.3
  stable/9/secure/lib/libcrypto/man/BN_set_bit.3
  stable/9/secure/lib/libcrypto/man/BN_swap.3
  stable/9/secure/lib/libcrypto/man/BN_zero.3
  stable/9/secure/lib/libcrypto/man/CONF_modules_free.3
  stable/9/secure/lib/libcrypto/man/CONF_modules_load_file.3
  stable/9/secure/lib/libcrypto/man/CRYPTO_set_ex_data.3
  stable/9/secure/lib/libcrypto/man/DH_generate_key.3
  stable/9/secure/lib/libcrypto/man/DH_generate_parameters.3
  stable/9/secure/lib/libcrypto/man/DH_get_ex_new_index.3
  stable/9/secure/lib/libcrypto/man/DH_new.3
  stable/9/secure/lib/libcrypto/man/DH_set_method.3
  stable/9/secure/lib/libcrypto/man/DH_size.3
  stable/9/secure/lib/libcrypto/man/DSA_SIG_new.3
  stable/9/secure/lib/libcrypto/man/DSA_do_sign.3
  stable/9/secure/lib/libcrypto/man/DSA_dup_DH.3
  stable/9/secure/lib/libcrypto/man/DSA_generate_key.3
  stable/9/secure/lib/libcrypto/man/DSA_generate_parameters.3
  stable/9/secure/lib/libcrypto/man/DSA_get_ex_new_index.3
  stable/9/secure/lib/libcrypto/man/DSA_new.3
  stable/9/secure/lib/libcrypto/man/DSA_set_method.3
  stable/9/secure/lib/libcrypto/man/DSA_sign.3
  stable/9/secure/lib/libcrypto/man/DSA_size.3
  stable/9/secure/lib/libcrypto/man/ERR_GET_LIB.3
  stable/9/secure/lib/libcrypto/man/ERR_clear_error.3
  stable/9/secure/lib/libcrypto/man/ERR_error_string.3
  stable/9/secure/lib/libcrypto/man/ERR_get_error.3
  stable/9/secure/lib/libcrypto/man/ERR_load_crypto_strings.3
  stable/9/secure/lib/libcrypto/man/ERR_load_strings.3
  stable/9/secure/lib/libcrypto/man/ERR_print_errors.3
  stable/9/secure/lib/libcrypto/man/ERR_put_error.3
  stable/9/secure/lib/libcrypto/man/ERR_remove_state.3
  stable/9/secure/lib/libcrypto/man/ERR_set_mark.3
  stable/9/secure/lib/libcrypto/man/EVP_BytesToKey.3
  stable/9/secure/lib/libcrypto/man/EVP_DigestInit.3
  stable/9/secure/lib/libcrypto/man/EVP_EncryptInit.3
  stable/9/secure/lib/libcrypto/man/EVP_OpenInit.3
  stable/9/secure/lib/libcrypto/man/EVP_PKEY_new.3
  stable/9/secure/lib/libcrypto/man/EVP_PKEY_set1_RSA.3
  stable/9/secure/lib/libcrypto/man/EVP_SealInit.3
  stable/9/secure/lib/libcrypto/man/EVP_SignInit.3
  stable/9/secure/lib/libcrypto/man/EVP_VerifyInit.3
  stable/9/secure/lib/libcrypto/man/OBJ_nid2obj.3
  stable/9/secure/lib/libcrypto/man/OPENSSL_Applink.3
  stable/9/secure/lib/libcrypto/man/OPENSSL_VERSION_NUMBER.3
  stable/9/secure/lib/libcrypto/man/OPENSSL_config.3
  stable/9/secure/lib/libcrypto/man/OPENSSL_ia32cap.3
  stable/9/secure/lib/libcrypto/man/OPENSSL_load_builtin_modules.3
  stable/9/secure/lib/libcrypto/man/OpenSSL_add_all_algorithms.3
  stable/9/secure/lib/libcrypto/man/PKCS12_create.3
  stable/9/secure/lib/libcrypto/man/PKCS12_parse.3
  stable/9/secure/lib/libcrypto/man/PKCS7_decrypt.3
  stable/9/secure/lib/libcrypto/man/PKCS7_encrypt.3
  stable/9/secure/lib/libcrypto/man/PKCS7_sign.3
  stable/9/secure/lib/libcrypto/man/PKCS7_verify.3
  stable/9/secure/lib/libcrypto/man/RAND_add.3
  stable/9/secure/lib/libcrypto/man/RAND_bytes.3
  stable/9/secure/lib/libcrypto/man/RAND_cleanup.3
  stable/9/secure/lib/libcrypto/man/RAND_egd.3
  stable/9/secure/lib/libcrypto/man/RAND_load_file.3
  stable/9/secure/lib/libcrypto/man/RAND_set_rand_method.3
  stable/9/secure/lib/libcrypto/man/RSA_blinding_on.3
  stable/9/secure/lib/libcrypto/man/RSA_check_key.3
  stable/9/secure/lib/libcrypto/man/RSA_generate_key.3
  stable/9/secure/lib/libcrypto/man/RSA_get_ex_new_index.3
  stable/9/secure/lib/libcrypto/man/RSA_new.3
  stable/9/secure/lib/libcrypto/man/RSA_padding_add_PKCS1_type_1.3
  stable/9/secure/lib/libcrypto/man/RSA_print.3
  stable/9/secure/lib/libcrypto/man/RSA_private_encrypt.3
  stable/9/secure/lib/libcrypto/man/RSA_public_encrypt.3
  stable/9/secure/lib/libcrypto/man/RSA_set_method.3
  stable/9/secure/lib/libcrypto/man/RSA_sign.3
  stable/9/secure/lib/libcrypto/man/RSA_sign_ASN1_OCTET_STRING.3
  stable/9/secure/lib/libcrypto/man/RSA_size.3
  stable/9/secure/lib/libcrypto/man/SMIME_read_PKCS7.3
  stable/9/secure/lib/libcrypto/man/SMIME_write_PKCS7.3
  stable/9/secure/lib/libcrypto/man/X509_NAME_ENTRY_get_object.3
  stable/9/secure/lib/libcrypto/man/X509_NAME_add_entry_by_txt.3
  stable/9/secure/lib/libcrypto/man/X509_NAME_get_index_by_NID.3
  stable/9/secure/lib/libcrypto/man/X509_NAME_print_ex.3
  stable/9/secure/lib/libcrypto/man/X509_new.3
  stable/9/secure/lib/libcrypto/man/bio.3
  stable/9/secure/lib/libcrypto/man/blowfish.3
  stable/9/secure/lib/libcrypto/man/bn.3
  stable/9/secure/lib/libcrypto/man/bn_internal.3
  stable/9/secure/lib/libcrypto/man/buffer.3
  stable/9/secure/lib/libcrypto/man/crypto.3
  stable/9/secure/lib/libcrypto/man/d2i_ASN1_OBJECT.3
  stable/9/secure/lib/libcrypto/man/d2i_DHparams.3
  stable/9/secure/lib/libcrypto/man/d2i_DSAPublicKey.3
  stable/9/secure/lib/libcrypto/man/d2i_PKCS8PrivateKey.3
  stable/9/secure/lib/libcrypto/man/d2i_RSAPublicKey.3
  stable/9/secure/lib/libcrypto/man/d2i_X509.3
  stable/9/secure/lib/libcrypto/man/d2i_X509_ALGOR.3
  stable/9/secure/lib/libcrypto/man/d2i_X509_CRL.3
  stable/9/secure/lib/libcrypto/man/d2i_X509_NAME.3
  stable/9/secure/lib/libcrypto/man/d2i_X509_REQ.3
  stable/9/secure/lib/libcrypto/man/d2i_X509_SIG.3
  stable/9/secure/lib/libcrypto/man/des.3
  stable/9/secure/lib/libcrypto/man/dh.3
  stable/9/secure/lib/libcrypto/man/dsa.3
  stable/9/secure/lib/libcrypto/man/ecdsa.3
  stable/9/secure/lib/libcrypto/man/engine.3
  stable/9/secure/lib/libcrypto/man/err.3
  stable/9/secure/lib/libcrypto/man/evp.3
  stable/9/secure/lib/libcrypto/man/hmac.3
  stable/9/secure/lib/libcrypto/man/lh_stats.3
  stable/9/secure/lib/libcrypto/man/lhash.3
  stable/9/secure/lib/libcrypto/man/md5.3
  stable/9/secure/lib/libcrypto/man/mdc2.3
  stable/9/secure/lib/libcrypto/man/pem.3
  stable/9/secure/lib/libcrypto/man/rand.3
  stable/9/secure/lib/libcrypto/man/rc4.3
  stable/9/secure/lib/libcrypto/man/ripemd.3
  stable/9/secure/lib/libcrypto/man/rsa.3
  stable/9/secure/lib/libcrypto/man/sha.3
  stable/9/secure/lib/libcrypto/man/threads.3
  stable/9/secure/lib/libcrypto/man/ui.3
  stable/9/secure/lib/libcrypto/man/ui_compat.3
  stable/9/secure/lib/libcrypto/man/x509.3
  stable/9/secure/lib/libssl/man/SSL_CIPHER_get_name.3
  stable/9/secure/lib/libssl/man/SSL_COMP_add_compression_method.3
  stable/9/secure/lib/libssl/man/SSL_CTX_add_extra_chain_cert.3
  stable/9/secure/lib/libssl/man/SSL_CTX_add_session.3
  stable/9/secure/lib/libssl/man/SSL_CTX_ctrl.3
  stable/9/secure/lib/libssl/man/SSL_CTX_flush_sessions.3
  stable/9/secure/lib/libssl/man/SSL_CTX_free.3
  stable/9/secure/lib/libssl/man/SSL_CTX_get_ex_new_index.3
  stable/9/secure/lib/libssl/man/SSL_CTX_get_verify_mode.3
  stable/9/secure/lib/libssl/man/SSL_CTX_load_verify_locations.3
  stable/9/secure/lib/libssl/man/SSL_CTX_new.3
  stable/9/secure/lib/libssl/man/SSL_CTX_sess_number.3
  stable/9/secure/lib/libssl/man/SSL_CTX_sess_set_cache_size.3
  stable/9/secure/lib/libssl/man/SSL_CTX_sess_set_get_cb.3
  stable/9/secure/lib/libssl/man/SSL_CTX_sessions.3
  stable/9/secure/lib/libssl/man/SSL_CTX_set_cert_store.3
  stable/9/secure/lib/libssl/man/SSL_CTX_set_cert_verify_callback.3
  stable/9/secure/lib/libssl/man/SSL_CTX_set_cipher_list.3
  stable/9/secure/lib/libssl/man/SSL_CTX_set_client_CA_list.3
  stable/9/secure/lib/libssl/man/SSL_CTX_set_client_cert_cb.3
  stable/9/secure/lib/libssl/man/SSL_CTX_set_default_passwd_cb.3
  stable/9/secure/lib/libssl/man/SSL_CTX_set_generate_session_id.3
  stable/9/secure/lib/libssl/man/SSL_CTX_set_info_callback.3
  stable/9/secure/lib/libssl/man/SSL_CTX_set_max_cert_list.3
  stable/9/secure/lib/libssl/man/SSL_CTX_set_mode.3
  stable/9/secure/lib/libssl/man/SSL_CTX_set_msg_callback.3
  stable/9/secure/lib/libssl/man/SSL_CTX_set_options.3
  stable/9/secure/lib/libssl/man/SSL_CTX_set_quiet_shutdown.3
  stable/9/secure/lib/libssl/man/SSL_CTX_set_session_cache_mode.3
  stable/9/secure/lib/libssl/man/SSL_CTX_set_session_id_context.3
  stable/9/secure/lib/libssl/man/SSL_CTX_set_ssl_version.3
  stable/9/secure/lib/libssl/man/SSL_CTX_set_timeout.3
  stable/9/secure/lib/libssl/man/SSL_CTX_set_tlsext_ticket_key_cb.3
  stable/9/secure/lib/libssl/man/SSL_CTX_set_tmp_dh_callback.3
  stable/9/secure/lib/libssl/man/SSL_CTX_set_tmp_rsa_callback.3
  stable/9/secure/lib/libssl/man/SSL_CTX_set_verify.3
  stable/9/secure/lib/libssl/man/SSL_CTX_use_certificate.3
  stable/9/secure/lib/libssl/man/SSL_SESSION_free.3
  stable/9/secure/lib/libssl/man/SSL_SESSION_get_ex_new_index.3
  stable/9/secure/lib/libssl/man/SSL_SESSION_get_time.3
  stable/9/secure/lib/libssl/man/SSL_accept.3
  stable/9/secure/lib/libssl/man/SSL_alert_type_string.3
  stable/9/secure/lib/libssl/man/SSL_clear.3
  stable/9/secure/lib/libssl/man/SSL_connect.3
  stable/9/secure/lib/libssl/man/SSL_do_handshake.3
  stable/9/secure/lib/libssl/man/SSL_free.3
  stable/9/secure/lib/libssl/man/SSL_get_SSL_CTX.3
  stable/9/secure/lib/libssl/man/SSL_get_ciphers.3
  stable/9/secure/lib/libssl/man/SSL_get_client_CA_list.3
  stable/9/secure/lib/libssl/man/SSL_get_current_cipher.3
  stable/9/secure/lib/libssl/man/SSL_get_default_timeout.3
  stable/9/secure/lib/libssl/man/SSL_get_error.3
  stable/9/secure/lib/libssl/man/SSL_get_ex_data_X509_STORE_CTX_idx.3
  stable/9/secure/lib/libssl/man/SSL_get_ex_new_index.3
  stable/9/secure/lib/libssl/man/SSL_get_fd.3
  stable/9/secure/lib/libssl/man/SSL_get_peer_cert_chain.3
  stable/9/secure/lib/libssl/man/SSL_get_peer_certificate.3
  stable/9/secure/lib/libssl/man/SSL_get_rbio.3
  stable/9/secure/lib/libssl/man/SSL_get_session.3
  stable/9/secure/lib/libssl/man/SSL_get_verify_result.3
  stable/9/secure/lib/libssl/man/SSL_get_version.3
  stable/9/secure/lib/libssl/man/SSL_library_init.3
  stable/9/secure/lib/libssl/man/SSL_load_client_CA_file.3
  stable/9/secure/lib/libssl/man/SSL_new.3
  stable/9/secure/lib/libssl/man/SSL_pending.3
  stable/9/secure/lib/libssl/man/SSL_read.3
  stable/9/secure/lib/libssl/man/SSL_rstate_string.3
  stable/9/secure/lib/libssl/man/SSL_session_reused.3
  stable/9/secure/lib/libssl/man/SSL_set_bio.3
  stable/9/secure/lib/libssl/man/SSL_set_connect_state.3
  stable/9/secure/lib/libssl/man/SSL_set_fd.3
  stable/9/secure/lib/libssl/man/SSL_set_session.3
  stable/9/secure/lib/libssl/man/SSL_set_shutdown.3
  stable/9/secure/lib/libssl/man/SSL_set_verify_result.3
  stable/9/secure/lib/libssl/man/SSL_shutdown.3
  stable/9/secure/lib/libssl/man/SSL_state_string.3
  stable/9/secure/lib/libssl/man/SSL_want.3
  stable/9/secure/lib/libssl/man/SSL_write.3
  stable/9/secure/lib/libssl/man/d2i_SSL_SESSION.3
  stable/9/secure/lib/libssl/man/ssl.3
  stable/9/secure/usr.bin/openssl/man/CA.pl.1
  stable/9/secure/usr.bin/openssl/man/asn1parse.1
  stable/9/secure/usr.bin/openssl/man/ca.1
  stable/9/secure/usr.bin/openssl/man/ciphers.1
  stable/9/secure/usr.bin/openssl/man/crl.1
  stable/9/secure/usr.bin/openssl/man/crl2pkcs7.1
  stable/9/secure/usr.bin/openssl/man/dgst.1
  stable/9/secure/usr.bin/openssl/man/dhparam.1
  stable/9/secure/usr.bin/openssl/man/dsa.1
  stable/9/secure/usr.bin/openssl/man/dsaparam.1
  stable/9/secure/usr.bin/openssl/man/ec.1
  stable/9/secure/usr.bin/openssl/man/ecparam.1
  stable/9/secure/usr.bin/openssl/man/enc.1
  stable/9/secure/usr.bin/openssl/man/errstr.1
  stable/9/secure/usr.bin/openssl/man/gendsa.1
  stable/9/secure/usr.bin/openssl/man/genrsa.1
  stable/9/secure/usr.bin/openssl/man/nseq.1
  stable/9/secure/usr.bin/openssl/man/ocsp.1
  stable/9/secure/usr.bin/openssl/man/openssl.1
  stable/9/secure/usr.bin/openssl/man/passwd.1
  stable/9/secure/usr.bin/openssl/man/pkcs12.1
  stable/9/secure/usr.bin/openssl/man/pkcs7.1
  stable/9/secure/usr.bin/openssl/man/pkcs8.1
  stable/9/secure/usr.bin/openssl/man/rand.1
  stable/9/secure/usr.bin/openssl/man/req.1
  stable/9/secure/usr.bin/openssl/man/rsa.1
  stable/9/secure/usr.bin/openssl/man/rsautl.1
  stable/9/secure/usr.bin/openssl/man/s_client.1
  stable/9/secure/usr.bin/openssl/man/s_server.1
  stable/9/secure/usr.bin/openssl/man/s_time.1
  stable/9/secure/usr.bin/openssl/man/sess_id.1
  stable/9/secure/usr.bin/openssl/man/smime.1
  stable/9/secure/usr.bin/openssl/man/speed.1
  stable/9/secure/usr.bin/openssl/man/spkac.1
  stable/9/secure/usr.bin/openssl/man/verify.1
  stable/9/secure/usr.bin/openssl/man/version.1
  stable/9/secure/usr.bin/openssl/man/x509.1
  stable/9/secure/usr.bin/openssl/man/x509v3_config.1
Directory Properties:
  stable/9/crypto/openssl/   (props changed)

Changes in other areas also in this revision:
Modified:
  stable/8/crypto/openssl/CHANGES
  stable/8/crypto/openssl/Makefile
  stable/8/crypto/openssl/NEWS
  stable/8/crypto/openssl/README
  stable/8/crypto/openssl/crypto/Makefile
  stable/8/crypto/openssl/crypto/asn1/a_bitstr.c
  stable/8/crypto/openssl/crypto/asn1/a_type.c
  stable/8/crypto/openssl/crypto/asn1/a_verify.c
  stable/8/crypto/openssl/crypto/asn1/asn1.h
  stable/8/crypto/openssl/crypto/asn1/asn1_err.c
  stable/8/crypto/openssl/crypto/asn1/tasn_dec.c
  stable/8/crypto/openssl/crypto/asn1/x_algor.c
  stable/8/crypto/openssl/crypto/bn/asm/mips3.s
  stable/8/crypto/openssl/crypto/bn/asm/x86_64-gcc.c
  stable/8/crypto/openssl/crypto/bn/bn_asm.c
  stable/8/crypto/openssl/crypto/bn/bntest.c
  stable/8/crypto/openssl/crypto/bn/exptest.c
  stable/8/crypto/openssl/crypto/constant_time_locl.h
  stable/8/crypto/openssl/crypto/dsa/dsa_asn1.c
  stable/8/crypto/openssl/crypto/ecdsa/Makefile
  stable/8/crypto/openssl/crypto/ecdsa/ecs_vrf.c
  stable/8/crypto/openssl/crypto/evp/Makefile
  stable/8/crypto/openssl/crypto/evp/evp_enc.c
  stable/8/crypto/openssl/crypto/md32_common.h
  stable/8/crypto/openssl/crypto/opensslv.h
  stable/8/crypto/openssl/crypto/rsa/rsa_oaep.c
  stable/8/crypto/openssl/crypto/rsa/rsa_pk1.c
  stable/8/crypto/openssl/crypto/x509/x509.h
  stable/8/crypto/openssl/crypto/x509/x_all.c
  stable/8/crypto/openssl/doc/ssl/SSL_CTX_set_mode.pod
  stable/8/crypto/openssl/doc/ssl/SSL_CTX_set_options.pod
  stable/8/crypto/openssl/doc/ssl/SSL_CTX_set_tmp_rsa_callback.pod
  stable/8/crypto/openssl/e_os.h
  stable/8/crypto/openssl/openssl.spec
  stable/8/crypto/openssl/ssl/d1_pkt.c
  stable/8/crypto/openssl/ssl/d1_srvr.c
  stable/8/crypto/openssl/ssl/s23_srvr.c
  stable/8/crypto/openssl/ssl/s3_clnt.c
  stable/8/crypto/openssl/ssl/s3_pkt.c
  stable/8/crypto/openssl/ssl/s3_srvr.c
  stable/8/crypto/openssl/ssl/ssl.h
  stable/8/crypto/openssl/ssl/ssl_lib.c
  stable/8/crypto/openssl/util/libeay.num
  stable/8/crypto/openssl/util/mk1mf.pl
  stable/8/secure/lib/libcrypto/Makefile.inc
  stable/8/secure/lib/libcrypto/man/ASN1_OBJECT_new.3
  stable/8/secure/lib/libcrypto/man/ASN1_STRING_length.3
  stable/8/secure/lib/libcrypto/man/ASN1_STRING_new.3
  stable/8/secure/lib/libcrypto/man/ASN1_STRING_print_ex.3
  stable/8/secure/lib/libcrypto/man/ASN1_generate_nconf.3
  stable/8/secure/lib/libcrypto/man/BIO_ctrl.3
  stable/8/secure/lib/libcrypto/man/BIO_f_base64.3
  stable/8/secure/lib/libcrypto/man/BIO_f_buffer.3
  stable/8/secure/lib/libcrypto/man/BIO_f_cipher.3
  stable/8/secure/lib/libcrypto/man/BIO_f_md.3
  stable/8/secure/lib/libcrypto/man/BIO_f_null.3
  stable/8/secure/lib/libcrypto/man/BIO_f_ssl.3
  stable/8/secure/lib/libcrypto/man/BIO_find_type.3
  stable/8/secure/lib/libcrypto/man/BIO_new.3
  stable/8/secure/lib/libcrypto/man/BIO_push.3
  stable/8/secure/lib/libcrypto/man/BIO_read.3
  stable/8/secure/lib/libcrypto/man/BIO_s_accept.3
  stable/8/secure/lib/libcrypto/man/BIO_s_bio.3
  stable/8/secure/lib/libcrypto/man/BIO_s_connect.3
  stable/8/secure/lib/libcrypto/man/BIO_s_fd.3
  stable/8/secure/lib/libcrypto/man/BIO_s_file.3
  stable/8/secure/lib/libcrypto/man/BIO_s_mem.3
  stable/8/secure/lib/libcrypto/man/BIO_s_null.3
  stable/8/secure/lib/libcrypto/man/BIO_s_socket.3
  stable/8/secure/lib/libcrypto/man/BIO_set_callback.3
  stable/8/secure/lib/libcrypto/man/BIO_should_retry.3
  stable/8/secure/lib/libcrypto/man/BN_BLINDING_new.3
  stable/8/secure/lib/libcrypto/man/BN_CTX_new.3
  stable/8/secure/lib/libcrypto/man/BN_CTX_start.3
  stable/8/secure/lib/libcrypto/man/BN_add.3
  stable/8/secure/lib/libcrypto/man/BN_add_word.3
  stable/8/secure/lib/libcrypto/man/BN_bn2bin.3
  stable/8/secure/lib/libcrypto/man/BN_cmp.3
  stable/8/secure/lib/libcrypto/man/BN_copy.3
  stable/8/secure/lib/libcrypto/man/BN_generate_prime.3
  stable/8/secure/lib/libcrypto/man/BN_mod_inverse.3
  stable/8/secure/lib/libcrypto/man/BN_mod_mul_montgomery.3
  stable/8/secure/lib/libcrypto/man/BN_mod_mul_reciprocal.3
  stable/8/secure/lib/libcrypto/man/BN_new.3
  stable/8/secure/lib/libcrypto/man/BN_num_bytes.3
  stable/8/secure/lib/libcrypto/man/BN_rand.3
  stable/8/secure/lib/libcrypto/man/BN_set_bit.3
  stable/8/secure/lib/libcrypto/man/BN_swap.3
  stable/8/secure/lib/libcrypto/man/BN_zero.3
  stable/8/secure/lib/libcrypto/man/CONF_modules_free.3
  stable/8/secure/lib/libcrypto/man/CONF_modules_load_file.3
  stable/8/secure/lib/libcrypto/man/CRYPTO_set_ex_data.3
  stable/8/secure/lib/libcrypto/man/DH_generate_key.3
  stable/8/secure/lib/libcrypto/man/DH_generate_parameters.3
  stable/8/secure/lib/libcrypto/man/DH_get_ex_new_index.3
  stable/8/secure/lib/libcrypto/man/DH_new.3
  stable/8/secure/lib/libcrypto/man/DH_set_method.3
  stable/8/secure/lib/libcrypto/man/DH_size.3
  stable/8/secure/lib/libcrypto/man/DSA_SIG_new.3
  stable/8/secure/lib/libcrypto/man/DSA_do_sign.3
  stable/8/secure/lib/libcrypto/man/DSA_dup_DH.3
  stable/8/secure/lib/libcrypto/man/DSA_generate_key.3
  stable/8/secure/lib/libcrypto/man/DSA_generate_parameters.3
  stable/8/secure/lib/libcrypto/man/DSA_get_ex_new_index.3
  stable/8/secure/lib/libcrypto/man/DSA_new.3
  stable/8/secure/lib/libcrypto/man/DSA_set_method.3
  stable/8/secure/lib/libcrypto/man/DSA_sign.3
  stable/8/secure/lib/libcrypto/man/DSA_size.3
  stable/8/secure/lib/libcrypto/man/ERR_GET_LIB.3
  stable/8/secure/lib/libcrypto/man/ERR_clear_error.3
  stable/8/secure/lib/libcrypto/man/ERR_error_string.3
  stable/8/secure/lib/libcrypto/man/ERR_get_error.3
  stable/8/secure/lib/libcrypto/man/ERR_load_crypto_strings.3
  stable/8/secure/lib/libcrypto/man/ERR_load_strings.3
  stable/8/secure/lib/libcrypto/man/ERR_print_errors.3
  stable/8/secure/lib/libcrypto/man/ERR_put_error.3
  stable/8/secure/lib/libcrypto/man/ERR_remove_state.3
  stable/8/secure/lib/libcrypto/man/ERR_set_mark.3
  stable/8/secure/lib/libcrypto/man/EVP_BytesToKey.3
  stable/8/secure/lib/libcrypto/man/EVP_DigestInit.3
  stable/8/secure/lib/libcrypto/man/EVP_EncryptInit.3
  stable/8/secure/lib/libcrypto/man/EVP_OpenInit.3
  stable/8/secure/lib/libcrypto/man/EVP_PKEY_new.3
  stable/8/secure/lib/libcrypto/man/EVP_PKEY_set1_RSA.3
  stable/8/secure/lib/libcrypto/man/EVP_SealInit.3
  stable/8/secure/lib/libcrypto/man/EVP_SignInit.3
  stable/8/secure/lib/libcrypto/man/EVP_VerifyInit.3
  stable/8/secure/lib/libcrypto/man/OBJ_nid2obj.3
  stable/8/secure/lib/libcrypto/man/OPENSSL_Applink.3
  stable/8/secure/lib/libcrypto/man/OPENSSL_VERSION_NUMBER.3
  stable/8/secure/lib/libcrypto/man/OPENSSL_config.3
  stable/8/secure/lib/libcrypto/man/OPENSSL_ia32cap.3
  stable/8/secure/lib/libcrypto/man/OPENSSL_load_builtin_modules.3
  stable/8/secure/lib/libcrypto/man/OpenSSL_add_all_algorithms.3
  stable/8/secure/lib/libcrypto/man/PKCS12_create.3
  stable/8/secure/lib/libcrypto/man/PKCS12_parse.3
  stable/8/secure/lib/libcrypto/man/PKCS7_decrypt.3
  stable/8/secure/lib/libcrypto/man/PKCS7_encrypt.3
  stable/8/secure/lib/libcrypto/man/PKCS7_sign.3
  stable/8/secure/lib/libcrypto/man/PKCS7_verify.3
  stable/8/secure/lib/libcrypto/man/RAND_add.3
  stable/8/secure/lib/libcrypto/man/RAND_bytes.3
  stable/8/secure/lib/libcrypto/man/RAND_cleanup.3
  stable/8/secure/lib/libcrypto/man/RAND_egd.3
  stable/8/secure/lib/libcrypto/man/RAND_load_file.3
  stable/8/secure/lib/libcrypto/man/RAND_set_rand_method.3
  stable/8/secure/lib/libcrypto/man/RSA_blinding_on.3
  stable/8/secure/lib/libcrypto/man/RSA_check_key.3
  stable/8/secure/lib/libcrypto/man/RSA_generate_key.3
  stable/8/secure/lib/libcrypto/man/RSA_get_ex_new_index.3
  stable/8/secure/lib/libcrypto/man/RSA_new.3
  stable/8/secure/lib/libcrypto/man/RSA_padding_add_PKCS1_type_1.3
  stable/8/secure/lib/libcrypto/man/RSA_print.3
  stable/8/secure/lib/libcrypto/man/RSA_private_encrypt.3
  stable/8/secure/lib/libcrypto/man/RSA_public_encrypt.3
  stable/8/secure/lib/libcrypto/man/RSA_set_method.3
  stable/8/secure/lib/libcrypto/man/RSA_sign.3
  stable/8/secure/lib/libcrypto/man/RSA_sign_ASN1_OCTET_STRING.3
  stable/8/secure/lib/libcrypto/man/RSA_size.3
  stable/8/secure/lib/libcrypto/man/SMIME_read_PKCS7.3
  stable/8/secure/lib/libcrypto/man/SMIME_write_PKCS7.3
  stable/8/secure/lib/libcrypto/man/X509_NAME_ENTRY_get_object.3
  stable/8/secure/lib/libcrypto/man/X509_NAME_add_entry_by_txt.3
  stable/8/secure/lib/libcrypto/man/X509_NAME_get_index_by_NID.3
  stable/8/secure/lib/libcrypto/man/X509_NAME_print_ex.3
  stable/8/secure/lib/libcrypto/man/X509_new.3
  stable/8/secure/lib/libcrypto/man/bio.3
  stable/8/secure/lib/libcrypto/man/blowfish.3
  stable/8/secure/lib/libcrypto/man/bn.3
  stable/8/secure/lib/libcrypto/man/bn_internal.3
  stable/8/secure/lib/libcrypto/man/buffer.3
  stable/8/secure/lib/libcrypto/man/crypto.3
  stable/8/secure/lib/libcrypto/man/d2i_ASN1_OBJECT.3
  stable/8/secure/lib/libcrypto/man/d2i_DHparams.3
  stable/8/secure/lib/libcrypto/man/d2i_DSAPublicKey.3
  stable/8/secure/lib/libcrypto/man/d2i_PKCS8PrivateKey.3
  stable/8/secure/lib/libcrypto/man/d2i_RSAPublicKey.3
  stable/8/secure/lib/libcrypto/man/d2i_X509.3
  stable/8/secure/lib/libcrypto/man/d2i_X509_ALGOR.3
  stable/8/secure/lib/libcrypto/man/d2i_X509_CRL.3
  stable/8/secure/lib/libcrypto/man/d2i_X509_NAME.3
  stable/8/secure/lib/libcrypto/man/d2i_X509_REQ.3
  stable/8/secure/lib/libcrypto/man/d2i_X509_SIG.3
  stable/8/secure/lib/libcrypto/man/des.3
  stable/8/secure/lib/libcrypto/man/dh.3
  stable/8/secure/lib/libcrypto/man/dsa.3
  stable/8/secure/lib/libcrypto/man/ecdsa.3
  stable/8/secure/lib/libcrypto/man/engine.3
  stable/8/secure/lib/libcrypto/man/err.3
  stable/8/secure/lib/libcrypto/man/evp.3
  stable/8/secure/lib/libcrypto/man/hmac.3
  stable/8/secure/lib/libcrypto/man/lh_stats.3
  stable/8/secure/lib/libcrypto/man/lhash.3
  stable/8/secure/lib/libcrypto/man/md5.3
  stable/8/secure/lib/libcrypto/man/mdc2.3
  stable/8/secure/lib/libcrypto/man/pem.3
  stable/8/secure/lib/libcrypto/man/rand.3
  stable/8/secure/lib/libcrypto/man/rc4.3
  stable/8/secure/lib/libcrypto/man/ripemd.3
  stable/8/secure/lib/libcrypto/man/rsa.3
  stable/8/secure/lib/libcrypto/man/sha.3
  stable/8/secure/lib/libcrypto/man/threads.3
  stable/8/secure/lib/libcrypto/man/ui.3
  stable/8/secure/lib/libcrypto/man/ui_compat.3
  stable/8/secure/lib/libcrypto/man/x509.3
  stable/8/secure/lib/libssl/man/SSL_CIPHER_get_name.3
  stable/8/secure/lib/libssl/man/SSL_COMP_add_compression_method.3
  stable/8/secure/lib/libssl/man/SSL_CTX_add_extra_chain_cert.3
  stable/8/secure/lib/libssl/man/SSL_CTX_add_session.3
  stable/8/secure/lib/libssl/man/SSL_CTX_ctrl.3
  stable/8/secure/lib/libssl/man/SSL_CTX_flush_sessions.3
  stable/8/secure/lib/libssl/man/SSL_CTX_free.3
  stable/8/secure/lib/libssl/man/SSL_CTX_get_ex_new_index.3
  stable/8/secure/lib/libssl/man/SSL_CTX_get_verify_mode.3
  stable/8/secure/lib/libssl/man/SSL_CTX_load_verify_locations.3
  stable/8/secure/lib/libssl/man/SSL_CTX_new.3
  stable/8/secure/lib/libssl/man/SSL_CTX_sess_number.3
  stable/8/secure/lib/libssl/man/SSL_CTX_sess_set_cache_size.3
  stable/8/secure/lib/libssl/man/SSL_CTX_sess_set_get_cb.3
  stable/8/secure/lib/libssl/man/SSL_CTX_sessions.3
  stable/8/secure/lib/libssl/man/SSL_CTX_set_cert_store.3
  stable/8/secure/lib/libssl/man/SSL_CTX_set_cert_verify_callback.3
  stable/8/secure/lib/libssl/man/SSL_CTX_set_cipher_list.3
  stable/8/secure/lib/libssl/man/SSL_CTX_set_client_CA_list.3
  stable/8/secure/lib/libssl/man/SSL_CTX_set_client_cert_cb.3
  stable/8/secure/lib/libssl/man/SSL_CTX_set_default_passwd_cb.3
  stable/8/secure/lib/libssl/man/SSL_CTX_set_generate_session_id.3
  stable/8/secure/lib/libssl/man/SSL_CTX_set_info_callback.3
  stable/8/secure/lib/libssl/man/SSL_CTX_set_max_cert_list.3
  stable/8/secure/lib/libssl/man/SSL_CTX_set_mode.3
  stable/8/secure/lib/libssl/man/SSL_CTX_set_msg_callback.3
  stable/8/secure/lib/libssl/man/SSL_CTX_set_options.3
  stable/8/secure/lib/libssl/man/SSL_CTX_set_quiet_shutdown.3
  stable/8/secure/lib/libssl/man/SSL_CTX_set_session_cache_mode.3
  stable/8/secure/lib/libssl/man/SSL_CTX_set_session_id_context.3
  stable/8/secure/lib/libssl/man/SSL_CTX_set_ssl_version.3
  stable/8/secure/lib/libssl/man/SSL_CTX_set_timeout.3
  stable/8/secure/lib/libssl/man/SSL_CTX_set_tlsext_ticket_key_cb.3
  stable/8/secure/lib/libssl/man/SSL_CTX_set_tmp_dh_callback.3
  stable/8/secure/lib/libssl/man/SSL_CTX_set_tmp_rsa_callback.3
  stable/8/secure/lib/libssl/man/SSL_CTX_set_verify.3
  stable/8/secure/lib/libssl/man/SSL_CTX_use_certificate.3
  stable/8/secure/lib/libssl/man/SSL_SESSION_free.3
  stable/8/secure/lib/libssl/man/SSL_SESSION_get_ex_new_index.3
  stable/8/secure/lib/libssl/man/SSL_SESSION_get_time.3
  stable/8/secure/lib/libssl/man/SSL_accept.3
  stable/8/secure/lib/libssl/man/SSL_alert_type_string.3
  stable/8/secure/lib/libssl/man/SSL_clear.3
  stable/8/secure/lib/libssl/man/SSL_connect.3
  stable/8/secure/lib/libssl/man/SSL_do_handshake.3
  stable/8/secure/lib/libssl/man/SSL_free.3
  stable/8/secure/lib/libssl/man/SSL_get_SSL_CTX.3
  stable/8/secure/lib/libssl/man/SSL_get_ciphers.3
  stable/8/secure/lib/libssl/man/SSL_get_client_CA_list.3
  stable/8/secure/lib/libssl/man/SSL_get_current_cipher.3
  stable/8/secure/lib/libssl/man/SSL_get_default_timeout.3
  stable/8/secure/lib/libssl/man/SSL_get_error.3
  stable/8/secure/lib/libssl/man/SSL_get_ex_data_X509_STORE_CTX_idx.3
  stable/8/secure/lib/libssl/man/SSL_get_ex_new_index.3
  stable/8/secure/lib/libssl/man/SSL_get_fd.3
  stable/8/secure/lib/libssl/man/SSL_get_peer_cert_chain.3
  stable/8/secure/lib/libssl/man/SSL_get_peer_certificate.3
  stable/8/secure/lib/libssl/man/SSL_get_rbio.3
  stable/8/secure/lib/libssl/man/SSL_get_session.3
  stable/8/secure/lib/libssl/man/SSL_get_verify_result.3
  stable/8/secure/lib/libssl/man/SSL_get_version.3
  stable/8/secure/lib/libssl/man/SSL_library_init.3
  stable/8/secure/lib/libssl/man/SSL_load_client_CA_file.3
  stable/8/secure/lib/libssl/man/SSL_new.3
  stable/8/secure/lib/libssl/man/SSL_pending.3
  stable/8/secure/lib/libssl/man/SSL_read.3
  stable/8/secure/lib/libssl/man/SSL_rstate_string.3
  stable/8/secure/lib/libssl/man/SSL_session_reused.3
  stable/8/secure/lib/libssl/man/SSL_set_bio.3
  stable/8/secure/lib/libssl/man/SSL_set_connect_state.3
  stable/8/secure/lib/libssl/man/SSL_set_fd.3
  stable/8/secure/lib/libssl/man/SSL_set_session.3
  stable/8/secure/lib/libssl/man/SSL_set_shutdown.3
  stable/8/secure/lib/libssl/man/SSL_set_verify_result.3
  stable/8/secure/lib/libssl/man/SSL_shutdown.3
  stable/8/secure/lib/libssl/man/SSL_state_string.3
  stable/8/secure/lib/libssl/man/SSL_want.3
  stable/8/secure/lib/libssl/man/SSL_write.3
  stable/8/secure/lib/libssl/man/d2i_SSL_SESSION.3
  stable/8/secure/lib/libssl/man/ssl.3
  stable/8/secure/usr.bin/openssl/man/CA.pl.1
  stable/8/secure/usr.bin/openssl/man/asn1parse.1
  stable/8/secure/usr.bin/openssl/man/ca.1
  stable/8/secure/usr.bin/openssl/man/ciphers.1
  stable/8/secure/usr.bin/openssl/man/crl.1
  stable/8/secure/usr.bin/openssl/man/crl2pkcs7.1
  stable/8/secure/usr.bin/openssl/man/dgst.1
  stable/8/secure/usr.bin/openssl/man/dhparam.1
  stable/8/secure/usr.bin/openssl/man/dsa.1
  stable/8/secure/usr.bin/openssl/man/dsaparam.1
  stable/8/secure/usr.bin/openssl/man/ec.1
  stable/8/secure/usr.bin/openssl/man/ecparam.1
  stable/8/secure/usr.bin/openssl/man/enc.1
  stable/8/secure/usr.bin/openssl/man/errstr.1
  stable/8/secure/usr.bin/openssl/man/gendsa.1
  stable/8/secure/usr.bin/openssl/man/genrsa.1
  stable/8/secure/usr.bin/openssl/man/nseq.1
  stable/8/secure/usr.bin/openssl/man/ocsp.1
  stable/8/secure/usr.bin/openssl/man/openssl.1
  stable/8/secure/usr.bin/openssl/man/passwd.1
  stable/8/secure/usr.bin/openssl/man/pkcs12.1
  stable/8/secure/usr.bin/openssl/man/pkcs7.1
  stable/8/secure/usr.bin/openssl/man/pkcs8.1
  stable/8/secure/usr.bin/openssl/man/rand.1
  stable/8/secure/usr.bin/openssl/man/req.1
  stable/8/secure/usr.bin/openssl/man/rsa.1
  stable/8/secure/usr.bin/openssl/man/rsautl.1
  stable/8/secure/usr.bin/openssl/man/s_client.1
  stable/8/secure/usr.bin/openssl/man/s_server.1
  stable/8/secure/usr.bin/openssl/man/s_time.1
  stable/8/secure/usr.bin/openssl/man/sess_id.1
  stable/8/secure/usr.bin/openssl/man/smime.1
  stable/8/secure/usr.bin/openssl/man/speed.1
  stable/8/secure/usr.bin/openssl/man/spkac.1
  stable/8/secure/usr.bin/openssl/man/verify.1
  stable/8/secure/usr.bin/openssl/man/version.1
  stable/8/secure/usr.bin/openssl/man/x509.1
  stable/8/secure/usr.bin/openssl/man/x509v3_config.1
Directory Properties:
  stable/8/crypto/openssl/   (props changed)

Modified: stable/9/crypto/openssl/CHANGES
==============================================================================
--- stable/9/crypto/openssl/CHANGES	Fri Jan  9 00:58:20 2015	(r276864)
+++ stable/9/crypto/openssl/CHANGES	Fri Jan  9 01:11:43 2015	(r276865)
@@ -2,6 +2,87 @@
  OpenSSL CHANGES
  _______________
 
+ Changes between 0.9.8zc and 0.9.8zd [8 Jan 2015]
+
+  *) Fix DTLS segmentation fault in dtls1_get_record. A carefully crafted DTLS
+     message can cause a segmentation fault in OpenSSL due to a NULL pointer
+     dereference. This could lead to a Denial Of Service attack. Thanks to
+     Markus Stenberg of Cisco Systems, Inc. for reporting this issue.
+     (CVE-2014-3571)
+     [Steve Henson]
+
+  *) Fix issue where no-ssl3 configuration sets method to NULL. When openssl is
+     built with the no-ssl3 option and a SSL v3 ClientHello is received the ssl
+     method would be set to NULL which could later result in a NULL pointer
+     dereference. Thanks to Frank Schmirler for reporting this issue.
+     (CVE-2014-3569)
+     [Kurt Roeckx]
+
+  *) Abort handshake if server key exchange message is omitted for ephemeral
+     ECDH ciphersuites.
+
+     Thanks to Karthikeyan Bhargavan of the PROSECCO team at INRIA for
+     reporting this issue.
+     (CVE-2014-3572)
+     [Steve Henson]
+
+  *) Remove non-export ephemeral RSA code on client and server. This code
+     violated the TLS standard by allowing the use of temporary RSA keys in
+     non-export ciphersuites and could be used by a server to effectively
+     downgrade the RSA key length used to a value smaller than the server
+     certificate. Thanks for Karthikeyan Bhargavan of the PROSECCO team at
+     INRIA or reporting this issue.
+     (CVE-2015-0204)
+     [Steve Henson]
+
+  *) Fix various certificate fingerprint issues.
+
+     By using non-DER or invalid encodings outside the signed portion of a
+     certificate the fingerprint can be changed without breaking the signature.
+     Although no details of the signed portion of the certificate can be changed
+     this can cause problems with some applications: e.g. those using the
+     certificate fingerprint for blacklists.
+
+     1. Reject signatures with non zero unused bits.
+
+     If the BIT STRING containing the signature has non zero unused bits reject
+     the signature. All current signature algorithms require zero unused bits.
+
+     2. Check certificate algorithm consistency.
+
+     Check the AlgorithmIdentifier inside TBS matches the one in the
+     certificate signature. NB: this will result in signature failure
+     errors for some broken certificates.
+
+     Thanks to Konrad Kraszewski from Google for reporting this issue.
+
+     3. Check DSA/ECDSA signatures use DER.
+
+     Reencode DSA/ECDSA signatures and compare with the original received
+     signature. Return an error if there is a mismatch.
+
+     This will reject various cases including garbage after signature
+     (thanks to Antti Karjalainen and Tuomo Untinen from the Codenomicon CROSS
+     program for discovering this case) and use of BER or invalid ASN.1 INTEGERs
+     (negative or with leading zeroes).
+
+     Further analysis was conducted and fixes were developed by Stephen Henson
+     of the OpenSSL core team.
+
+     (CVE-2014-8275)
+     [Steve Henson]
+
+   *) Correct Bignum squaring. Bignum squaring (BN_sqr) may produce incorrect
+      results on some platforms, including x86_64. This bug occurs at random
+      with a very low probability, and is not known to be exploitable in any
+      way, though its exact impact is difficult to determine. Thanks to Pieter
+      Wuille (Blockstream) who reported this issue and also suggested an initial
+      fix. Further analysis was conducted by the OpenSSL development team and
+      Adam Langley of Google. The final fix was developed by Andy Polyakov of
+      the OpenSSL core team.
+      (CVE-2014-3570)
+      [Andy Polyakov]
+
  Changes between 0.9.8zb and 0.9.8zc [15 Oct 2014]
 
   *) Session Ticket Memory Leak.

Modified: stable/9/crypto/openssl/Makefile
==============================================================================
--- stable/9/crypto/openssl/Makefile	Fri Jan  9 00:58:20 2015	(r276864)
+++ stable/9/crypto/openssl/Makefile	Fri Jan  9 01:11:43 2015	(r276865)
@@ -4,7 +4,7 @@
 ## Makefile for OpenSSL
 ##
 
-VERSION=0.9.8zc
+VERSION=0.9.8zd
 MAJOR=0
 MINOR=9.8
 SHLIB_VERSION_NUMBER=0.9.8

Modified: stable/9/crypto/openssl/NEWS
==============================================================================
--- stable/9/crypto/openssl/NEWS	Fri Jan  9 00:58:20 2015	(r276864)
+++ stable/9/crypto/openssl/NEWS	Fri Jan  9 01:11:43 2015	(r276865)
@@ -5,6 +5,15 @@
   This file gives a brief overview of the major changes between each OpenSSL
   release. For more details please read the CHANGES file.
 
+  Major changes between OpenSSL 0.9.8zc and OpenSSL 0.9.8zd [8 Jan 2015]
+
+      o Fix for CVE-2014-3571
+      o Fix for CVE-2014-3569
+      o Fix for CVE-2014-3572
+      o Fix for CVE-2015-0204
+      o Fix for CVE-2014-8275
+      o Fix for CVE-2014-3570
+
   Major changes between OpenSSL 0.9.8zb and OpenSSL 0.9.8zc [15 Oct 2014]:
 
       o Fix for CVE-2014-3513

Modified: stable/9/crypto/openssl/README
==============================================================================
--- stable/9/crypto/openssl/README	Fri Jan  9 00:58:20 2015	(r276864)
+++ stable/9/crypto/openssl/README	Fri Jan  9 01:11:43 2015	(r276865)
@@ -1,5 +1,5 @@
 
- OpenSSL 0.9.8zc 15 Oct 2014
+ OpenSSL 0.9.8zd 8 Jan 2015
 
  Copyright (c) 1998-2011 The OpenSSL Project
  Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson

Modified: stable/9/crypto/openssl/crypto/Makefile
==============================================================================
--- stable/9/crypto/openssl/crypto/Makefile	Fri Jan  9 00:58:20 2015	(r276864)
+++ stable/9/crypto/openssl/crypto/Makefile	Fri Jan  9 01:11:43 2015	(r276865)
@@ -41,7 +41,8 @@ SRC= $(LIBSRC)
 
 EXHEADER= crypto.h tmdiff.h opensslv.h opensslconf.h ebcdic.h symhacks.h \
 	ossl_typ.h
-HEADER=	cryptlib.h buildinf.h md32_common.h o_time.h o_str.h o_dir.h $(EXHEADER)
+HEADER=	cryptlib.h buildinf.h md32_common.h o_time.h o_str.h o_dir.h \
+	constant_time_locl.h $(EXHEADER)
 
 ALL=    $(GENERAL) $(SRC) $(HEADER)
 

Modified: stable/9/crypto/openssl/crypto/asn1/a_bitstr.c
==============================================================================
--- stable/9/crypto/openssl/crypto/asn1/a_bitstr.c	Fri Jan  9 00:58:20 2015	(r276864)
+++ stable/9/crypto/openssl/crypto/asn1/a_bitstr.c	Fri Jan  9 01:11:43 2015	(r276865)
@@ -136,11 +136,16 @@ ASN1_BIT_STRING *c2i_ASN1_BIT_STRING(ASN
 
 	p= *pp;
 	i= *(p++);
+	if (i > 7)
+		{
+		i=ASN1_R_INVALID_BIT_STRING_BITS_LEFT;
+		goto err;
+		}
 	/* We do this to preserve the settings.  If we modify
 	 * the settings, via the _set_bit function, we will recalculate
 	 * on output */
 	ret->flags&= ~(ASN1_STRING_FLAG_BITS_LEFT|0x07); /* clear */
-	ret->flags|=(ASN1_STRING_FLAG_BITS_LEFT|(i&0x07)); /* set */
+	ret->flags|=(ASN1_STRING_FLAG_BITS_LEFT|i); /* set */
 
 	if (len-- > 1) /* using one because of the bits left byte */
 		{

Modified: stable/9/crypto/openssl/crypto/asn1/a_type.c
==============================================================================
--- stable/9/crypto/openssl/crypto/asn1/a_type.c	Fri Jan  9 00:58:20 2015	(r276864)
+++ stable/9/crypto/openssl/crypto/asn1/a_type.c	Fri Jan  9 01:11:43 2015	(r276865)
@@ -108,3 +108,49 @@ int ASN1_TYPE_set1(ASN1_TYPE *a, int typ
 
 IMPLEMENT_STACK_OF(ASN1_TYPE)
 IMPLEMENT_ASN1_SET_OF(ASN1_TYPE)
+
+/* Returns 0 if they are equal, != 0 otherwise. */
+int ASN1_TYPE_cmp(const ASN1_TYPE *a, const ASN1_TYPE *b)
+	{
+	int result = -1;
+
+	if (!a || !b || a->type != b->type) return -1;
+
+	switch (a->type)
+		{
+	case V_ASN1_OBJECT:
+		result = OBJ_cmp(a->value.object, b->value.object);
+		break;
+	case V_ASN1_NULL:
+		result = 0;	/* They do not have content. */
+		break;
+	case V_ASN1_INTEGER:
+	case V_ASN1_NEG_INTEGER:
+	case V_ASN1_ENUMERATED:
+	case V_ASN1_NEG_ENUMERATED:
+	case V_ASN1_BIT_STRING:
+	case V_ASN1_OCTET_STRING:
+	case V_ASN1_SEQUENCE:
+	case V_ASN1_SET:
+	case V_ASN1_NUMERICSTRING:
+	case V_ASN1_PRINTABLESTRING:
+	case V_ASN1_T61STRING:
+	case V_ASN1_VIDEOTEXSTRING:
+	case V_ASN1_IA5STRING:
+	case V_ASN1_UTCTIME:
+	case V_ASN1_GENERALIZEDTIME:
+	case V_ASN1_GRAPHICSTRING:
+	case V_ASN1_VISIBLESTRING:
+	case V_ASN1_GENERALSTRING:
+	case V_ASN1_UNIVERSALSTRING:
+	case V_ASN1_BMPSTRING:
+	case V_ASN1_UTF8STRING:
+	case V_ASN1_OTHER:
+	default:
+		result = ASN1_STRING_cmp((ASN1_STRING *) a->value.ptr,
+					 (ASN1_STRING *) b->value.ptr);
+		break;
+		}
+
+	return result;
+	}

Modified: stable/9/crypto/openssl/crypto/asn1/a_verify.c
==============================================================================
--- stable/9/crypto/openssl/crypto/asn1/a_verify.c	Fri Jan  9 00:58:20 2015	(r276864)
+++ stable/9/crypto/openssl/crypto/asn1/a_verify.c	Fri Jan  9 01:11:43 2015	(r276865)
@@ -89,6 +89,12 @@ int ASN1_verify(i2d_of_void *i2d, X509_A
 		ASN1err(ASN1_F_ASN1_VERIFY,ASN1_R_UNKNOWN_MESSAGE_DIGEST_ALGORITHM);
 		goto err;
 		}
+
+	if (signature->type == V_ASN1_BIT_STRING && signature->flags & 0x7)
+		{
+		ASN1err(ASN1_F_ASN1_VERIFY, ASN1_R_INVALID_BIT_STRING_BITS_LEFT);
+		goto err;
+		}
 	
 	inl=i2d(data,NULL);
 	buf_in=OPENSSL_malloc((unsigned int)inl);
@@ -144,6 +150,12 @@ int ASN1_item_verify(const ASN1_ITEM *it
 		return -1;
 		}
 
+	if (signature->type == V_ASN1_BIT_STRING && signature->flags & 0x7)
+		{
+		ASN1err(ASN1_F_ASN1_ITEM_VERIFY, ASN1_R_INVALID_BIT_STRING_BITS_LEFT);
+		return -1;
+		}
+
 	EVP_MD_CTX_init(&ctx);
 	i=OBJ_obj2nid(a->algorithm);
 	type=EVP_get_digestbyname(OBJ_nid2sn(i));

Modified: stable/9/crypto/openssl/crypto/asn1/asn1.h
==============================================================================
--- stable/9/crypto/openssl/crypto/asn1/asn1.h	Fri Jan  9 00:58:20 2015	(r276864)
+++ stable/9/crypto/openssl/crypto/asn1/asn1.h	Fri Jan  9 01:11:43 2015	(r276865)
@@ -769,6 +769,7 @@ DECLARE_ASN1_FUNCTIONS_fname(ASN1_TYPE, 
 int ASN1_TYPE_get(ASN1_TYPE *a);
 void ASN1_TYPE_set(ASN1_TYPE *a, int type, void *value);
 int ASN1_TYPE_set1(ASN1_TYPE *a, int type, const void *value);
+int            ASN1_TYPE_cmp(const ASN1_TYPE *a, const ASN1_TYPE *b);
 
 ASN1_OBJECT *	ASN1_OBJECT_new(void );
 void		ASN1_OBJECT_free(ASN1_OBJECT *a);
@@ -1260,6 +1261,7 @@ void ERR_load_ASN1_strings(void);
 #define ASN1_R_ILLEGAL_TIME_VALUE			 184
 #define ASN1_R_INTEGER_NOT_ASCII_FORMAT			 185
 #define ASN1_R_INTEGER_TOO_LARGE_FOR_LONG		 128
+#define ASN1_R_INVALID_BIT_STRING_BITS_LEFT		 220
 #define ASN1_R_INVALID_BMPSTRING_LENGTH			 129
 #define ASN1_R_INVALID_DIGIT				 130
 #define ASN1_R_INVALID_MIME_TYPE			 200
@@ -1308,6 +1310,7 @@ void ERR_load_ASN1_strings(void);
 #define ASN1_R_TIME_NOT_ASCII_FORMAT			 193
 #define ASN1_R_TOO_LONG					 155
 #define ASN1_R_TYPE_NOT_CONSTRUCTED			 156
+#define ASN1_R_TYPE_NOT_PRIMITIVE			 218
 #define ASN1_R_UNABLE_TO_DECODE_RSA_KEY			 157
 #define ASN1_R_UNABLE_TO_DECODE_RSA_PRIVATE_KEY		 158
 #define ASN1_R_UNEXPECTED_EOC				 159

Modified: stable/9/crypto/openssl/crypto/asn1/asn1_err.c
==============================================================================
--- stable/9/crypto/openssl/crypto/asn1/asn1_err.c	Fri Jan  9 00:58:20 2015	(r276864)
+++ stable/9/crypto/openssl/crypto/asn1/asn1_err.c	Fri Jan  9 01:11:43 2015	(r276865)
@@ -1,6 +1,6 @@
 /* crypto/asn1/asn1_err.c */
 /* ====================================================================
- * Copyright (c) 1999-2008 The OpenSSL Project.  All rights reserved.
+ * Copyright (c) 1999-2014 The OpenSSL Project.  All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -235,6 +235,7 @@ static ERR_STRING_DATA ASN1_str_reasons[
 {ERR_REASON(ASN1_R_ILLEGAL_TIME_VALUE)   ,"illegal time value"},
 {ERR_REASON(ASN1_R_INTEGER_NOT_ASCII_FORMAT),"integer not ascii format"},
 {ERR_REASON(ASN1_R_INTEGER_TOO_LARGE_FOR_LONG),"integer too large for long"},
+{ERR_REASON(ASN1_R_INVALID_BIT_STRING_BITS_LEFT),"invalid bit string bits left"},
 {ERR_REASON(ASN1_R_INVALID_BMPSTRING_LENGTH),"invalid bmpstring length"},
 {ERR_REASON(ASN1_R_INVALID_DIGIT)        ,"invalid digit"},
 {ERR_REASON(ASN1_R_INVALID_MIME_TYPE)    ,"invalid mime type"},
@@ -283,6 +284,7 @@ static ERR_STRING_DATA ASN1_str_reasons[
 {ERR_REASON(ASN1_R_TIME_NOT_ASCII_FORMAT),"time not ascii format"},
 {ERR_REASON(ASN1_R_TOO_LONG)             ,"too long"},
 {ERR_REASON(ASN1_R_TYPE_NOT_CONSTRUCTED) ,"type not constructed"},
+{ERR_REASON(ASN1_R_TYPE_NOT_PRIMITIVE)   ,"type not primitive"},
 {ERR_REASON(ASN1_R_UNABLE_TO_DECODE_RSA_KEY),"unable to decode rsa key"},
 {ERR_REASON(ASN1_R_UNABLE_TO_DECODE_RSA_PRIVATE_KEY),"unable to decode rsa private key"},
 {ERR_REASON(ASN1_R_UNEXPECTED_EOC)       ,"unexpected eoc"},

Modified: stable/9/crypto/openssl/crypto/asn1/tasn_dec.c
==============================================================================
--- stable/9/crypto/openssl/crypto/asn1/tasn_dec.c	Fri Jan  9 00:58:20 2015	(r276864)
+++ stable/9/crypto/openssl/crypto/asn1/tasn_dec.c	Fri Jan  9 01:11:43 2015	(r276865)
@@ -866,6 +866,14 @@ static int asn1_d2i_ex_primitive(ASN1_VA
 		}
 	else if (cst)
 		{
+		if (utype == V_ASN1_NULL || utype == V_ASN1_BOOLEAN
+			|| utype == V_ASN1_OBJECT || utype == V_ASN1_INTEGER
+			|| utype == V_ASN1_ENUMERATED)
+			{
+			ASN1err(ASN1_F_ASN1_D2I_EX_PRIMITIVE,
+				ASN1_R_TYPE_NOT_PRIMITIVE);
+			return 0;
+			}
 		buf.length = 0;
 		buf.max = 0;
 		buf.data = NULL;

Modified: stable/9/crypto/openssl/crypto/asn1/x_algor.c
==============================================================================
--- stable/9/crypto/openssl/crypto/asn1/x_algor.c	Fri Jan  9 00:58:20 2015	(r276864)
+++ stable/9/crypto/openssl/crypto/asn1/x_algor.c	Fri Jan  9 01:11:43 2015	(r276865)
@@ -128,3 +128,13 @@ void X509_ALGOR_get0(ASN1_OBJECT **paobj
 		}
 	}
 
+int X509_ALGOR_cmp(const X509_ALGOR *a, const X509_ALGOR *b)
+	{
+	int rv;
+	rv = OBJ_cmp(a->algorithm, b->algorithm);
+	if (rv)
+		return rv;
+	if (!a->parameter && !b->parameter)
+		return 0;
+	return ASN1_TYPE_cmp(a->parameter, b->parameter);
+	}

Modified: stable/9/crypto/openssl/crypto/bn/asm/mips3.s
==============================================================================
--- stable/9/crypto/openssl/crypto/bn/asm/mips3.s	Fri Jan  9 00:58:20 2015	(r276864)
+++ stable/9/crypto/openssl/crypto/bn/asm/mips3.s	Fri Jan  9 01:11:43 2015	(r276865)
@@ -1584,17 +1584,17 @@ LEAF(bn_sqr_comba8)
 	dmultu	a_2,a_0		/* mul_add_c2(a[2],b[0],c3,c1,c2); */
 	mflo	t_1
 	mfhi	t_2
-	slt	c_2,t_2,zero
-	dsll	t_2,1
-	slt	a2,t_1,zero
-	daddu	t_2,a2
-	dsll	t_1,1
 	daddu	c_3,t_1
 	sltu	AT,c_3,t_1
-	daddu	t_2,AT
+	daddu	c_3,t_1
+	daddu	AT,t_2
+	sltu	t_1,c_3,t_1
+	daddu	c_1,AT
+	daddu	t_2,t_1
+	sltu	c_2,c_1,AT
 	daddu	c_1,t_2
-	sltu	AT,c_1,t_2
-	daddu	c_2,AT
+	sltu	t_2,c_1,t_2
+	daddu	c_2,t_2
 	dmultu	a_1,a_1		/* mul_add_c(a[1],b[1],c3,c1,c2); */
 	mflo	t_1
 	mfhi	t_2
@@ -1609,63 +1609,63 @@ LEAF(bn_sqr_comba8)
 	dmultu	a_0,a_3		/* mul_add_c2(a[0],b[3],c1,c2,c3); */
 	mflo	t_1
 	mfhi	t_2
-	slt	c_3,t_2,zero
-	dsll	t_2,1
-	slt	a2,t_1,zero
-	daddu	t_2,a2
-	dsll	t_1,1
 	daddu	c_1,t_1
 	sltu	AT,c_1,t_1
-	daddu	t_2,AT
+	daddu	c_1,t_1
+	daddu	AT,t_2
+	sltu	t_1,c_1,t_1
+	daddu	c_2,AT
+	daddu	t_2,t_1
+	sltu	c_3,c_2,AT
 	daddu	c_2,t_2
-	sltu	AT,c_2,t_2
-	daddu	c_3,AT
+	sltu	t_2,c_2,t_2
+	daddu	c_3,t_2
 	dmultu	a_1,a_2		/* mul_add_c2(a[1],b[2],c1,c2,c3); */
 	mflo	t_1
 	mfhi	t_2
-	slt	AT,t_2,zero
-	daddu	c_3,AT
-	dsll	t_2,1
-	slt	a2,t_1,zero
-	daddu	t_2,a2
-	dsll	t_1,1
 	daddu	c_1,t_1
 	sltu	AT,c_1,t_1
-	daddu	t_2,AT
+	daddu	c_1,t_1
+	daddu	AT,t_2
+	sltu	t_1,c_1,t_1
+	daddu	c_2,AT
+	daddu	t_2,t_1
+	sltu	AT,c_2,AT
 	daddu	c_2,t_2
-	sltu	AT,c_2,t_2
 	daddu	c_3,AT
+	sltu	t_2,c_2,t_2
+	daddu	c_3,t_2
 	sd	c_1,24(a0)
 
 	dmultu	a_4,a_0		/* mul_add_c2(a[4],b[0],c2,c3,c1); */
 	mflo	t_1
 	mfhi	t_2
-	slt	c_1,t_2,zero
-	dsll	t_2,1
-	slt	a2,t_1,zero
-	daddu	t_2,a2
-	dsll	t_1,1
 	daddu	c_2,t_1
 	sltu	AT,c_2,t_1
-	daddu	t_2,AT
+	daddu	c_2,t_1
+	daddu	AT,t_2
+	sltu	t_1,c_2,t_1
+	daddu	c_3,AT
+	daddu	t_2,t_1
+	sltu	c_1,c_3,AT
 	daddu	c_3,t_2
-	sltu	AT,c_3,t_2
-	daddu	c_1,AT
+	sltu	t_2,c_3,t_2
+	daddu	c_1,t_2
 	dmultu	a_3,a_1		/* mul_add_c2(a[3],b[1],c2,c3,c1); */
 	mflo	t_1
 	mfhi	t_2
-	slt	AT,t_2,zero
-	daddu	c_1,AT
-	dsll	t_2,1
-	slt	a2,t_1,zero
-	daddu	t_2,a2
-	dsll	t_1,1
 	daddu	c_2,t_1
 	sltu	AT,c_2,t_1
-	daddu	t_2,AT
+	daddu	c_2,t_1
+	daddu	AT,t_2
+	sltu	t_1,c_2,t_1
+	daddu	c_3,AT
+	daddu	t_2,t_1
+	sltu	AT,c_3,AT
 	daddu	c_3,t_2
-	sltu	AT,c_3,t_2
 	daddu	c_1,AT
+	sltu	t_2,c_3,t_2
+	daddu	c_1,t_2
 	dmultu	a_2,a_2		/* mul_add_c(a[2],b[2],c2,c3,c1); */
 	mflo	t_1
 	mfhi	t_2
@@ -1680,93 +1680,93 @@ LEAF(bn_sqr_comba8)
 	dmultu	a_0,a_5		/* mul_add_c2(a[0],b[5],c3,c1,c2); */
 	mflo	t_1
 	mfhi	t_2
-	slt	c_2,t_2,zero
-	dsll	t_2,1
-	slt	a2,t_1,zero
-	daddu	t_2,a2
-	dsll	t_1,1
 	daddu	c_3,t_1
 	sltu	AT,c_3,t_1
-	daddu	t_2,AT
+	daddu	c_3,t_1
+	daddu	AT,t_2
+	sltu	t_1,c_3,t_1
+	daddu	c_1,AT
+	daddu	t_2,t_1
+	sltu	c_2,c_1,AT
 	daddu	c_1,t_2
-	sltu	AT,c_1,t_2
-	daddu	c_2,AT
+	sltu	t_2,c_1,t_2
+	daddu	c_2,t_2
 	dmultu	a_1,a_4		/* mul_add_c2(a[1],b[4],c3,c1,c2); */
 	mflo	t_1
 	mfhi	t_2
-	slt	AT,t_2,zero
-	daddu	c_2,AT
-	dsll	t_2,1
-	slt	a2,t_1,zero
-	daddu	t_2,a2
-	dsll	t_1,1
 	daddu	c_3,t_1
 	sltu	AT,c_3,t_1
-	daddu	t_2,AT
+	daddu	c_3,t_1
+	daddu	AT,t_2
+	sltu	t_1,c_3,t_1
+	daddu	c_1,AT
+	daddu	t_2,t_1
+	sltu	AT,c_1,AT
 	daddu	c_1,t_2
-	sltu	AT,c_1,t_2
 	daddu	c_2,AT
+	sltu	t_2,c_1,t_2
+	daddu	c_2,t_2
 	dmultu	a_2,a_3		/* mul_add_c2(a[2],b[3],c3,c1,c2); */
 	mflo	t_1
 	mfhi	t_2
-	slt	AT,t_2,zero
-	daddu	c_2,AT
-	dsll	t_2,1
-	slt	a2,t_1,zero
-	daddu	t_2,a2
-	dsll	t_1,1
 	daddu	c_3,t_1
 	sltu	AT,c_3,t_1
-	daddu	t_2,AT
+	daddu	c_3,t_1
+	daddu	AT,t_2
+	sltu	t_1,c_3,t_1
+	daddu	c_1,AT
+	daddu	t_2,t_1
+	sltu	AT,c_1,AT
 	daddu	c_1,t_2
-	sltu	AT,c_1,t_2
 	daddu	c_2,AT
+	sltu	t_2,c_1,t_2
+	daddu	c_2,t_2
 	sd	c_3,40(a0)
 
 	dmultu	a_6,a_0		/* mul_add_c2(a[6],b[0],c1,c2,c3); */
 	mflo	t_1
 	mfhi	t_2
-	slt	c_3,t_2,zero
-	dsll	t_2,1
-	slt	a2,t_1,zero
-	daddu	t_2,a2
-	dsll	t_1,1
 	daddu	c_1,t_1
 	sltu	AT,c_1,t_1
-	daddu	t_2,AT
+	daddu	c_1,t_1
+	daddu	AT,t_2
+	sltu	t_1,c_1,t_1
+	daddu	c_2,AT
+	daddu	t_2,t_1
+	sltu	c_3,c_2,AT
 	daddu	c_2,t_2
-	sltu	AT,c_2,t_2
-	daddu	c_3,AT
+	sltu	t_2,c_2,t_2
+	daddu	c_3,t_2
 	dmultu	a_5,a_1		/* mul_add_c2(a[5],b[1],c1,c2,c3); */
 	mflo	t_1
 	mfhi	t_2
-	slt	AT,t_2,zero
-	daddu	c_3,AT
-	dsll	t_2,1
-	slt	a2,t_1,zero
-	daddu	t_2,a2
-	dsll	t_1,1
 	daddu	c_1,t_1
 	sltu	AT,c_1,t_1
-	daddu	t_2,AT
+	daddu	c_1,t_1
+	daddu	AT,t_2
+	sltu	t_1,c_1,t_1
+	daddu	c_2,AT
+	daddu	t_2,t_1
+	sltu	AT,c_2,AT
 	daddu	c_2,t_2
-	sltu	AT,c_2,t_2
 	daddu	c_3,AT
+	sltu	t_2,c_2,t_2
+	daddu	c_3,t_2
 	dmultu	a_4,a_2		/* mul_add_c2(a[4],b[2],c1,c2,c3); */
 	mflo	t_1
 	mfhi	t_2
-	slt	AT,t_2,zero
-	daddu	c_3,AT
-	dsll	t_2,1
-	slt	a2,t_1,zero
-	daddu	t_2,a2
-	dsll	t_1,1
 	daddu	c_1,t_1
 	sltu	AT,c_1,t_1
-	daddu	t_2,AT
+	daddu	c_1,t_1
+	daddu	AT,t_2
+	sltu	t_1,c_1,t_1
+	daddu	c_2,AT
+	daddu	t_2,t_1
+	sltu	AT,c_2,AT
 	daddu	c_2,t_2
-	sltu	AT,c_2,t_2
 	daddu	c_3,AT
+	sltu	t_2,c_2,t_2
+	daddu	c_3,t_2
 	dmultu	a_3,a_3		/* mul_add_c(a[3],b[3],c1,c2,c3); */
 	mflo	t_1
 	mfhi	t_2
@@ -1781,108 +1781,108 @@ LEAF(bn_sqr_comba8)
 	dmultu	a_0,a_7		/* mul_add_c2(a[0],b[7],c2,c3,c1); */
 	mflo	t_1
 	mfhi	t_2
-	slt	c_1,t_2,zero
-	dsll	t_2,1
-	slt	a2,t_1,zero
-	daddu	t_2,a2
-	dsll	t_1,1
 	daddu	c_2,t_1
 	sltu	AT,c_2,t_1
-	daddu	t_2,AT
+	daddu	c_2,t_1
+	daddu	AT,t_2
+	sltu	t_1,c_2,t_1
+	daddu	c_3,AT
+	daddu	t_2,t_1
+	sltu	c_1,c_3,AT
 	daddu	c_3,t_2
-	sltu	AT,c_3,t_2
-	daddu	c_1,AT
+	sltu	t_2,c_3,t_2
+	daddu	c_1,t_2
 	dmultu	a_1,a_6		/* mul_add_c2(a[1],b[6],c2,c3,c1); */
 	mflo	t_1
 	mfhi	t_2
-	slt	AT,t_2,zero
-	daddu	c_1,AT
-	dsll	t_2,1
-	slt	a2,t_1,zero
-	daddu	t_2,a2
-	dsll	t_1,1
 	daddu	c_2,t_1
 	sltu	AT,c_2,t_1
-	daddu	t_2,AT
+	daddu	c_2,t_1
+	daddu	AT,t_2
+	sltu	t_1,c_2,t_1
+	daddu	c_3,AT
+	daddu	t_2,t_1
+	sltu	AT,c_3,AT
 	daddu	c_3,t_2
-	sltu	AT,c_3,t_2
 	daddu	c_1,AT
+	sltu	t_2,c_3,t_2
+	daddu	c_1,t_2
 	dmultu	a_2,a_5		/* mul_add_c2(a[2],b[5],c2,c3,c1); */
 	mflo	t_1
 	mfhi	t_2
-	slt	AT,t_2,zero
-	daddu	c_1,AT
-	dsll	t_2,1
-	slt	a2,t_1,zero
-	daddu	t_2,a2
-	dsll	t_1,1
 	daddu	c_2,t_1
 	sltu	AT,c_2,t_1
-	daddu	t_2,AT
+	daddu	c_2,t_1
+	daddu	AT,t_2
+	sltu	t_1,c_2,t_1
+	daddu	c_3,AT
+	daddu	t_2,t_1
+	sltu	AT,c_3,AT
 	daddu	c_3,t_2
-	sltu	AT,c_3,t_2
 	daddu	c_1,AT
+	sltu	t_2,c_3,t_2
+	daddu	c_1,t_2
 	dmultu	a_3,a_4		/* mul_add_c2(a[3],b[4],c2,c3,c1); */
 	mflo	t_1
 	mfhi	t_2
-	slt	AT,t_2,zero
-	daddu	c_1,AT
-	dsll	t_2,1
-	slt	a2,t_1,zero
-	daddu	t_2,a2
-	dsll	t_1,1
 	daddu	c_2,t_1
 	sltu	AT,c_2,t_1
-	daddu	t_2,AT
+	daddu	c_2,t_1
+	daddu	AT,t_2
+	sltu	t_1,c_2,t_1
+	daddu	c_3,AT
+	daddu	t_2,t_1
+	sltu	AT,c_3,AT
 	daddu	c_3,t_2
-	sltu	AT,c_3,t_2
 	daddu	c_1,AT
+	sltu	t_2,c_3,t_2
+	daddu	c_1,t_2
 	sd	c_2,56(a0)
 
 	dmultu	a_7,a_1		/* mul_add_c2(a[7],b[1],c3,c1,c2); */
 	mflo	t_1
 	mfhi	t_2
-	slt	c_2,t_2,zero
-	dsll	t_2,1
-	slt	a2,t_1,zero
-	daddu	t_2,a2
-	dsll	t_1,1
 	daddu	c_3,t_1
 	sltu	AT,c_3,t_1
-	daddu	t_2,AT
+	daddu	c_3,t_1
+	daddu	AT,t_2
+	sltu	t_1,c_3,t_1
+	daddu	c_1,AT
+	daddu	t_2,t_1
+	sltu	c_2,c_1,AT
 	daddu	c_1,t_2
-	sltu	AT,c_1,t_2
-	daddu	c_2,AT
+	sltu	t_2,c_1,t_2
+	daddu	c_2,t_2
 	dmultu	a_6,a_2		/* mul_add_c2(a[6],b[2],c3,c1,c2); */
 	mflo	t_1
 	mfhi	t_2
-	slt	AT,t_2,zero
-	daddu	c_2,AT
-	dsll	t_2,1
-	slt	a2,t_1,zero
-	daddu	t_2,a2
-	dsll	t_1,1
 	daddu	c_3,t_1
 	sltu	AT,c_3,t_1
-	daddu	t_2,AT
+	daddu	c_3,t_1
+	daddu	AT,t_2
+	sltu	t_1,c_3,t_1
+	daddu	c_1,AT
+	daddu	t_2,t_1
+	sltu	AT,c_1,AT
 	daddu	c_1,t_2
-	sltu	AT,c_1,t_2
 	daddu	c_2,AT
+	sltu	t_2,c_1,t_2
+	daddu	c_2,t_2
 	dmultu	a_5,a_3		/* mul_add_c2(a[5],b[3],c3,c1,c2); */
 	mflo	t_1
 	mfhi	t_2
-	slt	AT,t_2,zero
-	daddu	c_2,AT
-	dsll	t_2,1
-	slt	a2,t_1,zero
-	daddu	t_2,a2
-	dsll	t_1,1
 	daddu	c_3,t_1
 	sltu	AT,c_3,t_1
-	daddu	t_2,AT
+	daddu	c_3,t_1
+	daddu	AT,t_2
+	sltu	t_1,c_3,t_1
+	daddu	c_1,AT
+	daddu	t_2,t_1
+	sltu	AT,c_1,AT
 	daddu	c_1,t_2
-	sltu	AT,c_1,t_2
 	daddu	c_2,AT
+	sltu	t_2,c_1,t_2
+	daddu	c_2,t_2
 	dmultu	a_4,a_4		/* mul_add_c(a[4],b[4],c3,c1,c2); */
 	mflo	t_1
 	mfhi	t_2
@@ -1897,78 +1897,78 @@ LEAF(bn_sqr_comba8)
 	dmultu	a_2,a_7		/* mul_add_c2(a[2],b[7],c1,c2,c3); */
 	mflo	t_1
 	mfhi	t_2
-	slt	c_3,t_2,zero
-	dsll	t_2,1
-	slt	a2,t_1,zero
-	daddu	t_2,a2
-	dsll	t_1,1
 	daddu	c_1,t_1
 	sltu	AT,c_1,t_1
-	daddu	t_2,AT
+	daddu	c_1,t_1
+	daddu	AT,t_2
+	sltu	t_1,c_1,t_1
+	daddu	c_2,AT
+	daddu	t_2,t_1
+	sltu	c_3,c_2,AT
 	daddu	c_2,t_2
-	sltu	AT,c_2,t_2
-	daddu	c_3,AT
+	sltu	t_2,c_2,t_2
+	daddu	c_3,t_2
 	dmultu	a_3,a_6		/* mul_add_c2(a[3],b[6],c1,c2,c3); */
 	mflo	t_1
 	mfhi	t_2
-	slt	AT,t_2,zero
-	daddu	c_3,AT
-	dsll	t_2,1
-	slt	a2,t_1,zero
-	daddu	t_2,a2
-	dsll	t_1,1
 	daddu	c_1,t_1
 	sltu	AT,c_1,t_1
-	daddu	t_2,AT
+	daddu	c_1,t_1
+	daddu	AT,t_2
+	sltu	t_1,c_1,t_1
+	daddu	c_2,AT
+	daddu	t_2,t_1
+	sltu	AT,c_2,AT
 	daddu	c_2,t_2
-	sltu	AT,c_2,t_2
 	daddu	c_3,AT
+	sltu	t_2,c_2,t_2
+	daddu	c_3,t_2
 	dmultu	a_4,a_5		/* mul_add_c2(a[4],b[5],c1,c2,c3); */
 	mflo	t_1
 	mfhi	t_2
-	slt	AT,t_2,zero
-	daddu	c_3,AT
-	dsll	t_2,1
-	slt	a2,t_1,zero
-	daddu	t_2,a2
-	dsll	t_1,1
 	daddu	c_1,t_1
 	sltu	AT,c_1,t_1
-	daddu	t_2,AT
+	daddu	c_1,t_1
+	daddu	AT,t_2
+	sltu	t_1,c_1,t_1
+	daddu	c_2,AT
+	daddu	t_2,t_1
+	sltu	AT,c_2,AT
 	daddu	c_2,t_2
-	sltu	AT,c_2,t_2
 	daddu	c_3,AT
+	sltu	t_2,c_2,t_2
+	daddu	c_3,t_2
 	sd	c_1,72(a0)
 
 	dmultu	a_7,a_3		/* mul_add_c2(a[7],b[3],c2,c3,c1); */
 	mflo	t_1
 	mfhi	t_2
-	slt	c_1,t_2,zero
-	dsll	t_2,1
-	slt	a2,t_1,zero
-	daddu	t_2,a2
-	dsll	t_1,1
 	daddu	c_2,t_1
 	sltu	AT,c_2,t_1
-	daddu	t_2,AT
+	daddu	c_2,t_1
+	daddu	AT,t_2
+	sltu	t_1,c_2,t_1
+	daddu	c_3,AT
+	daddu	t_2,t_1
+	sltu	c_1,c_3,AT
 	daddu	c_3,t_2
-	sltu	AT,c_3,t_2
-	daddu	c_1,AT
+	sltu	t_2,c_3,t_2
+	daddu	c_1,t_2
 	dmultu	a_6,a_4		/* mul_add_c2(a[6],b[4],c2,c3,c1); */
 	mflo	t_1
 	mfhi	t_2
-	slt	AT,t_2,zero
-	daddu	c_1,AT
-	dsll	t_2,1
-	slt	a2,t_1,zero
-	daddu	t_2,a2
-	dsll	t_1,1
 	daddu	c_2,t_1
 	sltu	AT,c_2,t_1
-	daddu	t_2,AT
+	daddu	c_2,t_1
+	daddu	AT,t_2
+	sltu	t_1,c_2,t_1
+	daddu	c_3,AT
+	daddu	t_2,t_1
+	sltu	AT,c_3,AT
 	daddu	c_3,t_2
-	sltu	AT,c_3,t_2
 	daddu	c_1,AT
+	sltu	t_2,c_3,t_2
+	daddu	c_1,t_2
 	dmultu	a_5,a_5		/* mul_add_c(a[5],b[5],c2,c3,c1); */
 	mflo	t_1
 	mfhi	t_2
@@ -1983,48 +1983,48 @@ LEAF(bn_sqr_comba8)
 	dmultu	a_4,a_7		/* mul_add_c2(a[4],b[7],c3,c1,c2); */
 	mflo	t_1
 	mfhi	t_2
-	slt	c_2,t_2,zero
-	dsll	t_2,1
-	slt	a2,t_1,zero
-	daddu	t_2,a2
-	dsll	t_1,1
 	daddu	c_3,t_1
 	sltu	AT,c_3,t_1
-	daddu	t_2,AT
+	daddu	c_3,t_1
+	daddu	AT,t_2
+	sltu	t_1,c_3,t_1
+	daddu	c_1,AT
+	daddu	t_2,t_1
+	sltu	c_2,c_1,AT
 	daddu	c_1,t_2
-	sltu	AT,c_1,t_2
-	daddu	c_2,AT
+	sltu	t_2,c_1,t_2
+	daddu	c_2,t_2
 	dmultu	a_5,a_6		/* mul_add_c2(a[5],b[6],c3,c1,c2); */
 	mflo	t_1
 	mfhi	t_2
-	slt	AT,t_2,zero
-	daddu	c_2,AT
-	dsll	t_2,1
-	slt	a2,t_1,zero
-	daddu	t_2,a2
-	dsll	t_1,1
 	daddu	c_3,t_1
 	sltu	AT,c_3,t_1
-	daddu	t_2,AT
+	daddu	c_3,t_1
+	daddu	AT,t_2
+	sltu	t_1,c_3,t_1
+	daddu	c_1,AT
+	daddu	t_2,t_1
+	sltu	AT,c_1,AT
 	daddu	c_1,t_2
-	sltu	AT,c_1,t_2
 	daddu	c_2,AT
+	sltu	t_2,c_1,t_2
+	daddu	c_2,t_2
 	sd	c_3,88(a0)
 
 	dmultu	a_7,a_5		/* mul_add_c2(a[7],b[5],c1,c2,c3); */
 	mflo	t_1
 	mfhi	t_2
-	slt	c_3,t_2,zero
-	dsll	t_2,1
-	slt	a2,t_1,zero
-	daddu	t_2,a2
-	dsll	t_1,1
 	daddu	c_1,t_1
 	sltu	AT,c_1,t_1
-	daddu	t_2,AT
+	daddu	c_1,t_1
+	daddu	AT,t_2
+	sltu	t_1,c_1,t_1
+	daddu	c_2,AT
+	daddu	t_2,t_1
+	sltu	c_3,c_2,AT
 	daddu	c_2,t_2
-	sltu	AT,c_2,t_2
-	daddu	c_3,AT
+	sltu	t_2,c_2,t_2
+	daddu	c_3,t_2
 	dmultu	a_6,a_6		/* mul_add_c(a[6],b[6],c1,c2,c3); */
 	mflo	t_1
 	mfhi	t_2
@@ -2039,17 +2039,17 @@ LEAF(bn_sqr_comba8)
 	dmultu	a_6,a_7		/* mul_add_c2(a[6],b[7],c2,c3,c1); */
 	mflo	t_1
 	mfhi	t_2
-	slt	c_1,t_2,zero
-	dsll	t_2,1
-	slt	a2,t_1,zero
-	daddu	t_2,a2
-	dsll	t_1,1
 	daddu	c_2,t_1
 	sltu	AT,c_2,t_1
-	daddu	t_2,AT
+	daddu	c_2,t_1
+	daddu	AT,t_2
+	sltu	t_1,c_2,t_1
+	daddu	c_3,AT
+	daddu	t_2,t_1
+	sltu	c_1,c_3,AT
 	daddu	c_3,t_2
-	sltu	AT,c_3,t_2
-	daddu	c_1,AT
+	sltu	t_2,c_3,t_2
+	daddu	c_1,t_2
 	sd	c_2,104(a0)
 
 	dmultu	a_7,a_7		/* mul_add_c(a[7],b[7],c3,c1,c2); */
@@ -2070,9 +2070,9 @@ LEAF(bn_sqr_comba4)
 	.set	reorder
 	ld	a_0,0(a1)
 	ld	a_1,8(a1)
+	dmultu	a_0,a_0		/* mul_add_c(a[0],b[0],c1,c2,c3); */
 	ld	a_2,16(a1)
 	ld	a_3,24(a1)
-	dmultu	a_0,a_0		/* mul_add_c(a[0],b[0],c1,c2,c3); */
 	mflo	c_1
 	mfhi	c_2
 	sd	c_1,0(a0)
@@ -2093,17 +2093,17 @@ LEAF(bn_sqr_comba4)
 	dmultu	a_2,a_0		/* mul_add_c2(a[2],b[0],c3,c1,c2); */
 	mflo	t_1
 	mfhi	t_2
-	slt	c_2,t_2,zero
-	dsll	t_2,1
-	slt	a2,t_1,zero
-	daddu	t_2,a2
-	dsll	t_1,1
 	daddu	c_3,t_1
 	sltu	AT,c_3,t_1
-	daddu	t_2,AT
+	daddu	c_3,t_1
+	daddu	AT,t_2
+	sltu	t_1,c_3,t_1

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***


More information about the svn-src-stable-9 mailing list