Name: openssl
URL: http://openssl.org/source/
Version: 1.0.0f
License: BSDish
License File: openssl/LICENSE

Description:
This is OpenSSL, the standard SSL/TLS library, which is used only in Android.

It's an unmodified, upstream source except for the patches listed below.


********************************************************************************
The following patches are taken from Android Open Source Project.


progs.patch:

Fixup sources under the apps/ directory that are not built under the android environment.


small_records.patch:

Reduce OpenSSL memory consumption.
SSL records may be as large as 16K, but are typically < 2K.  In
addition, a historic bug in Windows allowed records to be as large
32K.  OpenSSL statically allocates read and write buffers (34K and
18K respectively) used for processing records.
With this patch, OpenSSL statically allocates 4K + 4K buffers, with
the option of dynamically growing buffers to 34K + 4K, which is a
saving of 44K per connection for the typical case.


handshake_cutthrough.patch

Enables SSL3+ clients to send application data immediately following the
Finished message even when negotiating full-handshakes.  With this patch,
clients can negotiate SSL connections in 1-RTT even when performing
full-handshakes.


jsse.patch

Support for JSSE implementation based on OpenSSL.


npn.patch

Transport Layer Security (TLS) Next Protocol Negotiation Extension


sha1_armv4_large.patch

This patch eliminates memory stores to addresses below SP.


openssl_no_dtls1.patch

Add missing #ifndef OPENSSL_NO_DTLS1


********************************************************************************
The following patches are needed to compile this openssl on Chromium and pass
the related net unit tests.


empty_OPENSSL_cpuid_setup.patch

Use a empty implementation for function OPENSSL_cpuid_setup to resolve link
error. We should figure out how to geenrate platform specific implementation
of OPENSSL_cpuid_setup by leveraging crypto/*cpuid.pl.


x509_hash_name_algorithm_change.patch

There are many symbolic links under /etc/ssl/certs created by using hash of
the pem certificates in order for OpenSSL to find those certificate.
Openssl has a tool to help you create hash symbolic links. (See tools/c_rehash)
However the new openssl changed the hash algorithm, Unless you compile/install
the latest openssl library and re-create all related symbolic links, the new
openssl can not find some certificates because the links of those certificates
were created by using old hash algorithm, which causes some tests failed.
This patch gives a way to find a certificate according to its hash by using both
new algorithm and old algorithm.
crbug.com/111045 is used to track this issue.


tls_exporter.patch

Keying Material Exporters for Transport Layer Security (RFC 5705).


Android platform support

Copy config/android/openssl/opensslconf.h from Android's
external/openssl/include/openssl/opensslconf.h
