Date: Fri, 30 Sep 2016 17:29:08 +0000 (UTC) From: John Marino <marino@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r423004 - in head/net/hostapd: . files Message-ID: <201609301729.u8UHT8md051573@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: marino Date: Fri Sep 30 17:29:08 2016 New Revision: 423004 URL: https://svnweb.freebsd.org/changeset/ports/423004 Log: net/hostapd: Fix build on DragonFly and with LibreSSL 1. Return the driver_bsd.c patch, it's still required for DF 2. Modify the os_unix.c patch to include exception for DF 3. Add patch to fix build with LibreSSL (originates from OpenBSD) 4. There's no configure set, so replace ineffective configure arg with CFLAGS and LDFLAGS for non-base SSL library Approved by: SSL blanket and DF blanket Added: head/net/hostapd/files/patch-src_crypto_tls__openssl.c (contents, props changed) head/net/hostapd/files/patch-src_drivers_driver__bsd.c (contents, props changed) Modified: head/net/hostapd/Makefile head/net/hostapd/files/patch-src_utils_os__unix.c Modified: head/net/hostapd/Makefile ============================================================================== --- head/net/hostapd/Makefile Fri Sep 30 17:19:50 2016 (r423003) +++ head/net/hostapd/Makefile Fri Sep 30 17:29:08 2016 (r423004) @@ -14,7 +14,8 @@ LICENSE= BSD3CLAUSE USES= cpe gmake ssl CPE_VENDOR= w1.f1 BUILD_WRKSRC= ${WRKSRC}/hostapd -CONFIGURE_ARGS= --with-ssl-dir=${OPENSSLBASE} +CFLAGS+= -I${OPENSSLINC} +LDFLAGS+= -L${OPENSSLLIB} PLIST_FILES= sbin/hostapd sbin/hostapd_cli man/man1/hostapd_cli.1.gz \ man/man8/hostapd.8.gz Added: head/net/hostapd/files/patch-src_crypto_tls__openssl.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net/hostapd/files/patch-src_crypto_tls__openssl.c Fri Sep 30 17:29:08 2016 (r423004) @@ -0,0 +1,65 @@ +--- src/crypto/tls_openssl.c.orig 2015-09-27 19:02:05 UTC ++++ src/crypto/tls_openssl.c +@@ -2229,7 +2229,7 @@ static int tls_parse_pkcs12(struct tls_d + } + + if (certs) { +-#if OPENSSL_VERSION_NUMBER >= 0x10002000L ++#if OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(LIBRESSL_VERSION_NUMBER) + SSL_clear_chain_certs(ssl); + while ((cert = sk_X509_pop(certs)) != NULL) { + X509_NAME_oneline(X509_get_subject_name(cert), buf, +@@ -2247,7 +2247,7 @@ static int tls_parse_pkcs12(struct tls_d + /* Try to continue anyway */ + } + sk_X509_free(certs); +-#ifndef OPENSSL_IS_BORINGSSL ++#if !defined(OPENSSL_IS_BORINGSSL) && !defined(LIBRESSL_VERSION_NUMBER) + res = SSL_build_cert_chain(ssl, + SSL_BUILD_CHAIN_FLAG_CHECK | + SSL_BUILD_CHAIN_FLAG_IGNORE_ERROR); +@@ -2812,7 +2812,7 @@ int tls_connection_get_random(void *ssl_ + if (conn == NULL || keys == NULL) + return -1; + ssl = conn->ssl; +-#if OPENSSL_VERSION_NUMBER < 0x10100000L ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) + if (ssl == NULL || ssl->s3 == NULL || ssl->session == NULL) + return -1; + +@@ -2841,7 +2841,7 @@ int tls_connection_get_random(void *ssl_ + #ifndef CONFIG_FIPS + static int openssl_get_keyblock_size(SSL *ssl) + { +-#if OPENSSL_VERSION_NUMBER < 0x10100000L ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) + const EVP_CIPHER *c; + const EVP_MD *h; + int md_size; +@@ -2911,7 +2911,7 @@ static int openssl_tls_prf(struct tls_co + "mode"); + return -1; + #else /* CONFIG_FIPS */ +-#if OPENSSL_VERSION_NUMBER < 0x10100000L ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) + SSL *ssl; + u8 *rnd; + int ret = -1; +@@ -3394,7 +3394,7 @@ int tls_connection_set_cipher_list(void + + wpa_printf(MSG_DEBUG, "OpenSSL: cipher suites: %s", buf + 1); + +-#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) + #if defined(EAP_FAST) || defined(EAP_FAST_DYNAMIC) || defined(EAP_SERVER_FAST) + if (os_strstr(buf, ":ADH-")) { + /* +@@ -3977,7 +3977,7 @@ static int tls_sess_sec_cb(SSL *s, void + struct tls_connection *conn = arg; + int ret; + +-#if OPENSSL_VERSION_NUMBER < 0x10100000L ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) + if (conn == NULL || conn->session_ticket_cb == NULL) + return 0; + Added: head/net/hostapd/files/patch-src_drivers_driver__bsd.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net/hostapd/files/patch-src_drivers_driver__bsd.c Fri Sep 30 17:29:08 2016 (r423004) @@ -0,0 +1,14 @@ +--- src/drivers/driver_bsd.c.orig 2015-09-27 19:02:05 UTC ++++ src/drivers/driver_bsd.c +@@ -623,7 +623,11 @@ rtbuf_len(void) + static int bsd_sta_deauth(void *priv, const u8 *own_addr, const u8 *addr, + int reason_code); + ++#ifdef __DragonFly__ ++const char * ++#else + static const char * ++#endif + ether_sprintf(const u8 *addr) + { + static char buf[sizeof(MACSTR)]; Modified: head/net/hostapd/files/patch-src_utils_os__unix.c ============================================================================== --- head/net/hostapd/files/patch-src_utils_os__unix.c Fri Sep 30 17:19:50 2016 (r423003) +++ head/net/hostapd/files/patch-src_utils_os__unix.c Fri Sep 30 17:29:08 2016 (r423004) @@ -4,7 +4,7 @@ } -+#ifndef __FreeBSD__ ++#if !defined __FreeBSD__ && !defined __DragonFly__ int os_fdatasync(FILE *stream) { if (!fflush(stream)) {
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201609301729.u8UHT8md051573>