Update to 1.0.1e (RHBZ #920868)
Synced patches with native openssl-1.0.1e-4.fc19
This commit is contained in:
parent
2b64176cc0
commit
ec2806a386
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,3 +1,4 @@
|
||||
openssl-1.0.0a-usa.tar.bz2
|
||||
/openssl-1.0.0d-usa.tar.bz2
|
||||
/openssl-1.0.1c-usa.tar.xz
|
||||
/openssl-1.0.1e-usa.tar.xz
|
||||
|
@ -23,8 +23,8 @@
|
||||
%global thread_test_threads %{?threads:%{threads}}%{!?threads:1}
|
||||
|
||||
Name: mingw-openssl
|
||||
Version: 1.0.1c
|
||||
Release: 3%{?dist}
|
||||
Version: 1.0.1e
|
||||
Release: 1%{?dist}
|
||||
Summary: MinGW port of the OpenSSL toolkit
|
||||
|
||||
License: OpenSSL
|
||||
@ -38,6 +38,7 @@ Source0: openssl-%{version}-usa.tar.xz
|
||||
Source1: hobble-openssl
|
||||
Source2: Makefile.certificate
|
||||
Source6: make-dummy-cert
|
||||
Source7: renew-dummy-cert
|
||||
Source8: openssl-thread-test.c
|
||||
Source9: opensslconf-new.h
|
||||
Source10: opensslconf-new-warning.h
|
||||
@ -52,11 +53,9 @@ Patch6: openssl-0.9.8b-test-use-localhost.patch
|
||||
Patch7: openssl-1.0.0-timezone.patch
|
||||
Patch8: openssl-1.0.1c-perlfind.patch
|
||||
Patch9: openssl-1.0.1c-aliasing.patch
|
||||
# Fix FTBFS against latest pod2man
|
||||
# Patch found at http://www.mail-archive.com/openssl-dev@openssl.org/msg29210.html
|
||||
Patch10: openssl-fix-pod2man-failure.patch
|
||||
# Bug fixes
|
||||
Patch23: openssl-1.0.0-beta4-default-paths.patch
|
||||
Patch23: openssl-1.0.1c-default-paths.patch
|
||||
Patch24: openssl-1.0.1e-issuer-hash.patch
|
||||
# Functionality changes
|
||||
Patch33: openssl-1.0.0-beta4-ca-dir.patch
|
||||
Patch34: openssl-0.9.6-x509.patch
|
||||
@ -64,8 +63,8 @@ Patch35: openssl-0.9.8j-version-add-engines.patch
|
||||
Patch36: openssl-1.0.0e-doc-noeof.patch
|
||||
Patch38: openssl-1.0.1-beta2-ssl-op-all.patch
|
||||
Patch39: openssl-1.0.1c-ipv6-apps.patch
|
||||
Patch40: openssl-1.0.1c-fips.patch
|
||||
Patch45: openssl-0.9.8j-env-nozlib.patch
|
||||
Patch40: openssl-1.0.1e-fips.patch
|
||||
Patch45: openssl-1.0.1e-env-zlib.patch
|
||||
Patch47: openssl-1.0.0-beta5-readme-warning.patch
|
||||
Patch49: openssl-1.0.1a-algo-doc.patch
|
||||
Patch50: openssl-1.0.1-beta2-dtls1-abi.patch
|
||||
@ -76,13 +75,12 @@ Patch60: openssl-1.0.0d-apps-dgst.patch
|
||||
Patch63: openssl-1.0.0d-xmpp-starttls.patch
|
||||
Patch65: openssl-1.0.0e-chil-fixes.patch
|
||||
Patch66: openssl-1.0.1-pkgconfig-krb5.patch
|
||||
Patch67: openssl-1.0.0-fips-pkcs8.patch
|
||||
Patch68: openssl-1.0.1c-secure-getenv.patch
|
||||
Patch68: openssl-1.0.1e-secure-getenv.patch
|
||||
Patch69: openssl-1.0.1c-dh-1024.patch
|
||||
# Backported fixes including security fixes
|
||||
Patch81: openssl-1.0.1-beta2-padlock64.patch
|
||||
Patch82: openssl-1.0.1c-backports.patch
|
||||
Patch83: openssl-1.0.1c-ccm-init-str.patch
|
||||
Patch84: openssl-1.0.1c-backports2.patch
|
||||
Patch82: openssl-1.0.1e-backports.patch
|
||||
Patch83: openssl-1.0.1e-bad-mac.patch
|
||||
|
||||
# MinGW-specific patches.
|
||||
# Rename *eay32.dll to lib*.dll
|
||||
@ -94,8 +92,10 @@ Patch102: mingw32-openssl-1.0.0d-sfx.patch
|
||||
Patch103: mingw-openssl-drop-unneeded-reference-to-dlfcn-h.patch
|
||||
# Mingw-w64 compatibility patch
|
||||
Patch104: openssl_mingw64_install_fix.patch
|
||||
# Prevent a build failure which occurs becuase we don't have FIPS enabled
|
||||
# Prevent a build failure which occurs because we don't have FIPS enabled
|
||||
Patch105: mingw-openssl-fix-fips-build-failure.patch
|
||||
# The function secure_getenv is a GNU extension which isn't available on Windows
|
||||
Patch106: openssl-mingw64-dont-use-secure-getenv.patch
|
||||
|
||||
BuildArch: noarch
|
||||
|
||||
@ -197,10 +197,10 @@ Static version of the MinGW port of the OpenSSL toolkit.
|
||||
%patch5 -p1 -b .no-rpath
|
||||
%patch6 -p1 -b .use-localhost
|
||||
%patch7 -p1 -b .timezone
|
||||
%patch8 -p1 -b .perlfind
|
||||
%patch8 -p1 -b .perlfind %{?_rawbuild}
|
||||
%patch9 -p1 -b .aliasing
|
||||
%patch10 -p1 -b .pod2man
|
||||
%patch23 -p1 -b .default-paths
|
||||
%patch24 -p1 -b .issuer-hash
|
||||
|
||||
%patch33 -p1 -b .ca-dir
|
||||
%patch34 -p1 -b .x509
|
||||
@ -209,7 +209,7 @@ Static version of the MinGW port of the OpenSSL toolkit.
|
||||
%patch38 -p1 -b .op-all
|
||||
#patch39 -p1 -b .ipv6-apps
|
||||
%patch40 -p1 -b .fips
|
||||
%patch45 -p1 -b .env-nozlib
|
||||
%patch45 -p1 -b .env-zlib
|
||||
%patch47 -p1 -b .warning
|
||||
%patch49 -p1 -b .algo-doc
|
||||
%patch50 -p1 -b .dtls1-abi
|
||||
@ -220,13 +220,12 @@ Static version of the MinGW port of the OpenSSL toolkit.
|
||||
#patch63 -p1 -b .starttls
|
||||
%patch65 -p1 -b .chil
|
||||
%patch66 -p1 -b .krb5
|
||||
%patch67 -p1 -b .pkcs8
|
||||
#patch68 -p1 -b .secure-getenv
|
||||
%patch69 -p1 -b .dh1024
|
||||
|
||||
%patch81 -p1 -b .padlock64
|
||||
%patch82 -p1 -b .backports
|
||||
%patch83 -p1 -b .init-str
|
||||
%patch84 -p1 -b .backports2
|
||||
%patch83 -p1 -b .bad-mac
|
||||
|
||||
# MinGW specific patches
|
||||
%patch101 -p1 -b .mingw-libversion
|
||||
@ -234,6 +233,10 @@ Static version of the MinGW port of the OpenSSL toolkit.
|
||||
%patch103 -p0 -b .dlfcn
|
||||
%patch104 -p0 -b .mingw64
|
||||
%patch105 -p1 -b .fips_mingw
|
||||
%patch106 -p1 -b .secure_getenv_mingw
|
||||
|
||||
sed -i 's/SHLIB_VERSION_NUMBER "1.0.0"/SHLIB_VERSION_NUMBER "%{version}"/' crypto/opensslv.h
|
||||
|
||||
# Modify the various perl scripts to reference perl in the right location.
|
||||
perl util/perlpath.pl `dirname %{__perl}`
|
||||
|
||||
@ -416,10 +419,12 @@ chmod 0755 $RPM_BUILD_ROOT%{mingw64_libdir}/libssl.dll.a
|
||||
mkdir -p $RPM_BUILD_ROOT%{mingw32_sysconfdir}/pki/tls/certs
|
||||
install -m644 %{SOURCE2} $RPM_BUILD_ROOT%{mingw32_sysconfdir}/pki/tls/certs/Makefile
|
||||
install -m755 %{SOURCE6} $RPM_BUILD_ROOT%{mingw32_sysconfdir}/pki/tls/certs/make-dummy-cert
|
||||
install -m755 %{SOURCE7} $RPM_BUILD_ROOT%{mingw32_sysconfdir}/pki/tls/certs/renew-dummy-cert
|
||||
|
||||
mkdir -p $RPM_BUILD_ROOT%{mingw64_sysconfdir}/pki/tls/certs
|
||||
install -m644 %{SOURCE2} $RPM_BUILD_ROOT%{mingw64_sysconfdir}/pki/tls/certs/Makefile
|
||||
install -m755 %{SOURCE6} $RPM_BUILD_ROOT%{mingw64_sysconfdir}/pki/tls/certs/make-dummy-cert
|
||||
install -m755 %{SOURCE7} $RPM_BUILD_ROOT%{mingw64_sysconfdir}/pki/tls/certs/renew-dummy-cert
|
||||
|
||||
# Pick a CA script.
|
||||
pushd $RPM_BUILD_ROOT%{mingw32_sysconfdir}/pki/tls/misc
|
||||
@ -475,6 +480,10 @@ mkdir -m700 $RPM_BUILD_ROOT%{mingw64_sysconfdir}/pki/CA/private
|
||||
|
||||
|
||||
%changelog
|
||||
* Sun Mar 24 2013 Erik van Pienbroek <epienbro@fedoraproject.org> - 1.0.1e-1
|
||||
- Update to 1.0.1e (RHBZ #920868)
|
||||
- Synced patches with native openssl-1.0.1e-4.fc19
|
||||
|
||||
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.1c-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
|
||||
|
||||
|
@ -1,13 +0,0 @@
|
||||
Do not implicitly load the zlib support if OPENSSL_NO_DEFAULT_ZLIB is set.
|
||||
diff -up openssl-0.9.8j/ssl/ssl_ciph.c.env-nozlib openssl-0.9.8j/ssl/ssl_ciph.c
|
||||
--- openssl-0.9.8j/ssl/ssl_ciph.c.env-nozlib 2009-01-05 15:43:07.000000000 +0100
|
||||
+++ openssl-0.9.8j/ssl/ssl_ciph.c 2009-01-14 17:47:46.000000000 +0100
|
||||
@@ -287,7 +287,7 @@ static void load_builtin_compressions(vo
|
||||
|
||||
MemCheck_off();
|
||||
ssl_comp_methods=sk_SSL_COMP_new(sk_comp_cmp);
|
||||
- if (ssl_comp_methods != NULL)
|
||||
+ if (ssl_comp_methods != NULL && getenv("OPENSSL_NO_DEFAULT_ZLIB") == NULL)
|
||||
{
|
||||
comp=(SSL_COMP *)OPENSSL_malloc(sizeof(SSL_COMP));
|
||||
if (comp != NULL)
|
@ -1,77 +0,0 @@
|
||||
diff -up openssl-1.0.0-beta4/apps/s_client.c.default-paths openssl-1.0.0-beta4/apps/s_client.c
|
||||
--- openssl-1.0.0-beta4/apps/s_client.c.default-paths 2009-08-12 15:21:26.000000000 +0200
|
||||
+++ openssl-1.0.0-beta4/apps/s_client.c 2009-11-12 12:26:32.000000000 +0100
|
||||
@@ -889,12 +889,13 @@ bad:
|
||||
if (!set_cert_key_stuff(ctx,cert,key))
|
||||
goto end;
|
||||
|
||||
- if ((!SSL_CTX_load_verify_locations(ctx,CAfile,CApath)) ||
|
||||
- (!SSL_CTX_set_default_verify_paths(ctx)))
|
||||
+ if (!SSL_CTX_load_verify_locations(ctx,CAfile,CApath))
|
||||
+ {
|
||||
+ ERR_print_errors(bio_err);
|
||||
+ }
|
||||
+ if (!SSL_CTX_set_default_verify_paths(ctx))
|
||||
{
|
||||
- /* BIO_printf(bio_err,"error setting default verify locations\n"); */
|
||||
ERR_print_errors(bio_err);
|
||||
- /* goto end; */
|
||||
}
|
||||
|
||||
#ifndef OPENSSL_NO_TLSEXT
|
||||
diff -up openssl-1.0.0-beta4/apps/s_server.c.default-paths openssl-1.0.0-beta4/apps/s_server.c
|
||||
--- openssl-1.0.0-beta4/apps/s_server.c.default-paths 2009-10-28 18:49:37.000000000 +0100
|
||||
+++ openssl-1.0.0-beta4/apps/s_server.c 2009-11-12 12:31:23.000000000 +0100
|
||||
@@ -1408,12 +1408,13 @@ bad:
|
||||
}
|
||||
#endif
|
||||
|
||||
- if ((!SSL_CTX_load_verify_locations(ctx,CAfile,CApath)) ||
|
||||
- (!SSL_CTX_set_default_verify_paths(ctx)))
|
||||
+ if (!SSL_CTX_load_verify_locations(ctx,CAfile,CApath))
|
||||
+ {
|
||||
+ ERR_print_errors(bio_err);
|
||||
+ }
|
||||
+ if (!SSL_CTX_set_default_verify_paths(ctx))
|
||||
{
|
||||
- /* BIO_printf(bio_err,"X509_load_verify_locations\n"); */
|
||||
ERR_print_errors(bio_err);
|
||||
- /* goto end; */
|
||||
}
|
||||
if (vpm)
|
||||
SSL_CTX_set1_param(ctx, vpm);
|
||||
@@ -1465,8 +1466,11 @@ bad:
|
||||
else
|
||||
SSL_CTX_sess_set_cache_size(ctx2,128);
|
||||
|
||||
- if ((!SSL_CTX_load_verify_locations(ctx2,CAfile,CApath)) ||
|
||||
- (!SSL_CTX_set_default_verify_paths(ctx2)))
|
||||
+ if (!SSL_CTX_load_verify_locations(ctx2,CAfile,CApath))
|
||||
+ {
|
||||
+ ERR_print_errors(bio_err);
|
||||
+ }
|
||||
+ if (!SSL_CTX_set_default_verify_paths(ctx2))
|
||||
{
|
||||
ERR_print_errors(bio_err);
|
||||
}
|
||||
diff -up openssl-1.0.0-beta4/apps/s_time.c.default-paths openssl-1.0.0-beta4/apps/s_time.c
|
||||
--- openssl-1.0.0-beta4/apps/s_time.c.default-paths 2006-04-17 14:22:13.000000000 +0200
|
||||
+++ openssl-1.0.0-beta4/apps/s_time.c 2009-11-12 12:26:32.000000000 +0100
|
||||
@@ -373,12 +373,13 @@ int MAIN(int argc, char **argv)
|
||||
|
||||
SSL_load_error_strings();
|
||||
|
||||
- if ((!SSL_CTX_load_verify_locations(tm_ctx,CAfile,CApath)) ||
|
||||
- (!SSL_CTX_set_default_verify_paths(tm_ctx)))
|
||||
+ if (!SSL_CTX_load_verify_locations(tm_ctx,CAfile,CApath))
|
||||
+ {
|
||||
+ ERR_print_errors(bio_err);
|
||||
+ }
|
||||
+ if (!SSL_CTX_set_default_verify_paths(tm_ctx))
|
||||
{
|
||||
- /* BIO_printf(bio_err,"error setting default verify locations\n"); */
|
||||
ERR_print_errors(bio_err);
|
||||
- /* goto end; */
|
||||
}
|
||||
|
||||
if (tm_cipher == NULL)
|
@ -1,189 +0,0 @@
|
||||
diff -up openssl-1.0.0/crypto/pem/pem_all.c.pkcs8 openssl-1.0.0/crypto/pem/pem_all.c
|
||||
--- openssl-1.0.0/crypto/pem/pem_all.c.pkcs8 2006-11-06 20:53:37.000000000 +0100
|
||||
+++ openssl-1.0.0/crypto/pem/pem_all.c 2012-04-26 17:17:35.765317652 +0200
|
||||
@@ -147,7 +147,37 @@ IMPLEMENT_PEM_rw(PKCS7, PKCS7, PEM_STRIN
|
||||
|
||||
IMPLEMENT_PEM_rw(NETSCAPE_CERT_SEQUENCE, NETSCAPE_CERT_SEQUENCE,
|
||||
PEM_STRING_X509, NETSCAPE_CERT_SEQUENCE)
|
||||
+#ifdef OPENSSL_FIPS
|
||||
|
||||
+static int fips_PEM_write_bio_PrivateKey(BIO *bp, EVP_PKEY *x, const EVP_CIPHER *enc,
|
||||
+ unsigned char *kstr, int klen,
|
||||
+ pem_password_cb *cb, void *u)
|
||||
+ {
|
||||
+ if (FIPS_mode())
|
||||
+ return PEM_write_bio_PKCS8PrivateKey(bp, x, enc,
|
||||
+ (char *)kstr, klen, cb, u);
|
||||
+ else
|
||||
+ return PEM_ASN1_write_bio((i2d_of_void *)i2d_PrivateKey,
|
||||
+ ((x->type == EVP_PKEY_DSA)?PEM_STRING_DSA:(x->type == EVP_PKEY_RSA)?PEM_STRING_RSA:PEM_STRING_ECPRIVATEKEY),
|
||||
+ bp,x,enc,kstr,klen,cb,u);
|
||||
+ }
|
||||
+
|
||||
+#ifndef OPENSSL_NO_FP_API
|
||||
+static int fips_PEM_write_PrivateKey(FILE *fp, EVP_PKEY *x, const EVP_CIPHER *enc,
|
||||
+ unsigned char *kstr, int klen,
|
||||
+ pem_password_cb *cb, void *u)
|
||||
+ {
|
||||
+ if (FIPS_mode())
|
||||
+ return PEM_write_PKCS8PrivateKey(fp, x, enc,
|
||||
+ (char *)kstr, klen, cb, u);
|
||||
+ else
|
||||
+ return PEM_ASN1_write((i2d_of_void *)i2d_PrivateKey,
|
||||
+ ((x->type == EVP_PKEY_DSA)?PEM_STRING_DSA:(x->type == EVP_PKEY_RSA)?PEM_STRING_RSA:PEM_STRING_ECPRIVATEKEY),
|
||||
+ fp,x,enc,kstr,klen,cb,u);
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
+#endif
|
||||
|
||||
#ifndef OPENSSL_NO_RSA
|
||||
|
||||
@@ -193,7 +223,49 @@ RSA *PEM_read_RSAPrivateKey(FILE *fp, RS
|
||||
|
||||
#endif
|
||||
|
||||
+#ifdef OPENSSL_FIPS
|
||||
+
|
||||
+int PEM_write_bio_RSAPrivateKey(BIO *bp, RSA *x, const EVP_CIPHER *enc,
|
||||
+ unsigned char *kstr, int klen,
|
||||
+ pem_password_cb *cb, void *u)
|
||||
+{
|
||||
+ EVP_PKEY *k;
|
||||
+ int ret;
|
||||
+ k = EVP_PKEY_new();
|
||||
+ if (!k)
|
||||
+ return 0;
|
||||
+ EVP_PKEY_set1_RSA(k, x);
|
||||
+
|
||||
+ ret = fips_PEM_write_bio_PrivateKey(bp, k, enc, kstr, klen, cb, u);
|
||||
+ EVP_PKEY_free(k);
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
+#ifndef OPENSSL_NO_FP_API
|
||||
+int PEM_write_RSAPrivateKey(FILE *fp, RSA *x, const EVP_CIPHER *enc,
|
||||
+ unsigned char *kstr, int klen,
|
||||
+ pem_password_cb *cb, void *u)
|
||||
+{
|
||||
+ EVP_PKEY *k;
|
||||
+ int ret;
|
||||
+ k = EVP_PKEY_new();
|
||||
+ if (!k)
|
||||
+ return 0;
|
||||
+
|
||||
+ EVP_PKEY_set1_RSA(k, x);
|
||||
+
|
||||
+ ret = fips_PEM_write_PrivateKey(fp, k, enc, kstr, klen, cb, u);
|
||||
+ EVP_PKEY_free(k);
|
||||
+ return ret;
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
+#else
|
||||
+
|
||||
IMPLEMENT_PEM_write_cb_const(RSAPrivateKey, RSA, PEM_STRING_RSA, RSAPrivateKey)
|
||||
+
|
||||
+#endif
|
||||
+
|
||||
IMPLEMENT_PEM_rw_const(RSAPublicKey, RSA, PEM_STRING_RSA_PUBLIC, RSAPublicKey)
|
||||
IMPLEMENT_PEM_rw(RSA_PUBKEY, RSA, PEM_STRING_PUBLIC, RSA_PUBKEY)
|
||||
|
||||
@@ -223,7 +295,47 @@ DSA *PEM_read_bio_DSAPrivateKey(BIO *bp,
|
||||
return pkey_get_dsa(pktmp, dsa); /* will free pktmp */
|
||||
}
|
||||
|
||||
+#ifdef OPENSSL_FIPS
|
||||
+
|
||||
+int PEM_write_bio_DSAPrivateKey(BIO *bp, DSA *x, const EVP_CIPHER *enc,
|
||||
+ unsigned char *kstr, int klen,
|
||||
+ pem_password_cb *cb, void *u)
|
||||
+{
|
||||
+ EVP_PKEY *k;
|
||||
+ int ret;
|
||||
+ k = EVP_PKEY_new();
|
||||
+ if (!k)
|
||||
+ return 0;
|
||||
+ EVP_PKEY_set1_DSA(k, x);
|
||||
+
|
||||
+ ret = fips_PEM_write_bio_PrivateKey(bp, k, enc, kstr, klen, cb, u);
|
||||
+ EVP_PKEY_free(k);
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
+#ifndef OPENSSL_NO_FP_API
|
||||
+int PEM_write_DSAPrivateKey(FILE *fp, DSA *x, const EVP_CIPHER *enc,
|
||||
+ unsigned char *kstr, int klen,
|
||||
+ pem_password_cb *cb, void *u)
|
||||
+{
|
||||
+ EVP_PKEY *k;
|
||||
+ int ret;
|
||||
+ k = EVP_PKEY_new();
|
||||
+ if (!k)
|
||||
+ return 0;
|
||||
+ EVP_PKEY_set1_DSA(k, x);
|
||||
+ ret = fips_PEM_write_PrivateKey(fp, k, enc, kstr, klen, cb, u);
|
||||
+ EVP_PKEY_free(k);
|
||||
+ return ret;
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
+#else
|
||||
+
|
||||
IMPLEMENT_PEM_write_cb_const(DSAPrivateKey, DSA, PEM_STRING_DSA, DSAPrivateKey)
|
||||
+
|
||||
+#endif
|
||||
+
|
||||
IMPLEMENT_PEM_rw(DSA_PUBKEY, DSA, PEM_STRING_PUBLIC, DSA_PUBKEY)
|
||||
|
||||
#ifndef OPENSSL_NO_FP_API
|
||||
@@ -269,8 +381,49 @@ EC_KEY *PEM_read_bio_ECPrivateKey(BIO *b
|
||||
|
||||
IMPLEMENT_PEM_rw_const(ECPKParameters, EC_GROUP, PEM_STRING_ECPARAMETERS, ECPKParameters)
|
||||
|
||||
+
|
||||
+
|
||||
+#ifdef OPENSSL_FIPS
|
||||
+
|
||||
+int PEM_write_bio_ECPrivateKey(BIO *bp, EC_KEY *x, const EVP_CIPHER *enc,
|
||||
+ unsigned char *kstr, int klen,
|
||||
+ pem_password_cb *cb, void *u)
|
||||
+{
|
||||
+ EVP_PKEY *k;
|
||||
+ int ret;
|
||||
+ k = EVP_PKEY_new();
|
||||
+ if (!k)
|
||||
+ return 0;
|
||||
+ EVP_PKEY_set1_EC_KEY(k, x);
|
||||
+
|
||||
+ ret = fips_PEM_write_bio_PrivateKey(bp, k, enc, kstr, klen, cb, u);
|
||||
+ EVP_PKEY_free(k);
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
+#ifndef OPENSSL_NO_FP_API
|
||||
+int PEM_write_ECPrivateKey(FILE *fp, EC_KEY *x, const EVP_CIPHER *enc,
|
||||
+ unsigned char *kstr, int klen,
|
||||
+ pem_password_cb *cb, void *u)
|
||||
+{
|
||||
+ EVP_PKEY *k;
|
||||
+ int ret;
|
||||
+ k = EVP_PKEY_new();
|
||||
+ if (!k)
|
||||
+ return 0;
|
||||
+ EVP_PKEY_set1_EC_KEY(k, x);
|
||||
+ ret = fips_PEM_write_PrivateKey(fp, k, enc, kstr, klen, cb, u);
|
||||
+ EVP_PKEY_free(k);
|
||||
+ return ret;
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
+#else
|
||||
+
|
||||
IMPLEMENT_PEM_write_cb(ECPrivateKey, EC_KEY, PEM_STRING_ECPRIVATEKEY, ECPrivateKey)
|
||||
|
||||
+#endif
|
||||
+
|
||||
IMPLEMENT_PEM_rw(EC_PUBKEY, EC_KEY, PEM_STRING_PUBLIC, EC_PUBKEY)
|
||||
|
||||
#ifndef OPENSSL_NO_FP_API
|
@ -18,18 +18,6 @@ diff -up openssl-1.0.1/crypto/cversion.c.version openssl-1.0.1/crypto/cversion.c
|
||||
|
||||
+__asm__(".symver _original_SSLeay,SSLeay@");
|
||||
+__asm__(".symver _current_SSLeay,SSLeay@@OPENSSL_1.0.1");
|
||||
diff -up openssl-1.0.1/crypto/opensslv.h.version openssl-1.0.1/crypto/opensslv.h
|
||||
--- openssl-1.0.1/crypto/opensslv.h.version 2012-03-14 20:58:19.914337879 +0100
|
||||
+++ openssl-1.0.1/crypto/opensslv.h 2012-03-14 20:58:20.630352536 +0100
|
||||
@@ -83,7 +83,7 @@
|
||||
* should only keep the versions that are binary compatible with the current.
|
||||
*/
|
||||
#define SHLIB_VERSION_HISTORY ""
|
||||
-#define SHLIB_VERSION_NUMBER "1.0.0"
|
||||
+#define SHLIB_VERSION_NUMBER "1.0.1c"
|
||||
|
||||
|
||||
#endif /* HEADER_OPENSSLV_H */
|
||||
diff -up openssl-1.0.1/Makefile.shared.version openssl-1.0.1/Makefile.shared
|
||||
--- openssl-1.0.1/Makefile.shared.version 2012-03-14 20:58:20.553350959 +0100
|
||||
+++ openssl-1.0.1/Makefile.shared 2012-03-14 20:58:20.631352556 +0100
|
||||
|
@ -1,106 +0,0 @@
|
||||
diff -up openssl-1.0.1c/crypto/asn1/x_pubkey.c.backports openssl-1.0.1c/crypto/asn1/x_pubkey.c
|
||||
--- openssl-1.0.1c/crypto/asn1/x_pubkey.c.backports 2012-02-28 15:47:16.000000000 +0100
|
||||
+++ openssl-1.0.1c/crypto/asn1/x_pubkey.c 2012-05-15 17:44:14.584128501 +0200
|
||||
@@ -175,12 +175,15 @@ EVP_PKEY *X509_PUBKEY_get(X509_PUBKEY *k
|
||||
CRYPTO_w_lock(CRYPTO_LOCK_EVP_PKEY);
|
||||
if (key->pkey)
|
||||
{
|
||||
+ CRYPTO_w_unlock(CRYPTO_LOCK_EVP_PKEY);
|
||||
EVP_PKEY_free(ret);
|
||||
ret = key->pkey;
|
||||
}
|
||||
else
|
||||
+ {
|
||||
key->pkey = ret;
|
||||
- CRYPTO_w_unlock(CRYPTO_LOCK_EVP_PKEY);
|
||||
+ CRYPTO_w_unlock(CRYPTO_LOCK_EVP_PKEY);
|
||||
+ }
|
||||
CRYPTO_add(&ret->references, 1, CRYPTO_LOCK_EVP_PKEY);
|
||||
|
||||
return ret;
|
||||
diff -up openssl-1.0.1c/ssl/s3_lib.c.backports openssl-1.0.1c/ssl/s3_lib.c
|
||||
--- openssl-1.0.1c/ssl/s3_lib.c.backports 2012-04-17 17:20:17.000000000 +0200
|
||||
+++ openssl-1.0.1c/ssl/s3_lib.c 2012-05-15 17:42:43.880139566 +0200
|
||||
@@ -1125,7 +1125,7 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]
|
||||
0, /* not implemented (non-ephemeral DH) */
|
||||
TLS1_TXT_DH_DSS_WITH_AES_128_SHA256,
|
||||
TLS1_CK_DH_DSS_WITH_AES_128_SHA256,
|
||||
- SSL_kDHr,
|
||||
+ SSL_kDHd,
|
||||
SSL_aDH,
|
||||
SSL_AES128,
|
||||
SSL_SHA256,
|
||||
@@ -1407,7 +1407,7 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]
|
||||
0, /* not implemented (non-ephemeral DH) */
|
||||
TLS1_TXT_DH_DSS_WITH_AES_256_SHA256,
|
||||
TLS1_CK_DH_DSS_WITH_AES_256_SHA256,
|
||||
- SSL_kDHr,
|
||||
+ SSL_kDHd,
|
||||
SSL_aDH,
|
||||
SSL_AES256,
|
||||
SSL_SHA256,
|
||||
@@ -1958,7 +1958,7 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]
|
||||
0,
|
||||
TLS1_TXT_DH_DSS_WITH_AES_128_GCM_SHA256,
|
||||
TLS1_CK_DH_DSS_WITH_AES_128_GCM_SHA256,
|
||||
- SSL_kDHr,
|
||||
+ SSL_kDHd,
|
||||
SSL_aDH,
|
||||
SSL_AES128GCM,
|
||||
SSL_AEAD,
|
||||
@@ -1974,7 +1974,7 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]
|
||||
0,
|
||||
TLS1_TXT_DH_DSS_WITH_AES_256_GCM_SHA384,
|
||||
TLS1_CK_DH_DSS_WITH_AES_256_GCM_SHA384,
|
||||
- SSL_kDHr,
|
||||
+ SSL_kDHd,
|
||||
SSL_aDH,
|
||||
SSL_AES256GCM,
|
||||
SSL_AEAD,
|
||||
@@ -2669,7 +2669,7 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]
|
||||
1,
|
||||
TLS1_TXT_ECDH_RSA_WITH_AES_128_SHA256,
|
||||
TLS1_CK_ECDH_RSA_WITH_AES_128_SHA256,
|
||||
- SSL_kECDHe,
|
||||
+ SSL_kECDHr,
|
||||
SSL_aECDH,
|
||||
SSL_AES128,
|
||||
SSL_SHA256,
|
||||
@@ -2685,7 +2685,7 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]
|
||||
1,
|
||||
TLS1_TXT_ECDH_RSA_WITH_AES_256_SHA384,
|
||||
TLS1_CK_ECDH_RSA_WITH_AES_256_SHA384,
|
||||
- SSL_kECDHe,
|
||||
+ SSL_kECDHr,
|
||||
SSL_aECDH,
|
||||
SSL_AES256,
|
||||
SSL_SHA384,
|
||||
@@ -2799,7 +2799,7 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]
|
||||
1,
|
||||
TLS1_TXT_ECDH_RSA_WITH_AES_128_GCM_SHA256,
|
||||
TLS1_CK_ECDH_RSA_WITH_AES_128_GCM_SHA256,
|
||||
- SSL_kECDHe,
|
||||
+ SSL_kECDHr,
|
||||
SSL_aECDH,
|
||||
SSL_AES128GCM,
|
||||
SSL_AEAD,
|
||||
@@ -2815,7 +2815,7 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]
|
||||
1,
|
||||
TLS1_TXT_ECDH_RSA_WITH_AES_256_GCM_SHA384,
|
||||
TLS1_CK_ECDH_RSA_WITH_AES_256_GCM_SHA384,
|
||||
- SSL_kECDHe,
|
||||
+ SSL_kECDHr,
|
||||
SSL_aECDH,
|
||||
SSL_AES256GCM,
|
||||
SSL_AEAD,
|
||||
diff -up openssl-1.0.1c/ssl/s3_pkt.c.backports openssl-1.0.1c/ssl/s3_pkt.c
|
||||
--- openssl-1.0.1c/ssl/s3_pkt.c.backports 2012-04-17 15:20:19.000000000 +0200
|
||||
+++ openssl-1.0.1c/ssl/s3_pkt.c 2012-05-15 17:43:48.470555889 +0200
|
||||
@@ -744,6 +744,7 @@ static int do_ssl3_write(SSL *s, int typ
|
||||
* bytes and record version number > TLS 1.0
|
||||
*/
|
||||
if (s->state == SSL3_ST_CW_CLNT_HELLO_B
|
||||
+ && !s->renegotiate
|
||||
&& TLS1_get_version(s) > TLS1_VERSION)
|
||||
*(p++) = 0x1;
|
||||
else
|
@ -1,103 +0,0 @@
|
||||
diff -up openssl-1.0.1c/apps/cms.c.backports2 openssl-1.0.1c/apps/cms.c
|
||||
--- openssl-1.0.1c/apps/cms.c.backports2 2012-01-05 14:46:27.000000000 +0100
|
||||
+++ openssl-1.0.1c/apps/cms.c 2012-09-07 10:34:42.000000000 +0200
|
||||
@@ -233,6 +233,8 @@ int MAIN(int argc, char **argv)
|
||||
else if (!strcmp(*args,"-camellia256"))
|
||||
cipher = EVP_camellia_256_cbc();
|
||||
#endif
|
||||
+ else if (!strcmp (*args, "-debug_decrypt"))
|
||||
+ flags |= CMS_DEBUG_DECRYPT;
|
||||
else if (!strcmp (*args, "-text"))
|
||||
flags |= CMS_TEXT;
|
||||
else if (!strcmp (*args, "-nointern"))
|
||||
@@ -1039,6 +1041,8 @@ int MAIN(int argc, char **argv)
|
||||
ret = 4;
|
||||
if (operation == SMIME_DECRYPT)
|
||||
{
|
||||
+ if (flags & CMS_DEBUG_DECRYPT)
|
||||
+ CMS_decrypt(cms, NULL, NULL, NULL, NULL, flags);
|
||||
|
||||
if (secret_key)
|
||||
{
|
||||
diff -up openssl-1.0.1c/crypto/bn/bn_lcl.h.backports2 openssl-1.0.1c/crypto/bn/bn_lcl.h
|
||||
--- openssl-1.0.1c/crypto/bn/bn_lcl.h.backports2 2012-09-06 17:25:22.000000000 +0200
|
||||
+++ openssl-1.0.1c/crypto/bn/bn_lcl.h 2012-09-07 10:22:43.000000000 +0200
|
||||
@@ -282,16 +282,23 @@ extern "C" {
|
||||
# endif
|
||||
# elif defined(__mips) && (defined(SIXTY_FOUR_BIT) || defined(SIXTY_FOUR_BIT_LONG))
|
||||
# if defined(__GNUC__) && __GNUC__>=2
|
||||
-# define BN_UMULT_HIGH(a,b) ({ \
|
||||
+# if __GNUC__>=4 && __GNUC_MINOR__>=4 /* "h" constraint is no more since 4.4 */
|
||||
+# define BN_UMULT_HIGH(a,b) (((__uint128_t)(a)*(b))>>64)
|
||||
+# define BN_UMULT_LOHI(low,high,a,b) ({ \
|
||||
+ __uint128_t ret=(__uint128_t)(a)*(b); \
|
||||
+ (high)=ret>>64; (low)=ret; })
|
||||
+# else
|
||||
+# define BN_UMULT_HIGH(a,b) ({ \
|
||||
register BN_ULONG ret; \
|
||||
asm ("dmultu %1,%2" \
|
||||
: "=h"(ret) \
|
||||
: "r"(a), "r"(b) : "l"); \
|
||||
ret; })
|
||||
-# define BN_UMULT_LOHI(low,high,a,b) \
|
||||
+# define BN_UMULT_LOHI(low,high,a,b)\
|
||||
asm ("dmultu %2,%3" \
|
||||
: "=l"(low),"=h"(high) \
|
||||
: "r"(a), "r"(b));
|
||||
+# endif
|
||||
# endif
|
||||
# endif /* cpu */
|
||||
#endif /* OPENSSL_NO_ASM */
|
||||
diff -up openssl-1.0.1c/crypto/modes/gcm128.c.backports2 openssl-1.0.1c/crypto/modes/gcm128.c
|
||||
--- openssl-1.0.1c/crypto/modes/gcm128.c.backports2 2012-01-25 18:56:24.000000000 +0100
|
||||
+++ openssl-1.0.1c/crypto/modes/gcm128.c 2012-09-07 10:24:56.000000000 +0200
|
||||
@@ -1398,7 +1398,7 @@ int CRYPTO_gcm128_finish(GCM128_CONTEXT
|
||||
void (*gcm_gmult_p)(u64 Xi[2],const u128 Htable[16]) = ctx->gmult;
|
||||
#endif
|
||||
|
||||
- if (ctx->mres)
|
||||
+ if (ctx->mres || ctx->ares)
|
||||
GCM_MUL(ctx,Xi);
|
||||
|
||||
if (is_endian.little) {
|
||||
diff -up openssl-1.0.1c/ssl/ssl_cert.c.backports2 openssl-1.0.1c/ssl/ssl_cert.c
|
||||
--- openssl-1.0.1c/ssl/ssl_cert.c.backports2 2011-05-11 15:37:52.000000000 +0200
|
||||
+++ openssl-1.0.1c/ssl/ssl_cert.c 2012-09-07 10:33:54.000000000 +0200
|
||||
@@ -164,14 +164,14 @@ static void ssl_cert_set_default_md(CERT
|
||||
{
|
||||
/* Set digest values to defaults */
|
||||
#ifndef OPENSSL_NO_DSA
|
||||
- cert->pkeys[SSL_PKEY_DSA_SIGN].digest = EVP_dss1();
|
||||
+ cert->pkeys[SSL_PKEY_DSA_SIGN].digest = EVP_sha1();
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_RSA
|
||||
cert->pkeys[SSL_PKEY_RSA_SIGN].digest = EVP_sha1();
|
||||
cert->pkeys[SSL_PKEY_RSA_ENC].digest = EVP_sha1();
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_ECDSA
|
||||
- cert->pkeys[SSL_PKEY_ECC].digest = EVP_ecdsa();
|
||||
+ cert->pkeys[SSL_PKEY_ECC].digest = EVP_sha1();
|
||||
#endif
|
||||
}
|
||||
|
||||
diff -up openssl-1.0.1c/ssl/t1_lib.c.backports2 openssl-1.0.1c/ssl/t1_lib.c
|
||||
--- openssl-1.0.1c/ssl/t1_lib.c.backports2 2012-03-21 22:32:57.000000000 +0100
|
||||
+++ openssl-1.0.1c/ssl/t1_lib.c 2012-09-07 10:33:54.000000000 +0200
|
||||
@@ -2414,7 +2414,7 @@ int tls1_process_sigalgs(SSL *s, const u
|
||||
*/
|
||||
#ifndef OPENSSL_NO_DSA
|
||||
if (!c->pkeys[SSL_PKEY_DSA_SIGN].digest)
|
||||
- c->pkeys[SSL_PKEY_DSA_SIGN].digest = EVP_dss1();
|
||||
+ c->pkeys[SSL_PKEY_DSA_SIGN].digest = EVP_sha1();
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_RSA
|
||||
if (!c->pkeys[SSL_PKEY_RSA_SIGN].digest)
|
||||
@@ -2425,7 +2425,7 @@ int tls1_process_sigalgs(SSL *s, const u
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_ECDSA
|
||||
if (!c->pkeys[SSL_PKEY_ECC].digest)
|
||||
- c->pkeys[SSL_PKEY_ECC].digest = EVP_ecdsa();
|
||||
+ c->pkeys[SSL_PKEY_ECC].digest = EVP_sha1();
|
||||
#endif
|
||||
return 1;
|
||||
}
|
@ -1,11 +0,0 @@
|
||||
diff -up openssl-1.0.1c/crypto/evp/e_aes.c.init-str openssl-1.0.1c/crypto/evp/e_aes.c
|
||||
--- openssl-1.0.1c/crypto/evp/e_aes.c.init-str 2012-09-06 17:20:45.000000000 +0200
|
||||
+++ openssl-1.0.1c/crypto/evp/e_aes.c 2012-09-06 17:18:30.000000000 +0200
|
||||
@@ -1216,6 +1216,7 @@ static int aes_ccm_init_key(EVP_CIPHER_C
|
||||
vpaes_set_encrypt_key(key, ctx->key_len*8, &cctx->ks);
|
||||
CRYPTO_ccm128_init(&cctx->ccm, cctx->M, cctx->L,
|
||||
&cctx->ks, (block128_f)vpaes_encrypt);
|
||||
+ cctx->str = NULL;
|
||||
cctx->key_set = 1;
|
||||
break;
|
||||
}
|
100
openssl-1.0.1c-default-paths.patch
Normal file
100
openssl-1.0.1c-default-paths.patch
Normal file
@ -0,0 +1,100 @@
|
||||
diff -up openssl-1.0.1c/apps/s_client.c.default-paths openssl-1.0.1c/apps/s_client.c
|
||||
--- openssl-1.0.1c/apps/s_client.c.default-paths 2012-03-18 19:16:05.000000000 +0100
|
||||
+++ openssl-1.0.1c/apps/s_client.c 2012-12-06 18:24:06.425933203 +0100
|
||||
@@ -1166,12 +1166,19 @@ bad:
|
||||
if (!set_cert_key_stuff(ctx,cert,key))
|
||||
goto end;
|
||||
|
||||
- if ((!SSL_CTX_load_verify_locations(ctx,CAfile,CApath)) ||
|
||||
- (!SSL_CTX_set_default_verify_paths(ctx)))
|
||||
+ if (CAfile == NULL && CApath == NULL)
|
||||
{
|
||||
- /* BIO_printf(bio_err,"error setting default verify locations\n"); */
|
||||
- ERR_print_errors(bio_err);
|
||||
- /* goto end; */
|
||||
+ if (!SSL_CTX_set_default_verify_paths(ctx))
|
||||
+ {
|
||||
+ ERR_print_errors(bio_err);
|
||||
+ }
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ if (!SSL_CTX_load_verify_locations(ctx,CAfile,CApath))
|
||||
+ {
|
||||
+ ERR_print_errors(bio_err);
|
||||
+ }
|
||||
}
|
||||
|
||||
#ifndef OPENSSL_NO_TLSEXT
|
||||
diff -up openssl-1.0.1c/apps/s_server.c.default-paths openssl-1.0.1c/apps/s_server.c
|
||||
--- openssl-1.0.1c/apps/s_server.c.default-paths 2012-03-18 19:16:05.000000000 +0100
|
||||
+++ openssl-1.0.1c/apps/s_server.c 2012-12-06 18:25:11.199329611 +0100
|
||||
@@ -1565,13 +1565,21 @@ bad:
|
||||
}
|
||||
#endif
|
||||
|
||||
- if ((!SSL_CTX_load_verify_locations(ctx,CAfile,CApath)) ||
|
||||
- (!SSL_CTX_set_default_verify_paths(ctx)))
|
||||
+ if (CAfile == NULL && CApath == NULL)
|
||||
{
|
||||
- /* BIO_printf(bio_err,"X509_load_verify_locations\n"); */
|
||||
- ERR_print_errors(bio_err);
|
||||
- /* goto end; */
|
||||
+ if (!SSL_CTX_set_default_verify_paths(ctx))
|
||||
+ {
|
||||
+ ERR_print_errors(bio_err);
|
||||
+ }
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ if (!SSL_CTX_load_verify_locations(ctx,CAfile,CApath))
|
||||
+ {
|
||||
+ ERR_print_errors(bio_err);
|
||||
+ }
|
||||
}
|
||||
+
|
||||
if (vpm)
|
||||
SSL_CTX_set1_param(ctx, vpm);
|
||||
|
||||
@@ -1622,8 +1630,11 @@ bad:
|
||||
else
|
||||
SSL_CTX_sess_set_cache_size(ctx2,128);
|
||||
|
||||
- if ((!SSL_CTX_load_verify_locations(ctx2,CAfile,CApath)) ||
|
||||
- (!SSL_CTX_set_default_verify_paths(ctx2)))
|
||||
+ if (!SSL_CTX_load_verify_locations(ctx2,CAfile,CApath))
|
||||
+ {
|
||||
+ ERR_print_errors(bio_err);
|
||||
+ }
|
||||
+ if (!SSL_CTX_set_default_verify_paths(ctx2))
|
||||
{
|
||||
ERR_print_errors(bio_err);
|
||||
}
|
||||
diff -up openssl-1.0.1c/apps/s_time.c.default-paths openssl-1.0.1c/apps/s_time.c
|
||||
--- openssl-1.0.1c/apps/s_time.c.default-paths 2006-04-17 14:22:13.000000000 +0200
|
||||
+++ openssl-1.0.1c/apps/s_time.c 2012-12-06 18:27:41.694574044 +0100
|
||||
@@ -373,12 +373,19 @@ int MAIN(int argc, char **argv)
|
||||
|
||||
SSL_load_error_strings();
|
||||
|
||||
- if ((!SSL_CTX_load_verify_locations(tm_ctx,CAfile,CApath)) ||
|
||||
- (!SSL_CTX_set_default_verify_paths(tm_ctx)))
|
||||
+ if (CAfile == NULL && CApath == NULL)
|
||||
{
|
||||
- /* BIO_printf(bio_err,"error setting default verify locations\n"); */
|
||||
- ERR_print_errors(bio_err);
|
||||
- /* goto end; */
|
||||
+ if (!SSL_CTX_set_default_verify_paths(tm_ctx))
|
||||
+ {
|
||||
+ ERR_print_errors(bio_err);
|
||||
+ }
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ if (!SSL_CTX_load_verify_locations(tm_ctx,CAfile,CApath))
|
||||
+ {
|
||||
+ ERR_print_errors(bio_err);
|
||||
+ }
|
||||
}
|
||||
|
||||
if (tm_cipher == NULL)
|
61
openssl-1.0.1c-dh-1024.patch
Normal file
61
openssl-1.0.1c-dh-1024.patch
Normal file
@ -0,0 +1,61 @@
|
||||
diff -up openssl-1.0.1c/apps/s_server.c.dh1024 openssl-1.0.1c/apps/s_server.c
|
||||
--- openssl-1.0.1c/apps/s_server.c.dh1024 2012-11-14 20:27:50.000000000 +0100
|
||||
+++ openssl-1.0.1c/apps/s_server.c 2012-11-15 20:56:15.247774465 +0100
|
||||
@@ -222,27 +222,31 @@ static void s_server_init(void);
|
||||
#endif
|
||||
|
||||
#ifndef OPENSSL_NO_DH
|
||||
-static unsigned char dh512_p[]={
|
||||
- 0xDA,0x58,0x3C,0x16,0xD9,0x85,0x22,0x89,0xD0,0xE4,0xAF,0x75,
|
||||
- 0x6F,0x4C,0xCA,0x92,0xDD,0x4B,0xE5,0x33,0xB8,0x04,0xFB,0x0F,
|
||||
- 0xED,0x94,0xEF,0x9C,0x8A,0x44,0x03,0xED,0x57,0x46,0x50,0xD3,
|
||||
- 0x69,0x99,0xDB,0x29,0xD7,0x76,0x27,0x6B,0xA2,0xD3,0xD4,0x12,
|
||||
- 0xE2,0x18,0xF4,0xDD,0x1E,0x08,0x4C,0xF6,0xD8,0x00,0x3E,0x7C,
|
||||
- 0x47,0x74,0xE8,0x33,
|
||||
- };
|
||||
-static unsigned char dh512_g[]={
|
||||
- 0x02,
|
||||
- };
|
||||
-
|
||||
-static DH *get_dh512(void)
|
||||
+static DH *get_dh1024()
|
||||
{
|
||||
- DH *dh=NULL;
|
||||
+ static unsigned char dh1024_p[]={
|
||||
+ 0x99,0x58,0xFA,0x90,0x53,0x2F,0xE0,0x61,0x83,0x9D,0x54,0x63,
|
||||
+ 0xBD,0x35,0x5A,0x31,0xF3,0xC6,0x79,0xE5,0xA0,0x0F,0x66,0x79,
|
||||
+ 0x3C,0xA0,0x7F,0xE8,0xA2,0x5F,0xDF,0x11,0x08,0xA3,0xF0,0x3C,
|
||||
+ 0xC3,0x3C,0x5D,0x50,0x2C,0xD5,0xD6,0x58,0x12,0xDB,0xC1,0xEF,
|
||||
+ 0xB4,0x47,0x4A,0x5A,0x39,0x8A,0x4E,0xEB,0x44,0xE2,0x07,0xFB,
|
||||
+ 0x3D,0xA3,0xC7,0x6E,0x52,0xF3,0x2B,0x7B,0x10,0xA5,0x98,0xE3,
|
||||
+ 0x38,0x2A,0xE2,0x7F,0xA4,0x8F,0x26,0x87,0x9B,0x66,0x7A,0xED,
|
||||
+ 0x2D,0x4C,0xE7,0x33,0x77,0x47,0x94,0x43,0xB6,0xAA,0x97,0x23,
|
||||
+ 0x8A,0xFC,0xA5,0xA6,0x64,0x09,0xC0,0x27,0xC0,0xEF,0xCB,0x05,
|
||||
+ 0x90,0x9D,0xD5,0x75,0xBA,0x00,0xE0,0xFB,0xA8,0x81,0x52,0xA4,
|
||||
+ 0xB2,0x83,0x22,0x5B,0xCB,0xD7,0x16,0x93,
|
||||
+ };
|
||||
+ static unsigned char dh1024_g[]={
|
||||
+ 0x02,
|
||||
+ };
|
||||
+ DH *dh;
|
||||
|
||||
if ((dh=DH_new()) == NULL) return(NULL);
|
||||
- dh->p=BN_bin2bn(dh512_p,sizeof(dh512_p),NULL);
|
||||
- dh->g=BN_bin2bn(dh512_g,sizeof(dh512_g),NULL);
|
||||
+ dh->p=BN_bin2bn(dh1024_p,sizeof(dh1024_p),NULL);
|
||||
+ dh->g=BN_bin2bn(dh1024_g,sizeof(dh1024_g),NULL);
|
||||
if ((dh->p == NULL) || (dh->g == NULL))
|
||||
- return(NULL);
|
||||
+ { DH_free(dh); return(NULL); }
|
||||
return(dh);
|
||||
}
|
||||
#endif
|
||||
@@ -1657,7 +1661,7 @@ bad:
|
||||
else
|
||||
{
|
||||
BIO_printf(bio_s_out,"Using default temp DH parameters\n");
|
||||
- dh=get_dh512();
|
||||
+ dh=get_dh1024();
|
||||
}
|
||||
(void)BIO_flush(bio_s_out);
|
||||
|
256
openssl-1.0.1e-backports.patch
Normal file
256
openssl-1.0.1e-backports.patch
Normal file
@ -0,0 +1,256 @@
|
||||
From 08f8933fa34d242383a1e12d4701acb1855686bf Mon Sep 17 00:00:00 2001
|
||||
From: Nick Alcock <nix@esperi.org.uk>
|
||||
Date: Fri, 15 Feb 2013 17:44:11 +0000
|
||||
Subject: [PATCH] Fix POD errors to stop make install_docs dying with pod2man
|
||||
2.5.0+
|
||||
|
||||
podlators 2.5.0 has switched to dying on POD syntax errors. This means
|
||||
that a bunch of long-standing erroneous POD in the openssl documentation
|
||||
now leads to fatal errors from pod2man, halting installation.
|
||||
|
||||
Unfortunately POD constraints mean that you have to sort numeric lists
|
||||
in ascending order if they start with 1: you cannot do 1, 0, 2 even if
|
||||
you want 1 to appear first. I've reshuffled such (alas, I wish there
|
||||
were a better way but I don't know of one).
|
||||
(cherry picked from commit 5cc270774258149235f69e1789b3370f57b0e27b)
|
||||
---
|
||||
doc/crypto/X509_STORE_CTX_get_error.pod | 2 ++
|
||||
doc/ssl/SSL_CTX_set_client_CA_list.pod | 8 ++++----
|
||||
doc/ssl/SSL_CTX_use_psk_identity_hint.pod | 4 ++++
|
||||
doc/ssl/SSL_accept.pod | 10 +++++-----
|
||||
doc/ssl/SSL_connect.pod | 10 +++++-----
|
||||
doc/ssl/SSL_do_handshake.pod | 10 +++++-----
|
||||
doc/ssl/SSL_shutdown.pod | 10 +++++-----
|
||||
7 files changed, 30 insertions(+), 24 deletions(-)
|
||||
|
||||
diff --git a/doc/crypto/X509_STORE_CTX_get_error.pod b/doc/crypto/X509_STORE_CTX_get_error.pod
|
||||
index a883f6c..60e8332 100644
|
||||
--- a/doc/crypto/X509_STORE_CTX_get_error.pod
|
||||
+++ b/doc/crypto/X509_STORE_CTX_get_error.pod
|
||||
@@ -278,6 +278,8 @@ happen if extended CRL checking is enabled.
|
||||
an application specific error. This will never be returned unless explicitly
|
||||
set by an application.
|
||||
|
||||
+=back
|
||||
+
|
||||
=head1 NOTES
|
||||
|
||||
The above functions should be used instead of directly referencing the fields
|
||||
diff --git a/doc/ssl/SSL_CTX_set_client_CA_list.pod b/doc/ssl/SSL_CTX_set_client_CA_list.pod
|
||||
index 632b556..5e66133 100644
|
||||
--- a/doc/ssl/SSL_CTX_set_client_CA_list.pod
|
||||
+++ b/doc/ssl/SSL_CTX_set_client_CA_list.pod
|
||||
@@ -66,16 +66,16 @@ values:
|
||||
|
||||
=over 4
|
||||
|
||||
-=item 1
|
||||
-
|
||||
-The operation succeeded.
|
||||
-
|
||||
=item 0
|
||||
|
||||
A failure while manipulating the STACK_OF(X509_NAME) object occurred or
|
||||
the X509_NAME could not be extracted from B<cacert>. Check the error stack
|
||||
to find out the reason.
|
||||
|
||||
+=item 1
|
||||
+
|
||||
+The operation succeeded.
|
||||
+
|
||||
=back
|
||||
|
||||
=head1 EXAMPLES
|
||||
diff --git a/doc/ssl/SSL_CTX_use_psk_identity_hint.pod b/doc/ssl/SSL_CTX_use_psk_identity_hint.pod
|
||||
index b80e25b..7e60df5 100644
|
||||
--- a/doc/ssl/SSL_CTX_use_psk_identity_hint.pod
|
||||
+++ b/doc/ssl/SSL_CTX_use_psk_identity_hint.pod
|
||||
@@ -81,6 +81,8 @@ SSL_CTX_use_psk_identity_hint() and SSL_use_psk_identity_hint() return
|
||||
|
||||
Return values from the server callback are interpreted as follows:
|
||||
|
||||
+=over 4
|
||||
+
|
||||
=item > 0
|
||||
|
||||
PSK identity was found and the server callback has provided the PSK
|
||||
@@ -99,4 +101,6 @@ completely.
|
||||
PSK identity was not found. An "unknown_psk_identity" alert message
|
||||
will be sent and the connection setup fails.
|
||||
|
||||
+=back
|
||||
+
|
||||
=cut
|
||||
diff --git a/doc/ssl/SSL_accept.pod b/doc/ssl/SSL_accept.pod
|
||||
index cc724c0..b1c34d1 100644
|
||||
--- a/doc/ssl/SSL_accept.pod
|
||||
+++ b/doc/ssl/SSL_accept.pod
|
||||
@@ -44,17 +44,17 @@ The following return values can occur:
|
||||
|
||||
=over 4
|
||||
|
||||
-=item 1
|
||||
-
|
||||
-The TLS/SSL handshake was successfully completed, a TLS/SSL connection has been
|
||||
-established.
|
||||
-
|
||||
=item 0
|
||||
|
||||
The TLS/SSL handshake was not successful but was shut down controlled and
|
||||
by the specifications of the TLS/SSL protocol. Call SSL_get_error() with the
|
||||
return value B<ret> to find out the reason.
|
||||
|
||||
+=item 1
|
||||
+
|
||||
+The TLS/SSL handshake was successfully completed, a TLS/SSL connection has been
|
||||
+established.
|
||||
+
|
||||
=item E<lt>0
|
||||
|
||||
The TLS/SSL handshake was not successful because a fatal error occurred either
|
||||
diff --git a/doc/ssl/SSL_connect.pod b/doc/ssl/SSL_connect.pod
|
||||
index cc56ebb..946ca89 100644
|
||||
--- a/doc/ssl/SSL_connect.pod
|
||||
+++ b/doc/ssl/SSL_connect.pod
|
||||
@@ -41,17 +41,17 @@ The following return values can occur:
|
||||
|
||||
=over 4
|
||||
|
||||
-=item 1
|
||||
-
|
||||
-The TLS/SSL handshake was successfully completed, a TLS/SSL connection has been
|
||||
-established.
|
||||
-
|
||||
=item 0
|
||||
|
||||
The TLS/SSL handshake was not successful but was shut down controlled and
|
||||
by the specifications of the TLS/SSL protocol. Call SSL_get_error() with the
|
||||
return value B<ret> to find out the reason.
|
||||
|
||||
+=item 1
|
||||
+
|
||||
+The TLS/SSL handshake was successfully completed, a TLS/SSL connection has been
|
||||
+established.
|
||||
+
|
||||
=item E<lt>0
|
||||
|
||||
The TLS/SSL handshake was not successful, because a fatal error occurred either
|
||||
diff --git a/doc/ssl/SSL_do_handshake.pod b/doc/ssl/SSL_do_handshake.pod
|
||||
index 2435764..7f8cf24 100644
|
||||
--- a/doc/ssl/SSL_do_handshake.pod
|
||||
+++ b/doc/ssl/SSL_do_handshake.pod
|
||||
@@ -45,17 +45,17 @@ The following return values can occur:
|
||||
|
||||
=over 4
|
||||
|
||||
-=item 1
|
||||
-
|
||||
-The TLS/SSL handshake was successfully completed, a TLS/SSL connection has been
|
||||
-established.
|
||||
-
|
||||
=item 0
|
||||
|
||||
The TLS/SSL handshake was not successful but was shut down controlled and
|
||||
by the specifications of the TLS/SSL protocol. Call SSL_get_error() with the
|
||||
return value B<ret> to find out the reason.
|
||||
|
||||
+=item 1
|
||||
+
|
||||
+The TLS/SSL handshake was successfully completed, a TLS/SSL connection has been
|
||||
+established.
|
||||
+
|
||||
=item E<lt>0
|
||||
|
||||
The TLS/SSL handshake was not successful because a fatal error occurred either
|
||||
diff --git a/doc/ssl/SSL_shutdown.pod b/doc/ssl/SSL_shutdown.pod
|
||||
index 89911ac..42a89b7 100644
|
||||
--- a/doc/ssl/SSL_shutdown.pod
|
||||
+++ b/doc/ssl/SSL_shutdown.pod
|
||||
@@ -92,11 +92,6 @@ The following return values can occur:
|
||||
|
||||
=over 4
|
||||
|
||||
-=item 1
|
||||
-
|
||||
-The shutdown was successfully completed. The "close notify" alert was sent
|
||||
-and the peer's "close notify" alert was received.
|
||||
-
|
||||
=item 0
|
||||
|
||||
The shutdown is not yet finished. Call SSL_shutdown() for a second time,
|
||||
@@ -104,6 +99,11 @@ if a bidirectional shutdown shall be performed.
|
||||
The output of L<SSL_get_error(3)|SSL_get_error(3)> may be misleading, as an
|
||||
erroneous SSL_ERROR_SYSCALL may be flagged even though no error occurred.
|
||||
|
||||
+=item 1
|
||||
+
|
||||
+The shutdown was successfully completed. The "close notify" alert was sent
|
||||
+and the peer's "close notify" alert was received.
|
||||
+
|
||||
=item -1
|
||||
|
||||
The shutdown was not successful because a fatal error occurred either
|
||||
--
|
||||
1.7.9.5
|
||||
|
||||
From 147dbb2fe3bead7a10e2f280261b661ce7af7adc Mon Sep 17 00:00:00 2001
|
||||
From: "Dr. Stephen Henson" <steve@openssl.org>
|
||||
Date: Mon, 11 Feb 2013 18:24:03 +0000
|
||||
Subject: [PATCH] Fix for SSL_get_certificate
|
||||
|
||||
Now we set the current certificate to the one used by a server
|
||||
there is no need to call ssl_get_server_send_cert which will
|
||||
fail if we haven't sent a certificate yet.
|
||||
---
|
||||
ssl/ssl_lib.c | 4 +---
|
||||
1 file changed, 1 insertion(+), 3 deletions(-)
|
||||
|
||||
diff --git a/ssl/ssl_lib.c b/ssl/ssl_lib.c
|
||||
index 14d143d..ff5a85a 100644
|
||||
--- a/ssl/ssl_lib.c
|
||||
+++ b/ssl/ssl_lib.c
|
||||
@@ -2792,9 +2792,7 @@ void ssl_clear_cipher_ctx(SSL *s)
|
||||
/* Fix this function so that it takes an optional type parameter */
|
||||
X509 *SSL_get_certificate(const SSL *s)
|
||||
{
|
||||
- if (s->server)
|
||||
- return(ssl_get_server_send_cert(s));
|
||||
- else if (s->cert != NULL)
|
||||
+ if (s->cert != NULL)
|
||||
return(s->cert->key->x509);
|
||||
else
|
||||
return(NULL);
|
||||
--
|
||||
1.7.9.5
|
||||
|
||||
From 9fe4603b8245425a4c46986ed000fca054231253 Mon Sep 17 00:00:00 2001
|
||||
From: David Woodhouse <dwmw2@infradead.org>
|
||||
Date: Tue, 12 Feb 2013 14:55:32 +0000
|
||||
Subject: [PATCH] Check DTLS_BAD_VER for version number.
|
||||
|
||||
The version check for DTLS1_VERSION was redundant as
|
||||
DTLS1_VERSION > TLS1_1_VERSION, however we do need to
|
||||
check for DTLS1_BAD_VER for compatibility.
|
||||
|
||||
PR:2984
|
||||
(cherry picked from commit d980abb22e22661e98e5cee33d760ab0c7584ecc)
|
||||
---
|
||||
ssl/s3_cbc.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/ssl/s3_cbc.c b/ssl/s3_cbc.c
|
||||
index 02edf3f..443a31e 100644
|
||||
--- a/ssl/s3_cbc.c
|
||||
+++ b/ssl/s3_cbc.c
|
||||
@@ -148,7 +148,7 @@ int tls1_cbc_remove_padding(const SSL* s,
|
||||
unsigned padding_length, good, to_check, i;
|
||||
const unsigned overhead = 1 /* padding length byte */ + mac_size;
|
||||
/* Check if version requires explicit IV */
|
||||
- if (s->version >= TLS1_1_VERSION || s->version == DTLS1_VERSION)
|
||||
+ if (s->version >= TLS1_1_VERSION || s->version == DTLS1_BAD_VER)
|
||||
{
|
||||
/* These lengths are all public so we can test them in
|
||||
* non-constant time.
|
||||
--
|
||||
1.7.9.5
|
||||
|
33
openssl-1.0.1e-bad-mac.patch
Normal file
33
openssl-1.0.1e-bad-mac.patch
Normal file
@ -0,0 +1,33 @@
|
||||
From 9ab3ce124616cb12bd39c6aa1e1bde0f46969b29 Mon Sep 17 00:00:00 2001
|
||||
From: Andy Polyakov <appro@openssl.org>
|
||||
Date: Mon, 18 Mar 2013 19:29:41 +0100
|
||||
Subject: [PATCH] e_aes_cbc_hmac_sha1.c: fix rare bad record mac on AES-NI
|
||||
plaforms.
|
||||
|
||||
PR: 3002
|
||||
(cherry picked from commit 5c60046553716fcf160718f59160493194f212dc)
|
||||
---
|
||||
crypto/evp/e_aes_cbc_hmac_sha1.c | 5 +++--
|
||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/crypto/evp/e_aes_cbc_hmac_sha1.c b/crypto/evp/e_aes_cbc_hmac_sha1.c
|
||||
index 483e04b..fb2c884 100644
|
||||
--- a/crypto/evp/e_aes_cbc_hmac_sha1.c
|
||||
+++ b/crypto/evp/e_aes_cbc_hmac_sha1.c
|
||||
@@ -328,10 +328,11 @@ static int aesni_cbc_hmac_sha1_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
|
||||
|
||||
if (res!=SHA_CBLOCK) continue;
|
||||
|
||||
- mask = 0-((inp_len+8-j)>>(sizeof(j)*8-1));
|
||||
+ /* j is not incremented yet */
|
||||
+ mask = 0-((inp_len+7-j)>>(sizeof(j)*8-1));
|
||||
data->u[SHA_LBLOCK-1] |= bitlen&mask;
|
||||
sha1_block_data_order(&key->md,data,1);
|
||||
- mask &= 0-((j-inp_len-73)>>(sizeof(j)*8-1));
|
||||
+ mask &= 0-((j-inp_len-72)>>(sizeof(j)*8-1));
|
||||
pmac->u[0] |= key->md.h0 & mask;
|
||||
pmac->u[1] |= key->md.h1 & mask;
|
||||
pmac->u[2] |= key->md.h2 & mask;
|
||||
--
|
||||
1.7.9.5
|
||||
|
38
openssl-1.0.1e-env-zlib.patch
Normal file
38
openssl-1.0.1e-env-zlib.patch
Normal file
@ -0,0 +1,38 @@
|
||||
diff -up openssl-1.0.1e/doc/ssl/SSL_COMP_add_compression_method.pod.env-zlib openssl-1.0.1e/doc/ssl/SSL_COMP_add_compression_method.pod
|
||||
--- openssl-1.0.1e/doc/ssl/SSL_COMP_add_compression_method.pod.env-zlib 2013-02-11 16:02:48.000000000 +0100
|
||||
+++ openssl-1.0.1e/doc/ssl/SSL_COMP_add_compression_method.pod 2013-02-19 16:32:51.000000000 +0100
|
||||
@@ -47,6 +47,13 @@ Once the identities of the compression m
|
||||
been standardized, the compression API will most likely be changed. Using
|
||||
it in the current state is not recommended.
|
||||
|
||||
+It is also not recommended to use compression if data transfered contain
|
||||
+untrusted parts that can be manipulated by an attacker as he could then
|
||||
+get information about the encrypted data. See the CRIME attack. For
|
||||
+that reason the default loading of the zlib compression method is
|
||||
+disabled and enabled only if the environment variable B<OPENSSL_DEFAULT_ZLIB>
|
||||
+is present during the library initialization.
|
||||
+
|
||||
=head1 RETURN VALUES
|
||||
|
||||
SSL_COMP_add_compression_method() may return the following values:
|
||||
diff -up openssl-1.0.1e/ssl/ssl_ciph.c.env-zlib openssl-1.0.1e/ssl/ssl_ciph.c
|
||||
--- openssl-1.0.1e/ssl/ssl_ciph.c.env-zlib 2013-02-11 16:26:04.000000000 +0100
|
||||
+++ openssl-1.0.1e/ssl/ssl_ciph.c 2013-02-19 16:37:36.163545085 +0100
|
||||
@@ -140,6 +140,8 @@
|
||||
* OTHERWISE.
|
||||
*/
|
||||
|
||||
+/* for secure_getenv */
|
||||
+#define _GNU_SOURCE
|
||||
#include <stdio.h>
|
||||
#include <openssl/objects.h>
|
||||
#ifndef OPENSSL_NO_COMP
|
||||
@@ -455,7 +457,7 @@ static void load_builtin_compressions(vo
|
||||
|
||||
MemCheck_off();
|
||||
ssl_comp_methods=sk_SSL_COMP_new(sk_comp_cmp);
|
||||
- if (ssl_comp_methods != NULL)
|
||||
+ if (ssl_comp_methods != NULL && secure_getenv("OPENSSL_DEFAULT_ZLIB") != NULL)
|
||||
{
|
||||
comp=(SSL_COMP *)OPENSSL_malloc(sizeof(SSL_COMP));
|
||||
if (comp != NULL)
|
File diff suppressed because it is too large
Load Diff
11
openssl-1.0.1e-issuer-hash.patch
Normal file
11
openssl-1.0.1e-issuer-hash.patch
Normal file
@ -0,0 +1,11 @@
|
||||
diff -up openssl-1.0.1e/crypto/x509/x509_cmp.c.issuer-hash openssl-1.0.1e/crypto/x509/x509_cmp.c
|
||||
--- openssl-1.0.1e/crypto/x509/x509_cmp.c.issuer-hash 2013-02-11 16:26:04.000000000 +0100
|
||||
+++ openssl-1.0.1e/crypto/x509/x509_cmp.c 2013-02-19 12:46:11.315788592 +0100
|
||||
@@ -85,6 +85,7 @@ unsigned long X509_issuer_and_serial_has
|
||||
char *f;
|
||||
|
||||
EVP_MD_CTX_init(&ctx);
|
||||
+ EVP_MD_CTX_set_flags(&ctx, EVP_MD_CTX_FLAG_NON_FIPS_ALLOW);
|
||||
f=X509_NAME_oneline(a->cert_info->issuer,NULL,0);
|
||||
if (!EVP_DigestInit_ex(&ctx, EVP_md5(), NULL))
|
||||
goto err;
|
@ -1,6 +1,6 @@
|
||||
diff -up openssl-1.0.1c/crypto/conf/conf_api.c.secure-getenv openssl-1.0.1c/crypto/conf/conf_api.c
|
||||
--- openssl-1.0.1c/crypto/conf/conf_api.c.secure-getenv 2011-09-02 13:20:32.000000000 +0200
|
||||
+++ openssl-1.0.1c/crypto/conf/conf_api.c 2012-09-10 20:20:24.803968961 +0200
|
||||
diff -up openssl-1.0.1e/crypto/conf/conf_api.c.secure-getenv openssl-1.0.1e/crypto/conf/conf_api.c
|
||||
--- openssl-1.0.1e/crypto/conf/conf_api.c.secure-getenv 2013-02-11 16:26:04.000000000 +0100
|
||||
+++ openssl-1.0.1e/crypto/conf/conf_api.c 2013-02-19 13:02:02.531188124 +0100
|
||||
@@ -63,6 +63,8 @@
|
||||
# define NDEBUG
|
||||
#endif
|
||||
@ -28,9 +28,9 @@ diff -up openssl-1.0.1c/crypto/conf/conf_api.c.secure-getenv openssl-1.0.1c/cryp
|
||||
}
|
||||
|
||||
#if 0 /* There's no way to provide error checking with this function, so
|
||||
diff -up openssl-1.0.1c/crypto/conf/conf_mod.c.secure-getenv openssl-1.0.1c/crypto/conf/conf_mod.c
|
||||
--- openssl-1.0.1c/crypto/conf/conf_mod.c.secure-getenv 2008-11-05 19:38:55.000000000 +0100
|
||||
+++ openssl-1.0.1c/crypto/conf/conf_mod.c 2012-09-10 20:22:46.228970661 +0200
|
||||
diff -up openssl-1.0.1e/crypto/conf/conf_mod.c.secure-getenv openssl-1.0.1e/crypto/conf/conf_mod.c
|
||||
--- openssl-1.0.1e/crypto/conf/conf_mod.c.secure-getenv 2013-02-11 16:26:04.000000000 +0100
|
||||
+++ openssl-1.0.1e/crypto/conf/conf_mod.c 2013-02-19 13:02:02.531188124 +0100
|
||||
@@ -56,6 +56,8 @@
|
||||
*
|
||||
*/
|
||||
@ -51,9 +51,9 @@ diff -up openssl-1.0.1c/crypto/conf/conf_mod.c.secure-getenv openssl-1.0.1c/cryp
|
||||
return BUF_strdup(file);
|
||||
|
||||
len = strlen(X509_get_default_cert_area());
|
||||
diff -up openssl-1.0.1c/crypto/engine/eng_list.c.secure-getenv openssl-1.0.1c/crypto/engine/eng_list.c
|
||||
--- openssl-1.0.1c/crypto/engine/eng_list.c.secure-getenv 2010-03-27 19:28:13.000000000 +0100
|
||||
+++ openssl-1.0.1c/crypto/engine/eng_list.c 2012-09-10 20:20:46.106452027 +0200
|
||||
diff -up openssl-1.0.1e/crypto/engine/eng_list.c.secure-getenv openssl-1.0.1e/crypto/engine/eng_list.c
|
||||
--- openssl-1.0.1e/crypto/engine/eng_list.c.secure-getenv 2013-02-11 16:26:04.000000000 +0100
|
||||
+++ openssl-1.0.1e/crypto/engine/eng_list.c 2013-02-19 13:02:02.536188233 +0100
|
||||
@@ -61,6 +61,8 @@
|
||||
* SUN MICROSYSTEMS, INC., and contributed to the OpenSSL project.
|
||||
*/
|
||||
@ -75,9 +75,9 @@ diff -up openssl-1.0.1c/crypto/engine/eng_list.c.secure-getenv openssl-1.0.1c/cr
|
||||
#endif
|
||||
iterator = ENGINE_by_id("dynamic");
|
||||
if(!iterator || !ENGINE_ctrl_cmd_string(iterator, "ID", id, 0) ||
|
||||
diff -up openssl-1.0.1c/crypto/md5/md5_dgst.c.secure-getenv openssl-1.0.1c/crypto/md5/md5_dgst.c
|
||||
--- openssl-1.0.1c/crypto/md5/md5_dgst.c.secure-getenv 2012-09-10 20:10:26.079391932 +0200
|
||||
+++ openssl-1.0.1c/crypto/md5/md5_dgst.c 2012-09-10 20:20:31.383118153 +0200
|
||||
diff -up openssl-1.0.1e/crypto/md5/md5_dgst.c.secure-getenv openssl-1.0.1e/crypto/md5/md5_dgst.c
|
||||
--- openssl-1.0.1e/crypto/md5/md5_dgst.c.secure-getenv 2013-02-19 13:02:02.492187275 +0100
|
||||
+++ openssl-1.0.1e/crypto/md5/md5_dgst.c 2013-02-19 13:02:02.537188254 +0100
|
||||
@@ -56,6 +56,8 @@
|
||||
* [including the GNU Public Licence.]
|
||||
*/
|
||||
@ -96,9 +96,9 @@ diff -up openssl-1.0.1c/crypto/md5/md5_dgst.c.secure-getenv openssl-1.0.1c/crypt
|
||||
OpenSSLDie(__FILE__, __LINE__, \
|
||||
"Digest MD5 forbidden in FIPS mode!");
|
||||
return private_MD5_Init(c);
|
||||
diff -up openssl-1.0.1c/crypto/o_init.c.secure-getenv openssl-1.0.1c/crypto/o_init.c
|
||||
--- openssl-1.0.1c/crypto/o_init.c.secure-getenv 2012-09-10 20:10:26.066391638 +0200
|
||||
+++ openssl-1.0.1c/crypto/o_init.c 2012-09-10 20:23:27.634908822 +0200
|
||||
diff -up openssl-1.0.1e/crypto/o_init.c.secure-getenv openssl-1.0.1e/crypto/o_init.c
|
||||
--- openssl-1.0.1e/crypto/o_init.c.secure-getenv 2013-02-19 13:02:02.428185882 +0100
|
||||
+++ openssl-1.0.1e/crypto/o_init.c 2013-02-19 13:02:02.538188276 +0100
|
||||
@@ -52,6 +52,8 @@
|
||||
*
|
||||
*/
|
||||
@ -117,19 +117,19 @@ diff -up openssl-1.0.1c/crypto/o_init.c.secure-getenv openssl-1.0.1c/crypto/o_in
|
||||
{
|
||||
buf[0] = '1';
|
||||
}
|
||||
diff -up openssl-1.0.1c/crypto/rand/randfile.c.secure-getenv openssl-1.0.1c/crypto/rand/randfile.c
|
||||
--- openssl-1.0.1c/crypto/rand/randfile.c.secure-getenv 2012-01-15 14:40:21.000000000 +0100
|
||||
+++ openssl-1.0.1c/crypto/rand/randfile.c 2012-09-10 20:20:40.708329617 +0200
|
||||
@@ -58,6 +58,8 @@
|
||||
|
||||
/* We need to define this to get macros like S_IFBLK and S_IFCHR */
|
||||
diff -up openssl-1.0.1e/crypto/rand/randfile.c.secure-getenv openssl-1.0.1e/crypto/rand/randfile.c
|
||||
--- openssl-1.0.1e/crypto/rand/randfile.c.secure-getenv 2013-02-11 16:26:04.000000000 +0100
|
||||
+++ openssl-1.0.1e/crypto/rand/randfile.c 2013-02-19 13:03:06.971591052 +0100
|
||||
@@ -60,6 +60,8 @@
|
||||
#if !defined(OPENSSL_SYS_VXWORKS)
|
||||
#define _XOPEN_SOURCE 500
|
||||
#endif
|
||||
+/* for secure_getenv */
|
||||
+#define _GNU_SOURCE
|
||||
|
||||
#include <errno.h>
|
||||
#include <stdio.h>
|
||||
@@ -275,8 +277,7 @@ const char *RAND_file_name(char *buf, si
|
||||
@@ -277,8 +279,7 @@ const char *RAND_file_name(char *buf, si
|
||||
struct stat sb;
|
||||
#endif
|
||||
|
||||
@ -139,7 +139,7 @@ diff -up openssl-1.0.1c/crypto/rand/randfile.c.secure-getenv openssl-1.0.1c/cryp
|
||||
if (s != NULL && *s && strlen(s) + 1 < size)
|
||||
{
|
||||
if (BUF_strlcpy(buf,s,size) >= size)
|
||||
@@ -284,8 +285,7 @@ const char *RAND_file_name(char *buf, si
|
||||
@@ -286,8 +287,7 @@ const char *RAND_file_name(char *buf, si
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -149,9 +149,9 @@ diff -up openssl-1.0.1c/crypto/rand/randfile.c.secure-getenv openssl-1.0.1c/cryp
|
||||
#ifdef DEFAULT_HOME
|
||||
if (s == NULL)
|
||||
{
|
||||
diff -up openssl-1.0.1c/crypto/x509/by_dir.c.secure-getenv openssl-1.0.1c/crypto/x509/by_dir.c
|
||||
--- openssl-1.0.1c/crypto/x509/by_dir.c.secure-getenv 2010-02-19 19:26:23.000000000 +0100
|
||||
+++ openssl-1.0.1c/crypto/x509/by_dir.c 2012-09-10 20:21:16.641144451 +0200
|
||||
diff -up openssl-1.0.1e/crypto/x509/by_dir.c.secure-getenv openssl-1.0.1e/crypto/x509/by_dir.c
|
||||
--- openssl-1.0.1e/crypto/x509/by_dir.c.secure-getenv 2013-02-11 16:26:04.000000000 +0100
|
||||
+++ openssl-1.0.1e/crypto/x509/by_dir.c 2013-02-19 13:02:02.539188298 +0100
|
||||
@@ -56,6 +56,8 @@
|
||||
* [including the GNU Public Licence.]
|
||||
*/
|
||||
@ -170,9 +170,9 @@ diff -up openssl-1.0.1c/crypto/x509/by_dir.c.secure-getenv openssl-1.0.1c/crypto
|
||||
if (dir)
|
||||
ret=add_cert_dir(ld,dir,X509_FILETYPE_PEM);
|
||||
else
|
||||
diff -up openssl-1.0.1c/crypto/x509/by_file.c.secure-getenv openssl-1.0.1c/crypto/x509/by_file.c
|
||||
--- openssl-1.0.1c/crypto/x509/by_file.c.secure-getenv 2012-09-10 20:10:26.016390503 +0200
|
||||
+++ openssl-1.0.1c/crypto/x509/by_file.c 2012-09-10 20:21:07.748942806 +0200
|
||||
diff -up openssl-1.0.1e/crypto/x509/by_file.c.secure-getenv openssl-1.0.1e/crypto/x509/by_file.c
|
||||
--- openssl-1.0.1e/crypto/x509/by_file.c.secure-getenv 2013-02-19 13:02:02.236181701 +0100
|
||||
+++ openssl-1.0.1e/crypto/x509/by_file.c 2013-02-19 13:02:02.554188624 +0100
|
||||
@@ -56,6 +56,8 @@
|
||||
* [including the GNU Public Licence.]
|
||||
*/
|
||||
@ -191,9 +191,9 @@ diff -up openssl-1.0.1c/crypto/x509/by_file.c.secure-getenv openssl-1.0.1c/crypt
|
||||
if (file)
|
||||
ok = (X509_load_cert_crl_file(ctx,file,
|
||||
X509_FILETYPE_PEM) != 0);
|
||||
diff -up openssl-1.0.1c/crypto/x509/x509_vfy.c.secure-getenv openssl-1.0.1c/crypto/x509/x509_vfy.c
|
||||
--- openssl-1.0.1c/crypto/x509/x509_vfy.c.secure-getenv 2011-09-23 15:39:35.000000000 +0200
|
||||
+++ openssl-1.0.1c/crypto/x509/x509_vfy.c 2012-09-10 20:20:55.951675283 +0200
|
||||
diff -up openssl-1.0.1e/crypto/x509/x509_vfy.c.secure-getenv openssl-1.0.1e/crypto/x509/x509_vfy.c
|
||||
--- openssl-1.0.1e/crypto/x509/x509_vfy.c.secure-getenv 2013-02-11 16:26:04.000000000 +0100
|
||||
+++ openssl-1.0.1e/crypto/x509/x509_vfy.c 2013-02-19 13:02:02.556188668 +0100
|
||||
@@ -56,6 +56,8 @@
|
||||
* [including the GNU Public Licence.]
|
||||
*/
|
||||
@ -212,9 +212,9 @@ diff -up openssl-1.0.1c/crypto/x509/x509_vfy.c.secure-getenv openssl-1.0.1c/cryp
|
||||
allow_proxy_certs = 1;
|
||||
purpose = ctx->param->purpose;
|
||||
}
|
||||
diff -up openssl-1.0.1c/engines/ccgost/gost_ctl.c.secure-getenv openssl-1.0.1c/engines/ccgost/gost_ctl.c
|
||||
--- openssl-1.0.1c/engines/ccgost/gost_ctl.c.secure-getenv 2008-03-16 22:05:44.000000000 +0100
|
||||
+++ openssl-1.0.1c/engines/ccgost/gost_ctl.c 2012-09-10 20:21:26.759373897 +0200
|
||||
diff -up openssl-1.0.1e/engines/ccgost/gost_ctl.c.secure-getenv openssl-1.0.1e/engines/ccgost/gost_ctl.c
|
||||
--- openssl-1.0.1e/engines/ccgost/gost_ctl.c.secure-getenv 2013-02-11 16:26:04.000000000 +0100
|
||||
+++ openssl-1.0.1e/engines/ccgost/gost_ctl.c 2013-02-19 13:02:02.557188690 +0100
|
||||
@@ -6,6 +6,8 @@
|
||||
* Implementation of control commands for GOST engine *
|
||||
* OpenSSL 0.9.9 libraries required *
|
@ -1,211 +0,0 @@
|
||||
--- a/doc/ssl/SSL_CTX_set_client_CA_list.pod
|
||||
+++ b/doc/ssl/SSL_CTX_set_client_CA_list.pod
|
||||
@@ -66,16 +66,16 @@
|
||||
|
||||
=over 4
|
||||
|
||||
-=item 1
|
||||
-
|
||||
-The operation succeeded.
|
||||
-
|
||||
=item 0
|
||||
|
||||
A failure while manipulating the STACK_OF(X509_NAME) object occurred or
|
||||
the X509_NAME could not be extracted from B<cacert>. Check the error stack
|
||||
to find out the reason.
|
||||
|
||||
+=item 1
|
||||
+
|
||||
+The operation succeeded.
|
||||
+
|
||||
=back
|
||||
|
||||
=head1 EXAMPLES
|
||||
|
||||
--- a/doc/ssl/SSL_accept.pod
|
||||
+++ b/doc/ssl/SSL_accept.pod
|
||||
@@ -44,10 +44,13 @@
|
||||
|
||||
=over 4
|
||||
|
||||
-=item 1
|
||||
+=item E<lt>0
|
||||
|
||||
-The TLS/SSL handshake was successfully completed, a TLS/SSL connection has been
|
||||
-established.
|
||||
+The TLS/SSL handshake was not successful because a fatal error occurred either
|
||||
+at the protocol level or a connection failure occurred. The shutdown was
|
||||
+not clean. It can also occur of action is need to continue the operation
|
||||
+for non-blocking BIOs. Call SSL_get_error() with the return value B<ret>
|
||||
+to find out the reason.
|
||||
|
||||
=item 0
|
||||
|
||||
@@ -55,13 +58,10 @@
|
||||
by the specifications of the TLS/SSL protocol. Call SSL_get_error() with the
|
||||
return value B<ret> to find out the reason.
|
||||
|
||||
-=item E<lt>0
|
||||
+=item 1
|
||||
|
||||
-The TLS/SSL handshake was not successful because a fatal error occurred either
|
||||
-at the protocol level or a connection failure occurred. The shutdown was
|
||||
-not clean. It can also occur of action is need to continue the operation
|
||||
-for non-blocking BIOs. Call SSL_get_error() with the return value B<ret>
|
||||
-to find out the reason.
|
||||
+The TLS/SSL handshake was successfully completed, a TLS/SSL connection has been
|
||||
+established.
|
||||
|
||||
=back
|
||||
|
||||
|
||||
--- a/doc/ssl/SSL_connect.pod
|
||||
+++ b/doc/ssl/SSL_connect.pod
|
||||
@@ -41,10 +41,13 @@
|
||||
|
||||
=over 4
|
||||
|
||||
-=item 1
|
||||
+=item E<lt>0
|
||||
|
||||
-The TLS/SSL handshake was successfully completed, a TLS/SSL connection has been
|
||||
-established.
|
||||
+The TLS/SSL handshake was not successful, because a fatal error occurred either
|
||||
+at the protocol level or a connection failure occurred. The shutdown was
|
||||
+not clean. It can also occur of action is need to continue the operation
|
||||
+for non-blocking BIOs. Call SSL_get_error() with the return value B<ret>
|
||||
+to find out the reason.
|
||||
|
||||
=item 0
|
||||
|
||||
@@ -52,13 +55,10 @@
|
||||
by the specifications of the TLS/SSL protocol. Call SSL_get_error() with the
|
||||
return value B<ret> to find out the reason.
|
||||
|
||||
-=item E<lt>0
|
||||
+=item 1
|
||||
|
||||
-The TLS/SSL handshake was not successful, because a fatal error occurred either
|
||||
-at the protocol level or a connection failure occurred. The shutdown was
|
||||
-not clean. It can also occur of action is need to continue the operation
|
||||
-for non-blocking BIOs. Call SSL_get_error() with the return value B<ret>
|
||||
-to find out the reason.
|
||||
+The TLS/SSL handshake was successfully completed, a TLS/SSL connection has been
|
||||
+established.
|
||||
|
||||
=back
|
||||
|
||||
|
||||
--- a/doc/ssl/SSL_do_handshake.pod
|
||||
+++ b/doc/ssl/SSL_do_handshake.pod
|
||||
@@ -45,10 +45,13 @@
|
||||
|
||||
=over 4
|
||||
|
||||
-=item 1
|
||||
+=item E<lt>0
|
||||
|
||||
-The TLS/SSL handshake was successfully completed, a TLS/SSL connection has been
|
||||
-established.
|
||||
+The TLS/SSL handshake was not successful because a fatal error occurred either
|
||||
+at the protocol level or a connection failure occurred. The shutdown was
|
||||
+not clean. It can also occur of action is need to continue the operation
|
||||
+for non-blocking BIOs. Call SSL_get_error() with the return value B<ret>
|
||||
+to find out the reason.
|
||||
|
||||
=item 0
|
||||
|
||||
@@ -56,13 +59,10 @@
|
||||
by the specifications of the TLS/SSL protocol. Call SSL_get_error() with the
|
||||
return value B<ret> to find out the reason.
|
||||
|
||||
-=item E<lt>0
|
||||
+=item 1
|
||||
|
||||
-The TLS/SSL handshake was not successful because a fatal error occurred either
|
||||
-at the protocol level or a connection failure occurred. The shutdown was
|
||||
-not clean. It can also occur of action is need to continue the operation
|
||||
-for non-blocking BIOs. Call SSL_get_error() with the return value B<ret>
|
||||
-to find out the reason.
|
||||
+The TLS/SSL handshake was successfully completed, a TLS/SSL connection has been
|
||||
+established.
|
||||
|
||||
=back
|
||||
|
||||
|
||||
--- a/doc/ssl/SSL_shutdown.pod
|
||||
+++ b/doc/ssl/SSL_shutdown.pod
|
||||
@@ -92,10 +92,13 @@
|
||||
|
||||
=over 4
|
||||
|
||||
-=item 1
|
||||
+=item -1
|
||||
|
||||
-The shutdown was successfully completed. The "close notify" alert was sent
|
||||
-and the peer's "close notify" alert was received.
|
||||
+The shutdown was not successful because a fatal error occurred either
|
||||
+at the protocol level or a connection failure occurred. It can also occur if
|
||||
+action is need to continue the operation for non-blocking BIOs.
|
||||
+Call L<SSL_get_error(3)|SSL_get_error(3)> with the return value B<ret>
|
||||
+to find out the reason.
|
||||
|
||||
=item 0
|
||||
|
||||
@@ -104,13 +107,10 @@
|
||||
The output of L<SSL_get_error(3)|SSL_get_error(3)> may be misleading, as an
|
||||
erroneous SSL_ERROR_SYSCALL may be flagged even though no error occurred.
|
||||
|
||||
-=item -1
|
||||
+=item 1
|
||||
|
||||
-The shutdown was not successful because a fatal error occurred either
|
||||
-at the protocol level or a connection failure occurred. It can also occur if
|
||||
-action is need to continue the operation for non-blocking BIOs.
|
||||
-Call L<SSL_get_error(3)|SSL_get_error(3)> with the return value B<ret>
|
||||
-to find out the reason.
|
||||
+The shutdown was successfully completed. The "close notify" alert was sent
|
||||
+and the peer's "close notify" alert was received.
|
||||
|
||||
=back
|
||||
|
||||
|
||||
--- a/doc/ssl/SSL_CTX_use_psk_identity_hint.pod
|
||||
+++ b/doc/ssl/SSL_CTX_use_psk_identity_hint.pod
|
||||
@@ -81,6 +81,13 @@
|
||||
|
||||
Return values from the server callback are interpreted as follows:
|
||||
|
||||
+=over 4
|
||||
+
|
||||
+=item 0
|
||||
+
|
||||
+PSK identity was not found. An "unknown_psk_identity" alert message
|
||||
+will be sent and the connection setup fails.
|
||||
+
|
||||
=item > 0
|
||||
|
||||
PSK identity was found and the server callback has provided the PSK
|
||||
@@ -94,9 +101,6 @@
|
||||
connection will fail with decryption_error before it will be finished
|
||||
completely.
|
||||
|
||||
-=item 0
|
||||
-
|
||||
-PSK identity was not found. An "unknown_psk_identity" alert message
|
||||
-will be sent and the connection setup fails.
|
||||
+=back
|
||||
|
||||
=cut
|
||||
|
||||
--- a/doc/crypto/X509_STORE_CTX_get_error.pod
|
||||
+++ b/doc/crypto/X509_STORE_CTX_get_error.pod
|
||||
@@ -278,6 +278,8 @@
|
||||
an application specific error. This will never be returned unless explicitly
|
||||
set by an application.
|
||||
|
||||
+=back
|
||||
+
|
||||
=head1 NOTES
|
||||
|
||||
The above functions should be used instead of directly referencing the fields
|
11
openssl-mingw64-dont-use-secure-getenv.patch
Normal file
11
openssl-mingw64-dont-use-secure-getenv.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- openssl-1.0.1e/ssl/ssl_ciph.c.orig 2013-02-11 16:26:04.000000000 +0100
|
||||
+++ openssl-1.0.1e/ssl/ssl_ciph.c 2013-03-24 20:39:53.425122737 +0100
|
||||
@@ -455,7 +457,7 @@
|
||||
|
||||
MemCheck_off();
|
||||
ssl_comp_methods=sk_SSL_COMP_new(sk_comp_cmp);
|
||||
- if (ssl_comp_methods != NULL && secure_getenv("OPENSSL_DEFAULT_ZLIB") != NULL)
|
||||
+ if (ssl_comp_methods != NULL && getenv("OPENSSL_DEFAULT_ZLIB") != NULL)
|
||||
{
|
||||
comp=(SSL_COMP *)OPENSSL_malloc(sizeof(SSL_COMP));
|
||||
if (comp != NULL)
|
42
renew-dummy-cert
Executable file
42
renew-dummy-cert
Executable file
@ -0,0 +1,42 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ $# -eq 0 ]; then
|
||||
echo $"Usage: `basename $0` filename" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
PEM=$1
|
||||
REQ=`/bin/mktemp /tmp/openssl.XXXXXX`
|
||||
KEY=`/bin/mktemp /tmp/openssl.XXXXXX`
|
||||
CRT=`/bin/mktemp /tmp/openssl.XXXXXX`
|
||||
NEW=${PEM}_
|
||||
|
||||
trap "rm -f $REQ $KEY $CRT $NEW" SIGINT
|
||||
|
||||
if [ ! -f $PEM ]; then
|
||||
echo "$PEM: file not found" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
let -a SERIAL=0x$(openssl x509 -in $PEM -noout -serial | cut -d= -f2)
|
||||
let SERIAL++
|
||||
|
||||
umask 077
|
||||
|
||||
OWNER=`ls -l $PEM | awk '{ printf "%s.%s", $3, $4; }'`
|
||||
|
||||
openssl rsa -inform pem -in $PEM -out $KEY
|
||||
openssl x509 -x509toreq -in $PEM -signkey $KEY -out $REQ
|
||||
openssl x509 -req -in $REQ -signkey $KEY -set_serial $SERIAL -days 365 \
|
||||
-extfile /etc/pki/tls/openssl.cnf -extensions v3_ca -out $CRT
|
||||
|
||||
(cat $KEY ; echo "" ; cat $CRT) > $NEW
|
||||
|
||||
chown $OWNER $NEW
|
||||
|
||||
mv -f $NEW $PEM
|
||||
|
||||
rm -f $REQ $KEY $CRT
|
||||
|
||||
exit 0
|
||||
|
Loading…
Reference in New Issue
Block a user