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 ***
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to