summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorVincent Grande2021-01-02 23:45:22 -0500
committerVincent Grande2021-01-02 23:45:22 -0500
commit85e4566f27ce81a2ac5961c7bbc748ff38675fc6 (patch)
tree1cda80116a186dc722697a092c27ae1c90c26b95
downloadaur-85e4566f27ce81a2ac5961c7bbc748ff38675fc6.tar.gz
initial upload
-rw-r--r--.SRCINFO20
-rw-r--r--PKGBUILD66
-rw-r--r--ca-dir.patch31
3 files changed, 117 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..3ff5e6a0e22f
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,20 @@
+pkgbase = lib32-openssl-hardened
+ pkgdesc = The Open Source toolkit for Secure Sockets Layer and Transport Layer Security (32-bit)
+ pkgver = 1.1.1.i
+ pkgrel = 1
+ epoch = 1
+ url = https://www.openssl.org
+ arch = x86_64
+ license = custom:BSD
+ depends = lib32-glibc
+ depends = openssl
+ optdepends = ca-certificates
+ provides = lib32-openssl
+ conflicts = lib32-openssl
+ source = https://www.openssl.org/source/openssl-1.1.1i.tar.gz
+ source = ca-dir.patch
+ sha256sums = SKIP
+ sha256sums = SKIP
+
+pkgname = lib32-openssl-hardened
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..d652fb36d0a5
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,66 @@
+# Maintainer: Vincent Grande <shoober420@gmail.com>
+# Contributor: Pierre Schmitz <pierre@archlinux.de>
+
+_pkgbasename=openssl
+pkgname=lib32-$_pkgbasename-hardened
+epoch=1
+_ver=1.1.1i
+# use a pacman compatible version scheme
+pkgver=${_ver/[a-z]/.${_ver//[0-9.]/}}
+pkgrel=1
+pkgdesc='The Open Source toolkit for Secure Sockets Layer and Transport Layer Security (32-bit)'
+arch=('x86_64')
+url='https://www.openssl.org'
+license=('custom:BSD')
+depends=('lib32-glibc' "${_pkgbasename}")
+optdepends=('ca-certificates')
+provides=(lib32-openssl)
+conflicts=(lib32-openssl)
+source=("https://www.openssl.org/source/${_pkgbasename}-${_ver}.tar.gz"
+ 'ca-dir.patch')
+sha256sums=('SKIP'
+ 'SKIP')
+#validpgpkeys=('8657ABB260F056B1E5190839D9C4D26D0E604491'
+# '7953AC1FBC3DC8B3B292393ED5E9E43F7DF9EE8C')
+
+prepare() {
+ cd "$srcdir"/$_pkgbasename-$_ver
+
+ # set ca dir to /etc/ssl by default
+ patch -p0 -i "$srcdir"/ca-dir.patch
+}
+
+build() {
+ export CC="gcc -m32"
+ export CXX="g++ -m32"
+ export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
+
+ cd "$srcdir"/$_pkgbasename-$_ver
+
+ # mark stack as non-executable: http://bugs.archlinux.org/task/12434
+ ./Configure --prefix=/usr --openssldir=/etc/ssl --libdir=lib32 \
+ shared no-ssl3-method linux-elf no-ssl2 no-ssl3 no-weak-ssl-ciphers no-ssl no-deprecated no-tls1 no-tls1-method no-tls1_1 no-tls1_1-method no-tls1_2 \
+ no-tls1_2-method enable-tls1_3 no-rc2 no-rc4 -DOPENSSL_USE_IPV6=0 \
+ "-Wa,--noexecstack ${CPPFLAGS} ${CFLAGS} ${LDFLAGS}"
+
+ make MAKEDEPPROG="${CC}" depend
+ make
+}
+
+#check() {
+# cd "$srcdir"/$_pkgbasename-$_ver
+ # the test fails due to missing write permissions in /etc/ssl
+ # revert this patch for make test
+# patch -p0 -R -i "$srcdir"/ca-dir.patch
+# make test
+# patch -p0 -i "$srcdir"/ca-dir.patch
+#}
+
+package() {
+ cd "$srcdir"/$_pkgbasename-$_ver
+ make DESTDIR="$pkgdir" install_sw
+
+ rm -rf ${pkgdir}/{usr/{include,bin},etc}
+ mkdir -p "$pkgdir"/usr/share/licenses
+ ln -s $_pkgbasename "$pkgdir"/usr/share/licenses/$pkgname
+}
diff --git a/ca-dir.patch b/ca-dir.patch
new file mode 100644
index 000000000000..a1402435d711
--- /dev/null
+++ b/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