Showing with 2,413 additions and 935 deletions.
  1. +77 −0 deps/openssl/openssl/CHANGES
  2. +5 −5 deps/openssl/openssl/Configure
  3. +9 −19 deps/openssl/openssl/Makefile
  4. +9 −19 deps/openssl/openssl/Makefile.bak
  5. +8 −18 deps/openssl/openssl/Makefile.org
  6. +12 −0 deps/openssl/openssl/NEWS
  7. +1 −1 deps/openssl/openssl/README
  8. +11 −8 deps/openssl/openssl/apps/Makefile
  9. +4 −2 deps/openssl/openssl/apps/apps.c
  10. +1 −1 deps/openssl/openssl/apps/asn1pars.c
  11. +5 −5 deps/openssl/openssl/apps/ca.c
  12. +2 −0 deps/openssl/openssl/apps/cms.c
  13. +2 −2 deps/openssl/openssl/apps/dhparam.c
  14. +9 −4 deps/openssl/openssl/apps/enc.c
  15. +1 −1 deps/openssl/openssl/apps/gendh.c
  16. +2 −0 deps/openssl/openssl/apps/ocsp.c
  17. +2 −1 deps/openssl/openssl/apps/s_cb.c
  18. +8 −7 deps/openssl/openssl/apps/s_client.c
  19. +50 −23 deps/openssl/openssl/apps/s_server.c
  20. +1 −1 deps/openssl/openssl/apps/s_time.c
  21. +2 −0 deps/openssl/openssl/apps/smime.c
  22. +2 −2 deps/openssl/openssl/apps/srp.c
  23. +1 −1 deps/openssl/openssl/apps/verify.c
  24. +8 −3 deps/openssl/openssl/crypto/Makefile
  25. +2 −0 deps/openssl/openssl/crypto/aes/Makefile
  26. +2 −0 deps/openssl/openssl/crypto/asn1/Makefile
  27. +4 −2 deps/openssl/openssl/crypto/asn1/a_int.c
  28. +31 −9 deps/openssl/openssl/crypto/asn1/asn1_gen.c
  29. +2 −1 deps/openssl/openssl/crypto/asn1/asn_mime.c
  30. +2 −2 deps/openssl/openssl/crypto/asn1/bio_ndef.c
  31. +0 −3 deps/openssl/openssl/crypto/asn1/tasn_new.c
  32. +1 −1 deps/openssl/openssl/crypto/asn1/tasn_prn.c
  33. +2 −2 deps/openssl/openssl/crypto/asn1/x_x509.c
  34. +2 −0 deps/openssl/openssl/crypto/bf/Makefile
  35. +2 −0 deps/openssl/openssl/crypto/bio/Makefile
  36. +21 −24 deps/openssl/openssl/crypto/bio/b_print.c
  37. +4 −2 deps/openssl/openssl/crypto/bio/bf_nbio.c
  38. +5 −3 deps/openssl/openssl/crypto/bio/bio_lib.c
  39. +11 −10 deps/openssl/openssl/crypto/bio/bss_dgram.c
  40. +2 −0 deps/openssl/openssl/crypto/bn/Makefile
  41. +5 −0 deps/openssl/openssl/crypto/bn/bn.h
  42. +5 −1 deps/openssl/openssl/crypto/bn/bn_err.c
  43. +10 −5 deps/openssl/openssl/crypto/bn/bn_gf2m.c
  44. +1 −1 deps/openssl/openssl/crypto/bn/bn_lcl.h
  45. +6 −1 deps/openssl/openssl/crypto/bn/bn_print.c
  46. +8 −2 deps/openssl/openssl/crypto/bn/bn_rand.c
  47. +10 −0 deps/openssl/openssl/crypto/bn/bn_shift.c
  48. +2 −0 deps/openssl/openssl/crypto/buffer/Makefile
  49. +1 −1 deps/openssl/openssl/crypto/buffer/buffer.c
  50. +2 −0 deps/openssl/openssl/crypto/camellia/Makefile
  51. +2 −0 deps/openssl/openssl/crypto/cast/Makefile
  52. +2 −0 deps/openssl/openssl/crypto/cmac/Makefile
  53. +2 −0 deps/openssl/openssl/crypto/cmac/cmac.c
  54. +2 −0 deps/openssl/openssl/crypto/cms/Makefile
  55. +4 −3 deps/openssl/openssl/crypto/cms/cms_pwri.c
  56. +1 −1 deps/openssl/openssl/crypto/cms/cms_smime.c
  57. +2 −0 deps/openssl/openssl/crypto/comp/Makefile
  58. +2 −0 deps/openssl/openssl/crypto/conf/Makefile
  59. +0 −2 deps/openssl/openssl/crypto/cryptlib.c
  60. +2 −0 deps/openssl/openssl/crypto/des/Makefile
  61. +4 −2 deps/openssl/openssl/crypto/des/des.c
  62. +6 −1 deps/openssl/openssl/crypto/des/enc_writ.c
  63. +2 −0 deps/openssl/openssl/crypto/dh/Makefile
  64. +1 −1 deps/openssl/openssl/crypto/dh/dh_ameth.c
  65. +2 −0 deps/openssl/openssl/crypto/dsa/Makefile
  66. +2 −1 deps/openssl/openssl/crypto/dsa/dsa_gen.c
  67. +4 −4 deps/openssl/openssl/crypto/dsa/dsa_ossl.c
  68. +2 −0 deps/openssl/openssl/crypto/dso/Makefile
  69. +1 −1 deps/openssl/openssl/crypto/dso/dso_lib.c
  70. +1 −1 deps/openssl/openssl/crypto/dso/dso_vms.c
  71. +2 −0 deps/openssl/openssl/crypto/ec/Makefile
  72. +1 −1 deps/openssl/openssl/crypto/ec/ec2_oct.c
  73. +17 −3 deps/openssl/openssl/crypto/ec/ec_asn1.c
  74. +1 −1 deps/openssl/openssl/crypto/ec/ec_check.c
  75. +1 −1 deps/openssl/openssl/crypto/ec/ec_key.c
  76. +0 −8 deps/openssl/openssl/crypto/ec/ec_lcl.h
  77. +7 −0 deps/openssl/openssl/crypto/ec/ec_lib.c
  78. +3 −1 deps/openssl/openssl/crypto/ec/eck_prn.c
  79. +1 −1 deps/openssl/openssl/crypto/ec/ecp_oct.c
  80. +12 −12 deps/openssl/openssl/crypto/ec/ectest.c
  81. +2 −0 deps/openssl/openssl/crypto/ecdh/Makefile
  82. +2 −0 deps/openssl/openssl/crypto/ecdsa/Makefile
  83. +2 −2 deps/openssl/openssl/crypto/ecdsa/ecdsatest.c
  84. +2 −0 deps/openssl/openssl/crypto/engine/Makefile
  85. +4 −2 deps/openssl/openssl/crypto/engine/eng_table.c
  86. +2 −0 deps/openssl/openssl/crypto/err/Makefile
  87. +2 −0 deps/openssl/openssl/crypto/evp/Makefile
  88. +2 −1 deps/openssl/openssl/crypto/evp/bio_ok.c
  89. +4 −3 deps/openssl/openssl/crypto/evp/e_aes.c
  90. +6 −3 deps/openssl/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c
  91. +8 −2 deps/openssl/openssl/crypto/evp/e_rc4_hmac_md5.c
  92. +1 −1 deps/openssl/openssl/crypto/evp/encode.c
  93. +3 −1 deps/openssl/openssl/crypto/evp/evp.h
  94. +3 −2 deps/openssl/openssl/crypto/evp/p_seal.c
  95. +2 −0 deps/openssl/openssl/crypto/hmac/Makefile
  96. +17 −2 deps/openssl/openssl/crypto/hmac/hmac.c
  97. +172 −7 deps/openssl/openssl/crypto/hmac/hmactest.c
  98. +2 −0 deps/openssl/openssl/crypto/idea/Makefile
  99. +2 −0 deps/openssl/openssl/crypto/jpake/Makefile
  100. +2 −0 deps/openssl/openssl/crypto/krb5/Makefile
  101. +2 −0 deps/openssl/openssl/crypto/lhash/Makefile
  102. +2 −0 deps/openssl/openssl/crypto/md2/Makefile
  103. +3 −1 deps/openssl/openssl/crypto/md32_common.h
  104. +2 −0 deps/openssl/openssl/crypto/md4/Makefile
  105. +2 −0 deps/openssl/openssl/crypto/md5/Makefile
  106. +2 −0 deps/openssl/openssl/crypto/mdc2/Makefile
  107. +3 −0 deps/openssl/openssl/crypto/mem.c
  108. +2 −0 deps/openssl/openssl/crypto/modes/Makefile
  109. +1 −1 deps/openssl/openssl/crypto/modes/gcm128.c
  110. +2 −0 deps/openssl/openssl/crypto/objects/Makefile
  111. +1 −1 deps/openssl/openssl/crypto/objects/o_names.c
  112. +6 −1 deps/openssl/openssl/crypto/objects/obj_dat.c
  113. +4 −4 deps/openssl/openssl/crypto/objects/objects.README
  114. +1 −1 deps/openssl/openssl/crypto/objects/objects.pl
  115. +2 −0 deps/openssl/openssl/crypto/ocsp/Makefile
  116. +2 −2 deps/openssl/openssl/crypto/ocsp/ocsp_ext.c
  117. +17 −4 deps/openssl/openssl/crypto/ocsp/ocsp_vfy.c
  118. +3 −3 deps/openssl/openssl/crypto/opensslv.h
  119. +2 −0 deps/openssl/openssl/crypto/pem/Makefile
  120. +1 −1 deps/openssl/openssl/crypto/pem/pem_lib.c
  121. +2 −0 deps/openssl/openssl/crypto/pem/pem_pk8.c
  122. +2 −0 deps/openssl/openssl/crypto/pkcs12/Makefile
  123. +2 −1 deps/openssl/openssl/crypto/pkcs12/p12_mutl.c
  124. +2 −0 deps/openssl/openssl/crypto/pkcs7/Makefile
  125. +15 −1 deps/openssl/openssl/crypto/pkcs7/pk7_doit.c
  126. +2 −0 deps/openssl/openssl/crypto/pqueue/Makefile
  127. +2 −0 deps/openssl/openssl/crypto/rand/Makefile
  128. +1 −1 deps/openssl/openssl/crypto/rand/rand_os2.c
  129. +2 −0 deps/openssl/openssl/crypto/rc2/Makefile
  130. +2 −0 deps/openssl/openssl/crypto/rc4/Makefile
  131. +2 −0 deps/openssl/openssl/crypto/rc5/Makefile
  132. +2 −0 deps/openssl/openssl/crypto/ripemd/Makefile
  133. +2 −0 deps/openssl/openssl/crypto/rsa/Makefile
  134. +7 −1 deps/openssl/openssl/crypto/rsa/rsa_pmeth.c
  135. +2 −0 deps/openssl/openssl/crypto/seed/Makefile
  136. +2 −0 deps/openssl/openssl/crypto/sha/Makefile
  137. +2 −0 deps/openssl/openssl/crypto/srp/Makefile
  138. +6 −3 deps/openssl/openssl/crypto/srp/srp_vfy.c
  139. +2 −0 deps/openssl/openssl/crypto/stack/Makefile
  140. +2 −0 deps/openssl/openssl/crypto/store/Makefile
  141. +6 −6 deps/openssl/openssl/crypto/threads/th-lock.c
  142. +2 −0 deps/openssl/openssl/crypto/ts/Makefile
  143. +2 −0 deps/openssl/openssl/crypto/txt_db/Makefile
  144. +2 −0 deps/openssl/openssl/crypto/ui/Makefile
  145. +2 −0 deps/openssl/openssl/crypto/whrlpool/Makefile
  146. +2 −0 deps/openssl/openssl/crypto/x509/Makefile
  147. +2 −0 deps/openssl/openssl/crypto/x509/x509_lu.c
  148. +149 −77 deps/openssl/openssl/crypto/x509/x509_vfy.c
  149. +6 −0 deps/openssl/openssl/crypto/x509/x509_vfy.h
  150. +2 −0 deps/openssl/openssl/crypto/x509/x509_vpm.c
  151. +0 −3 deps/openssl/openssl/crypto/x509/x509type.c
  152. +2 −0 deps/openssl/openssl/crypto/x509v3/Makefile
  153. +10 −8 deps/openssl/openssl/crypto/x509v3/v3_alt.c
  154. +4 −4 deps/openssl/openssl/crypto/x509v3/v3_cpols.c
  155. +4 −0 deps/openssl/openssl/crypto/x509v3/v3_utl.c
  156. +2 −1 deps/openssl/openssl/demos/easy_tls/easy-tls.c
  157. +4 −1 deps/openssl/openssl/doc/apps/cms.pod
  158. +53 −0 deps/openssl/openssl/doc/apps/config.pod
  159. +8 −5 deps/openssl/openssl/doc/apps/dhparam.pod
  160. +11 −0 deps/openssl/openssl/doc/apps/ocsp.pod
  161. +6 −1 deps/openssl/openssl/doc/apps/s_client.pod
  162. +9 −0 deps/openssl/openssl/doc/apps/s_server.pod
  163. +3 −1 deps/openssl/openssl/doc/apps/smime.pod
  164. +13 −0 deps/openssl/openssl/doc/apps/verify.pod
  165. +2 −1 deps/openssl/openssl/doc/crypto/BN_rand.pod
  166. +4 −4 deps/openssl/openssl/doc/crypto/BN_set_bit.pod
  167. +7 −1 deps/openssl/openssl/doc/crypto/X509_VERIFY_PARAM_set_flags.pod
  168. +25 −2 deps/openssl/openssl/doc/crypto/pem.pod
  169. +43 −63 deps/openssl/openssl/doc/ssl/SSL_CTX_set_tmp_dh_callback.pod
  170. +7 −1 deps/openssl/openssl/e_os2.h
  171. +8 −5 deps/openssl/openssl/engines/Makefile
  172. +10 −8 deps/openssl/openssl/engines/ccgost/Makefile
  173. +2 −1 deps/openssl/openssl/engines/ccgost/e_gost_err.c
  174. +1 −0 deps/openssl/openssl/engines/ccgost/e_gost_err.h
  175. +178 −51 deps/openssl/openssl/engines/ccgost/gost2001.c
  176. +4 −2 deps/openssl/openssl/engines/ccgost/gost94_keyx.c
  177. +31 −5 deps/openssl/openssl/engines/ccgost/gost_ameth.c
  178. +1 −1 deps/openssl/openssl/engines/ccgost/gost_pmeth.c
  179. +70 −17 deps/openssl/openssl/engines/ccgost/gost_sign.c
  180. +16 −11 deps/openssl/openssl/engines/e_sureware.c
  181. +1 −1 deps/openssl/openssl/openssl.spec
  182. +28 −26 deps/openssl/openssl/ssl/Makefile
  183. +34 −12 deps/openssl/openssl/ssl/d1_both.c
  184. +10 −0 deps/openssl/openssl/ssl/d1_clnt.c
  185. +3 −0 deps/openssl/openssl/ssl/d1_lib.c
  186. +1 −1 deps/openssl/openssl/ssl/d1_pkt.c
  187. +13 −15 deps/openssl/openssl/ssl/d1_srvr.c
  188. +14 −0 deps/openssl/openssl/ssl/s2_pkt.c
  189. +51 −53 deps/openssl/openssl/ssl/s2_srvr.c
  190. +1 −1 deps/openssl/openssl/ssl/s3_both.c
  191. +13 −3 deps/openssl/openssl/ssl/s3_cbc.c
  192. +233 −40 deps/openssl/openssl/ssl/s3_clnt.c
  193. +12 −1 deps/openssl/openssl/ssl/s3_pkt.c
  194. +153 −77 deps/openssl/openssl/ssl/s3_srvr.c
  195. +4 −0 deps/openssl/openssl/ssl/ssl.h
  196. +3 −0 deps/openssl/openssl/ssl/ssl_err.c
  197. +6 −2 deps/openssl/openssl/ssl/ssl_lib.c
  198. +1 −0 deps/openssl/openssl/ssl/ssl_locl.h
  199. +130 −1 deps/openssl/openssl/ssl/ssl_sess.c
  200. +6 −0 deps/openssl/openssl/ssl/ssl_stat.c
  201. +11 −9 deps/openssl/openssl/ssl/ssltest.c
  202. +6 −3 deps/openssl/openssl/ssl/t1_enc.c
  203. +77 −97 deps/openssl/openssl/ssl/t1_lib.c
  204. +2 −1 deps/openssl/openssl/ssl/tls_srp.c
  205. +9 −8 deps/openssl/openssl/test/Makefile
  206. +34 −4 deps/openssl/openssl/test/testssl
  207. +2 −0 deps/openssl/openssl/tools/Makefile
  208. +1 −1 deps/openssl/openssl/util/mk1mf.pl
  209. +14 −7 deps/openssl/openssl/util/mkerr.pl
  210. +1 −1 deps/openssl/openssl/util/pl/BC-32.pl
  211. +1 −1 deps/openssl/openssl/util/pl/VC-32.pl
@@ -2,6 +2,83 @@
OpenSSL CHANGES
_______________

Changes between 1.0.1n and 1.0.1o [12 Jun 2015]

*) Fix HMAC ABI incompatibility. The previous version introduced an ABI
incompatibility in the handling of HMAC. The previous ABI has now been
restored.

Changes between 1.0.1m and 1.0.1n [11 Jun 2015]

*) Malformed ECParameters causes infinite loop

When processing an ECParameters structure OpenSSL enters an infinite loop
if the curve specified is over a specially malformed binary polynomial
field.

This can be used to perform denial of service against any
system which processes public keys, certificate requests or
certificates. This includes TLS clients and TLS servers with
client authentication enabled.

This issue was reported to OpenSSL by Joseph Barr-Pixton.
(CVE-2015-1788)
[Andy Polyakov]

*) Exploitable out-of-bounds read in X509_cmp_time

X509_cmp_time does not properly check the length of the ASN1_TIME
string and can read a few bytes out of bounds. In addition,
X509_cmp_time accepts an arbitrary number of fractional seconds in the
time string.

An attacker can use this to craft malformed certificates and CRLs of
various sizes and potentially cause a segmentation fault, resulting in
a DoS on applications that verify certificates or CRLs. TLS clients
that verify CRLs are affected. TLS clients and servers with client
authentication enabled may be affected if they use custom verification
callbacks.

This issue was reported to OpenSSL by Robert Swiecki (Google), and
independently by Hanno B�ck.
(CVE-2015-1789)
[Emilia K�sper]

*) PKCS7 crash with missing EnvelopedContent

The PKCS#7 parsing code does not handle missing inner EncryptedContent
correctly. An attacker can craft malformed ASN.1-encoded PKCS#7 blobs
with missing content and trigger a NULL pointer dereference on parsing.

Applications that decrypt PKCS#7 data or otherwise parse PKCS#7
structures from untrusted sources are affected. OpenSSL clients and
servers are not affected.

This issue was reported to OpenSSL by Michal Zalewski (Google).
(CVE-2015-1790)
[Emilia K�sper]

*) CMS verify infinite loop with unknown hash function

When verifying a signedData message the CMS code can enter an infinite loop
if presented with an unknown hash function OID. This can be used to perform
denial of service against any system which verifies signedData messages using
the CMS code.
This issue was reported to OpenSSL by Johannes Bauer.
(CVE-2015-1792)
[Stephen Henson]

*) Race condition handling NewSessionTicket

If a NewSessionTicket is received by a multi-threaded client when attempting to
reuse a previous ticket then a race condition can occur potentially leading to
a double free of the ticket data.
(CVE-2015-1791)
[Matt Caswell]

*) Reject DH handshakes with parameters shorter than 768 bits.
[Kurt Roeckx and Emilia Kasper]

Changes between 1.0.1l and 1.0.1m [19 Mar 2015]

*) Segmentation fault in ASN1_TYPE_cmp fix
@@ -230,12 +230,12 @@ my %table=(

#### SPARC Solaris with GNU C setups
"solaris-sparcv7-gcc","gcc:-O3 -fomit-frame-pointer -Wall -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${no_asm}:dlfcn:solaris-shared:-fPIC:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"solaris-sparcv8-gcc","gcc:-mv8 -O3 -fomit-frame-pointer -Wall -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${sparcv8_asm}:dlfcn:solaris-shared:-fPIC:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"solaris-sparcv8-gcc","gcc:-mcpu=v8 -O3 -fomit-frame-pointer -Wall -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${sparcv8_asm}:dlfcn:solaris-shared:-fPIC:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
# -m32 should be safe to add as long as driver recognizes -mcpu=ultrasparc
"solaris-sparcv9-gcc","gcc:-m32 -mcpu=ultrasparc -O3 -fomit-frame-pointer -Wall -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT:ULTRASPARC:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${sparcv9_asm}:dlfcn:solaris-shared:-fPIC:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"solaris64-sparcv9-gcc","gcc:-m64 -mcpu=ultrasparc -O3 -Wall -DB_ENDIAN::-D_REENTRANT:ULTRASPARC:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL BF_PTR:${sparcv9_asm}:dlfcn:solaris-shared:-fPIC:-m64 -shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::/64",
####
"debug-solaris-sparcv8-gcc","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG_ALL -O -g -mv8 -Wall -DB_ENDIAN::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${sparcv8_asm}:dlfcn:solaris-shared:-fPIC:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"debug-solaris-sparcv8-gcc","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG_ALL -O -g -mcpu=v8 -Wall -DB_ENDIAN::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${sparcv8_asm}:dlfcn:solaris-shared:-fPIC:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"debug-solaris-sparcv9-gcc","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG_ALL -DPEDANTIC -O -g -mcpu=ultrasparc -pedantic -ansi -Wall -Wshadow -Wno-long-long -D__EXTENSIONS__ -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT:ULTRASPARC:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${sparcv9_asm}:dlfcn:solaris-shared:-fPIC:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",

#### SPARC Solaris with Sun C setups
@@ -252,7 +252,7 @@ my %table=(

#### SunOS configs, assuming sparc for the gcc one.
#"sunos-cc", "cc:-O4 -DNOPROTO -DNOCONST::(unknown):SUNOS::DES_UNROLL:${no_asm}::",
"sunos-gcc","gcc:-O3 -mv8 -Dssize_t=int::(unknown):SUNOS::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL DES_PTR DES_RISC1:${no_asm}::",
"sunos-gcc","gcc:-O3 -mcpu=v8 -Dssize_t=int::(unknown):SUNOS::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL DES_PTR DES_RISC1:${no_asm}::",

#### IRIX 5.x configs
# -mips2 flag is added by ./config when appropriate.
@@ -379,7 +379,7 @@ my %table=(
#### SPARC Linux setups
# Ray Miller <ray.miller@computing-services.oxford.ac.uk> has patiently
# assisted with debugging of following two configs.
"linux-sparcv8","gcc:-mv8 -DB_ENDIAN -O3 -fomit-frame-pointer -Wall -DBN_DIV2W::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${sparcv8_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"linux-sparcv8","gcc:-mcpu=v8 -DB_ENDIAN -O3 -fomit-frame-pointer -Wall -DBN_DIV2W::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${sparcv8_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
# it's a real mess with -mcpu=ultrasparc option under Linux, but
# -Wa,-Av8plus should do the trick no matter what.
"linux-sparcv9","gcc:-m32 -mcpu=ultrasparc -DB_ENDIAN -O3 -fomit-frame-pointer -Wall -Wa,-Av8plus -DBN_DIV2W::-D_REENTRANT:ULTRASPARC:-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${sparcv9_asm}:dlfcn:linux-shared:-fPIC:-m32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
@@ -413,7 +413,7 @@ my %table=(
"BSD-x86", "gcc:-DL_ENDIAN -O3 -fomit-frame-pointer -Wall::${BSDthreads}:::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_asm}:a.out:dlfcn:bsd-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"BSD-x86-elf", "gcc:-DL_ENDIAN -O3 -fomit-frame-pointer -Wall::${BSDthreads}:::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:bsd-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"debug-BSD-x86-elf", "gcc:-DL_ENDIAN -O3 -Wall -g::${BSDthreads}:::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:bsd-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"BSD-sparcv8", "gcc:-DB_ENDIAN -O3 -mv8 -Wall::${BSDthreads}:::BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL:${sparcv8_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"BSD-sparcv8", "gcc:-DB_ENDIAN -O3 -mcpu=v8 -Wall::${BSDthreads}:::BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL:${sparcv8_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",

"BSD-generic64","gcc:-O3 -Wall::${BSDthreads}:::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${no_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
# -DMD32_REG_T=int doesn't actually belong in sparc64 target, it
@@ -4,7 +4,7 @@
## Makefile for OpenSSL
##

VERSION=1.0.1m
VERSION=1.0.1o
MAJOR=1
MINOR=0.1
SHLIB_VERSION_NUMBER=1.0.0
@@ -186,7 +186,7 @@ WTARFILE= $(NAME)-win.tar
EXHEADER= e_os2.h
HEADER= e_os.h

all: Makefile build_all openssl.pc libssl.pc libcrypto.pc
all: Makefile build_all

# as we stick to -e, CLEARENV ensures that local variables in lower
# Makefiles remain local and variable. $${VAR+VAR} is tribute to Korn
@@ -272,7 +272,10 @@ reflect:
sub_all: build_all
build_all: build_libs build_apps build_tests build_tools

build_libs: build_crypto build_ssl build_engines
build_libs: build_libcrypto build_libssl openssl.pc

build_libcrypto: build_crypto build_engines libcrypto.pc
build_libssl: build_ssl libssl.pc

build_crypto:
@dir=crypto; target=all; $(BUILD_ONE_CMD)
@@ -461,6 +464,9 @@ tests: rehash
report:
@$(PERL) util/selftest.pl

update: errors stacks util/libeay.num util/ssleay.num TABLE
@set -e; target=update; $(RECURSIVE_BUILD_CMD)

depend:
@set -e; target=depend; $(RECURSIVE_BUILD_CMD)

@@ -485,26 +491,10 @@ util/libeay.num::
util/ssleay.num::
$(PERL) util/mkdef.pl ssl update

crypto/objects/obj_dat.h: crypto/objects/obj_dat.pl crypto/objects/obj_mac.h
$(PERL) crypto/objects/obj_dat.pl crypto/objects/obj_mac.h crypto/objects/obj_dat.h
crypto/objects/obj_mac.h: crypto/objects/objects.pl crypto/objects/objects.txt crypto/objects/obj_mac.num
$(PERL) crypto/objects/objects.pl crypto/objects/objects.txt crypto/objects/obj_mac.num crypto/objects/obj_mac.h
crypto/objects/obj_xref.h: crypto/objects/objxref.pl crypto/objects/obj_xref.txt crypto/objects/obj_mac.num
$(PERL) crypto/objects/objxref.pl crypto/objects/obj_mac.num crypto/objects/obj_xref.txt >crypto/objects/obj_xref.h

apps/openssl-vms.cnf: apps/openssl.cnf
$(PERL) VMS/VMSify-conf.pl < apps/openssl.cnf > apps/openssl-vms.cnf

crypto/bn/bn_prime.h: crypto/bn/bn_prime.pl
$(PERL) crypto/bn/bn_prime.pl >crypto/bn/bn_prime.h


TABLE: Configure
(echo 'Output of `Configure TABLE'"':"; \
$(PERL) Configure TABLE) > TABLE

update: errors stacks util/libeay.num util/ssleay.num crypto/objects/obj_dat.h crypto/objects/obj_xref.h apps/openssl-vms.cnf crypto/bn/bn_prime.h TABLE depend

# Build distribution tar-file. As the list of files returned by "find" is
# pretty long, on several platforms a "too many arguments" error or similar
# would occur. Therefore the list of files is temporarily stored into a file
@@ -4,7 +4,7 @@
## Makefile for OpenSSL
##

VERSION=1.0.1m-dev
VERSION=1.0.1o-dev
MAJOR=1
MINOR=0.1
SHLIB_VERSION_NUMBER=1.0.0
@@ -186,7 +186,7 @@ WTARFILE= $(NAME)-win.tar
EXHEADER= e_os2.h
HEADER= e_os.h

all: Makefile build_all openssl.pc libssl.pc libcrypto.pc
all: Makefile build_all

# as we stick to -e, CLEARENV ensures that local variables in lower
# Makefiles remain local and variable. $${VAR+VAR} is tribute to Korn
@@ -272,7 +272,10 @@ reflect:
sub_all: build_all
build_all: build_libs build_apps build_tests build_tools

build_libs: build_crypto build_ssl build_engines
build_libs: build_libcrypto build_libssl openssl.pc

build_libcrypto: build_crypto build_engines libcrypto.pc
build_libssl: build_ssl libssl.pc

build_crypto:
@dir=crypto; target=all; $(BUILD_ONE_CMD)
@@ -461,6 +464,9 @@ tests: rehash
report:
@$(PERL) util/selftest.pl

update: errors stacks util/libeay.num util/ssleay.num TABLE
@set -e; target=update; $(RECURSIVE_BUILD_CMD)

depend:
@set -e; target=depend; $(RECURSIVE_BUILD_CMD)

@@ -485,26 +491,10 @@ util/libeay.num::
util/ssleay.num::
$(PERL) util/mkdef.pl ssl update

crypto/objects/obj_dat.h: crypto/objects/obj_dat.pl crypto/objects/obj_mac.h
$(PERL) crypto/objects/obj_dat.pl crypto/objects/obj_mac.h crypto/objects/obj_dat.h
crypto/objects/obj_mac.h: crypto/objects/objects.pl crypto/objects/objects.txt crypto/objects/obj_mac.num
$(PERL) crypto/objects/objects.pl crypto/objects/objects.txt crypto/objects/obj_mac.num crypto/objects/obj_mac.h
crypto/objects/obj_xref.h: crypto/objects/objxref.pl crypto/objects/obj_xref.txt crypto/objects/obj_mac.num
$(PERL) crypto/objects/objxref.pl crypto/objects/obj_mac.num crypto/objects/obj_xref.txt >crypto/objects/obj_xref.h

apps/openssl-vms.cnf: apps/openssl.cnf
$(PERL) VMS/VMSify-conf.pl < apps/openssl.cnf > apps/openssl-vms.cnf

crypto/bn/bn_prime.h: crypto/bn/bn_prime.pl
$(PERL) crypto/bn/bn_prime.pl >crypto/bn/bn_prime.h


TABLE: Configure
(echo 'Output of `Configure TABLE'"':"; \
$(PERL) Configure TABLE) > TABLE

update: errors stacks util/libeay.num util/ssleay.num crypto/objects/obj_dat.h crypto/objects/obj_xref.h apps/openssl-vms.cnf crypto/bn/bn_prime.h TABLE depend

# Build distribution tar-file. As the list of files returned by "find" is
# pretty long, on several platforms a "too many arguments" error or similar
# would occur. Therefore the list of files is temporarily stored into a file
@@ -184,7 +184,7 @@ WTARFILE= $(NAME)-win.tar
EXHEADER= e_os2.h
HEADER= e_os.h

all: Makefile build_all openssl.pc libssl.pc libcrypto.pc
all: Makefile build_all

# as we stick to -e, CLEARENV ensures that local variables in lower
# Makefiles remain local and variable. $${VAR+VAR} is tribute to Korn
@@ -270,7 +270,10 @@ reflect:
sub_all: build_all
build_all: build_libs build_apps build_tests build_tools

build_libs: build_crypto build_ssl build_engines
build_libs: build_libcrypto build_libssl openssl.pc

build_libcrypto: build_crypto build_engines libcrypto.pc
build_libssl: build_ssl libssl.pc

build_crypto:
@dir=crypto; target=all; $(BUILD_ONE_CMD)
@@ -459,6 +462,9 @@ tests: rehash
report:
@$(PERL) util/selftest.pl

update: errors stacks util/libeay.num util/ssleay.num TABLE
@set -e; target=update; $(RECURSIVE_BUILD_CMD)

depend:
@set -e; target=depend; $(RECURSIVE_BUILD_CMD)

@@ -483,26 +489,10 @@ util/libeay.num::
util/ssleay.num::
$(PERL) util/mkdef.pl ssl update

crypto/objects/obj_dat.h: crypto/objects/obj_dat.pl crypto/objects/obj_mac.h
$(PERL) crypto/objects/obj_dat.pl crypto/objects/obj_mac.h crypto/objects/obj_dat.h
crypto/objects/obj_mac.h: crypto/objects/objects.pl crypto/objects/objects.txt crypto/objects/obj_mac.num
$(PERL) crypto/objects/objects.pl crypto/objects/objects.txt crypto/objects/obj_mac.num crypto/objects/obj_mac.h
crypto/objects/obj_xref.h: crypto/objects/objxref.pl crypto/objects/obj_xref.txt crypto/objects/obj_mac.num
$(PERL) crypto/objects/objxref.pl crypto/objects/obj_mac.num crypto/objects/obj_xref.txt >crypto/objects/obj_xref.h

apps/openssl-vms.cnf: apps/openssl.cnf
$(PERL) VMS/VMSify-conf.pl < apps/openssl.cnf > apps/openssl-vms.cnf

crypto/bn/bn_prime.h: crypto/bn/bn_prime.pl
$(PERL) crypto/bn/bn_prime.pl >crypto/bn/bn_prime.h


TABLE: Configure
(echo 'Output of `Configure TABLE'"':"; \
$(PERL) Configure TABLE) > TABLE

update: errors stacks util/libeay.num util/ssleay.num crypto/objects/obj_dat.h crypto/objects/obj_xref.h apps/openssl-vms.cnf crypto/bn/bn_prime.h TABLE depend

# Build distribution tar-file. As the list of files returned by "find" is
# pretty long, on several platforms a "too many arguments" error or similar
# would occur. Therefore the list of files is temporarily stored into a file
@@ -5,6 +5,18 @@
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 1.0.1n and OpenSSL 1.0.1o [12 Jun 2015]

o Fix HMAC ABI incompatibility

Major changes between OpenSSL 1.0.1m and OpenSSL 1.0.1n [11 Jun 2015]

o Malformed ECParameters causes infinite loop (CVE-2015-1788)
o Exploitable out-of-bounds read in X509_cmp_time (CVE-2015-1789)
o PKCS7 crash with missing EnvelopedContent (CVE-2015-1790)
o CMS verify infinite loop with unknown hash function (CVE-2015-1792)
o Race condition handling NewSessionTicket (CVE-2015-1791)

Major changes between OpenSSL 1.0.1l and OpenSSL 1.0.1m [19 Mar 2015]

o Segmentation fault in ASN1_TYPE_cmp fix (CVE-2015-0286)
@@ -1,5 +1,5 @@

OpenSSL 1.0.1m 19 Mar 2015
OpenSSL 1.0.1o 12 Jun 2015

Copyright (c) 1998-2011 The OpenSSL Project
Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson
@@ -94,6 +94,9 @@ req: sreq.o $(A_OBJ) $(DLIBCRYPTO)
sreq.o: req.c
$(CC) -c $(INCLUDES) $(CFLAG) -o sreq.o req.c

openssl-vms.cnf: openssl.cnf
$(PERL) $(TOP)/VMS/VMSify-conf.pl < openssl.cnf > openssl-vms.cnf

files:
$(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO

@@ -127,12 +130,12 @@ links:
lint:
lint -DLINT $(INCLUDES) $(SRC)>fluff

depend:
@if [ -z "$(THIS)" ]; then \
$(MAKE) -f $(TOP)/Makefile reflect THIS=$@; \
else \
$(MAKEDEPEND) -- $(CFLAG) $(INCLUDES) $(DEPFLAG) -- $(PROGS) $(SRC); \
fi
update: openssl-vms.cnf local_depend

depend: local_depend
@if [ -z "$(THIS)" ]; then $(MAKE) -f $(TOP)/Makefile reflect THIS=$@; fi
local_depend:
@[ -z "$(THIS)" ] || $(MAKEDEPEND) -- $(CFLAG) $(INCLUDES) $(DEPFLAG) -- $(PROGS) $(SRC); \

dclean:
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
@@ -144,10 +147,10 @@ clean:
rm -f req

$(DLIBSSL):
(cd ..; $(MAKE) DIRS=ssl all)
(cd ..; $(MAKE) build_libssl)

$(DLIBCRYPTO):
(cd ..; $(MAKE) DIRS=crypto all)
(cd ..; $(MAKE) build_libcrypto)

$(EXE): progs.h $(E_OBJ) $(PROGRAM).o $(DLIBCRYPTO) $(DLIBSSL)
$(RM) $(EXE)