diff options
-rw-r--r-- | main/wpa_supplicant/APKBUILD | 12 | ||||
-rw-r--r-- | main/wpa_supplicant/eloop.patch | 16 | ||||
-rw-r--r-- | main/wpa_supplicant/libressl.patch | 49 |
3 files changed, 75 insertions, 2 deletions
diff --git a/main/wpa_supplicant/APKBUILD b/main/wpa_supplicant/APKBUILD index bba370bbda..f825736042 100644 --- a/main/wpa_supplicant/APKBUILD +++ b/main/wpa_supplicant/APKBUILD @@ -2,17 +2,19 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=wpa_supplicant pkgver=2.6 -pkgrel=0 +pkgrel=1 pkgdesc="A utility providing key negotiation for WPA wireless networks" url="https://w1.fi/wpa_supplicant/" arch="all" license="BSD" subpackages="$pkgname-doc $pkgname-gui" depends="dbus" -makedepends="openssl-dev dbus-dev libnl3-dev qt-dev pcsc-lite-dev" +makedepends="libressl-dev dbus-dev libnl3-dev qt-dev pcsc-lite-dev" source="http://w1.fi/releases/$pkgname-$pkgver.tar.gz wpa_supplicant.initd wpa_supplicant.confd + libressl.patch + eloop.patch config wpa_cli.sh" @@ -78,15 +80,21 @@ gui() { md5sums="091569eb4440b7d7f2b4276dbfc03c3c wpa_supplicant-2.6.tar.gz a8da41f58b8b4779d666ab7bd8233c18 wpa_supplicant.initd bc117427f2c538439f3f1481a028ee06 wpa_supplicant.confd +48c6d9cda04441bd91964f06d307e5c2 libressl.patch +aa3efcb41ced2ef163e1bf905eb6f5ab eloop.patch 983ce89536d1bf77e6fc29a5e89c861c config 707c26fbf3fa46a6410732efa7128eee wpa_cli.sh" sha256sums="b4936d34c4e6cdd44954beba74296d964bc2c9668ecaa5255e499636fe2b1450 wpa_supplicant-2.6.tar.gz 5d6ee43b7752d15013fb31298087e9d82caa2568064e59e6ed6230d7de403867 wpa_supplicant.initd 61ec59007f66ac5bacc0aa095d1f2ccbc977a687038e161a463d1727223d5a90 wpa_supplicant.confd +9d76c6af8f24724f590cd71f186fe68ae0e1a92876c56113b352d208c51d8027 libressl.patch +5c725a89c5ae1568519b15b80639b6bdfa77c03d49583726a1de90ceed6bffb7 eloop.patch 90cdb08d9ee1acdd27de565f49a7127fda5b7ec49ad7148046dbea0eecdc8315 config dec1d357d8db5067bdba39a300760b06667a6d1b59f15fdb93063d61bf11b596 wpa_cli.sh" sha512sums="46442cddb6ca043b8b08d143908f149954c238e0f3a57a0df73ca4fab9c1acd91b078f3f26375a1d99cd1d65625986328018c735d8705882c8f91e389cad28a6 wpa_supplicant-2.6.tar.gz cfe9de2813d5ec778c7f5cb404c23aad371dee9922dea172358a8ea95ab4e5dd01a3b9fc1a452dd3c3c9a2f02e8b12ffe162b69767f95faa18480fb79499301b wpa_supplicant.initd 29103161ec2b9631fca9e8d9a97fafd60ffac3fe78cf613b834395ddcaf8be1e253c22e060d7d9f9b974b2d7ce794caa932a2125e29f6494b75bce475f7b30e1 wpa_supplicant.confd +e98edc1ecec91335d515c50cac8816e3f6eef139aba574bcf0c6c20c131ef0de40aa657a33d07af09ab28245471a09cb6b3e29b306e48f46d335a0c47a0a56c4 libressl.patch +2be055dd1f7da5a3d8e79c2f2c0220ddd31df309452da18f290144d2112d6dbde0fc633bb2ad02c386a39d7785323acaf5f70e5969995a1e8303a094eb5fe232 eloop.patch 6707991f9a071f2fcb09d164d31d12b1f52b91fbb5574b70b8d6f9727f72bbe42b03dd66d10fcc2126f5b7e49ac785657dec90e88b4bf54a9aa5638582f6e505 config 44d33cfe419cdb65cc14f2ac05aa9f8a1b9f2f432181e498071e41ef835662db1e4c5142adf4cfab2475e7b606696169936bd159d1d711f803322db93f242361 wpa_cli.sh" diff --git a/main/wpa_supplicant/eloop.patch b/main/wpa_supplicant/eloop.patch new file mode 100644 index 0000000000..bab2cee4e5 --- /dev/null +++ b/main/wpa_supplicant/eloop.patch @@ -0,0 +1,16 @@ +$OpenBSD: patch-src_utils_eloop_c,v 1.5 2015/09/29 11:57:54 dcoppa Exp $ + +don't try to access list members to free them unless already initialised + +--- a/src/utils/eloop.c.orig Sun Sep 27 21:02:05 2015 ++++ b/src/utils/eloop.c Mon Sep 28 09:35:05 2015 +@@ -1064,6 +1064,9 @@ void eloop_destroy(void) + struct eloop_timeout *timeout, *prev; + struct os_reltime now; + ++ if (eloop.timeout.prev == NULL) ++ return; ++ + os_get_reltime(&now); + dl_list_for_each_safe(timeout, prev, &eloop.timeout, + struct eloop_timeout, list) { diff --git a/main/wpa_supplicant/libressl.patch b/main/wpa_supplicant/libressl.patch new file mode 100644 index 0000000000..56146eab59 --- /dev/null +++ b/main/wpa_supplicant/libressl.patch @@ -0,0 +1,49 @@ +--- a/src/crypto/crypto_openssl.c.orig ++++ b/src/crypto/crypto_openssl.c +@@ -611,7 +611,7 @@ + + void * dh5_init(struct wpabuf **priv, struct wpabuf **publ) + { +-#if OPENSSL_VERSION_NUMBER < 0x10100000L ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) + DH *dh; + struct wpabuf *pubkey = NULL, *privkey = NULL; + size_t publen, privlen; +@@ -712,7 +712,7 @@ + + void * dh5_init_fixed(const struct wpabuf *priv, const struct wpabuf *publ) + { +-#if OPENSSL_VERSION_NUMBER < 0x10100000L ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) + DH *dh; + + dh = DH_new(); +--- a/src/crypto/tls_openssl.c.orig ++++ b/src/crypto/tls_openssl.c +@@ -919,7 +919,7 @@ + } + #endif /* OPENSSL_FIPS */ + #endif /* CONFIG_FIPS */ +-#if OPENSSL_VERSION_NUMBER < 0x10100000L ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) + SSL_load_error_strings(); + SSL_library_init(); + #ifndef OPENSSL_NO_SHA256 +@@ -1043,7 +1043,7 @@ + + tls_openssl_ref_count--; + if (tls_openssl_ref_count == 0) { +-#if OPENSSL_VERSION_NUMBER < 0x10100000L ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) + #ifndef OPENSSL_NO_ENGINE + ENGINE_cleanup(); + #endif /* OPENSSL_NO_ENGINE */ +@@ -2334,7 +2334,7 @@ + return 0; + + #ifdef PKCS12_FUNCS +-#if OPENSSL_VERSION_NUMBER < 0x10002000L ++#if OPENSSL_VERSION_NUMBER < 0x10002000L || defined(LIBRESSL_VERSION_NUMBER) + /* + * Clear previously set extra chain certificates, if any, from PKCS#12 + * processing in tls_parse_pkcs12() to allow OpenSSL to build a new |