diff --git a/pisi-index.xml b/pisi-index.xml
index e24640b2..2a2762b9 100644
--- a/pisi-index.xml
+++ b/pisi-index.xml
@@ -3645,7 +3645,7 @@
libarchive için geliştirme dosyaları
openssl-devel
- libarchive
+ libarchive
/usr/include
@@ -3654,6 +3654,13 @@
+
+ 2024-11-17
+ 3.7.7
+ Rebuild.
+ Pisi Linux Community
+ admin@pisilinux.org
+
2024-10-14
3.7.7
@@ -8810,13 +8817,20 @@
rhash-devel
Development files for rhash
- rhash
+ rhash
/usr/include
+
+ 2024-12-17
+ 1.4.4
+ Rebuild.
+ Mustafa Cinasal
+ muscnsl@gmail.com
+
2023-10-26
1.4.4
@@ -9898,7 +9912,7 @@
Development files for mit-kerberos
system.devel
- mit-kerberos
+ mit-kerberos
openssl-devel
@@ -9907,6 +9921,13 @@
+
+ 2024-12-17
+ 1.21.3
+ Rebuild.
+ Pisi Linux Community
+ admin@pisilinux.org
+
2024-07-10
1.21.3
@@ -10883,7 +10904,7 @@
curl için geliştirme dosyaları
system.devel
- curl
+ curl
zstd-devel
zlib-devel
openssl-devel
@@ -10899,6 +10920,13 @@
+
+ 2024-12-16
+ 8.11.0
+ Version bump.
+ Pisi Linux Community
+ admin@pisilinux.org
+
2024-11-07
8.11.0
@@ -11098,7 +11126,7 @@
python için geliştirme dosyaları
system.devel
- python
+ python
/usr/include
@@ -11106,6 +11134,13 @@
+
+ 2024-12-17
+ 2.7.18
+ Rebuild sqlite.
+ Mustafa Cinasal
+ muscnsl@gmail.com
+
2024-11-05
2.7.18
@@ -11885,6 +11920,13 @@
+
+ 2024-12-17
+ 7.45.3
+ Version bump.
+ Pisi Linux Community
+ admin@pisilinux.org
+
2024-11-07
7.45.3
@@ -14797,7 +14839,7 @@
libssh2 için geliştirme dosyaları
system.devel
- libssh2
+ libssh2
openssl-devel
zlib-devel
@@ -14808,6 +14850,13 @@
+
+ 2024-12-17
+ 1.11.0
+ Version bump.
+ Mustafa Cinasal
+ muscnsl@gmail.com
+
2023-05-31
1.11.0
@@ -16594,7 +16643,7 @@
libnghttp2-devel
Development files for libnghttp2
- libnghttp2
+ libnghttp2
/usr/include
@@ -16602,6 +16651,13 @@
+
+ 2024-12-17
+ 1.64.0
+ Rebuild.
+ Pisi Linux Community
+ admin@pisilinux.org
+
2024-10-21
1.64.0
@@ -20606,6 +20662,242 @@
+
+
+ openssl-1.1
+ http://www.openssl.org/
+
+ PisiLinux Community
+ admins@pisilinux.org
+
+ as-is
+ app:console
+ library
+ system.base
+ Toolkit for SSL v2/v3 and TLS v1
+ OpenSSL is a cryptography toolkit implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) network protocols and related cryptography standards required by them.
+ https://www.openssl.org/source/openssl-1.1.1w.tar.gz
+
+ zlib-devel
+ xorg-util
+ perl
+ sed
+
+
+ openssl-1.0.2a-x32-asm.patch
+
+ system/base/openssl-1.1/pspec.xml
+
+
+ openssl-1.1
+
+ zlib
+ ca-certificates
+
+
+ /etc
+ /usr/bin
+ /usr/lib
+ /usr/share/doc
+
+
+ System.Package
+
+
+
+ openssl-1.1-devel
+ Development files for openssl
+ system.devel
+
+ openssl-1.1
+
+
+ /usr/include
+ /usr/share/man
+ /usr/lib/openssl-1.1/pkgconfig
+ /usr/lib32/openssl-1.1/pkgconfig
+
+
+
+ openssl-1.1-32bit
+ 32-bit shared libraries for openssl
+ emul32
+ _emul32
+
+ zlib-32bit
+
+
+ openssl-1.1
+ zlib-32bit
+
+
+ /usr/lib32
+
+
+
+
+ 2024-05-18
+ 1.1.1w
+ Rebuild.
+ Mustafa Cinasal
+ muscnsl@gmail.com
+
+
+ 2023-09-13
+ 1.1.1w
+ Version bump.
+ Mustafa Cinasal
+ muscnsl@gmail.com
+
+
+ 2023-08-02
+ 1.1.1v
+ Version bump.
+ Mustafa Cinasal
+ muscnsl@gmail.com
+
+
+ 2023-05-31
+ 1.1.1u
+ Version bump
+ Mustafa Cinasal
+ muscnsl@gmail.com
+
+
+ 2023-02-08
+ 1.1.1t
+ Version bump.
+ Mustafa Cinasal
+ muscnsl@gmail.com
+
+
+ 2023-01-28
+ 1.1.1s
+ Rebuild.
+ Mustafa Cinasal
+ muscnsl@gmail.com
+
+
+ 2022-11-10
+ 1.1.1s
+ Version bump.
+ Mustafa Cinasal
+ muscnsl@gmail.com
+
+
+ 2022-07-07
+ 1.1.1q
+ Version bump.
+ Mustafa Cinasal
+ muscnsl@gmail.com
+
+
+ 2022-06-26
+ 1.1.1p
+ Version bump.
+ Mustafa Cinasal
+ muscnsl@gmail.com
+
+
+ 2022-05-24
+ 1.1.1o
+ Version bump.
+ Mustafa Cinasal
+ muscnsl@gmail.com
+
+
+ 2022-04-23
+ 1.1.1n
+ Version bump.
+ Mustafa Cinasal
+ muscnsl@gmail.com
+
+
+ 2021-08-24
+ 1.1.1l
+ Version bump.
+ Mustafa Cinasal
+ muscnsl@gmail.com
+
+
+ 2021-04-10
+ 1.1.1k
+ Version bump.
+ Mustafa Cinasal
+ muscnsl@gmail.com
+
+
+ 2021-03-01
+ 1.1.1j
+ Version bump.
+ İdris Kalp
+ idriskalp@gmail.com
+
+
+ 2020-12-09
+ 1.1.1i
+ Version bump.
+ Mustafa Cinasal
+ muscnsl@gmail.com
+
+
+ 2020-04-23
+ 1.1.1g
+ Version bump.
+ Idris Kalp
+ idriskalp@gmail.com
+
+
+ 2018-11-28
+ 1.0.2q
+ Version bump.
+ Ertuğrul Erata
+ ertugrulerata@gmail.com
+
+
+ 2018-08-11
+ 1.0.2o
+ Rebuild
+ Ertuğrul Erata
+ ertugrulerata@gmail.com
+
+
+ 2018-05-01
+ 1.0.2o
+ Version bump
+ Ertuğrul Erata
+ ertugrulerata@gmail.com
+
+
+ 2017-01-08
+ 1.0.2j
+ Rebuild with new toolchain.
+ Ertuğrul Erata
+ ertugrulerata@gmail.com
+
+
+ 2017-01-08
+ 1.0.2j
+ Version bump.
+ PisiLinux Community
+ admin@pisilinux.org
+
+
+ 2016-04-27
+ 1.0.2g
+ Release Bump
+ PisiLinux Community
+ admin@pisilinux.org
+
+
+ 2016-03-02
+ 1.0.2g
+ First release
+ Ayhan Yalçınsoy
+ ayhanyalcinsoy@pisilinux.org
+
+
+
spidermonkey
@@ -21096,6 +21388,13 @@
+
+ 2024-12-17
+ 2.7.5
+ Rebuild.
+ Pisi Linux Community
+ admin@pisilinux.org
+
2024-09-03
2.7.5
@@ -22817,7 +23116,7 @@
X.Org Au Bibliothek
libXau provides functions to manage X authorization files
libXau, X yetkilendirme dosyalarını yönetmek için işlevler sağlar.
- http://xorg.freedesktop.org/archive/individual/lib/libXau-1.0.11.tar.xz
+ http://xorg.freedesktop.org/archive/individual/lib/libXau-1.0.12.tar.xz
util-macros
xorg-proto
@@ -22838,7 +23137,7 @@
Development files for libXau
libXau için geliştirme dosyaları
- libXau
+ libXau
xorg-proto
@@ -22859,6 +23158,13 @@
+
+ 2024-12-14
+ 1.0.12
+ Version bump.
+ Pisi Linux Community
+ admin@pisilinux.org
+
2022-12-08
1.0.11
@@ -24190,7 +24496,7 @@
Python3 için geliştime dosyaları
python3-devel, python3 için geliştime dosyaları içerir.
- python3
+ python3
/usr/include/python3.11/*
@@ -24198,6 +24504,13 @@
+
+ 2024-12-17
+ 3.11.11
+ Rebuild.
+ Pisi Linux Community
+ admin@pisilinux.org
+
2024-12-05
3.11.11
@@ -24696,8 +25009,8 @@
SQLite est une petite librairie C implémentant un moteur de base de données SQL auto-configurée, auto-suffisante, pouvant être embarquée. Gère des bases de données de tailles allant jusqu'à 2 téraOctets.
SQLite is a small C library that implements a self-contained, embeddable, zero-configuration SQL database engine. Supports databases up to 2 terabytes in size.
SQLite hiçbir ayar gerektirmeyen, başka programların içine gömülebilir bir SQL veritabanı motorudur. 2 terabayta kadar büyüklükteki veritabanlarını tutabilir.
- https://www.sqlite.org/2024/sqlite-autoconf-3470100.tar.gz
- https://www.sqlite.org/2024/sqlite-doc-3470100.zip
+ https://www.sqlite.org/2024/sqlite-autoconf-3470200.tar.gz
+ https://www.sqlite.org/2024/sqlite-doc-3470200.zip
readline-devel
@@ -24723,7 +25036,7 @@
sqlite-devel, sqlite için geliştirme dosyalarını içerir.
system.devel
- sqlite
+ sqlite
/usr/include
@@ -24739,7 +25052,7 @@
emul32
emul32
- sqlite
+ sqlite
/usr/lib32
@@ -24751,13 +25064,20 @@
sqlite için belgelendirme dosyaları
sqlite-doc, sqlite için belgelendirme dosyalarını içerir.
- sqlite
+ sqlite
/usr/share/doc/sqlite/
+
+ 2024-12-18
+ 3.47.2
+ Version bump.
+ Pisi Linux Community
+ admin@pisilinux.org
+
2024-12-05
3.47.1
@@ -27590,7 +27910,7 @@
OpenSSL is a cryptography toolkit implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) network protocols and related cryptography standards required by them.
OpenSSL, Güvenlik Soketleri Katmanı (SSL v2/v3) ve Aktarım Katmanı Güvenliği (TLSv1) ağ protokolleri ile bu protokollerin gerektirdiği şifreleme standartlarını uygulayan bir şifreleme aracıdır.
OpenSSL ist ein Kryptographie Werkzeug, das die Netzwerkprotokolle Secure Sockets Layer (SSL v2/v3) und Transport Layer Security (TLS v1) sowie deren erforderliche zugehörige Kryptographie Standards implementiert.
- https://www.openssl.org/source/openssl-1.1.1w.tar.gz
+ https://github.com/openssl/openssl/releases/download/openssl-3.4.0/openssl-3.4.0.tar.gz
zlib-devel
xorg-util
@@ -27628,7 +27948,7 @@
openssl için geliştirme dosyaları
system.devel
- openssl
+ openssl
/usr/include
@@ -27647,7 +27967,7 @@
zlib-32bit
- openssl
+ openssl
zlib-32bit
@@ -27655,6 +27975,13 @@
+
+ 2024-12-01
+ 3.4.0
+ Version bump.
+ Pisi Linux Community
+ admin@pisilinux.org
+
2024-05-18
1.1.1w
diff --git a/pisi-index.xml.sha1sum b/pisi-index.xml.sha1sum
index fa734544..dd92916e 100644
--- a/pisi-index.xml.sha1sum
+++ b/pisi-index.xml.sha1sum
@@ -1 +1 @@
-4b6fe8595d5c6e1765ba8059b56bdabcc48a24da
\ No newline at end of file
+8407c6f5d721024f88e22cb0180ba60957029f4d
\ No newline at end of file
diff --git a/pisi-index.xml.xz b/pisi-index.xml.xz
index 7029e9e9..2c3351c1 100644
Binary files a/pisi-index.xml.xz and b/pisi-index.xml.xz differ
diff --git a/pisi-index.xml.xz.sha1sum b/pisi-index.xml.xz.sha1sum
index e76dd3f9..b5c41829 100644
--- a/pisi-index.xml.xz.sha1sum
+++ b/pisi-index.xml.xz.sha1sum
@@ -1 +1 @@
-1e9c81bb51f1675c8515caf384787768eec0657b
\ No newline at end of file
+3e7404a00fe167c9e4186e6ec0ee28c147555b64
\ No newline at end of file
diff --git a/system/base/openssl-1.1/actions.py b/system/base/openssl-1.1/actions.py
new file mode 100755
index 00000000..f64ec1ae
--- /dev/null
+++ b/system/base/openssl-1.1/actions.py
@@ -0,0 +1,106 @@
+#!/usr/bin/python
+# -*- coding: utf-8 -*-
+#
+# Licensed under the GNU General Public License, version 3.
+# See the file http://www.gnu.org/licenses/gpl.txt
+
+from pisi.actionsapi import autotools
+from pisi.actionsapi import pisitools
+from pisi.actionsapi import shelltools
+from pisi.actionsapi import get
+
+def setup():
+ pisitools.dosed("Configure", " $prefix/$libdir/engines ", " /%{_lib}/engines ")
+
+ options = " --prefix=/usr \
+ --libdir=lib/openssl-1.1 \
+ --openssldir=/etc/ssl \
+ DOCDIR=/usr/share/doc/openssl-1.1 \
+ shared -Wa,--noexecstack \
+ zlib enable-camellia enable-idea \
+ enable-seed enable-rfc3779 enable-rc5 \
+ enable-cms enable-md2 enable-mdc2 threads"
+
+ if get.buildTYPE() == "_emul32":
+ options += " --prefix=/_emul32 --libdir=/usr/lib32/openssl-1.1"
+ shelltools.export("CC", "%s -m32" % get.CC())
+ shelltools.export("CXX", "%s -m32" % get.CXX())
+ shelltools.system("./Configure linux-elf %s" % options)
+ shelltools.export("PKG_CONFIG_PATH","/usr/lib32/pkgconfig")
+
+ elif get.ARCH() == "i686":
+ shelltools.system("./Configure linux-elf %s" % options)
+ pisitools.dosed("Makefile", "^(SHARED_LDFLAGS=).*", "\\1 ${LDFLAGS}")
+ pisitools.dosed("Makefile", "^(CFLAG=.*)", "\\1 ${CFLAGS}")
+
+ else:
+ options += " enable-ec_nistp_64_gcc_128"
+ shelltools.system("./Configure linux-x86_64 %s" % options)
+ pisitools.dosed("Makefile", "^(SHARED_LDFLAGS=).*", "\\1 ${LDFLAGS}")
+ pisitools.dosed("Makefile", "^(CFLAG=.*)", "\\1 ${CFLAGS}")
+
+def build():
+ autotools.make("depend")
+ autotools.make("-j1")
+ #autotools.make("rehash")
+
+# def check():
+ #Revert ca-dir patch not to fail test
+ #shelltools.system("patch -p1 -R < openssl-1.0.0-beta4-ca-dir.patch")
+
+ # homeDir = "%s/test-home" % get.workDIR()
+ # shelltools.export("HOME", homeDir)
+ # shelltools.makedirs(homeDir)
+ # autotools.make("-j1 test")
+
+ #Passed. So, re-patch
+ #shelltools.system("patch -p1 < openssl-1.0.0-beta4-ca-dir.patch")
+
+def install():
+ autotools.rawInstall("DESTDIR=%s DOCDIR=/usr/share/doc/openssl-1.1" % get.installDIR())
+
+ # Rename conflicting manpages
+ # pisitools.rename("/usr/share/man/man1/passwd.1", "ssl-passwd.1")
+ #pisitools.rename("/usr/share/man/man3/rand.3", "ssl-rand.3")
+ #pisitools.rename("/usr/share/man/man3/err.3", "ssl-err.3")
+
+ if get.buildTYPE() == "_emul32":
+ #from distutils.dir_util import copy_tree
+ # shelltools.copytree("%s/_emul32/lib32/" % get.installDIR(), "%s/usr/lib32" % get.installDIR())
+ pisitools.removeDir("/_emul32")
+ pisitools.remove("/usr/lib32/openssl-1.1/*.a")
+ path = "%s/usr/lib32/openssl-1.1/pkgconfig" % get.installDIR()
+ for f in shelltools.ls(path): pisitools.dosed("%s/%s" % (path, f), "^(prefix=\/)_emul32", r"\1usr")
+ pisitools.rename("/usr/bin/openssl", "openssl-1.1")
+ shelltools.system("sed -e 's|/include$|/include/openssl-1.1|' -i %s/usr/lib32/openssl-1.1/pkgconfig/*.pc" % get.installDIR())
+ pisitools.removeDir("/etc")
+
+ pisitools.dosym("/usr/lib/openssl-1.1/libssl.so", "/usr/lib/libssl.so.1.1")
+ pisitools.dosym("/usr/lib/openssl-1.1/libcrypto.so", "/usr/lib/libcrypto.so.1.1")
+ pisitools.dosym("/usr/lib32/openssl-1.1/libssl.so", "/usr/lib32/libssl.so.1.1")
+ pisitools.dosym("/usr/lib32/openssl-1.1/libcrypto.so", "/usr/lib32/libcrypto.so.1.1")
+ return
+
+ # Move engines to /usr/lib/openssl/engines
+ # pisitools.dodir("/usr/lib/openssl")
+ #pisitools.domove("/usr/lib/engines", "/usr/lib/openssl")
+
+ # Certificate stuff
+ pisitools.dobin("tools/c_rehash")
+ pisitools.rename("/usr/bin/c_rehash", "c_rehash-1.1")
+
+
+ # Create needed dirs
+ for cadir in ["misc", "private"]:
+ pisitools.dodir("/etc/ssl/%s" % cadir)
+
+ # No static libs
+ pisitools.remove("/usr/lib/openssl-1.1/*.a")
+ shelltools.move("%s/usr/include/openssl" % get.installDIR(), "%s/usr/include/openssl-1.1" % get.installDIR())
+ shelltools.system("sed -e 's|/include$|/include/openssl-1.1|' -i %s/usr/lib/openssl-1.1/pkgconfig/*.pc" % get.installDIR())
+
+
+ pisitools.removeDir("/usr/share/man")
+
+ # pisitools.insinto("/usr/share/doc/openssl-1.1/html", "doc/*")
+ pisitools.dodoc("CHANGES*", "FAQ", "LICENSE", "NEWS", "README", "doc/*.txt")
diff --git a/system/base/openssl-1.1/comar/package.py b/system/base/openssl-1.1/comar/package.py
new file mode 100755
index 00000000..901ca648
--- /dev/null
+++ b/system/base/openssl-1.1/comar/package.py
@@ -0,0 +1,6 @@
+#!/usr/bin/python
+# -*- coding: utf-8 -*-
+import os
+
+def postInstall(fromVersion, fromRelease, toVersion, toRelease):
+ os.system("/usr/bin/c_rehash-1.1 /etc/ssl/certs")
diff --git a/system/base/openssl-1.1/files/ca-dir.patch b/system/base/openssl-1.1/files/ca-dir.patch
new file mode 100644
index 00000000..a1402435
--- /dev/null
+++ b/system/base/openssl-1.1/files/ca-dir.patch
@@ -0,0 +1,31 @@
+--- apps/CA.pl.in 2018-09-11 14:48:19.000000000 +0200
++++ apps/CA.pl.in 2018-09-11 16:16:32.125629435 +0200
+@@ -33,7 +33,7 @@
+ my $PKCS12 = "$openssl pkcs12";
+
+ # default openssl.cnf file has setup as per the following
+-my $CATOP = "./demoCA";
++my $CATOP = "/etc/ssl";
+ my $CAKEY = "cakey.pem";
+ my $CAREQ = "careq.pem";
+ my $CACERT = "cacert.pem";
+--- apps/openssl.cnf 2018-09-11 14:48:20.000000000 +0200
++++ apps/openssl.cnf 2018-09-11 16:16:32.125629435 +0200
+@@ -43,7 +43,7 @@
+ ####################################################################
+ [ CA_default ]
+
+-dir = ./demoCA # Where everything is kept
++dir = /etc/ssl # Where everything is kept
+ certs = $dir/certs # Where the issued certs are kept
+ crl_dir = $dir/crl # Where the issued crl are kept
+ database = $dir/index.txt # database index file.
+@@ -327,7 +327,7 @@
+ [ tsa_config1 ]
+
+ # These are used by the TSA reply generation only.
+-dir = ./demoCA # TSA root directory
++dir = /etc/ssl # TSA root directory
+ serial = $dir/tsaserial # The current serial number (mandatory)
+ crypto_device = builtin # OpenSSL engine to use for signing
+ signer_cert = $dir/tsacert.pem # The TSA signing certificate
diff --git a/system/base/openssl-1.1/files/openssl-1.0.0-beta4-ca-dir.patch b/system/base/openssl-1.1/files/openssl-1.0.0-beta4-ca-dir.patch
new file mode 100755
index 00000000..24d55e29
--- /dev/null
+++ b/system/base/openssl-1.1/files/openssl-1.0.0-beta4-ca-dir.patch
@@ -0,0 +1,36 @@
+diff -up openssl-1.0.0-beta4/apps/CA.pl.in.ca-dir openssl-1.0.0-beta4/apps/CA.pl.in
+--- openssl-1.0.0-beta4/apps/CA.pl.in.ca-dir 2006-04-28 02:30:49.000000000 +0200
++++ openssl-1.0.0-beta4/apps/CA.pl.in 2009-11-12 12:33:13.000000000 +0100
+@@ -53,7 +53,7 @@ $VERIFY="$openssl verify";
+ $X509="$openssl x509";
+ $PKCS12="$openssl pkcs12";
+
+-$CATOP="./demoCA";
++$CATOP="/etc/ssl";
+ $CAKEY="cakey.pem";
+ $CAREQ="careq.pem";
+ $CACERT="cacert.pem";
+diff -up openssl-1.0.0-beta4/apps/CA.sh.ca-dir openssl-1.0.0-beta4/apps/CA.sh
+--- openssl-1.0.0-beta4/apps/CA.sh.ca-dir 2009-10-15 19:27:47.000000000 +0200
++++ openssl-1.0.0-beta4/apps/CA.sh 2009-11-12 12:35:14.000000000 +0100
+@@ -68,7 +68,7 @@ VERIFY="$OPENSSL verify"
+ X509="$OPENSSL x509"
+ PKCS12="openssl pkcs12"
+
+-if [ -z "$CATOP" ] ; then CATOP=./demoCA ; fi
++if [ -z "$CATOP" ] ; then CATOP=/etc/ssl ; fi
+ CAKEY=./cakey.pem
+ CAREQ=./careq.pem
+ CACERT=./cacert.pem
+diff -up openssl-1.0.0-beta4/apps/openssl.cnf.ca-dir openssl-1.0.0-beta4/apps/openssl.cnf
+--- openssl-1.0.0-beta4/apps/openssl.cnf.ca-dir 2009-11-12 12:33:13.000000000 +0100
++++ openssl-1.0.0-beta4/apps/openssl.cnf 2009-11-12 12:33:13.000000000 +0100
+@@ -39,7 +39,7 @@ default_ca = CA_default # The default c
+ ####################################################################
+ [ CA_default ]
+
+-dir = ./demoCA # Where everything is kept
++dir = /etc/ssl # Where everything is kept
+ certs = $dir/certs # Where the issued certs are kept
+ crl_dir = $dir/crl # Where the issued crl are kept
+ database = $dir/index.txt # database index file.
diff --git a/system/base/openssl-1.1/files/openssl-1.0.2a-x32-asm.patch b/system/base/openssl-1.1/files/openssl-1.0.2a-x32-asm.patch
new file mode 100644
index 00000000..3a005c9b
--- /dev/null
+++ b/system/base/openssl-1.1/files/openssl-1.0.2a-x32-asm.patch
@@ -0,0 +1,43 @@
+https://rt.openssl.org/Ticket/Display.html?id=3759&user=guest&pass=guest
+
+From 6257d59b3a68d2feb9d64317a1c556dc3813ee61 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger
+Date: Sat, 21 Mar 2015 06:01:25 -0400
+Subject: [PATCH] crypto: use bigint in x86-64 perl
+
+When building on x32 systems where the default type is 32bit, make sure
+we can transparently represent 64bit integers. Otherwise we end up with
+build errors like:
+/usr/bin/perl asm/ghash-x86_64.pl elf > ghash-x86_64.s
+Integer overflow in hexadecimal number at asm/../../perlasm/x86_64-xlate.pl line 201, <> line 890.
+...
+ghash-x86_64.s: Assembler messages:
+ghash-x86_64.s:890: Error: junk '.15473355479995e+19' after expression
+
+We don't enable this globally as there are some cases where we'd get
+32bit values interpreted as unsigned when we need them as signed.
+
+Reported-by: Bertrand Jacquin
+URL: https://bugs.gentoo.org/542618
+---
+ crypto/perlasm/x86_64-xlate.pl | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/crypto/perlasm/x86_64-xlate.pl b/crypto/perlasm/x86_64-xlate.pl
+index aae8288..0bf9774 100755
+--- a/crypto/perlasm/x86_64-xlate.pl
++++ b/crypto/perlasm/x86_64-xlate.pl
+@@ -195,6 +195,10 @@ my %globals;
+ sub out {
+ my $self = shift;
+
++ # When building on x32 ABIs, the expanded hex value might be too
++ # big to fit into 32bits. Enable transparent 64bit support here
++ # so we can safely print it out.
++ use bigint;
+ if ($gas) {
+ # Solaris /usr/ccs/bin/as can't handle multiplications
+ # in $self->{value}
+--
+2.3.3
+
diff --git a/system/base/openssl-1.1/files/openssl-1.1.0l-fix-no-ec2m-in-ec_curve.c.patch b/system/base/openssl-1.1/files/openssl-1.1.0l-fix-no-ec2m-in-ec_curve.c.patch
new file mode 100644
index 00000000..35a435df
--- /dev/null
+++ b/system/base/openssl-1.1/files/openssl-1.1.0l-fix-no-ec2m-in-ec_curve.c.patch
@@ -0,0 +1,30 @@
+From bcf6a94c4bc912ad313ea21abdf7e83bbae450e5 Mon Sep 17 00:00:00 2001
+From: Nicola Tuveri
+Date: Thu, 12 Sep 2019 01:57:47 +0300
+Subject: [PATCH] Fix no-ec2m in ec_curve.c (1.1.0)
+
+I made a mistake in d4a5dac9f9242c580fb9d0a4389440eccd3494a7 and
+inverted the GF2m and GFp calls in ec_point_get_affine_coordinates, this
+fixes it.
+---
+ crypto/ec/ec_curve.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/crypto/ec/ec_curve.c b/crypto/ec/ec_curve.c
+index 2d28d7f70bb..6a58b3a23e0 100644
+--- a/crypto/ec/ec_curve.c
++++ b/crypto/ec/ec_curve.c
+@@ -3200,11 +3200,11 @@ int ec_point_get_affine_coordinates(const EC_GROUP *group,
+
+ #ifndef OPENSSL_NO_EC2M
+ if (field_nid == NID_X9_62_characteristic_two_field) {
+- return EC_POINT_get_affine_coordinates_GFp(group, point, x, y, ctx);
++ return EC_POINT_get_affine_coordinates_GF2m(group, point, x, y, ctx);
+ } else
+ #endif /* !def(OPENSSL_NO_EC2M) */
+ if (field_nid == NID_X9_62_prime_field) {
+- return EC_POINT_get_affine_coordinates_GF2m(group, point, x, y, ctx);
++ return EC_POINT_get_affine_coordinates_GFp(group, point, x, y, ctx);
+ } else {
+ /* this should never happen */
+ return 0;
diff --git a/system/base/openssl-1.1/files/openssl-1.1.1d-fix-potential-memleaks-w-BN_to_ASN1_INTEGER.patch b/system/base/openssl-1.1/files/openssl-1.1.1d-fix-potential-memleaks-w-BN_to_ASN1_INTEGER.patch
new file mode 100644
index 00000000..1f195d03
--- /dev/null
+++ b/system/base/openssl-1.1/files/openssl-1.1.1d-fix-potential-memleaks-w-BN_to_ASN1_INTEGER.patch
@@ -0,0 +1,107 @@
+From 515c728dbaa92211d2eafb0041ab9fcd258fdc41 Mon Sep 17 00:00:00 2001
+From: Bernd Edlinger
+Date: Mon, 9 Sep 2019 19:12:25 +0200
+Subject: [PATCH] Fix potential memory leaks with BN_to_ASN1_INTEGER
+
+Reviewed-by: Paul Dale
+Reviewed-by: Matt Caswell
+(Merged from https://github.com/openssl/openssl/pull/9833)
+
+(cherry picked from commit f28bc7d386b25fb75625d0c62c6b2e6d21de0d09)
+---
+ crypto/ec/ec_asn1.c | 7 +++++--
+ crypto/x509v3/v3_asid.c | 26 ++++++++++++++++++++------
+ 2 files changed, 25 insertions(+), 8 deletions(-)
+
+diff --git a/crypto/ec/ec_asn1.c b/crypto/ec/ec_asn1.c
+index 1ce1181fc10..7cbf8de9813 100644
+--- a/crypto/ec/ec_asn1.c
++++ b/crypto/ec/ec_asn1.c
+@@ -446,6 +446,7 @@ ECPARAMETERS *EC_GROUP_get_ecparameters(const EC_GROUP *group,
+ unsigned char *buffer = NULL;
+ const EC_POINT *point = NULL;
+ point_conversion_form_t form;
++ ASN1_INTEGER *orig;
+
+ if (params == NULL) {
+ if ((ret = ECPARAMETERS_new()) == NULL) {
+@@ -496,8 +497,9 @@ ECPARAMETERS *EC_GROUP_get_ecparameters(const EC_GROUP *group,
+ ECerr(EC_F_EC_GROUP_GET_ECPARAMETERS, ERR_R_EC_LIB);
+ goto err;
+ }
+- ret->order = BN_to_ASN1_INTEGER(tmp, ret->order);
++ ret->order = BN_to_ASN1_INTEGER(tmp, orig = ret->order);
+ if (ret->order == NULL) {
++ ret->order = orig;
+ ECerr(EC_F_EC_GROUP_GET_ECPARAMETERS, ERR_R_ASN1_LIB);
+ goto err;
+ }
+@@ -505,8 +507,9 @@ ECPARAMETERS *EC_GROUP_get_ecparameters(const EC_GROUP *group,
+ /* set the cofactor (optional) */
+ tmp = EC_GROUP_get0_cofactor(group);
+ if (tmp != NULL) {
+- ret->cofactor = BN_to_ASN1_INTEGER(tmp, ret->cofactor);
++ ret->cofactor = BN_to_ASN1_INTEGER(tmp, orig = ret->cofactor);
+ if (ret->cofactor == NULL) {
++ ret->cofactor = orig;
+ ECerr(EC_F_EC_GROUP_GET_ECPARAMETERS, ERR_R_ASN1_LIB);
+ goto err;
+ }
+diff --git a/crypto/x509v3/v3_asid.c b/crypto/x509v3/v3_asid.c
+index 089f2ae29f0..ef2d64826fb 100644
+--- a/crypto/x509v3/v3_asid.c
++++ b/crypto/x509v3/v3_asid.c
+@@ -256,6 +256,7 @@ static int extract_min_max(ASIdOrRange *aor,
+ static int ASIdentifierChoice_is_canonical(ASIdentifierChoice *choice)
+ {
+ ASN1_INTEGER *a_max_plus_one = NULL;
++ ASN1_INTEGER *orig;
+ BIGNUM *bn = NULL;
+ int i, ret = 0;
+
+@@ -298,9 +299,15 @@ static int ASIdentifierChoice_is_canonical(ASIdentifierChoice *choice)
+ */
+ if ((bn == NULL && (bn = BN_new()) == NULL) ||
+ ASN1_INTEGER_to_BN(a_max, bn) == NULL ||
+- !BN_add_word(bn, 1) ||
+- (a_max_plus_one =
+- BN_to_ASN1_INTEGER(bn, a_max_plus_one)) == NULL) {
++ !BN_add_word(bn, 1)) {
++ X509V3err(X509V3_F_ASIDENTIFIERCHOICE_IS_CANONICAL,
++ ERR_R_MALLOC_FAILURE);
++ goto done;
++ }
++
++ if ((a_max_plus_one =
++ BN_to_ASN1_INTEGER(bn, orig = a_max_plus_one)) == NULL) {
++ a_max_plus_one = orig;
+ X509V3err(X509V3_F_ASIDENTIFIERCHOICE_IS_CANONICAL,
+ ERR_R_MALLOC_FAILURE);
+ goto done;
+@@ -351,6 +358,7 @@ int X509v3_asid_is_canonical(ASIdentifiers *asid)
+ static int ASIdentifierChoice_canonize(ASIdentifierChoice *choice)
+ {
+ ASN1_INTEGER *a_max_plus_one = NULL;
++ ASN1_INTEGER *orig;
+ BIGNUM *bn = NULL;
+ int i, ret = 0;
+
+@@ -416,9 +424,15 @@ static int ASIdentifierChoice_canonize(ASIdentifierChoice *choice)
+ */
+ if ((bn == NULL && (bn = BN_new()) == NULL) ||
+ ASN1_INTEGER_to_BN(a_max, bn) == NULL ||
+- !BN_add_word(bn, 1) ||
+- (a_max_plus_one =
+- BN_to_ASN1_INTEGER(bn, a_max_plus_one)) == NULL) {
++ !BN_add_word(bn, 1)) {
++ X509V3err(X509V3_F_ASIDENTIFIERCHOICE_CANONIZE,
++ ERR_R_MALLOC_FAILURE);
++ goto done;
++ }
++
++ if ((a_max_plus_one =
++ BN_to_ASN1_INTEGER(bn, orig = a_max_plus_one)) == NULL) {
++ a_max_plus_one = orig;
+ X509V3err(X509V3_F_ASIDENTIFIERCHOICE_CANONIZE,
+ ERR_R_MALLOC_FAILURE);
+ goto done;
diff --git a/system/base/openssl-1.1/files/openssl-1.1.1d-fix-zlib.patch b/system/base/openssl-1.1/files/openssl-1.1.1d-fix-zlib.patch
new file mode 100644
index 00000000..5d2f923a
--- /dev/null
+++ b/system/base/openssl-1.1/files/openssl-1.1.1d-fix-zlib.patch
@@ -0,0 +1,52 @@
+From 86ed78676c660b553696cc10c682962522dfeb6c Mon Sep 17 00:00:00 2001
+From: Tomas Mraz
+Date: Thu, 12 Sep 2019 12:27:36 +0200
+Subject: [PATCH] BIO_f_zlib: Properly handle BIO_CTRL_PENDING and
+ BIO_CTRL_WPENDING calls.
+
+There can be data to write in output buffer and data to read that were
+not yet read in the input stream.
+
+Fixes #9866
+
+Reviewed-by: Richard Levitte
+(Merged from https://github.com/openssl/openssl/pull/9877)
+
+(cherry picked from commit 6beb8b39ba8e4cb005c1fcd2586ba19e17f04b95)
+---
+ crypto/comp/c_zlib.c | 22 ++++++++++++++++++++++
+ 1 file changed, 22 insertions(+)
+
+diff --git a/crypto/comp/c_zlib.c b/crypto/comp/c_zlib.c
+index d688deee5f2..7c1be358fd7 100644
+--- a/crypto/comp/c_zlib.c
++++ b/crypto/comp/c_zlib.c
+@@ -598,6 +598,28 @@ static long bio_zlib_ctrl(BIO *b, int cmd, long num, void *ptr)
+ BIO_copy_next_retry(b);
+ break;
+
++ case BIO_CTRL_WPENDING:
++ if (ctx->obuf == NULL)
++ return 0;
++
++ if (ctx->odone) {
++ ret = ctx->ocount;
++ } else {
++ ret = ctx->ocount;
++ if (ret == 0)
++ /* Unknown amount pending but we are not finished */
++ ret = 1;
++ }
++ if (ret == 0)
++ ret = BIO_ctrl(next, cmd, num, ptr);
++ break;
++
++ case BIO_CTRL_PENDING:
++ ret = ctx->zin.avail_in;
++ if (ret == 0)
++ ret = BIO_ctrl(next, cmd, num, ptr);
++ break;
++
+ default:
+ ret = BIO_ctrl(next, cmd, num, ptr);
+ break;
diff --git a/system/base/openssl-1.1/files/openssl-1.1.1d-reenable-the-stitched-AES-CBC-HMAC-SHA-implementations.patch b/system/base/openssl-1.1/files/openssl-1.1.1d-reenable-the-stitched-AES-CBC-HMAC-SHA-implementations.patch
new file mode 100644
index 00000000..dc8fe714
--- /dev/null
+++ b/system/base/openssl-1.1/files/openssl-1.1.1d-reenable-the-stitched-AES-CBC-HMAC-SHA-implementations.patch
@@ -0,0 +1,62 @@
+From 61cc715240d2d3f9511ca88043a3e9797c11482f Mon Sep 17 00:00:00 2001
+From: Richard Levitte
+Date: Thu, 3 Oct 2019 08:28:31 +0200
+Subject: [PATCH] Define AESNI_ASM if AESNI assembler is included, and use it
+
+Because we have cases where basic assembler support isn't present, but
+AESNI asssembler support is, we need a separate macro that indicates
+that, and use it.
+
+Reviewed-by: Tomas Mraz
+Reviewed-by: Paul Dale
+(Merged from https://github.com/openssl/openssl/pull/10080)
+---
+ Configure | 1 +
+ crypto/evp/e_aes_cbc_hmac_sha1.c | 2 +-
+ crypto/evp/e_aes_cbc_hmac_sha256.c | 4 ++--
+ 3 files changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/Configure b/Configure
+index 811bee81f54..f498ac2f81b 100755
+--- a/Configure
++++ b/Configure
+@@ -1376,6 +1376,7 @@ unless ($disabled{asm}) {
+ }
+ if ($target{aes_asm_src}) {
+ push @{$config{lib_defines}}, "AES_ASM" if ($target{aes_asm_src} =~ m/\baes-/);;
++ push @{$config{lib_defines}}, "AESNI_ASM" if ($target{aes_asm_src} =~ m/\baesni-/);;
+ # aes-ctr.fake is not a real file, only indication that assembler
+ # module implements AES_ctr32_encrypt...
+ push @{$config{lib_defines}}, "AES_CTR_ASM" if ($target{aes_asm_src} =~ s/\s*aes-ctr\.fake//);
+diff --git a/crypto/evp/e_aes_cbc_hmac_sha1.c b/crypto/evp/e_aes_cbc_hmac_sha1.c
+index c9f5969162c..27c36b46e7a 100644
+--- a/crypto/evp/e_aes_cbc_hmac_sha1.c
++++ b/crypto/evp/e_aes_cbc_hmac_sha1.c
+@@ -33,7 +33,7 @@ typedef struct {
+
+ #define NO_PAYLOAD_LENGTH ((size_t)-1)
+
+-#if defined(AES_ASM) && ( \
++#if defined(AESNI_ASM) && ( \
+ defined(__x86_64) || defined(__x86_64__) || \
+ defined(_M_AMD64) || defined(_M_X64) )
+
+diff --git a/crypto/evp/e_aes_cbc_hmac_sha256.c b/crypto/evp/e_aes_cbc_hmac_sha256.c
+index d5178313ae3..cc622b6faa8 100644
+--- a/crypto/evp/e_aes_cbc_hmac_sha256.c
++++ b/crypto/evp/e_aes_cbc_hmac_sha256.c
+@@ -34,7 +34,7 @@ typedef struct {
+
+ # define NO_PAYLOAD_LENGTH ((size_t)-1)
+
+-#if defined(AES_ASM) && ( \
++#if defined(AESNI_ASM) && ( \
+ defined(__x86_64) || defined(__x86_64__) || \
+ defined(_M_AMD64) || defined(_M_X64) )
+
+@@ -947,4 +947,4 @@ const EVP_CIPHER *EVP_aes_256_cbc_hmac_sha256(void)
+ {
+ return NULL;
+ }
+-#endif
++#endif /* AESNI_ASM */
diff --git a/system/base/openssl-1.1/files/openssl-alpha-ccc.patch b/system/base/openssl-1.1/files/openssl-alpha-ccc.patch
new file mode 100755
index 00000000..f16485ad
--- /dev/null
+++ b/system/base/openssl-1.1/files/openssl-alpha-ccc.patch
@@ -0,0 +1,11 @@
+diff -ruN openssl-1.0.2a.orig/Configure openssl-1.0.2a/Configure
+--- openssl-1.0.2a.orig/Configure 2015-03-19 14:30:36.000000000 +0100
++++ openssl-1.0.2a/Configure 2015-03-20 14:30:07.165989047 +0100
+@@ -442,6 +442,7 @@
+ "linux-alpha+bwx-gcc","gcc:-O3 -DL_ENDIAN::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:${alpha_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+ "linux-alpha-ccc","ccc:-fast -readonly_strings -DL_ENDIAN::-D_REENTRANT:::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL:${alpha_asm}",
+ "linux-alpha+bwx-ccc","ccc:-fast -readonly_strings -DL_ENDIAN::-D_REENTRANT:::SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL:${alpha_asm}",
++"linux-alpha+bwx-ccc-generic","ccc:-fast -generic -readonly_strings -DL_ENDIAN -DTERMIO::-D_REENTRANT:::SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL:${alpha_asm}",
+
+ # Android: linux-* but without pointers to headers and libs.
+ "android","gcc:-mandroid -I\$(ANDROID_DEV)/include -B\$(ANDROID_DEV)/lib -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
diff --git a/system/base/openssl-1.1/files/openssl-asflag.patch b/system/base/openssl-1.1/files/openssl-asflag.patch
new file mode 100755
index 00000000..aadad1bd
--- /dev/null
+++ b/system/base/openssl-1.1/files/openssl-asflag.patch
@@ -0,0 +1,11 @@
+--- openssl-1.0.0/Makefile.org.orig 2010-04-10 11:17:55.964995600 +0200
++++ openssl-1.0.0/Makefile.org 2010-04-10 11:19:41.144993924 +0200
+@@ -178,7 +178,7 @@
+
+ BUILDENV= PLATFORM='$(PLATFORM)' PROCESSOR='$(PROCESSOR)' \
+ CC='$(CC)' CFLAG='$(CFLAG)' \
+- AS='$(CC)' ASFLAG='$(CFLAG) -c' \
++ AS='$(AS)' ASFLAG='$(ASFLAG)' \
+ AR='$(AR)' NM='$(NM)' RANLIB='$(RANLIB)' \
+ CROSS_COMPILE='$(CROSS_COMPILE)' \
+ PERL='$(PERL)' ENGDIRS='$(ENGDIRS)' \
diff --git a/system/base/openssl-1.1/files/openssl-c_rehash.sh b/system/base/openssl-1.1/files/openssl-c_rehash.sh
new file mode 100755
index 00000000..0ea22637
--- /dev/null
+++ b/system/base/openssl-1.1/files/openssl-c_rehash.sh
@@ -0,0 +1,210 @@
+#!/bin/sh
+#
+# Ben Secrest
+#
+# sh c_rehash script, scan all files in a directory
+# and add symbolic links to their hash values.
+#
+# based on the c_rehash perl script distributed with openssl
+#
+# LICENSE: See OpenSSL license
+# ^^acceptable?^^
+#
+
+# default certificate location
+DIR=/etc/openssl
+
+# for filetype bitfield
+IS_CERT=$(( 1 << 0 ))
+IS_CRL=$(( 1 << 1 ))
+
+
+# check to see if a file is a certificate file or a CRL file
+# arguments:
+# 1. the filename to be scanned
+# returns:
+# bitfield of file type; uses ${IS_CERT} and ${IS_CRL}
+#
+check_file()
+{
+ local IS_TYPE=0
+
+ # make IFS a newline so we can process grep output line by line
+ local OLDIFS=${IFS}
+ IFS=$( printf "\n" )
+
+ # XXX: could be more efficient to have two 'grep -m' but is -m portable?
+ for LINE in $( grep '^-----BEGIN .*-----' ${1} )
+ do
+ if echo ${LINE} \
+ | grep -q -E '^-----BEGIN (X509 |TRUSTED )?CERTIFICATE-----'
+ then
+ IS_TYPE=$(( ${IS_TYPE} | ${IS_CERT} ))
+
+ if [ $(( ${IS_TYPE} & ${IS_CRL} )) -ne 0 ]
+ then
+ break
+ fi
+ elif echo ${LINE} | grep -q '^-----BEGIN X509 CRL-----'
+ then
+ IS_TYPE=$(( ${IS_TYPE} | ${IS_CRL} ))
+
+ if [ $(( ${IS_TYPE} & ${IS_CERT} )) -ne 0 ]
+ then
+ break
+ fi
+ fi
+ done
+
+ # restore IFS
+ IFS=${OLDIFS}
+
+ return ${IS_TYPE}
+}
+
+
+#
+# use openssl to fingerprint a file
+# arguments:
+# 1. the filename to fingerprint
+# 2. the method to use (x509, crl)
+# returns:
+# none
+# assumptions:
+# user will capture output from last stage of pipeline
+#
+fingerprint()
+{
+ ${SSL_CMD} ${2} -fingerprint -noout -in ${1} | sed 's/^.*=//' | tr -d ':'
+}
+
+
+#
+# link_hash - create links to certificate files
+# arguments:
+# 1. the filename to create a link for
+# 2. the type of certificate being linked (x509, crl)
+# returns:
+# 0 on success, 1 otherwise
+#
+link_hash()
+{
+ local FINGERPRINT=$( fingerprint ${1} ${2} )
+ local HASH=$( ${SSL_CMD} ${2} -hash -noout -in ${1} )
+ local SUFFIX=0
+ local LINKFILE=''
+ local TAG=''
+
+ if [ ${2} = "crl" ]
+ then
+ TAG='r'
+ fi
+
+ LINKFILE=${HASH}.${TAG}${SUFFIX}
+
+ while [ -f ${LINKFILE} ]
+ do
+ if [ ${FINGERPRINT} = $( fingerprint ${LINKFILE} ${2} ) ]
+ then
+ echo "WARNING: Skipping duplicate file ${1}" >&2
+ return 1
+ fi
+
+ SUFFIX=$(( ${SUFFIX} + 1 ))
+ LINKFILE=${HASH}.${TAG}${SUFFIX}
+ done
+
+ echo "${1} => ${LINKFILE}"
+
+ # assume any system with a POSIX shell will either support symlinks or
+ # do something to handle this gracefully
+ ln -s ${1} ${LINKFILE}
+
+ return 0
+}
+
+
+# hash_dir create hash links in a given directory
+hash_dir()
+{
+ echo "Doing ${1}"
+
+ cd ${1}
+
+ ls -1 * 2>/dev/null | while read FILE
+ do
+ if echo ${FILE} | grep -q -E '^[[:xdigit:]]{8}\.r?[[:digit:]]+$' \
+ && [ -h "${FILE}" ]
+ then
+ rm ${FILE}
+ fi
+ done
+
+ ls -1 *.pem *.cer *.crt *.crl 2>/dev/null | while read FILE
+ do
+ check_file ${FILE}
+ local FILE_TYPE=${?}
+ local TYPE_STR=''
+
+ if [ $(( ${FILE_TYPE} & ${IS_CERT} )) -ne 0 ]
+ then
+ TYPE_STR='x509'
+ elif [ $(( ${FILE_TYPE} & ${IS_CRL} )) -ne 0 ]
+ then
+ TYPE_STR='crl'
+ else
+ echo "WARNING: ${FILE} does not contain a certificate or CRL: skipping" >&2
+ continue
+ fi
+
+ link_hash ${FILE} ${TYPE_STR}
+ done
+}
+
+
+# choose the name of an ssl application
+if [ -n "${OPENSSL}" ]
+then
+ SSL_CMD=$(which ${OPENSSL} 2>/dev/null)
+else
+ SSL_CMD=/usr/bin/openssl
+ OPENSSL=${SSL_CMD}
+ export OPENSSL
+fi
+
+# fix paths
+PATH=${PATH}:${DIR}/bin
+export PATH
+
+# confirm existance/executability of ssl command
+if ! [ -x ${SSL_CMD} ]
+then
+ echo "${0}: rehashing skipped ('openssl' program not available)" >&2
+ exit 0
+fi
+
+# determine which directories to process
+old_IFS=$IFS
+if [ ${#} -gt 0 ]
+then
+ IFS=':'
+ DIRLIST=${*}
+elif [ -n "${SSL_CERT_DIR}" ]
+then
+ DIRLIST=$SSL_CERT_DIR
+else
+ DIRLIST=${DIR}/certs
+fi
+
+IFS=':'
+
+# process directories
+for CERT_DIR in ${DIRLIST}
+do
+ if [ -d ${CERT_DIR} -a -w ${CERT_DIR} ]
+ then
+ IFS=$old_IFS
+ hash_dir ${CERT_DIR}
+ IFS=':'
+ fi
+done
diff --git a/system/base/openssl-1.1/files/openssl-ca-certificates.patch b/system/base/openssl-1.1/files/openssl-ca-certificates.patch
new file mode 100755
index 00000000..0221ac2b
--- /dev/null
+++ b/system/base/openssl-1.1/files/openssl-ca-certificates.patch
@@ -0,0 +1,12 @@
+diff -ruN openssl-1.0.2.orig/crypto/cryptlib.h openssl-1.0.2/crypto/cryptlib.h
+--- openssl-1.0.2.orig/crypto/cryptlib.h 2015-01-22 15:58:32.000000000 +0100
++++ openssl-1.0.2/crypto/cryptlib.h 2015-01-27 15:48:31.239123780 +0100
+@@ -82,7 +82,7 @@
+ # 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_FILE "/etc/pki/tls/certs/ca-bundle.crt"
+ # define X509_PRIVATE_DIR OPENSSLDIR "/private"
+ # else
+ # define X509_CERT_AREA "SSLROOT:[000000]"
diff --git a/system/base/openssl-1.1/files/openssl-find.patch b/system/base/openssl-1.1/files/openssl-find.patch
new file mode 100755
index 00000000..30f6d8b9
--- /dev/null
+++ b/system/base/openssl-1.1/files/openssl-find.patch
@@ -0,0 +1,72 @@
+diff --git a/meta/recipes-connectivity/openssl/openssl-1.0.0i/find.pl b/meta/recipes-connectivity/openssl/openssl-1.0.0i/find.pl
+new file mode 100644
+index 0000000..8e1b42c
+--- /dev/null
++++ openssl-1.0.0i/find.pl
+@@ -0,0 +1,54 @@
++warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
++
++# This library is deprecated and unmaintained. It is included for
++# compatibility with Perl 4 scripts which may use it, but it will be
++# removed in a future version of Perl. Please use the File::Find module
++# instead.
++
++# Usage:
++# require "find.pl";
++#
++# &find('/foo','/bar');
++#
++# sub wanted { ... }
++# where wanted does whatever you want. $dir contains the
++# current directory name, and $_ the current filename within
++# that directory. $name contains "$dir/$_". You are cd'ed
++# to $dir when the function is called. The function may
++# set $prune to prune the tree.
++#
++# For example,
++#
++# find / -name .nfs\* -mtime +7 -exec rm -f {} \; -o -fstype nfs -prune
++#
++# corresponds to this
++#
++# sub wanted {
++# /^\.nfs.*$/ &&
++# (($dev,$ino,$mode,$nlink,$uid,$gid) = lstat($_)) &&
++# int(-M _) > 7 &&
++# unlink($_)
++# ||
++# ($nlink || (($dev,$ino,$mode,$nlink,$uid,$gid) = lstat($_))) &&
++# $dev < 0 &&
++# ($prune = 1);
++# }
++#
++# Set the variable $dont_use_nlink if you're using AFS, since AFS cheats.
++
++use File::Find ();
++
++*name = *File::Find::name;
++*prune = *File::Find::prune;
++*dir = *File::Find::dir;
++*topdir = *File::Find::topdir;
++*topdev = *File::Find::topdev;
++*topino = *File::Find::topino;
++*topmode = *File::Find::topmode;
++*topnlink = *File::Find::topnlink;
++
++sub find {
++ &File::Find::find(\&wanted, @_);
++}
++
++1;
+
+--- openssl-1.0.2m/util/perlpath.pl~ 2017-10-26 23:34:32.000000000 +0300
++++ openssl-1.0.2m/util/perlpath.pl 2017-11-01 13:08:24.963877348 +0200
+@@ -4,7 +4,7 @@
+ # line in all scripts that rely on perl.
+ #
+
+-require "find.pl";
++require "./find.pl";
+
+ $#ARGV == 0 || print STDERR "usage: perlpath newpath (eg /usr/bin)\n";
+ &find(".");
diff --git a/system/base/openssl-1.1/files/openssl-include.patch b/system/base/openssl-1.1/files/openssl-include.patch
new file mode 100755
index 00000000..7b7b1cd0
--- /dev/null
+++ b/system/base/openssl-1.1/files/openssl-include.patch
@@ -0,0 +1,29 @@
+--- openssl-1.0.2i/Makefile.org~ 2016-09-19 18:24:29.000000000 +0300
++++ openssl-1.0.2i/Makefile.org 2016-09-19 18:24:58.456803714 +0300
+@@ -367,7 +367,7 @@
+ @ ( echo 'prefix=$(INSTALLTOP)'; \
+ echo 'exec_prefix=$${prefix}'; \
+ echo 'libdir=$${exec_prefix}/$(LIBDIR)'; \
+- echo 'includedir=$${prefix}/include'; \
++ echo 'includedir=$${prefix}/include/openssl'; \
+ echo 'enginesdir=$${libdir}/engines'; \
+ echo ''; \
+ echo 'Name: OpenSSL-libcrypto'; \
+@@ -374,7 +374,7 @@
+ @ ( echo 'prefix=$(INSTALLTOP)'; \
+ echo 'exec_prefix=$${prefix}'; \
+ echo 'libdir=$${exec_prefix}/$(LIBDIR)'; \
+- echo 'includedir=$${prefix}/include'; \
++ echo 'includedir=$${prefix}/include/openssl'; \
+ echo ''; \
+ echo 'Name: OpenSSL-libssl'; \
+ echo 'Description: Secure Sockets Layer and cryptography libraries'; \
+@@ -388,7 +388,7 @@
+ @ ( echo 'prefix=$(INSTALLTOP)'; \
+ echo 'exec_prefix=$${prefix}'; \
+ echo 'libdir=$${exec_prefix}/$(LIBDIR)'; \
+- echo 'includedir=$${prefix}/include'; \
++ echo 'includedir=$${prefix}/include/openssl'; \
+ echo ''; \
+ echo 'Name: OpenSSL'; \
+ echo 'Description: Secure Sockets Layer and cryptography libraries and tools'; \
diff --git a/system/base/openssl-1.1/files/openssl-ldflags.patch b/system/base/openssl-1.1/files/openssl-ldflags.patch
new file mode 100755
index 00000000..d53dd6f5
--- /dev/null
+++ b/system/base/openssl-1.1/files/openssl-ldflags.patch
@@ -0,0 +1,25 @@
+updated from http://bugs.gentoo.org/181438
+
+make sure we respect LDFLAGS
+
+--- openssl-1.0.0/Makefile.org.orig 2010-04-10 11:21:33.852993924 +0200
++++ openssl-1.0.0/Makefile.org 2010-04-10 11:22:52.248992248 +0200
+@@ -189,6 +189,7 @@
+ MAKEDEPEND='$$$${TOP}/util/domd $$$${TOP} -MD $(MAKEDEPPROG)' \
+ DEPFLAG='-DOPENSSL_NO_DEPRECATED $(DEPFLAG)' \
+ MAKEDEPPROG='$(MAKEDEPPROG)' \
++ LDFLAGS='$(LDFLAGS)' \
+ SHARED_LDFLAGS='$(SHARED_LDFLAGS)' \
+ KRB5_INCLUDES='$(KRB5_INCLUDES)' LIBKRB5='$(LIBKRB5)' \
+ ZLIB_INCLUDE='$(ZLIB_INCLUDE)' LIBZLIB='$(LIBZLIB)' \
+--- openssl-0.9.8h/Makefile.shared
++++ openssl-0.9.8h/Makefile.shared
+@@ -153,7 +153,7 @@
+ NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \
+ SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-Bsymbolic -Wl,-soname=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX"
+
+-DO_GNU_APP=LDFLAGS="$(CFLAGS) -Wl,-rpath,$(LIBRPATH)"
++DO_GNU_APP=LDFLAGS="$(LDFLAGS) $(CFLAGS) -Wl,-rpath,$(LIBRPATH)"
+
+ #This is rather special. It's a special target with which one can link
+ #applications without bothering with any features that have anything to
diff --git a/system/base/openssl-1.1/files/openssl-man-namespace.patch b/system/base/openssl-1.1/files/openssl-man-namespace.patch
new file mode 100755
index 00000000..2c3bd120
--- /dev/null
+++ b/system/base/openssl-1.1/files/openssl-man-namespace.patch
@@ -0,0 +1,25 @@
+--- openssl-1.0.0/Makefile.org.orig 2010-04-10 11:05:35.900993086 +0200
++++ openssl-1.0.0/Makefile.org 2010-04-10 11:16:15.052993924 +0200
+@@ -610,7 +610,7 @@
+ --release=$(VERSION) `basename $$i`") \
+ > $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$fn.$${sec}$(MANSUFFIX); \
+ $(PERL) util/extract-names.pl < $$i | \
+- (grep -v $$filecase "^$$fn\$$"; true) | \
++ (grep -v -E $$filecase "^$${fn}|$${fn#openssl-}\$$"; true) | \
+ (grep -v "[ ]"; true) | \
+ (cd $(INSTALL_PREFIX)$(MANDIR)/man$$sec/; \
+ while read n; do \
+@@ -627,11 +627,11 @@
+ --release=$(VERSION) `basename $$i`") \
+ > $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$fn.$${sec}$(MANSUFFIX); \
+ $(PERL) util/extract-names.pl < $$i | \
+- (grep -v $$filecase "^$$fn\$$"; true) | \
++ (grep -v -E $$filecase "^$${fn#openssl-}\$$"; true) | \
+ (grep -v "[ ]"; true) | \
+ (cd $(INSTALL_PREFIX)$(MANDIR)/man$$sec/; \
+ while read n; do \
+- PLATFORM=$(PLATFORM) $$here/util/point.sh $$fn.$${sec}$(MANSUFFIX) "$$n".$${sec}$(MANSUFFIX); \
++ PLATFORM=$(PLATFORM) $$here/util/point.sh $$fn.$${sec}$(MANSUFFIX) openssl-"$$n".$${sec}$(MANSUFFIX); \
+ done); \
+ done
+
diff --git a/system/base/openssl-1.1/files/openssl-optflags.patch b/system/base/openssl-1.1/files/openssl-optflags.patch
new file mode 100755
index 00000000..a6d077e4
--- /dev/null
+++ b/system/base/openssl-1.1/files/openssl-optflags.patch
@@ -0,0 +1,144 @@
+Remove -f/-m/-O flags which would conflict with RPM_OPT_FLAGS or cause code
+built on a i686/ev6/sparcv9 to not run on a i386/ev5/sparcv7 and so on.
+
+...add $ENV{OPTFLAGS} instead
+
+--- openssl-1.0.2b/Configure.orig 2015-06-12 16:21:24.540170216 +0200
++++ openssl-1.0.2b/Configure 2015-06-12 18:45:01.027153237 +0200
+@@ -185,8 +185,8 @@
+ #"b2-is-ri-dp", "${tcc}:${tflags}::${tlib}:${bits2}IDEA_SHORT RC4_INDEX DES_PTR:${tbn_mul}::",
+
+ # Our development configs
+-"purify", "purify gcc:-g -DPURIFY -Wall::(unknown)::-lsocket -lnsl::::",
+-"debug", "gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DOPENSSL_NO_ASM -ggdb -g2 -Wformat -Wshadow -Wmissing-prototypes -Wmissing-declarations -Werror::(unknown)::-lefence::::",
++"purify", "purify gcc:-g -DPURIFY $ENV{OPTFLAGS} -Wall::(unknown)::-lsocket -lnsl::::",
++"debug", "gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DOPENSSL_NO_ASM -ggdb -g2 $ENV{OPTFLAGS} -Wformat -Wshadow -Wmissing-prototypes -Wmissing-declarations -Werror::(unknown)::-lefence::::",
+ "debug-ben", "gcc:$gcc_devteam_warn -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DDEBUG_SAFESTACK -O2 -pipe::(unknown):::::",
+ "debug-ben-openbsd","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DPEDANTIC -DDEBUG_SAFESTACK -DOPENSSL_OPENBSD_DEV_CRYPTO -DOPENSSL_NO_ASM -O2 -pedantic -Wall -Wshadow -Werror -pipe::(unknown)::::",
+ "debug-ben-openbsd-debug","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DPEDANTIC -DDEBUG_SAFESTACK -DOPENSSL_OPENBSD_DEV_CRYPTO -DOPENSSL_NO_ASM -g3 -O2 -pedantic -Wall -Wshadow -Werror -pipe::(unknown)::::",
+@@ -209,14 +209,14 @@
+ "debug-levitte-linux-noasm-extreme","gcc:-DLEVITTE_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_DEBUG -DBN_DEBUG_RAND -DCRYPTO_MDEBUG -DENGINE_CONF_DEBUG -DOPENSSL_NO_ASM -DL_ENDIAN -DPEDANTIC -ggdb -g3 -pedantic -ansi -Wall -W -Wundef -Wshadow -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -Wundef -Wconversion -pipe::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+ "debug-geoff32","gcc:-DBN_DEBUG -DBN_DEBUG_RAND -DBN_STRICT -DPURIFY -DOPENSSL_NO_DEPRECATED -DOPENSSL_NO_ASM -DOPENSSL_NO_INLINE_ASM -DL_ENDIAN -DTERMIO -DPEDANTIC -O1 -ggdb2 -Wall -Werror -Wundef -pedantic -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-align -Wsign-compare -Wmissing-prototypes -Wmissing-declarations -Wno-long-long::-D_REENTRANT::-ldl:BN_LLONG:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+ "debug-geoff64","gcc:-DBN_DEBUG -DBN_DEBUG_RAND -DBN_STRICT -DPURIFY -DOPENSSL_NO_DEPRECATED -DOPENSSL_NO_ASM -DOPENSSL_NO_INLINE_ASM -DL_ENDIAN -DTERMIO -DPEDANTIC -O1 -ggdb2 -Wall -Werror -Wundef -pedantic -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-align -Wsign-compare -Wmissing-prototypes -Wmissing-declarations -Wno-long-long::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+-"debug-linux-pentium","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DL_ENDIAN -g -mcpu=pentium -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn",
+-"debug-linux-ppro","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DL_ENDIAN -g -mcpu=pentiumpro -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn",
+-"debug-linux-elf","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DL_ENDIAN -g -march=i486 -Wall::-D_REENTRANT::-lefence -ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+-"debug-linux-elf-noefence","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DL_ENDIAN -g -march=i486 -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+-"debug-linux-ia32-aes", "gcc:-DAES_EXPERIMENTAL -DL_ENDIAN -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:x86cpuid.o:bn-586.o co-586.o x86-mont.o::des-586.o crypt586.o:aes_x86core.o aes_cbc.o aesni-x86.o:bf-586.o:md5-586.o:sha1-586.o sha256-586.o sha512-586.o:cast-586.o:rc4-586.o:rmd-586.o:rc5-586.o:wp_block.o wp-mmx.o::ghash-x86.o::elf:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+-"debug-linux-generic32","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -g -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+-"debug-linux-generic64","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -DTERMIO -g -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+-"debug-linux-x86_64","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -m64 -DL_ENDIAN -g -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
++"debug-linux-pentium","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DL_ENDIAN -g $ENV{OPTFLAGS} -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn",
++"debug-linux-ppro","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DL_ENDIAN -g $ENV{OPTFLAGS} -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn",
++"debug-linux-elf","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DL_ENDIAN -g $ENV{OPTFLAGS} -Wall::-D_REENTRANT::-lefence -ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debug-linux-elf-noefence","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DL_ENDIAN -g $ENV{OPTFLAGS} -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debug-linux-ia32-aes", "gcc:-DAES_EXPERIMENTAL -DL_ENDIAN -fomit-frame-pointer $ENV{OPTFLAGS} -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:x86cpuid.o:bn-586.o co-586.o x86-mont.o::des-586.o crypt586.o:aes_x86core.o aes_cbc.o aesni-x86.o:bf-586.o:md5-586.o:sha1-586.o sha256-586.o sha512-586.o:cast-586.o:rc4-586.o:rmd-586.o:rc5-586.o:wp_block.o wp-mmx.o::ghash-x86.o::elf:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debug-linux-generic32","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -g $ENV{OPTFLAGS} -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debug-linux-generic64","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -DTERMIO -g $ENV{OPTFLAGS} -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debug-linux-x86_64","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -m64 -DL_ENDIAN -g $ENV{OPTFLAGS} -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
+ "dist", "cc:-O::(unknown)::::::",
+
+ # Basic configs that should work on any (32 and less bit) box
+@@ -365,8 +365,8 @@
+ ####
+ # *-generic* is endian-neutral target, but ./config is free to
+ # throw in -D[BL]_ENDIAN, whichever appropriate...
+-"linux-generic32","gcc:-O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+-"linux-ppc", "gcc:-DB_ENDIAN -O3 -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:${ppc32_asm}:linux32:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-generic32","gcc:-fomit-frame-pointer $ENV{OPTFLAGS} -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-ppc", "gcc:-DB_ENDIAN $ENV{OPTFLAGS} -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:${ppc32_asm}:linux32:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+
+ #######################################################################
+ # Note that -march is not among compiler options in below linux-armv4
+@@ -395,31 +395,31 @@
+ #
+ # ./Configure linux-armv4 -march=armv6 -D__ARM_MAX_ARCH__=8
+ #
+-"linux-armv4", "gcc: -O3 -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${armv4_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+-"linux-aarch64","gcc: -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${aarch64_asm}:linux64:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-armv4", "gcc: $ENV{OPTFLAGS} -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${armv4_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-aarch64","gcc: $ENV{OPTFLAGS} -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${aarch64_asm}:linux64:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+ # Configure script adds minimally required -march for assembly support,
+ # if no -march was specified at command line. mips32 and mips64 below
+ # refer to contemporary MIPS Architecture specifications, MIPS32 and
+ # MIPS64, rather than to kernel bitness.
+-"linux-mips32", "gcc:-mabi=32 -O3 -Wall -DBN_DIV3W::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${mips32_asm}:o32:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+-"linux-mips64", "gcc:-mabi=n32 -O3 -Wall -DBN_DIV3W::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${mips64_asm}:n32:dlfcn:linux-shared:-fPIC:-mabi=n32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::32",
+-"linux64-mips64", "gcc:-mabi=64 -O3 -Wall -DBN_DIV3W::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${mips64_asm}:64:dlfcn:linux-shared:-fPIC:-mabi=64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
++"linux-mips32", "gcc:-mabi=32 $ENV{OPTFLAGS} -Wall -DBN_DIV3W::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${mips32_asm}:o32:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-mips64", "gcc:-mabi=n32 $ENV{OPTFLAGS} -Wall -DBN_DIV3W::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${mips64_asm}:n32:dlfcn:linux-shared:-fPIC:-mabi=n32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::32",
++"linux64-mips64", "gcc:-mabi=64 $ENV{OPTFLAGS} -Wall -DBN_DIV3W::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${mips64_asm}:64:dlfcn:linux-shared:-fPIC:-mabi=64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
+ #### IA-32 targets...
+-"linux-ia32-icc", "icc:-DL_ENDIAN -O2::-D_REENTRANT::-ldl -no_cpprt:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-KPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+-"linux-elf", "gcc:-DL_ENDIAN -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+-"linux-aout", "gcc:-DL_ENDIAN -O3 -fomit-frame-pointer -march=i486 -Wall::(unknown):::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_asm}:a.out",
++"linux-ia32-icc", "icc:-DL_ENDIAN $ENV{OPTFLAGS}::-D_REENTRANT::-ldl -no_cpprt:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-KPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-elf", "gcc:-DL_ENDIAN $ENV{OPTFLAGS} -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-aout", "gcc:-DL_ENDIAN $ENV{OPTFLAGS} -Wall::(unknown):::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_asm}:a.out",
+ ####
+-"linux-generic64","gcc:-O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+-"linux-ppc64", "gcc:-m64 -DB_ENDIAN -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:${ppc64_asm}:linux64:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
+-"linux-ppc64le","gcc:-m64 -DL_ENDIAN -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:$ppc64_asm:linux64le:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::",
+-"linux-ia64", "gcc:-DL_ENDIAN -DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_UNROLL DES_INT:${ia64_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+-"linux-ia64-icc","icc:-DL_ENDIAN -O2 -Wall::-D_REENTRANT::-ldl -no_cpprt:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_RISC1 DES_INT:${ia64_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+-"linux-x86_64", "gcc:-m64 -DL_ENDIAN -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
+-"linux-x86_64-clang", "clang: -m64 -DL_ENDIAN -O3 -Wall -Wextra $clang_disabled_warnings -Qunused-arguments::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
+-"debug-linux-x86_64-clang", "clang: -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -m64 -DL_ENDIAN -g -Wall -Wextra $clang_disabled_warnings -Qunused-arguments::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
+-"linux-x86_64-icc", "icc:-DL_ENDIAN -O2::-D_REENTRANT::-ldl -no_cpprt:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
+-"linux-x32", "gcc:-mx32 -DL_ENDIAN -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-mx32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::x32",
+-"linux64-s390x", "gcc:-m64 -DB_ENDIAN -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL:${s390x_asm}:64:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
++"linux-generic64","gcc:$ENV{OPTFLAGS} -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-ppc64", "gcc:-m64 -DB_ENDIAN $ENV{OPTFLAGS} -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:${ppc64_asm}:linux64:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
++"linux-ppc64le","gcc:-m64 -DL_ENDIAN $ENV{OPTFLAGS} -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:$ppc64_asm:linux64le:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::",
++"linux-ia64", "gcc:-DL_ENDIAN -DTERMIO $ENV{OPTFLAGS} -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_UNROLL DES_INT:${ia64_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-ia64-icc","icc:-DL_ENDIAN $ENV{OPTFLAGS} -Wall::-D_REENTRANT::-ldl -no_cpprt:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_RISC1 DES_INT:${ia64_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-x86_64", "gcc:-m64 -DL_ENDIAN $ENV{OPTFLAGS} -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
++"linux-x86_64-clang", "clang: -m64 -DL_ENDIAN $ENV{OPTFLAGS} -Wall -Wextra $clang_disabled_warnings -Qunused-arguments::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
++"debug-linux-x86_64-clang", "clang: -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -m64 -DL_ENDIAN $ENV{OPTFLAGS} -Wall -Wextra $clang_disabled_warnings -Qunused-arguments::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
++"linux-x86_64-icc", "icc:-DL_ENDIAN $ENV{OPTFLAGS}::-D_REENTRANT::-ldl -no_cpprt:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
++"linux-x32", "gcc:-mx32 -DL_ENDIAN $ENV{OPTFLAGS} -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-mx32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::x32",
++"linux64-s390x", "gcc:-m64 -DB_ENDIAN $ENV{OPTFLAGS} -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL:${s390x_asm}:64:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
+ #### So called "highgprs" target for z/Architecture CPUs
+ # "Highgprs" is kernel feature first implemented in Linux 2.6.32, see
+ # /proc/cpuinfo. The idea is to preserve most significant bits of
+@@ -432,16 +432,16 @@
+ # ldconfig and run-time linker to autodiscover. Unfortunately it
+ # doesn't work just yet, because of couple of bugs in glibc
+ # sysdeps/s390/dl-procinfo.c affecting ldconfig and ld.so.1...
+-"linux32-s390x", "gcc:-m31 -Wa,-mzarch -DB_ENDIAN -O3 -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL:".eval{my $asm=$s390x_asm;$asm=~s/bn\-s390x\.o/bn_asm.o/;$asm}.":31:dlfcn:linux-shared:-fPIC:-m31:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::/highgprs",
++"linux32-s390x", "gcc:-m31 -Wa,-mzarch -DB_ENDIAN $ENV{OPTFLAGS} -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL:".eval{my $asm=$s390x_asm;$asm=~s/bn\-s390x\.o/bn_asm.o/;$asm}.":31:dlfcn:linux-shared:-fPIC:-m31:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::/highgprs",
+ #### SPARC Linux setups
+ # Ray Miller has patiently
+ # assisted with debugging of following two configs.
+-"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)",
++"linux-sparcv8","gcc:-mcpu=v8 -DB_ENDIAN $ENV{OPTFLAGS} -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)",
++"linux-sparcv9","gcc:-m32 -mcpu=ultrasparc -DB_ENDIAN $ENV{OPTFLAGS} -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)",
+ # GCC 3.1 is a requirement
+-"linux64-sparcv9","gcc:-m64 -mcpu=ultrasparc -DB_ENDIAN -O3 -fomit-frame-pointer -Wall::-D_REENTRANT:ULTRASPARC:-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL BF_PTR:${sparcv9_asm}:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
++"linux64-sparcv9","gcc:-m64 -mcpu=ultrasparc -DB_ENDIAN $ENV{OPTFLAGS} -Wall::-D_REENTRANT:ULTRASPARC:-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL BF_PTR:${sparcv9_asm}:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
+ #### Alpha Linux with GNU C and Compaq C setups
+ # Special notes:
+ # - linux-alpha+bwx-gcc is ment to be used from ./config only. If you
+@@ -455,8 +455,8 @@
+ #
+ #
+ #
+-"linux-alpha-gcc","gcc:-O3 -DL_ENDIAN::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_RISC1 DES_UNROLL:${alpha_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+-"linux-alpha+bwx-gcc","gcc:-O3 -DL_ENDIAN::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:${alpha_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-alpha-gcc","gcc:$ENV{OPTFLAGS} -DL_ENDIAN::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_RISC1 DES_UNROLL:${alpha_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"linux-alpha+bwx-gcc","gcc:$ENV{OPTFLAGS} -DL_ENDIAN::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:${alpha_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+ "linux-alpha-ccc","ccc:-fast -readonly_strings -DL_ENDIAN::-D_REENTRANT:::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL:${alpha_asm}",
+ "linux-alpha+bwx-ccc","ccc:-fast -readonly_strings -DL_ENDIAN::-D_REENTRANT:::SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL:${alpha_asm}",
+ "linux-alpha+bwx-ccc-generic","ccc:-fast -generic -readonly_strings -DL_ENDIAN -DTERMIO::-D_REENTRANT:::SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL:${alpha_asm}",
+@@ -1765,7 +1765,7 @@
+ elsif ($shared_extension ne "" && $shared_extension =~ /^\.s([ol])\.[^\.]*\.[^\.]*$/)
+ {
+ my $sotmp = $1;
+- s/^SHARED_LIBS_LINK_EXTS=.*/SHARED_LIBS_LINK_EXTS=.s$sotmp.\$(SHLIB_MAJOR) .s$sotmp/;
++ s/^SHARED_LIBS_LINK_EXTS=.*/SHARED_LIBS_LINK_EXTS=.s$sotmp.\$(SHLIB_SOVER) .s$sotmp/;
+ }
+ elsif ($shared_extension ne "" && $shared_extension =~ /^\.[^\.]*\.[^\.]*\.dylib$/)
+ {
diff --git a/system/base/openssl-1.1/files/openssl-ssl-certificate.sh b/system/base/openssl-1.1/files/openssl-ssl-certificate.sh
new file mode 100755
index 00000000..dd65c969
--- /dev/null
+++ b/system/base/openssl-1.1/files/openssl-ssl-certificate.sh
@@ -0,0 +1,33 @@
+#!/bin/sh -e
+
+CERT=/etc/openssl/certs/apache.pem
+export RANDFILE=/dev/random
+
+if [ "$1" != "--force" -a -f $CERT ]; then
+ echo "$CERT exists! Use \"$0 --force.\""
+ exit 0
+fi
+
+if [ "$1" == "--force" ]; then
+ shift
+fi
+
+echo
+echo creating selfsingned certificate
+echo "replace it with one signed by a certification authority (CA)"
+echo
+echo enter your ServerName at the Common Name prompt
+echo
+echo If you want your certificate to expire after x days call this programm
+echo with "-days x". Default: 30 days
+
+# use special .cnf, because with normal one no valid selfsigned
+# certificate is created
+
+openssl req $@ -config /etc/openssl/openssl.cnf \
+ -new -x509 -nodes -out $CERT -keyout $CERT
+
+chmod 600 $CERT
+
+ln -sf $CERT \
+ /etc/openssl/certs/`/usr/bin/openssl x509 -noout -hash < $CERT`.0
diff --git a/system/base/openssl-1.1/files/openssl_fix_for_x32.patch b/system/base/openssl-1.1/files/openssl_fix_for_x32.patch
new file mode 100755
index 00000000..5ae0b9b6
--- /dev/null
+++ b/system/base/openssl-1.1/files/openssl_fix_for_x32.patch
@@ -0,0 +1,23 @@
+
+obsolete now that this is applied?
+https://rt.openssl.org/Ticket/Display.html?id=3885
+https://github.com/openssl/openssl/commit/10c639a8a56c90bec9e332c7ca76ef552b3952ac
+
+--- openssl-1.0.2g/crypto/perlasm/x86_64-xlate.pl~ 2016-02-24 19:39:13.000000000 +0200
++++ openssl-1.0.2g/crypto/perlasm/x86_64-xlate.pl 2016-02-25 21:01:20.464795948 +0200
+@@ -198,11 +198,15 @@
+ if ($gas) {
+ # Solaris /usr/ccs/bin/as can't handle multiplications
+ # in $self->{value}
++ if ($self->{value} =~ /0xA040608020C0E000/) {
++ $self->{value} = "11547335547999543296";
++ } else {
+ my $value = $self->{value};
+ $value =~ s/(?{value} = $value;
+ }
++ }
+ sprintf "\$%s",$self->{value};
+ } else {
+ $self->{value} =~ s/(0b[0-1]+)/oct($1)/eig;
diff --git a/system/base/openssl-1.1/files/pic.patch b/system/base/openssl-1.1/files/pic.patch
new file mode 100755
index 00000000..2f13e575
--- /dev/null
+++ b/system/base/openssl-1.1/files/pic.patch
@@ -0,0 +1,175 @@
+Index: openssl-1.0.1c/crypto/des/asm/desboth.pl
+===================================================================
+--- openssl-1.0.1c.orig/crypto/des/asm/desboth.pl 2001-10-24 23:20:56.000000000 +0200
++++ openssl-1.0.1c/crypto/des/asm/desboth.pl 2012-07-29 14:15:26.000000000 +0200
+@@ -16,6 +16,11 @@
+
+ &push("edi");
+
++ &call (&label("pic_point0"));
++ &set_label("pic_point0");
++ &blindpop("ebp");
++ &add ("ebp", "\$_GLOBAL_OFFSET_TABLE_+[.-" . &label("pic_point0") . "]");
++
+ &comment("");
+ &comment("Load the data words");
+ &mov($L,&DWP(0,"ebx","",0));
+@@ -47,15 +52,21 @@
+ &mov(&swtmp(2), (DWC(($enc)?"1":"0")));
+ &mov(&swtmp(1), "eax");
+ &mov(&swtmp(0), "ebx");
+- &call("DES_encrypt2");
++ &exch("ebx", "ebp");
++ &call("DES_encrypt2\@PLT");
++ &exch("ebx", "ebp");
+ &mov(&swtmp(2), (DWC(($enc)?"0":"1")));
+ &mov(&swtmp(1), "edi");
+ &mov(&swtmp(0), "ebx");
+- &call("DES_encrypt2");
++ &exch("ebx", "ebp");
++ &call("DES_encrypt2\@PLT");
++ &exch("ebx", "ebp");
+ &mov(&swtmp(2), (DWC(($enc)?"1":"0")));
+ &mov(&swtmp(1), "esi");
+ &mov(&swtmp(0), "ebx");
+- &call("DES_encrypt2");
++ &exch("ebx", "ebp");
++ &call("DES_encrypt2\@PLT");
++ &exch("ebx", "ebp");
+
+ &stack_pop(3);
+ &mov($L,&DWP(0,"ebx","",0));
+Index: openssl-1.0.1c/crypto/perlasm/cbc.pl
+===================================================================
+--- openssl-1.0.1c.orig/crypto/perlasm/cbc.pl 2011-07-13 08:22:46.000000000 +0200
++++ openssl-1.0.1c/crypto/perlasm/cbc.pl 2012-07-29 14:15:26.000000000 +0200
+@@ -122,7 +122,11 @@
+ &mov(&DWP($data_off,"esp","",0), "eax"); # put in array for call
+ &mov(&DWP($data_off+4,"esp","",0), "ebx"); #
+
+- &call($enc_func);
++ &call (&label("pic_point0"));
++ &set_label("pic_point0");
++ &blindpop("ebx");
++ &add ("ebx", "\$_GLOBAL_OFFSET_TABLE_+[.-" . &label("pic_point0") . "]");
++ &call("$enc_func\@PLT");
+
+ &mov("eax", &DWP($data_off,"esp","",0));
+ &mov("ebx", &DWP($data_off+4,"esp","",0));
+@@ -185,7 +189,11 @@
+ &mov(&DWP($data_off,"esp","",0), "eax"); # put in array for call
+ &mov(&DWP($data_off+4,"esp","",0), "ebx"); #
+
+- &call($enc_func);
++ &call (&label("pic_point1"));
++ &set_label("pic_point1");
++ &blindpop("ebx");
++ &add ("ebx", "\$_GLOBAL_OFFSET_TABLE_+[.-" . &label("pic_point1") . "]");
++ &call("$enc_func\@PLT");
+
+ &mov("eax", &DWP($data_off,"esp","",0));
+ &mov("ebx", &DWP($data_off+4,"esp","",0));
+@@ -218,7 +226,11 @@
+ &mov(&DWP($data_off,"esp","",0), "eax"); # put back
+ &mov(&DWP($data_off+4,"esp","",0), "ebx"); #
+
+- &call($dec_func);
++ &call (&label("pic_point2"));
++ &set_label("pic_point2");
++ &blindpop("ebx");
++ &add ("ebx", "\$_GLOBAL_OFFSET_TABLE_+[.-" . &label("pic_point2") . "]");
++ &call("$dec_func\@PLT");
+
+ &mov("eax", &DWP($data_off,"esp","",0)); # get return
+ &mov("ebx", &DWP($data_off+4,"esp","",0)); #
+@@ -261,7 +273,11 @@
+ &mov(&DWP($data_off,"esp","",0), "eax"); # put back
+ &mov(&DWP($data_off+4,"esp","",0), "ebx"); #
+
+- &call($dec_func);
++ &call (&label("pic_point3"));
++ &set_label("pic_point3");
++ &blindpop("ebx");
++ &add ("ebx", "\$_GLOBAL_OFFSET_TABLE_+[.-" . &label("pic_point3") . "]");
++ &call("$dec_func\@PLT");
+
+ &mov("eax", &DWP($data_off,"esp","",0)); # get return
+ &mov("ebx", &DWP($data_off+4,"esp","",0)); #
+Index: openssl-1.0.1c/crypto/perlasm/x86gas.pl
+===================================================================
+--- openssl-1.0.1c.orig/crypto/perlasm/x86gas.pl 2011-12-09 20:16:35.000000000 +0100
++++ openssl-1.0.1c/crypto/perlasm/x86gas.pl 2012-07-29 14:15:26.000000000 +0200
+@@ -161,6 +161,7 @@
+ if ($::macosx) { push (@out,"$tmp,2\n"); }
+ elsif ($::elf) { push (@out,"$tmp,4\n"); }
+ else { push (@out,"$tmp\n"); }
++ if ($::elf) { push (@out,".hidden\tOPENSSL_ia32cap_P\n"); }
+ }
+ push(@out,$initseg) if ($initseg);
+ }
+@@ -218,8 +219,23 @@
+ elsif ($::elf)
+ { $initseg.=<<___;
+ .section .init
++___
++ if ($::pic)
++ { $initseg.=<<___;
++ pushl %ebx
++ call .pic_point0
++.pic_point0:
++ popl %ebx
++ addl \$_GLOBAL_OFFSET_TABLE_+[.-.pic_point0],%ebx
++ call $f\@PLT
++ popl %ebx
++___
++ }
++ else
++ { $initseg.=<<___;
+ call $f
+ ___
++ }
+ }
+ elsif ($::coff)
+ { $initseg.=<<___; # applies to both Cygwin and Mingw
+Index: openssl-1.0.1c/crypto/x86cpuid.pl
+===================================================================
+--- openssl-1.0.1c.orig/crypto/x86cpuid.pl 2012-02-28 15:20:34.000000000 +0100
++++ openssl-1.0.1c/crypto/x86cpuid.pl 2012-07-29 14:15:26.000000000 +0200
+@@ -8,6 +8,8 @@
+
+ for (@ARGV) { $sse2=1 if (/-DOPENSSL_IA32_SSE2/); }
+
++push(@out, ".hidden OPENSSL_ia32cap_P\n");
++
+ &function_begin("OPENSSL_ia32_cpuid");
+ &xor ("edx","edx");
+ &pushf ();
+@@ -139,9 +141,7 @@
+ &set_label("nocpuid");
+ &function_end("OPENSSL_ia32_cpuid");
+
+-&external_label("OPENSSL_ia32cap_P");
+-
+-&function_begin_B("OPENSSL_rdtsc","EXTRN\t_OPENSSL_ia32cap_P:DWORD");
++&function_begin_B("OPENSSL_rdtsc");
+ &xor ("eax","eax");
+ &xor ("edx","edx");
+ &picmeup("ecx","OPENSSL_ia32cap_P");
+@@ -155,7 +155,7 @@
+ # This works in Ring 0 only [read DJGPP+MS-DOS+privileged DPMI host],
+ # but it's safe to call it on any [supported] 32-bit platform...
+ # Just check for [non-]zero return value...
+-&function_begin_B("OPENSSL_instrument_halt","EXTRN\t_OPENSSL_ia32cap_P:DWORD");
++&function_begin_B("OPENSSL_instrument_halt");
+ &picmeup("ecx","OPENSSL_ia32cap_P");
+ &bt (&DWP(0,"ecx"),4);
+ &jnc (&label("nohalt")); # no TSC
+@@ -222,7 +222,7 @@
+ &ret ();
+ &function_end_B("OPENSSL_far_spin");
+
+-&function_begin_B("OPENSSL_wipe_cpu","EXTRN\t_OPENSSL_ia32cap_P:DWORD");
++&function_begin_B("OPENSSL_wipe_cpu");
+ &xor ("eax","eax");
+ &xor ("edx","edx");
+ &picmeup("ecx","OPENSSL_ia32cap_P");
diff --git a/system/base/openssl-1.1/pspec.xml b/system/base/openssl-1.1/pspec.xml
new file mode 100755
index 00000000..fc4a6fec
--- /dev/null
+++ b/system/base/openssl-1.1/pspec.xml
@@ -0,0 +1,263 @@
+
+
+
+
+ openssl-1.1
+ http://www.openssl.org/
+
+ PisiLinux Community
+ admins@pisilinux.org
+
+ as-is
+ app:console
+ library
+ Toolkit for SSL v2/v3 and TLS v1
+ OpenSSL is a cryptography toolkit implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) network protocols and related cryptography standards required by them.
+ https://www.openssl.org/source/openssl-1.1.1w.tar.gz
+
+
+
+
+
+ zlib-devel
+ xorg-util
+ perl
+ sed
+
+
+
+
+
+
+
+
+ openssl-1.0.2a-x32-asm.patch
+
+
+
+
+
+
+
+
+ openssl-1.1
+
+ zlib
+ ca-certificates
+
+
+ /etc
+ /usr/bin
+ /usr/lib
+ /usr/share/doc
+
+
+ System.Package -->
+
+
+
+
+
+
+
+
+ openssl-1.1-devel
+ system.devel
+ Development files for openssl
+
+ openssl-1.1
+
+
+ /usr/include
+ /usr/share/man
+ /usr/lib/openssl-1.1/pkgconfig
+ /usr/lib32/openssl-1.1/pkgconfig
+
+
+
+
+ openssl-1.1-32bit
+ emul32
+ 32-bit shared libraries for openssl
+ _emul32
+
+ zlib-32bit
+
+
+ openssl-1.1
+ zlib-32bit
+
+
+ /usr/lib32
+
+
+
+
+
+ 2024-05-18
+ 1.1.1w
+ Rebuild.
+ Mustafa Cinasal
+ muscnsl@gmail.com
+
+
+ 2023-09-13
+ 1.1.1w
+ Version bump.
+ Mustafa Cinasal
+ muscnsl@gmail.com
+
+
+ 2023-08-02
+ 1.1.1v
+ Version bump.
+ Mustafa Cinasal
+ muscnsl@gmail.com
+
+
+ 2023-05-31
+ 1.1.1u
+ Version bump
+ Mustafa Cinasal
+ muscnsl@gmail.com
+
+
+ 2023-02-08
+ 1.1.1t
+ Version bump.
+ Mustafa Cinasal
+ muscnsl@gmail.com
+
+
+ 2023-01-28
+ 1.1.1s
+ Rebuild.
+ Mustafa Cinasal
+ muscnsl@gmail.com
+
+
+ 2022-11-10
+ 1.1.1s
+ Version bump.
+ Mustafa Cinasal
+ muscnsl@gmail.com
+
+
+ 2022-07-07
+ 1.1.1q
+ Version bump.
+ Mustafa Cinasal
+ muscnsl@gmail.com
+
+
+ 2022-06-26
+ 1.1.1p
+ Version bump.
+ Mustafa Cinasal
+ muscnsl@gmail.com
+
+
+ 2022-05-24
+ 1.1.1o
+ Version bump.
+ Mustafa Cinasal
+ muscnsl@gmail.com
+
+
+ 2022-04-23
+ 1.1.1n
+ Version bump.
+ Mustafa Cinasal
+ muscnsl@gmail.com
+
+
+ 2021-08-24
+ 1.1.1l
+ Version bump.
+ Mustafa Cinasal
+ muscnsl@gmail.com
+
+
+ 2021-04-10
+ 1.1.1k
+ Version bump.
+ Mustafa Cinasal
+ muscnsl@gmail.com
+
+
+ 2021-03-01
+ 1.1.1j
+ Version bump.
+ İdris Kalp
+ idriskalp@gmail.com
+
+
+ 2020-12-09
+ 1.1.1i
+ Version bump.
+ Mustafa Cinasal
+ muscnsl@gmail.com
+
+
+ 2020-04-23
+ 1.1.1g
+ Version bump.
+ Idris Kalp
+ idriskalp@gmail.com
+
+
+ 2018-11-28
+ 1.0.2q
+ Version bump.
+ Ertuğrul Erata
+ ertugrulerata@gmail.com
+
+
+ 2018-08-11
+ 1.0.2o
+ Rebuild
+ Ertuğrul Erata
+ ertugrulerata@gmail.com
+
+
+ 2018-05-01
+ 1.0.2o
+ Version bump
+ Ertuğrul Erata
+ ertugrulerata@gmail.com
+
+
+ 2017-01-08
+ 1.0.2j
+ Rebuild with new toolchain.
+ Ertuğrul Erata
+ ertugrulerata@gmail.com
+
+
+ 2017-01-08
+ 1.0.2j
+ Version bump.
+ PisiLinux Community
+ admin@pisilinux.org
+
+
+ 2016-04-27
+ 1.0.2g
+ Release Bump
+ PisiLinux Community
+ admin@pisilinux.org
+
+
+ 2016-03-02
+ 1.0.2g
+ First release
+ Ayhan Yalçınsoy
+ ayhanyalcinsoy@pisilinux.org
+
+
+
diff --git a/system/base/openssl-1.1/translations.xml b/system/base/openssl-1.1/translations.xml
new file mode 100755
index 00000000..a803a8b9
--- /dev/null
+++ b/system/base/openssl-1.1/translations.xml
@@ -0,0 +1,20 @@
+
+
+
+ openssl
+ SSL v2/v3 ve TLS v1 için araç kiti
+ OpenSSL, Güvenlik Soketleri Katmanı (SSL v2/v3) ve Aktarım Katmanı Güvenliği (TLSv1) ağ protokolleri ile bu protokollerin gerektirdiği şifreleme standartlarını uygulayan bir şifreleme aracıdır.
+ OpenSSL est un outil cryptographique implémentant une couche de communication sécurisée (SSL v2/v3) et une couche de transport sécurisée (TLS v1)
+ OpenSSL ist ein Kryptographie Werkzeug, das die Netzwerkprotokolle Secure Sockets Layer (SSL v2/v3) und Transport Layer Security (TLS v1) sowie deren erforderliche zugehörige Kryptographie Standards implementiert.
+
+
+
+ openssl-devel
+ openssl için geliştirme dosyaları
+
+
+
+ openssl-32bit
+ openssl için 32-bit paylaşımlı kitaplıklar
+
+