public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Michał Górny" <mgorny@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: net-wireless/crda/, net-wireless/crda/files/
Date: Sat, 19 Sep 2020 12:29:23 +0000 (UTC)	[thread overview]
Message-ID: <1600518547.5c9fd565323f6de88d2de6d2ed8a85374b41027d.mgorny@gentoo> (raw)

commit:     5c9fd565323f6de88d2de6d2ed8a85374b41027d
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 19 11:47:59 2020 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Sep 19 12:29:07 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5c9fd565

net-wireless/crda: Remove old

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 net-wireless/crda/Manifest                         |   1 -
 net-wireless/crda/crda-3.18-r3.ebuild              |  83 ------
 .../crda-3.18-openssl-1.1.0-compatibility.patch    | 315 ---------------------
 3 files changed, 399 deletions(-)

diff --git a/net-wireless/crda/Manifest b/net-wireless/crda/Manifest
index 03e01bcb648..ea5835025eb 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 a121648be71..00000000000
--- 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 00a9b5570d2..00000000000
--- 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
-


             reply	other threads:[~2020-09-19 12:29 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-19 12:29 Michał Górny [this message]
  -- strict thread matches above, loose matches on Subject: below --
2020-01-15 14:44 [gentoo-commits] repo/gentoo:master commit in: net-wireless/crda/, net-wireless/crda/files/ Craig Andrews
2019-06-05 21:19 Andreas Sturmlechner
2019-02-16 18:28 Aaron Bauman
2018-10-24 21:09 Lars Wendler
2015-11-14 13:12 Bjarke Istrup Pedersen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1600518547.5c9fd565323f6de88d2de6d2ed8a85374b41027d.mgorny@gentoo \
    --to=mgorny@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox