summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2020-09-19 13:47:59 +0200
committerMichał Górny <mgorny@gentoo.org>2020-09-19 14:29:07 +0200
commit5c9fd565323f6de88d2de6d2ed8a85374b41027d (patch)
treeab253da9e45566e0d5ceda68292b3ce364695344
parentnet-voip/telepathy-gabble: Port to py3 (diff)
downloadgentoo-5c9fd565323f6de88d2de6d2ed8a85374b41027d.tar.gz
gentoo-5c9fd565323f6de88d2de6d2ed8a85374b41027d.tar.bz2
gentoo-5c9fd565323f6de88d2de6d2ed8a85374b41027d.zip
net-wireless/crda: Remove old
Signed-off-by: Michał Górny <mgorny@gentoo.org>
-rw-r--r--net-wireless/crda/Manifest1
-rw-r--r--net-wireless/crda/crda-3.18-r3.ebuild83
-rw-r--r--net-wireless/crda/files/crda-3.18-openssl-1.1.0-compatibility.patch315
3 files changed, 0 insertions, 399 deletions
diff --git a/net-wireless/crda/Manifest b/net-wireless/crda/Manifest
index 03e01bcb6482..ea5835025eb5 100644
--- a/net-wireless/crda/Manifest
+++ b/net-wireless/crda/Manifest
@@ -1,2 +1 @@
-DIST crda-3.18.tar.xz 61516 BLAKE2B 76feac7fcf85b03b39bfe78de444515f54cd513041f81f7588cd7866e5bf072d000ad0c8df181ccacde7fc8125ed04ece00d5d9d3013df759b5f9fd05f8cfd56 SHA512 57ae6309159f396448f052c127f401c2f63d47f4193e87dca231c4b7bbbd7e69b5e5666f356fc76dfc8a6ae58ffa55c3794428d6eb34d9937df77c4276036588
DIST crda-4.14.tar.gz 72753 BLAKE2B 79e96bc41103eb221d841c74081c2abf507c46ae7790d5d8201dbc49260bc833630b95f74da5500817e07f1b4108713867071bd82ecc4c46d202d1e0ea865675 SHA512 0d52cf62589ec2debfd66de95b82b03a1c15048d8425cf5ef43c3e1f51ce1311a6d898fd5f69badcceb3181d35c836db197c6f070654dab351b01e96a1dd1053
diff --git a/net-wireless/crda/crda-3.18-r3.ebuild b/net-wireless/crda/crda-3.18-r3.ebuild
deleted file mode 100644
index a121648be719..000000000000
--- a/net-wireless/crda/crda-3.18-r3.ebuild
+++ /dev/null
@@ -1,83 +0,0 @@
-# Copyright 2008-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python2_7 )
-inherit toolchain-funcs python-any-r1 udev
-
-DESCRIPTION="Central Regulatory Domain Agent for wireless networks"
-HOMEPAGE="https://wireless.wiki.kernel.org/en/developers/regulatory/crda"
-SRC_URI="http://linuxwireless.org/download/crda/${P}.tar.xz
- https://www.kernel.org/pub/software/network/crda/${P}.tar.xz"
-
-LICENSE="ISC"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~mips ppc ppc64 sparc x86"
-IUSE="gcrypt libressl"
-
-RDEPEND="!gcrypt? (
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
- )
- gcrypt? ( dev-libs/libgcrypt:0= )
- dev-libs/libnl:3
- net-wireless/wireless-regdb"
-DEPEND="${RDEPEND}
- ${PYTHON_DEPS}
- $(python_gen_any_dep 'dev-python/m2crypto[${PYTHON_USEDEP}]')
- virtual/pkgconfig"
-
-python_check_deps() {
- has_version --host-root "dev-python/m2crypto[${PYTHON_USEDEP}]"
-}
-
-PATCHES=(
- "${FILESDIR}"/${PN}-no-ldconfig.patch
- "${FILESDIR}"/${PN}-no-werror.patch
- "${FILESDIR}"/${PN}-cflags.patch
- "${FILESDIR}"/${PN}-libreg-link.patch #542436
- "${FILESDIR}"/${PN}-3.18-openssl-1.1.0-compatibility.patch #652428
- "${FILESDIR}"/${PN}-libressl.patch
- "${FILESDIR}"/${PN}-ldflags.patch
-)
-
-src_prepare() {
- default
- sed -i \
- -e "s:\<pkg-config\>:$(tc-getPKG_CONFIG):" \
- Makefile || die
-}
-
-_emake() {
- # The source hardcodes /usr/lib/crda/ paths (ignoring all make vars
- # that look like it should change it). We want to use /usr/lib/
- # anyways as this file is not ABI specific and we want to share it
- # among all ABIs rather than pointlessly duplicate it.
- #
- # The trailing slash on SBINDIR is required by the source.
- emake \
- PREFIX="${EPREFIX}/usr" \
- SBINDIR='$(PREFIX)/sbin/' \
- LIBDIR='$(PREFIX)/'"$(get_libdir)" \
- UDEV_RULE_DIR="$(get_udevdir)/rules.d" \
- REG_BIN="${SYSROOT}"/usr/lib/crda/regulatory.bin \
- USE_OPENSSL=$(usex gcrypt 0 1) \
- CC="$(tc-getCC)" \
- V=1 \
- WERROR= \
- "$@"
-}
-
-src_compile() {
- _emake all_noverify
-}
-
-src_test() {
- _emake verify
-}
-
-src_install() {
- _emake DESTDIR="${D}" install
- keepdir /etc/wireless-regdb/pubkeys
-}
diff --git a/net-wireless/crda/files/crda-3.18-openssl-1.1.0-compatibility.patch b/net-wireless/crda/files/crda-3.18-openssl-1.1.0-compatibility.patch
deleted file mode 100644
index 00a9b5570d2d..000000000000
--- a/net-wireless/crda/files/crda-3.18-openssl-1.1.0-compatibility.patch
+++ /dev/null
@@ -1,315 +0,0 @@
-From 338637ac08c19708eb35523894b44bbe3c726cfa Mon Sep 17 00:00:00 2001
-From: quentin <quentin@minster.io>
-Date: Mon, 2 Apr 2018 18:07:50 +0200
-Subject: [PATCH] crda: Fix for OpenSSL 1.1.0: BIGNUM now opaque
-
-OpenSSL 1.1.0 makes most of OpenSSL's structures opaque, and provides
-functions to manipulate them. This means it's no longer possible to
-construct an OpenSSL BIGNUM directly from scratch, as was done in
-keys-ssl.c.
-
-Use BN_bin2bn() (available since OpenSSL 0.9.8) to build the bignum from
-its big-endian representation as a byte array.
-
-This also allows factoring the code in utils/key2pub.py as it's now the
-same mechanism as with libgcrypt.
-
-This was tested with OpenSSL 1.1.0g.
-
-Signed-off-by: Quentin Minster <quentin@minster.io>
----
- Makefile | 12 +++----
- reglib.c | 44 +++++++++++++++++------
- utils/key2pub.py | 107 ++++++-------------------------------------------------
- 3 files changed, 49 insertions(+), 114 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index a3ead30..a4e7373 100644
---- a/Makefile
-+++ b/Makefile
-@@ -38,18 +38,16 @@ all: all_noverify verify
-
- all_noverify: $(LIBREG) crda intersect regdbdump db2rd optimize
-
-+$(LIBREG): keys.c
-+
- ifeq ($(USE_OPENSSL),1)
- CFLAGS += -DUSE_OPENSSL -DPUBKEY_DIR=\"$(RUNTIME_PUBKEY_DIR)\" `pkg-config --cflags openssl`
- LDLIBS += `pkg-config --libs openssl`
-
--$(LIBREG): keys-ssl.c
--
- else
- CFLAGS += -DUSE_GCRYPT
- LDLIBS += -lgcrypt
-
--$(LIBREG): keys-gcrypt.c
--
- endif
- MKDIR ?= mkdir -p
- INSTALL ?= install
-@@ -109,10 +107,10 @@ $(REG_BIN):
- $(NQ)
- $(Q) exit 1
-
--keys-%.c: utils/key2pub.py $(wildcard $(PUBKEY_DIR)/*.pem)
-+keys.c: utils/key2pub.py $(wildcard $(PUBKEY_DIR)/*.pem)
- $(NQ) ' GEN ' $@
- $(NQ) ' Trusted pubkeys:' $(wildcard $(PUBKEY_DIR)/*.pem)
-- $(Q)./utils/key2pub.py --$* $(wildcard $(PUBKEY_DIR)/*.pem) $@
-+ $(Q)./utils/key2pub.py $(wildcard $(PUBKEY_DIR)/*.pem) $@
-
- $(LIBREG): regdb.h reglib.h reglib.c
- $(NQ) ' CC ' $@
-@@ -187,5 +185,5 @@ install: install-libreg install-libreg-headers crda crda.8.gz regdbdump.8.gz
-
- clean:
- $(Q)rm -f $(LIBREG) crda regdbdump intersect db2rd optimize \
-- *.o *~ *.pyc keys-*.c *.gz \
-+ *.o *~ *.pyc keys.c *.gz \
- udev/$(UDEV_LEVEL)regulatory.rules udev/regulatory.rules.parsed
-diff --git a/reglib.c b/reglib.c
-index e00e9b8..00f7f56 100644
---- a/reglib.c
-+++ b/reglib.c
-@@ -22,6 +22,7 @@
- #include <openssl/rsa.h>
- #include <openssl/sha.h>
- #include <openssl/pem.h>
-+#include <openssl/bn.h>
- #endif
-
- #ifdef USE_GCRYPT
-@@ -30,12 +31,8 @@
-
- #include "reglib.h"
-
--#ifdef USE_OPENSSL
--#include "keys-ssl.c"
--#endif
--
--#ifdef USE_GCRYPT
--#include "keys-gcrypt.c"
-+#if defined(USE_OPENSSL) || defined(USE_GCRYPT)
-+#include "keys.c"
- #endif
-
- int debug = 0;
-@@ -81,7 +78,8 @@ reglib_array_len(size_t baselen, unsigned int elemcount, size_t elemlen)
- #ifdef USE_OPENSSL
- int reglib_verify_db_signature(uint8_t *db, size_t dblen, size_t siglen)
- {
-- RSA *rsa;
-+ RSA *rsa = NULL;
-+ BIGNUM *rsa_e = NULL, *rsa_n = NULL;
- uint8_t hash[SHA_DIGEST_LENGTH];
- unsigned int i;
- int ok = 0;
-@@ -102,15 +100,35 @@ int reglib_verify_db_signature(uint8_t *db, size_t dblen, size_t siglen)
- goto out;
- }
-
-- rsa->e = &keys[i].e;
-- rsa->n = &keys[i].n;
-+ rsa_e = BN_bin2bn(keys[i].e, keys[i].len_e, NULL);
-+ if (!rsa_e) {
-+ fprintf(stderr, "Failed to convert value for RSA e.\n");
-+ goto out;
-+ }
-+ rsa_n = BN_bin2bn(keys[i].n, keys[i].len_n, NULL);
-+ if (!rsa_n) {
-+ fprintf(stderr, "Failed to convert value for RSA n.\n");
-+ goto out;
-+ }
-+
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+ rsa->e = rsa_e;
-+ rsa->n = rsa_n;
-+#else
-+ if (RSA_set0_key(rsa, rsa_n, rsa_e, NULL) != 1) {
-+ fprintf(stderr, "Failed to set RSA key.\n");
-+ goto out;
-+ }
-+#endif
-+ /* BIGNUMs now owned by the RSA object */
-+ rsa_e = NULL;
-+ rsa_n = NULL;
-
- ok = RSA_verify(NID_sha1, hash, SHA_DIGEST_LENGTH,
- db + dblen, siglen, rsa) == 1;
-
-- rsa->e = NULL;
-- rsa->n = NULL;
- RSA_free(rsa);
-+ rsa = NULL;
- }
- if (!ok && (pubkey_dir = opendir(PUBKEY_DIR))) {
- while (!ok && (nextfile = readdir(pubkey_dir))) {
-@@ -123,6 +141,7 @@ int reglib_verify_db_signature(uint8_t *db, size_t dblen, size_t siglen)
- ok = RSA_verify(NID_sha1, hash, SHA_DIGEST_LENGTH,
- db + dblen, siglen, rsa) == 1;
- RSA_free(rsa);
-+ rsa = NULL;
- fclose(keyfile);
- }
- }
-@@ -133,6 +152,9 @@ int reglib_verify_db_signature(uint8_t *db, size_t dblen, size_t siglen)
- fprintf(stderr, "Database signature verification failed.\n");
-
- out:
-+ RSA_free(rsa);
-+ BN_free(rsa_e);
-+ BN_free(rsa_n);
- return ok;
- }
- #endif /* USE_OPENSSL */
-diff --git a/utils/key2pub.py b/utils/key2pub.py
-index 9bb04cd..1919270 100755
---- a/utils/key2pub.py
-+++ b/utils/key2pub.py
-@@ -9,84 +9,7 @@ except ImportError, e:
- sys.stderr.write('On Debian GNU/Linux the package is called "python-m2crypto".\n')
- sys.exit(1)
-
--def print_ssl_64(output, name, val):
-- while val[0] == '\0':
-- val = val[1:]
-- while len(val) % 8:
-- val = '\0' + val
-- vnew = []
-- while len(val):
-- vnew.append((val[0], val[1], val[2], val[3], val[4], val[5], val[6], val[7]))
-- val = val[8:]
-- vnew.reverse()
-- output.write('static BN_ULONG %s[%d] = {\n' % (name, len(vnew)))
-- idx = 0
-- for v1, v2, v3, v4, v5, v6, v7, v8 in vnew:
-- if not idx:
-- output.write('\t')
-- output.write('0x%.2x%.2x%.2x%.2x%.2x%.2x%.2x%.2x, ' % (ord(v1), ord(v2), ord(v3), ord(v4), ord(v5), ord(v6), ord(v7), ord(v8)))
-- idx += 1
-- if idx == 2:
-- idx = 0
-- output.write('\n')
-- if idx:
-- output.write('\n')
-- output.write('};\n\n')
--
--def print_ssl_32(output, name, val):
-- while val[0] == '\0':
-- val = val[1:]
-- while len(val) % 4:
-- val = '\0' + val
-- vnew = []
-- while len(val):
-- vnew.append((val[0], val[1], val[2], val[3], ))
-- val = val[4:]
-- vnew.reverse()
-- output.write('static BN_ULONG %s[%d] = {\n' % (name, len(vnew)))
-- idx = 0
-- for v1, v2, v3, v4 in vnew:
-- if not idx:
-- output.write('\t')
-- output.write('0x%.2x%.2x%.2x%.2x, ' % (ord(v1), ord(v2), ord(v3), ord(v4)))
-- idx += 1
-- if idx == 4:
-- idx = 0
-- output.write('\n')
-- if idx:
-- output.write('\n')
-- output.write('};\n\n')
--
--def print_ssl(output, name, val):
-- import struct
-- output.write('#include <stdint.h>\n')
-- if len(struct.pack('@L', 0)) == 8:
-- return print_ssl_64(output, name, val)
-- else:
-- return print_ssl_32(output, name, val)
--
--def print_ssl_keys(output, n):
-- output.write(r'''
--struct pubkey {
-- struct bignum_st e, n;
--};
--
--#define KEY(data) { \
-- .d = data, \
-- .top = sizeof(data)/sizeof(data[0]), \
--}
--
--#define KEYS(e,n) { KEY(e), KEY(n), }
--
--static struct pubkey keys[] = {
--''')
-- for n in xrange(n + 1):
-- output.write(' KEYS(e_%d, n_%d),\n' % (n, n))
-- output.write('};\n')
-- pass
--
--def print_gcrypt(output, name, val):
-- output.write('#include <stdint.h>\n')
-+def print_bignum(output, name, val):
- while val[0] == '\0':
- val = val[1:]
- output.write('static const uint8_t %s[%d] = {\n' % (name, len(val)))
-@@ -103,11 +26,11 @@ def print_gcrypt(output, name, val):
- output.write('\n')
- output.write('};\n\n')
-
--def print_gcrypt_keys(output, n):
-+def print_keys(output, n):
- output.write(r'''
- struct key_params {
- const uint8_t *e, *n;
-- uint32_t len_e, len_n;
-+ const uint32_t len_e, len_n;
- };
-
- #define KEYS(_e, _n) { \
-@@ -120,25 +43,17 @@ static const struct key_params __attribute__ ((unused)) keys[] = {
- for n in xrange(n + 1):
- output.write(' KEYS(e_%d, n_%d),\n' % (n, n))
- output.write('};\n')
--
-
--modes = {
-- '--ssl': (print_ssl, print_ssl_keys),
-- '--gcrypt': (print_gcrypt, print_gcrypt_keys),
--}
-
--try:
-- mode = sys.argv[1]
-- files = sys.argv[2:-1]
-- outfile = sys.argv[-1]
--except IndexError:
-- mode = None
-+files = sys.argv[1:-1]
-+outfile = sys.argv[-1]
-
--if not mode in modes:
-- print 'Usage: %s [%s] input-file... output-file' % (sys.argv[0], '|'.join(modes.keys()))
-+if len(files) == 0:
-+ print 'Usage: %s input-file... output-file' % (sys.argv[0], )
- sys.exit(2)
-
- output = open(outfile, 'w')
-+output.write('#include <stdint.h>\n\n\n')
-
- # load key
- idx = 0
-@@ -148,8 +63,8 @@ for f in files:
- except RSA.RSAError:
- key = RSA.load_key(f)
-
-- modes[mode][0](output, 'e_%d' % idx, key.e[4:])
-- modes[mode][0](output, 'n_%d' % idx, key.n[4:])
-+ print_bignum(output, 'e_%d' % idx, key.e[4:])
-+ print_bignum(output, 'n_%d' % idx, key.n[4:])
- idx += 1
-
--modes[mode][1](output, idx - 1)
-+print_keys(output, idx - 1)
---
-2.16.2
-