Accepting request 796816 from home:vitezslav_cizek

enable tests

OBS-URL: https://build.opensuse.org/request/show/796816
OBS-URL: https://build.opensuse.org/package/show/security:tls/openssl-3?expand=0&rev=1
This commit is contained in:
Martin Pluskal 2020-04-24 08:03:40 +00:00 committed by Git OBS Bridge
commit ce587b2631
16 changed files with 1225 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

7
baselibs.conf Normal file
View File

@ -0,0 +1,7 @@
libopenssl1_1
obsoletes "libopenssl1_1_0-<targettype>"
libopenssl-1_1-devel
provides "libopenssl-devel-<targettype> = <version>"
conflicts "otherproviders(libopenssl-devel-<targettype>)"
requires -"openssl-1_1-<targettype>"
requires "libopenssl1_1-<targettype> = <version>"

View File

@ -0,0 +1,13 @@
Index: openssl-3.0.0-alpha1/Configurations/unix-Makefile.tmpl
===================================================================
--- openssl-3.0.0-alpha1.orig/Configurations/unix-Makefile.tmpl 2020-04-23 22:56:27.365853133 +0200
+++ openssl-3.0.0-alpha1/Configurations/unix-Makefile.tmpl 2020-04-23 22:56:52.474004636 +0200
@@ -544,7 +544,7 @@ install_sw: install_dev install_engines
uninstall_sw: uninstall_runtime uninstall_modules uninstall_engines uninstall_dev
-install_docs: install_man_docs install_html_docs
+install_docs: install_man_docs
uninstall_docs: uninstall_man_docs uninstall_html_docs
$(RM) -r $(DESTDIR)$(DOCDIR)

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9d5be9122194ad1d649254de5e72afd329252f134791389d0cef627b18ed9a57
size 9530120

View File

@ -0,0 +1,11 @@
-----BEGIN PGP SIGNATURE-----
iQEzBAABCAAdFiEEhlersmDwVrHlGQg52cTSbQ5gRJEFAl6hk1gACgkQ2cTSbQ5g
RJH2VwgAuLi2N/wB7ZevyHgweAg4AEZQTAPnhOL8Q2kRuYyD09TlFN6K96CWKq2R
4AzMePH4G73E/vOz2B/JWj08j+JDZt3qo8JL46JBplfz8gpjNrUCVSIXpRfFPAeH
mEfcaFm0+KWg1gewtL0H4vzzE8uV1NdDwmQ9kQI3LjHfOPhjt85zQUIvQajyDWr/
VvKFGurgZaV6b19rqGh1AyVjPTz401MsrOcdBQLJ5QowLeKDAyxoIv14P9ZIagCk
1DrMHr8Z6FUNRoSnOFBPSJuHj7JmT4NFbSbKM5p6AC4A6Zc+2Ycv7r3qXuvwXr+8
BejQA5nEvu2UHD6DvVltY0qbXQn8ug==
=rG+6
-----END PGP SIGNATURE-----

45
openssl-3.changes Normal file
View File

@ -0,0 +1,45 @@
-------------------------------------------------------------------
Thu Apr 23 19:49:05 UTC 2020 - Vítězslav Čížek <vcizek@suse.com>
- Initial packaging 3.0.0 Alpha 1
* Major Release
OpenSSL 3.0 is a major release and consequently any application
that currently uses an older version of OpenSSL will at the
very least need to be recompiled in order to work with the new version.
It is the intention that the large majority of applications will
work unchanged with OpenSSL 3.0 if those applications previously
worked with OpenSSL 1.1.1. However this is not guaranteed and
some changes may be required in some cases.
* Providers and FIPS support
Providers collect together and make available algorithm implementations.
With OpenSSL 3.0 it is possible to specify, either programmatically
or via a config file, which providers you want to use for any given application
* Low Level APIs
Use of the low level APIs have been deprecated.
* Legacy Algorithms
Some cryptographic algorithms that were available via the EVP APIs
are now considered legacy and their use is strongly discouraged.
These legacy EVP algorithms are still available in OpenSSL 3.0 but not by default.
If you want to use them then you must load the legacy provider.
* Engines and "METHOD" APIs
The ENGINE API and any function that creates or modifies custom "METHODS"
are being deprecated in OpenSSL 3.0
Authors and maintainers of external engines are strongly encouraged to
refactor their code transforming engines into providers using
the new Provider API and avoiding deprecated methods.
* Versioning Scheme
The OpenSSL versioning scheme has changed with the 3.0 release.
The new versioning scheme has this format: MAJOR.MINOR.PATCH
The patch level is indicated by the third number instead of a letter
at the end of the release version number.
A change in the second (MINOR) number indicates that new features may have been added.
OpenSSL versions with the same major number are API and ABI compatible.
If the major number changes then API and ABI compatibility is not guaranteed.
* Other major new features
Implementation of the Certificate Management Protocol (CMP, RFC 4210)
also covering CRMF (RFC 4211) and HTTP transfer (RFC 6712).
A proper HTTP(S) client in libcrypto supporting GET and POST,
redirection, plain and ASN.1-encoded contents, proxies, and timeouts
EVP_KDF APIs have been introduced for working with Key Derivation Functions
EVP_MAC APIs have been introduced for working with MACs
Support for Linux Kernel TLS

239
openssl-3.spec Normal file
View File

@ -0,0 +1,239 @@
#
# spec file for package openssl-3
#
# Copyright (c) 2020 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define ssletcdir %{_sysconfdir}/ssl
%define sover 3
%define _rname openssl
%define xversion 3.0.0-alpha1
Name: openssl-3
# Don't forget to update the version in the "openssl" package!
Version: 3.0.0~alpha1
Release: 0
Summary: Secure Sockets and Transport Layer Security
License: OpenSSL
Group: Productivity/Networking/Security
URL: https://www.openssl.org/
Source: https://www.%{_rname}.org/source/%{_rname}-%{xversion}.tar.gz
# to get mtime of file:
Source1: %{name}.changes
Source2: baselibs.conf
Source3: https://www.%{_rname}.org/source/%{_rname}-%{xversion}.tar.gz.asc
# https://www.openssl.org/about/
# http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xA2D29B7BF295C759#/openssl.keyring
Source4: %{_rname}.keyring
Source5: showciphers.c
# PATCH-FIX-OPENSUSE: do not install html mans it takes ages
Patch1: openssl-1.1.0-no-html.patch
Patch2: openssl-truststore.patch
Patch3: openssl-pkgconfig.patch
Patch4: openssl-DEFAULT_SUSE_cipher.patch
Patch5: openssl-ppc64-config.patch
Patch6: openssl-no-date.patch
Patch99: version.patch
BuildRequires: pkgconfig
Conflicts: ssl
Provides: ssl
Provides: openssl(cli)
# Needed for clean upgrade path, boo#1070003
Obsoletes: openssl-1_0_0
# Needed for clean upgrade from former openssl-1_1_0, boo#1081335
Obsoletes: openssl-1_1_0
%description
OpenSSL is a software library to be used in applications that need to
secure communications over computer networks against eavesdropping or
need to ascertain the identity of the party at the other end.
OpenSSL contains an implementation of the SSL and TLS protocols.
%package -n libopenssl3
Summary: Secure Sockets and Transport Layer Security
Group: Productivity/Networking/Security
Recommends: ca-certificates-mozilla
# Needed for clean upgrade from former openssl-1_1_0, boo#1081335
Obsoletes: libopenssl1_1_0
%description -n libopenssl3
OpenSSL is a software library to be used in applications that need to
secure communications over computer networks against eavesdropping or
need to ascertain the identity of the party at the other end.
OpenSSL contains an implementation of the SSL and TLS protocols.
%package -n libopenssl-3-devel
Summary: Development files for OpenSSL
Group: Development/Libraries/C and C++
Requires: libopenssl3 = %{version}
Recommends: %{name} = %{version}
# we need to have around only the exact version we are able to operate with
Conflicts: libopenssl-devel < %{version}
Conflicts: libopenssl-devel > %{version}
Conflicts: ssl-devel
Provides: ssl-devel
# Needed for clean upgrade from former openssl-1_1_0, boo#1081335
Obsoletes: libopenssl-1_1_0-devel
# Needed for clean upgrade from SLE-12 openssl-1_0_0, bsc#1158499
Obsoletes: libopenssl-1_0_0-devel
%description -n libopenssl-3-devel
This subpackage contains header files for developing applications
that want to make use of the OpenSSL C API.
%package doc
Summary: Additional Package Documentation
Group: Productivity/Networking/Security
Conflicts: openssl-doc
Provides: openssl-doc = %{version}
Obsoletes: openssl-doc < %{version}
BuildArch: noarch
%description doc
This package contains optional documentation provided in addition to
this package's base documentation.
%prep
%setup -q -n %{_rname}-%{xversion}
%autopatch -p1
%build
%ifarch armv5el armv5tel
export MACHINE=armv5el
%endif
%ifarch armv6l armv6hl
export MACHINE=armv6l
%endif
./config \
no-idea \
enable-rfc3779 \
%ifarch x86_64 aarch64 ppc64le
enable-ec_nistp_64_gcc_128 \
%endif
enable-camellia \
no-ec2m \
--prefix=%{_prefix} \
--libdir=%{_lib} \
--openssldir=%{ssletcdir} \
%{optflags} \
-Wa,--noexecstack \
-Wl,-z,relro,-z,now \
-fno-common \
-DTERMIO \
-DPURIFY \
-D_GNU_SOURCE \
-DOPENSSL_NO_BUF_FREELISTS \
$(getconf LFS_CFLAGS) \
-Wall \
--with-rand-seed=getrandom
# Show build configuration
perl configdata.pm --dump
#util/mkdef.pl crypto update
%make_build depend
%make_build all
%check
export MALLOC_CHECK_=3
export MALLOC_PERTURB_=$(($RANDOM % 255 + 1))
LD_LIBRARY_PATH=`pwd` make test -j1
# show cyphers
gcc -o showciphers %{optflags} -I%{buildroot}%{_includedir} %{SOURCE5} -L%{buildroot}%{_libdir} -lssl -lcrypto
LD_LIBRARY_PATH=%{buildroot}%{_libdir} ./showciphers
%install
%make_install %{?_smp_mflags}
# kill static libs
rm -f %{buildroot}%{_libdir}/lib*.a
# remove the cnf.dist
rm -f %{buildroot}%{_sysconfdir}/ssl/openssl.cnf.dist
ln -sf ./%{_rname} %{buildroot}/%{_includedir}/ssl
mkdir %{buildroot}/%{_datadir}/ssl
mv %{buildroot}/%{ssletcdir}/misc %{buildroot}/%{_datadir}/ssl/
# avoid file conflicts with man pages from other packages
#
pushd %{buildroot}/%{_mandir}
# some man pages now contain spaces. This makes several scripts go havoc, among them /usr/sbin/Check.
# replace spaces by underscores
#for i in man?/*\ *; do mv -v "$i" "${i// /_}"; done
which readlink &>/dev/null || function readlink { ( set +x; target=$(file $1 2>/dev/null); target=${target//* }; test -f $target && echo $target; ) }
for i in man?/*; do
if test -L $i ; then
LDEST=`readlink $i`
rm -f $i ${i}ssl
ln -sf ${LDEST}ssl ${i}ssl
else
mv $i ${i}ssl
fi
case "$i" in
*.1)
# these are the pages mentioned in openssl(1). They go into the main package.
echo %doc %{_mandir}/${i}ssl%{?ext_man} >> $OLDPWD/filelist;;
*)
# the rest goes into the openssl-doc package.
echo %doc %{_mandir}/${i}ssl%{?ext_man} >> $OLDPWD/filelist.doc;;
esac
done
popd
# Do not install demo scripts executable under /usr/share/doc
find demos -type f -perm /111 -exec chmod 644 {} \;
# Place showciphers.c for %%doc macro
cp %{SOURCE5} .
%post -n libopenssl3 -p /sbin/ldconfig
%postun -n libopenssl3 -p /sbin/ldconfig
%files -n libopenssl3
%license LICENSE
%{_libdir}/libssl.so.%{sover}
%{_libdir}/libcrypto.so.%{sover}
%{_libdir}/engines-%{sover}
%dir %{_libdir}/ossl-modules
%{_libdir}/ossl-modules/fips.so
%{_libdir}/ossl-modules/legacy.so
%files -n libopenssl-3-devel
%{_includedir}/%{_rname}/
%{_includedir}/ssl
%{_libdir}/libssl.so
%{_libdir}/libcrypto.so
%{_libdir}/pkgconfig/libcrypto.pc
%{_libdir}/pkgconfig/libssl.pc
%{_libdir}/pkgconfig/openssl.pc
%files doc -f filelist.doc
%defattr (644,root,root,-)
%doc doc/* demos
%doc showciphers.c
%files -f filelist
%defattr (644,root,root,-)
%doc CHANGE*
%dir %{ssletcdir}
%config (noreplace) %{ssletcdir}/openssl.cnf
%attr(700,root,root) %{ssletcdir}/private
%{ssletcdir}/ct_log_list.cnf
%{ssletcdir}/ct_log_list.cnf.dist
%dir %{_datadir}/ssl
%{_datadir}/ssl/misc
%{_bindir}/c_rehash
%{_bindir}/%{_rname}
%changelog

View File

@ -0,0 +1,64 @@
Index: openssl-3.0.0-alpha1/ssl/ssl_ciph.c
===================================================================
--- openssl-3.0.0-alpha1.orig/ssl/ssl_ciph.c 2020-04-23 23:08:16.314084552 +0200
+++ openssl-3.0.0-alpha1/ssl/ssl_ciph.c 2020-04-23 23:13:58.721873018 +0200
@@ -1564,7 +1564,14 @@ STACK_OF(SSL_CIPHER) *ssl_create_cipher_
*/
ok = 1;
rule_p = rule_str;
- if (strncmp(rule_str, "DEFAULT", 7) == 0) {
+ if (strncmp(rule_str,"DEFAULT_SUSE", 12) == 0) {
+ ok = ssl_cipher_process_rulestr(SSL_DEFAULT_SUSE_CIPHER_LIST,
+ &head, &tail, ca_list, c);
+ rule_p += 12;
+ if (*rule_p == ':')
+ rule_p++;
+ }
+ else if (strncmp(rule_str, "DEFAULT", 7) == 0) {
ok = ssl_cipher_process_rulestr(OSSL_default_cipher_list(),
&head, &tail, ca_list, c);
rule_p += 7;
Index: openssl-3.0.0-alpha1/include/openssl/ssl.h
===================================================================
--- openssl-3.0.0-alpha1.orig/include/openssl/ssl.h 2020-04-23 23:08:16.318084577 +0200
+++ openssl-3.0.0-alpha1/include/openssl/ssl.h 2020-04-23 23:11:04.799122008 +0200
@@ -181,6 +181,11 @@ extern "C" {
*/
# ifndef OPENSSL_NO_DEPRECATED_3_0
# define SSL_DEFAULT_CIPHER_LIST "ALL:!COMPLEMENTOFDEFAULT:!eNULL"
+# define SSL_DEFAULT_SUSE_CIPHER_LIST "ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:"\
+ "ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:"\
+ "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:"\
+ "DHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-CAMELLIA256-SHA:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-CAMELLIA128-SHA:"\
+ "AES256-GCM-SHA384:AES256-SHA256:AES256-SHA:CAMELLIA256-SHA:AES128-GCM-SHA256:AES128-SHA256:AES128-SHA:CAMELLIA128-SHA"
/*
* This is the default set of TLSv1.3 ciphersuites
* DEPRECATED IN 3.0.0, in favor of OSSL_default_ciphersuites()
Index: openssl-3.0.0-alpha1/test/recipes/99-test_suse_default_ciphers.t
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ openssl-3.0.0-alpha1/test/recipes/99-test_suse_default_ciphers.t 2020-04-23 23:08:16.318084577 +0200
@@ -0,0 +1,23 @@
+#! /usr/bin/env perl
+
+use strict;
+use warnings;
+
+use OpenSSL::Test qw/:DEFAULT/;
+use OpenSSL::Test::Utils;
+
+setup("test_default_ciphersuites");
+
+plan tests => 6;
+
+my @cipher_suites = ("DEFAULT_SUSE", "DEFAULT");
+
+foreach my $cipherlist (@cipher_suites) {
+ ok(run(app(["openssl", "ciphers", "-s", $cipherlist])),
+ "openssl ciphers works with ciphersuite $cipherlist");
+ ok(!grep(/(MD5|RC4|DES)/, run(app(["openssl", "ciphers", "-s", $cipherlist]), capture => 1)),
+ "$cipherlist shouldn't contain MD5, DES or RC4\n");
+ ok(grep(/(TLSv1.3)/, run(app(["openssl", "ciphers", "-tls1_3", "-s", "-v", $cipherlist]), capture => 1)),
+ "$cipherlist should contain TLSv1.3 ciphers\n");
+}
+

13
openssl-no-date.patch Normal file
View File

@ -0,0 +1,13 @@
Index: openssl-1.1.1-pre1/util/mkbuildinf.pl
===================================================================
--- openssl-1.1.1-pre1.orig/util/mkbuildinf.pl 2018-02-13 16:31:28.011389734 +0100
+++ openssl-1.1.1-pre1/util/mkbuildinf.pl 2018-02-13 16:31:51.539764582 +0100
@@ -28,7 +28,7 @@ print <<"END_OUTPUT";
*/
#define PLATFORM "platform: $platform"
-#define DATE "built on: $date"
+#define DATE ""
/*
* Generate compiler_flags as an array of individual characters. This is a

22
openssl-pkgconfig.patch Normal file
View File

@ -0,0 +1,22 @@
Index: openssl-1.1.1-pre3/Configurations/unix-Makefile.tmpl
===================================================================
--- openssl-1.1.1-pre3.orig/Configurations/unix-Makefile.tmpl 2018-03-20 15:20:03.037124698 +0100
+++ openssl-1.1.1-pre3/Configurations/unix-Makefile.tmpl 2018-03-20 15:21:04.206084731 +0100
@@ -843,7 +843,7 @@ libcrypto.pc:
echo 'Version: '$(VERSION); \
echo 'Libs: -L$${libdir} -lcrypto'; \
echo 'Libs.private: $(LIB_EX_LIBS)'; \
- echo 'Cflags: -I$${includedir}' ) > libcrypto.pc
+ echo 'Cflags: -DOPENSSL_LOAD_CONF -I$${includedir}' ) > libcrypto.pc
libssl.pc:
@ ( echo 'prefix=$(INSTALLTOP)'; \
@@ -860,7 +860,7 @@ libssl.pc:
echo 'Version: '$(VERSION); \
echo 'Requires.private: libcrypto'; \
echo 'Libs: -L$${libdir} -lssl'; \
- echo 'Cflags: -I$${includedir}' ) > libssl.pc
+ echo 'Cflags: -DOPENSSL_LOAD_CONF -I$${includedir}' ) > libssl.pc
openssl.pc:
@ ( echo 'prefix=$(INSTALLTOP)'; \

View File

@ -0,0 +1,18 @@
Index: openssl-1.1.1-pre3/config
===================================================================
--- openssl-1.1.1-pre3.orig/config 2018-03-20 15:24:38.037441210 +0100
+++ openssl-1.1.1-pre3/config 2018-03-20 15:26:20.163043492 +0100
@@ -552,12 +552,7 @@ case "$GUESSOS" in
OUT="linux-ppc64"
else
OUT="linux-ppc"
- if (echo "__LP64__" | gcc -E -x c - 2>/dev/null | grep "^__LP64__" 2>&1 > /dev/null); then
- :;
- else
- __CNF_CFLAGS="$__CNF_CFLAGS -m32"
- __CNF_CXXFLAGS="$__CNF_CXXFLAGS -m32"
- fi
+ (echo "__LP64__" | gcc -E -x c - 2>/dev/null | grep "^__LP64__" 2>&1 > /dev/null) || OUT="linux-ppc64"
fi
;;
ppc64le-*-linux2) OUT="linux-ppc64le" ;;

17
openssl-truststore.patch Normal file
View File

@ -0,0 +1,17 @@
Don't use the legacy /etc/ssl/certs directory anymore but rather the
p11-kit generated /var/lib/ca-certificates/openssl one (fate#314991)
Index: openssl-1.1.1-pre1/include/internal/cryptlib.h
===================================================================
--- openssl-1.1.1-pre1.orig/include/internal/cryptlib.h 2018-02-13 14:48:12.000000000 +0100
+++ openssl-1.1.1-pre1/include/internal/cryptlib.h 2018-02-13 16:30:11.738161984 +0100
@@ -59,8 +59,8 @@ DEFINE_LHASH_OF(MEM);
# ifndef OPENSSL_SYS_VMS
# define X509_CERT_AREA OPENSSLDIR
-# define X509_CERT_DIR OPENSSLDIR "/certs"
-# define X509_CERT_FILE OPENSSLDIR "/cert.pem"
+# define X509_CERT_DIR "/var/lib/ca-certificates/openssl"
+# define X509_CERT_FILE "/var/lib/ca-certificates/ca-bundle.pem"
# define X509_PRIVATE_DIR OPENSSLDIR "/private"
# define CTLOG_FILE OPENSSLDIR "/ct_log_list.cnf"
# else

711
openssl.keyring Normal file
View File

@ -0,0 +1,711 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
3pRRdBchiN2jiYMMwseDiV3H8kYc9DOKzrBmZ4qLfI9VURtoqtKTUmSMzHkpgYfG
GUL6hHQqlSA/fk7BspTDwJfIdOHo3m2xCCtvsBZ53qc6i74YVfOZ+0i9ju8PAxOx
qmpD1YnodDEWYmU2q5CEt8gDBpzpIjADSxJ5tIyQ5qB6iNF1h2rxrEecAbZEKNXh
w7yjKTm04KyqVshOUlreUxyUT9bIUa6rCyMSLrFcXPW8b4k47tCw13f+E7o9TLjl
ZIC4rbZCovup0nDZ+cPsNN/YgXpj8K/ojraVjs93YoUzjGqjy8a081YrplmGl5Rg
S1ptX7KVWag9gqBCjWw22febvpUod7EON/lROGtj4lOZD1jPGQHFD9+WaMmCTmin
yUv9enaPFOV6QSs2TmpX9/L5SLMQYAoFHSAzJyG/flxZkWM0QH1QN2FNc+V3UZ78
jgmX93h2y+AAVsUYSJ/vDNXpxCUNspOJAjsEEwECACUCGwMGCwkIBwMCBhUIAgkK
CwQWAgMBAh4BAheABQJUMG0mAhkBAAoJENXp5D99+e6MmN0P/AmpB8DasBnjh9fA
lBM8kEZ23MHVdEguPWX8KBML4L6eVlWRn7hdfpvOS90Ll5LTdtWPAQs8lDYh4V86
hIYgLK9tisZyby+5NT4dEl6CXgHbRjdDbp0xKfGc5F9jWzPZpG8ZdDz6Zbvdooy/
4ThXNS16HcsJRckan6oFjCNAWSNpXDYcLtA7+9ncimrC/C+kGYlyPWJGYZu1C3I+
oL3+qWwiqAG9hp/zedsIsNP7o24wb0SgD0dTzphmOAPwTRfGS2DHhpbAH9P6MZPi
FBRGsARRRFfTRGkzI9W1M4bv9l/L8s6STpjD8+40f+aUE8cyUcNj1ycyRGFAnwf5
MeO3MqzvjocoUyoZNc4t7/6rh6sceFjgMt/DFFZbi3kvz9cJBcaN6TWWktd4+1Wm
LxwcF0n3xaB04KCvXTaBZ5f/Hz5D4O8HyYsS6GlW6yIUiuAOvav8WizaTMbYk81X
fXBuBKv7Vxk0fRYf9+HJ7fyWyIlIN9FqrSiiopA3JR+8gP8ueFcycmLnl2D9fyZn
/sv+UCLrMR6fyD/5EtzgzW0AJ8BDJw5n7ctmZ6UhuasDZZMPC2uB9LVhpQ8W3mDD
xJoaYe5bE2p0ca+mwEHZQpbpjmtT/2x5rGFZYxBUOhuGn/94zEYSqLLDirlFIEUg
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
ExXybKkE2NY=
=B5lM
-----END PGP PUBLIC KEY BLOCK-----

27
showciphers.c Normal file
View File

@ -0,0 +1,27 @@
#include <openssl/err.h>
#include <openssl/ssl.h>
int main() {
SSL_CTX *ctx = NULL;
SSL *ssl = NULL;
STACK_OF(SSL_CIPHER) *sk = NULL;
const SSL_METHOD *meth = TLS_server_method();
int i;
const char *p;
ctx = SSL_CTX_new(meth);
if (ctx == NULL)
return 1;
ssl = SSL_new(ctx);
if (ssl == NULL)
return 1;
sk = SSL_get_ciphers(ssl);
for (i = 0; i < sk_SSL_CIPHER_num(sk); i++) {
const SSL_CIPHER *c = sk_SSL_CIPHER_value(sk, i);
p = SSL_CIPHER_get_name(c);
if (p == NULL)
break;
printf("%s\n", p);
}
return 0;
}

11
version.patch Normal file
View File

@ -0,0 +1,11 @@
Index: openssl-3.0.0-alpha1/VERSION
===================================================================
--- openssl-3.0.0-alpha1.orig/VERSION 2020-04-23 15:08:36.000000000 +0200
+++ openssl-3.0.0-alpha1/VERSION 2020-04-23 18:44:10.650894619 +0200
@@ -3,5 +3,5 @@ MINOR=0
PATCH=0
PRE_RELEASE_TAG=alpha1
BUILD_METADATA=
-RELEASE_DATE="23 Apr 2020"
+RELEASE_DATE=23 Apr 2020
SHLIB_VERSION=3