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.

sha1_armv4_large.patch

This patch eliminates memory stores to addresses below SP.


mips_private.patch:

Fix duplicate defines of labels AES_set_encrypt_key and AES_set_decrypt_key
by prefixing Mips version with private_ .
Revise import script to generate o32-abi .s files for Mips.
