From 1b8cc1a9c7a7805b54cee162d5104c7433da23ff Mon Sep 17 00:00:00 2001 From: Bertrand Jacquin Date: Wed, 12 Jun 2013 17:32:13 +0200 Subject: net-wireless/hostapd: Refresh with upstream v2.0, remove old and live ebuild Package-Manager: portage-2.1.12.4 --- net-wireless/hostapd/ChangeLog | 7 + net-wireless/hostapd/Manifest | 10 +- .../hostapd/files/hostapd-2.0-tls_length_fix.patch | 48 ++++ net-wireless/hostapd/hostapd-1.0-r1.ebuild | 208 ------------------ net-wireless/hostapd/hostapd-2.0.ebuild | 203 +++++++++++++++++ net-wireless/hostapd/hostapd-9999.ebuild | 242 --------------------- net-wireless/hostapd/metadata.xml | 9 + 7 files changed, 272 insertions(+), 455 deletions(-) create mode 100644 net-wireless/hostapd/files/hostapd-2.0-tls_length_fix.patch delete mode 100644 net-wireless/hostapd/hostapd-1.0-r1.ebuild create mode 100644 net-wireless/hostapd/hostapd-2.0.ebuild delete mode 100644 net-wireless/hostapd/hostapd-9999.ebuild (limited to 'net-wireless/hostapd') diff --git a/net-wireless/hostapd/ChangeLog b/net-wireless/hostapd/ChangeLog index 90394bd3..5e87a3ef 100644 --- a/net-wireless/hostapd/ChangeLog +++ b/net-wireless/hostapd/ChangeLog @@ -2,6 +2,13 @@ # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 # $Header: $ +*hostapd-2.0 (12 Jun 2013) + + 12 Jun 2013; Bertrand Jacquin +files/hostapd-2.0-tls_length_fix.patch, + +hostapd-2.0.ebuild, -hostapd-1.0-r1.ebuild, -hostapd-9999.ebuild, + metadata.xml: + net-wireless/hostapd: Refresh with upstream v2.0, remove old and live ebuild + 10 Jun 2013; Bertrand Jacquin metadata.xml: Fix manifest diff --git a/net-wireless/hostapd/Manifest b/net-wireless/hostapd/Manifest index f4f43b1a..ae8e869a 100644 --- a/net-wireless/hostapd/Manifest +++ b/net-wireless/hostapd/Manifest @@ -1,7 +1,7 @@ +AUX hostapd-2.0-tls_length_fix.patch 1859 SHA256 bbca0422a0babbf9d7fad2b758ecddaae45624db1b2db6d7663292548e25906a WHIRLPOOL 6a9379b09ffb73d13ea813952e2b39b5ab90ec98a27ed211ff2904d52e346c9e6273fe99e8ae6509773597afa352d9e77f3081103c5e5c55c86e12f8176a5419 AUX hostapd-conf.d 245 SHA256 916f4b14095ee4ec8a510391c883e9f01868e18d79a3d5cbeb13a104a793d45d WHIRLPOOL 0ab1dbd8e04df9e7b8ae875dfdfdcdd770e4fcb62197bb81e47588a9ecf0b8bb715adbde34f2be82d630fdd536e9f888f463dd12cab0c06220c345b0093a3dd5 AUX hostapd-init.d 1022 SHA256 a220058841e66a11603df8e968ccc68945f01e1d11c1ae498922d0e01f6fa804 WHIRLPOOL e86f507cff5712ff2590f39c58989a379b81feb40cedcd424188e055ac38f772a7bb9c1089efabd6ff104078257aa2a20a82790e17b085c03264d35b6f4e274d -DIST hostapd-1.0.tar.gz 1327943 SHA256 002e9dcb7e46cf82b5900a2fcf92b30fc8cdfd32a72d7fd4488588f1c013dfcc WHIRLPOOL 79f0fd8b7f256d69771f8b022e74ee9908a6a613c875392cf151bdada86c077bbf8e88213547efa64c240daf9fb5e5f9bffe2fa5f7f98d5ca27d5d7058f5995a -EBUILD hostapd-1.0-r1.ebuild 5576 SHA256 b3d064f524b206a7b305194bd7b5733180f966de5cd8c34d9644ac7362e338a6 WHIRLPOOL 686a6646ee35496e770128941f315723d88cd98340467ed1afca3ab1a6dd0fdad4fe6d88bde1c6d93032c54117b29fc911b8b7e49b13f82c1a2d47938be4273a -EBUILD hostapd-9999.ebuild 6255 SHA256 1ca42d6db80eaf658e4df9a1196d74cedfe5f23d878c4a56ac93e1526bc582d7 WHIRLPOOL 6a890dfa199bf76d7e4f55f22b42ffcb6b0dccccdc8ce73fa36c413c4cf54e433e034f735847015c083624125eb11765b05dac181602b117f9eadff00b668d0f -MISC ChangeLog 945 SHA256 1651e5dac9c9971e4368405a562206a0301869fe49ec66f4085588d9da3aafdf WHIRLPOOL 71ebc872ac640eadb8c9d273b7b61217fcc136303b09b381b03f43442cdd00293b8930ee0850663c44b639b3f53edfbba28d62711fef82722e3f937376d781d6 -MISC metadata.xml 471 SHA256 2d6b7b5a42de771a1d50215a2eafac4534452d533ff4daa43829c0f333871abb WHIRLPOOL db8d558bf3ee65280d703ded90ababf6df9fe547cac91f7c8a607203c8b974dcc92e177e475b81c96e707cab2599c96d7394e391296d692e1b52e5c28277bb74 +DIST hostapd-2.0.tar.gz 1376203 SHA256 262ce394b930bccc3d65fb99ee380f28d36444978f524c845a98e8e29f4e9d35 WHIRLPOOL e5ae2e760770d2f307b1c4235c9b0c9d25e1719a1d174efa30ce6bbbc07b5c46d5f7babc087b8f450f3b485fb640728ddd23761fb292bcd535ef38dc10ac1d45 +EBUILD hostapd-2.0.ebuild 5370 SHA256 041e10f0d8b99b5c45c430b84536e1d2123fe3d91dd890cec26aef0d3a4e98b4 WHIRLPOOL dd51c7e03560e8b567b4a171285d6bf1b3bc4bf65c557736a445069ed96c32c3416618c72af1a3f8ed0ecd0d145ba223c6a4a54c249a40db0908402e1f4b2825 +MISC ChangeLog 1232 SHA256 0c48460c4cba163e7b117ec7a46df696326d1080983739d970a6955f5d05be12 WHIRLPOOL 7bfac5e18730973cc63cf630d570840a7007a656ff9b465174f52081f0ac0f9f6970413a6931d01f3f8c27d0c5064a8953c506bc2e37b2af8ce3b7a72e27e7db +MISC metadata.xml 820 SHA256 ccdd3f08f7a60f9c685389b6b6cdc7171fab3547abe77329441c92acd64205f3 WHIRLPOOL 882cc3f01cf8f006e46f30332ebb02c44224e741aead2c619536970199805ff7724dfc8f8013e91e22afc21ea6cef3f002036d7d2662cf97843d9d71f562b84a diff --git a/net-wireless/hostapd/files/hostapd-2.0-tls_length_fix.patch b/net-wireless/hostapd/files/hostapd-2.0-tls_length_fix.patch new file mode 100644 index 00000000..bda92cf4 --- /dev/null +++ b/net-wireless/hostapd/files/hostapd-2.0-tls_length_fix.patch @@ -0,0 +1,48 @@ +From 586c446e0ff42ae00315b014924ec669023bd8de Mon Sep 17 00:00:00 2001 +From: Jouni Malinen +Date: Sun, 7 Oct 2012 20:06:29 +0300 +Subject: [PATCH] EAP-TLS server: Fix TLS Message Length validation + +EAP-TLS/PEAP/TTLS/FAST server implementation did not validate TLS +Message Length value properly and could end up trying to store more +information into the message buffer than the allocated size if the first +fragment is longer than the indicated size. This could result in hostapd +process terminating in wpabuf length validation. Fix this by rejecting +messages that have invalid TLS Message Length value. + +This would affect cases that use the internal EAP authentication server +in hostapd either directly with IEEE 802.1X or when using hostapd as a +RADIUS authentication server and when receiving an incorrectly +constructed EAP-TLS message. Cases where hostapd uses an external +authentication are not affected. + +Thanks to Timo Warns for finding and reporting this issue. + +Signed-hostap: Jouni Malinen +intended-for: hostap-1 +--- + src/eap_server/eap_server_tls_common.c | 8 ++++++++ + 1 files changed, 8 insertions(+), 0 deletions(-) + +diff --git a/src/eap_server/eap_server_tls_common.c b/src/eap_server/eap_server_tls_common.c +index 31be2ec..46f282b 100644 +--- a/src/eap_server/eap_server_tls_common.c ++++ b/src/eap_server/eap_server_tls_common.c +@@ -228,6 +228,14 @@ static int eap_server_tls_process_fragment(struct eap_ssl_data *data, + return -1; + } + ++ if (len > message_length) { ++ wpa_printf(MSG_INFO, "SSL: Too much data (%d bytes) in " ++ "first fragment of frame (TLS Message " ++ "Length %d bytes)", ++ (int) len, (int) message_length); ++ return -1; ++ } ++ + data->tls_in = wpabuf_alloc(message_length); + if (data->tls_in == NULL) { + wpa_printf(MSG_DEBUG, "SSL: No memory for message"); +-- +1.7.4-rc1 + diff --git a/net-wireless/hostapd/hostapd-1.0-r1.ebuild b/net-wireless/hostapd/hostapd-1.0-r1.ebuild deleted file mode 100644 index f68953e3..00000000 --- a/net-wireless/hostapd/hostapd-1.0-r1.ebuild +++ /dev/null @@ -1,208 +0,0 @@ -# Copyright 1999-2012 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-wireless/hostapd/hostapd-1.0-r1.ebuild,v 1.6 2012/08/24 07:59:52 xmw Exp $ - -EAPI="2" - -inherit toolchain-funcs eutils - -DESCRIPTION="IEEE 802.11 wireless LAN Host AP daemon" -HOMEPAGE="http://hostap.epitest.fi" -SRC_URI="http://hostap.epitest.fi/releases/${P}.tar.gz" - -LICENSE="|| ( GPL-2 BSD )" -SLOT="0" -KEYWORDS="amd64 ~mips ppc x86" -IUSE="debug ipv6 logwatch madwifi +ssl +wps +crda" - -DEPEND="ssl? ( dev-libs/openssl ) - kernel_linux? ( - dev-libs/libnl:1.1 - crda? ( net-wireless/crda ) - ) - madwifi? ( || - ( >net-wireless/madwifi-ng-tools-0.9.3 - net-wireless/madwifi-old ) )" -RDEPEND="${DEPEND}" - -S="${S}/hostapd" - -src_prepare() { - sed -i -e "s:/etc/hostapd:/etc/hostapd/hostapd:g" \ - "${S}/hostapd.conf" -} - -src_configure() { - local CONFIG="${S}/.config" - - # toolchain setup - echo "CC = $(tc-getCC)" > ${CONFIG} - - # EAP authentication methods - echo "CONFIG_EAP=y" >> ${CONFIG} - echo "CONFIG_EAP_MD5=y" >> ${CONFIG} - - if use ssl; then - # SSL authentication methods - echo "CONFIG_EAP_TLS=y" >> ${CONFIG} - echo "CONFIG_EAP_TTLS=y" >> ${CONFIG} - echo "CONFIG_EAP_MSCHAPV2=y" >> ${CONFIG} - echo "CONFIG_EAP_PEAP=y" >> ${CONFIG} - fi - - if use wps; then - # Enable Wi-Fi Protected Setup - echo "CONFIG_WPS=y" >> ${CONFIG} - echo "CONFIG_WPS2=y" >> ${CONFIG} - echo "CONFIG_WPS_UPNP=y" >> ${CONFIG} - einfo "Enabling Wi-Fi Protected Setup support" - fi - - echo "CONFIG_EAP_GTC=y" >> ${CONFIG} - echo "CONFIG_EAP_SIM=y" >> ${CONFIG} - echo "CONFIG_EAP_AKA=y" >> ${CONFIG} - echo "CONFIG_EAP_PAX=y" >> ${CONFIG} - echo "CONFIG_EAP_PSK=y" >> ${CONFIG} - echo "CONFIG_EAP_SAKE=y" >> ${CONFIG} - echo "CONFIG_EAP_GPSK=y" >> ${CONFIG} - echo "CONFIG_EAP_GPSK_SHA256=y" >> ${CONFIG} - - einfo "Enabling drivers: " - - # drivers - echo "CONFIG_DRIVER_HOSTAP=y" >> ${CONFIG} - einfo " HostAP driver enabled" - echo "CONFIG_DRIVER_WIRED=y" >> ${CONFIG} - einfo " Wired driver enabled" - echo "CONFIG_DRIVER_PRISM54=y" >> ${CONFIG} - einfo " Prism54 driver enabled" - echo "CONFIG_DRIVER_NONE=y" >> ${CONFIG} - einfo " None driver enabled" - - if use madwifi; then - # Add include path for madwifi-driver headers - einfo " Madwifi driver enabled" - echo "CFLAGS += -I/usr/include/madwifi" >> ${CONFIG} - echo "CONFIG_DRIVER_MADWIFI=y" >> ${CONFIG} - else - einfo " Madwifi driver disabled" - fi - - einfo " nl80211 driver enabled" - echo "CONFIG_DRIVER_NL80211=y" >> ${CONFIG} - echo "LIBS += -L/usr/lib" >> ${CONFIG} - - # misc - echo "CONFIG_PKCS12=y" >> ${CONFIG} - echo "CONFIG_RADIUS_SERVER=y" >> ${CONFIG} - echo "CONFIG_IAPP=y" >> ${CONFIG} - echo "CONFIG_IEEE80211R=y" >> ${CONFIG} - echo "CONFIG_IEEE80211W=y" >> ${CONFIG} - echo "CONFIG_IEEE80211N=y" >> ${CONFIG} - echo "CONFIG_PEERKEY=y" >> ${CONFIG} - echo "CONFIG_RSN_PREAUTH=y" >> ${CONFIG} - echo "CONFIG_INTERWORKING=y" >> ${CONFIG} - - if use ipv6; then - # IPv6 support - echo "CONFIG_IPV6=y" >> ${CONFIG} - fi - - if ! use debug; then - echo "CONFIG_NO_STDOUT_DEBUG=y" >> ${CONFIG} - fi - - # If we are using libnl 2.0 and above, enable support for it - # Removed for now, since the 3.2 version is broken, and we don't - # support it. - #if has_version ">=dev-libs/libnl-2.0"; then - # echo "CONFIG_LIBNL20=y" >> .config - #fi - - echo "CONFIG_VLAN_NETLINK=y" >> ${CONFIG} -# echo "CFLAGS+=-I${ROOT}usr/include/libnl3" >> ${CONFIG} - echo "CONFIG_FULL_DYNAMIC_VLAN=y" >> ${CONFIG} - - # TODO: Add support for BSD drivers - - default_src_configure -} - -src_compile() { - default_src_compile - - #emake || die "emake failed" - - if use ssl; then - emake nt_password_hash || die "emake nt_password_hash failed" - emake hlr_auc_gw || die "emake hlr_auc_gw failed" - fi -} - -src_install() { - insinto /etc/hostapd - doins hostapd.conf hostapd.accept hostapd.deny \ - hostapd.eap_user hostapd.radius_clients hostapd.sim_db hostapd.wpa_psk - - dosbin hostapd - dobin hostapd_cli - - use ssl && dobin nt_password_hash - use ssl && dobin hlr_auc_gw - - newinitd "${FILESDIR}"/${PN}-init.d hostapd - newconfd "${FILESDIR}"/${PN}-conf.d hostapd - - doman hostapd.8 hostapd_cli.1 - - dodoc ChangeLog README - if use wps; then - dodoc README-WPS - fi - - docinto examples - dodoc wired.conf - - if use logwatch; then - insinto /etc/log.d/conf/services/ - doins logwatch/hostapd.conf - - exeinto /etc/log.d/scripts/services/ - doexe logwatch/hostapd - fi -} - -pkg_postinst() { - einfo - einfo "In order to use ${PN} you need to set up your wireless card" - einfo "for master mode in /etc/conf.d/net and then start" - einfo "/etc/init.d/hostapd." - einfo - einfo "Example configuration:" - einfo - einfo "config_wlan0=( \"192.168.1.1/24\" )" - einfo "channel_wlan0=\"6\"" - einfo "essid_wlan0=\"test\"" - einfo "mode_wlan0=\"master\"" - einfo - if use madwifi; then - einfo "This package compiles against the headers installed by" - einfo "madwifi-old, madwifi-ng or madwifi-ng-tools." - einfo "You should remerge ${PN} after upgrading these packages." - einfo - einfo "Since you are using the madwifi-ng driver, you should disable or" - einfo "comment out wme_enabled from hostapd.conf, since it will" - einfo "cause problems otherwise (see bug #260377" - fi - #if [ -e "${KV_DIR}"/net/mac80211 ]; then - # einfo "This package now compiles against the headers installed by" - # einfo "the kernel source for the mac80211 driver. You should " - # einfo "re-emerge ${PN} after upgrading your kernel source." - #fi - - if use wps; then - einfo "You have enabled Wi-Fi Protected Setup support, please" - einfo "read the README-WPS file in /usr/share/doc/${P}" - einfo "for info on how to use WPS" - fi -} diff --git a/net-wireless/hostapd/hostapd-2.0.ebuild b/net-wireless/hostapd/hostapd-2.0.ebuild new file mode 100644 index 00000000..8366a210 --- /dev/null +++ b/net-wireless/hostapd/hostapd-2.0.ebuild @@ -0,0 +1,203 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-wireless/hostapd/hostapd-2.0.ebuild,v 1.3 2013/04/29 18:35:53 scarabeus Exp $ + +EAPI="4" + +inherit toolchain-funcs eutils + +DESCRIPTION="IEEE 802.11 wireless LAN Host AP daemon" +HOMEPAGE="http://hostap.epitest.fi" +SRC_URI="http://hostap.epitest.fi/releases/${P}.tar.gz" + +LICENSE="|| ( GPL-2 BSD )" +SLOT="0" +KEYWORDS="amd64 ~mips ppc x86" +IUSE="ipv6 logwatch madwifi +ssl +wps +crda" + +DEPEND="ssl? ( dev-libs/openssl ) + kernel_linux? ( + dev-libs/libnl:3 + crda? ( net-wireless/crda ) + ) + madwifi? ( || + ( >net-wireless/madwifi-ng-tools-0.9.3 + net-wireless/madwifi-old ) )" +RDEPEND="${DEPEND}" + +S="${S}/${PN}" + +src_prepare() { + cd .. + epatch "${FILESDIR}/${P}-tls_length_fix.patch" + + sed -i -e "s:/etc/hostapd:/etc/hostapd/hostapd:g" \ + "${S}/hostapd.conf" || die +} + +src_configure() { + local CONFIG="${S}/.config" + + # toolchain setup + echo "CC = $(tc-getCC)" > ${CONFIG} + + # EAP authentication methods + echo "CONFIG_EAP=y" >> ${CONFIG} + echo "CONFIG_EAP_MD5=y" >> ${CONFIG} + + if use ssl; then + # SSL authentication methods + echo "CONFIG_EAP_TLS=y" >> ${CONFIG} + echo "CONFIG_EAP_TTLS=y" >> ${CONFIG} + echo "CONFIG_EAP_MSCHAPV2=y" >> ${CONFIG} + echo "CONFIG_EAP_PEAP=y" >> ${CONFIG} + fi + + if use wps; then + # Enable Wi-Fi Protected Setup + echo "CONFIG_WPS=y" >> ${CONFIG} + echo "CONFIG_WPS2=y" >> ${CONFIG} + echo "CONFIG_WPS_UPNP=y" >> ${CONFIG} + einfo "Enabling Wi-Fi Protected Setup support" + fi + + echo "CONFIG_EAP_GTC=y" >> ${CONFIG} + echo "CONFIG_EAP_SIM=y" >> ${CONFIG} + echo "CONFIG_EAP_AKA=y" >> ${CONFIG} + echo "CONFIG_EAP_PAX=y" >> ${CONFIG} + echo "CONFIG_EAP_PSK=y" >> ${CONFIG} + echo "CONFIG_EAP_SAKE=y" >> ${CONFIG} + echo "CONFIG_EAP_GPSK=y" >> ${CONFIG} + echo "CONFIG_EAP_GPSK_SHA256=y" >> ${CONFIG} + + einfo "Enabling drivers: " + + # drivers + echo "CONFIG_DRIVER_HOSTAP=y" >> ${CONFIG} + einfo " HostAP driver enabled" + echo "CONFIG_DRIVER_WIRED=y" >> ${CONFIG} + einfo " Wired driver enabled" + echo "CONFIG_DRIVER_PRISM54=y" >> ${CONFIG} + einfo " Prism54 driver enabled" + echo "CONFIG_DRIVER_NONE=y" >> ${CONFIG} + einfo " None driver enabled" + + if use madwifi; then + # Add include path for madwifi-driver headers + einfo " Madwifi driver enabled" + echo "CFLAGS += -I/usr/include/madwifi" >> ${CONFIG} + echo "CONFIG_DRIVER_MADWIFI=y" >> ${CONFIG} + else + einfo " Madwifi driver disabled" + fi + + einfo " nl80211 driver enabled" + echo "CONFIG_DRIVER_NL80211=y" >> ${CONFIG} + echo "LIBS += -L/usr/lib" >> ${CONFIG} + + # misc + echo "CONFIG_PKCS12=y" >> ${CONFIG} + echo "CONFIG_RADIUS_SERVER=y" >> ${CONFIG} + echo "CONFIG_IAPP=y" >> ${CONFIG} + echo "CONFIG_IEEE80211R=y" >> ${CONFIG} + echo "CONFIG_IEEE80211W=y" >> ${CONFIG} + echo "CONFIG_IEEE80211N=y" >> ${CONFIG} + echo "CONFIG_PEERKEY=y" >> ${CONFIG} + echo "CONFIG_RSN_PREAUTH=y" >> ${CONFIG} + echo "CONFIG_INTERWORKING=y" >> ${CONFIG} + + if use ipv6; then + # IPv6 support + echo "CONFIG_IPV6=y" >> ${CONFIG} + fi + + # If we are using libnl 2.0 and above, enable support for it + # Removed for now, since the 3.2 version is broken, and we don't + # support it. + if has_version ">=dev-libs/libnl-3.2"; then + echo "CONFIG_LIBNL32=y" >> .config + fi + + echo "CONFIG_VLAN_NETLINK=y" >> ${CONFIG} +# echo "CFLAGS+=-I${ROOT}usr/include/libnl3" >> ${CONFIG} + echo "CONFIG_FULL_DYNAMIC_VLAN=y" >> ${CONFIG} + + # TODO: Add support for BSD drivers + + default_src_configure +} + +src_compile() { + emake V=1 + + if use ssl; then + emake V=1 nt_password_hash + emake V=1 hlr_auc_gw + fi +} + +src_install() { + insinto /etc/${PN} + doins ${PN}.{conf,accept,deny,eap_user,radius_clients,sim_db,wpa_psk} + + fperms -R 600 /etc/${PN} + + dosbin ${PN} + dobin ${PN}_cli + + use ssl && dobin nt_password_hash hlr_auc_gw + + newinitd "${FILESDIR}"/${PN}-init.d ${PN} + newconfd "${FILESDIR}"/${PN}-conf.d ${PN} + + doman ${PN}{.8,_cli.1} + + dodoc ChangeLog README + use wps && dodoc README-WPS + + docinto examples + dodoc wired.conf + + if use logwatch; then + insinto /etc/log.d/conf/services/ + doins logwatch/${PN}.conf + + exeinto /etc/log.d/scripts/services/ + doexe logwatch/${PN} + fi +} + +pkg_postinst() { + einfo + einfo "In order to use ${PN} you need to set up your wireless card" + einfo "for master mode in /etc/conf.d/net and then start" + einfo "/etc/init.d/${PN}." + einfo + einfo "Example configuration:" + einfo + einfo "config_wlan0=( \"192.168.1.1/24\" )" + einfo "channel_wlan0=\"6\"" + einfo "essid_wlan0=\"test\"" + einfo "mode_wlan0=\"master\"" + einfo + if use madwifi; then + einfo "This package compiles against the headers installed by" + einfo "madwifi-old, madwifi-ng or madwifi-ng-tools." + einfo "You should remerge ${PN} after upgrading these packages." + einfo + einfo "Since you are using the madwifi-ng driver, you should disable or" + einfo "comment out wme_enabled from ${PN}.conf, since it will" + einfo "cause problems otherwise (see bug #260377" + fi + #if [ -e "${KV_DIR}"/net/mac80211 ]; then + # einfo "This package now compiles against the headers installed by" + # einfo "the kernel source for the mac80211 driver. You should " + # einfo "re-emerge ${PN} after upgrading your kernel source." + #fi + + if use wps; then + einfo "You have enabled Wi-Fi Protected Setup support, please" + einfo "read the README-WPS file in /usr/share/doc/${P}" + einfo "for info on how to use WPS" + fi +} diff --git a/net-wireless/hostapd/hostapd-9999.ebuild b/net-wireless/hostapd/hostapd-9999.ebuild deleted file mode 100644 index 47da5af5..00000000 --- a/net-wireless/hostapd/hostapd-9999.ebuild +++ /dev/null @@ -1,242 +0,0 @@ -# Copyright 1999-2013 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-wireless/hostapd/hostapd-1.0-r1.ebuild,v 1.6 2012/08/24 07:59:52 xmw Exp $ - -EAPI="2" - -inherit toolchain-funcs eutils git-2 - -DESCRIPTION="IEEE 802.11 wireless LAN Host AP daemon" -HOMEPAGE="http://hostap.epitest.fi" - -EGIT_REPO_URI="git://w1.fi/srv/git/hostap.git" -EGIT_SOURCEDIR="${WORKDIR}/${P}" - -LICENSE="|| ( GPL-2 BSD )" -SLOT="0" -KEYWORDS="" -IUSE="debug ipv6 logwatch madwifi +ssl +wps +crda" - -DEPEND="ssl? ( dev-libs/openssl ) - kernel_linux? ( - dev-libs/libnl - crda? ( net-wireless/crda ) - ) - madwifi? ( || - ( >net-wireless/madwifi-ng-tools-0.9.3 - net-wireless/madwifi-old ) )" -RDEPEND="${DEPEND}" - -S="${S}/${PN}" - -src_prepare() { - sed -i -e "s:/etc/hostapd:/etc/hostapd/hostapd:g" \ - "${S}/hostapd.conf" -} - -src_configure() { - local CONFIG="${S}/.config" - - # toolchain setup - echo "CC = $(tc-getCC)" > ${CONFIG} - - # EAP authentication methods - echo "CONFIG_EAP=y" >> ${CONFIG} - echo "CONFIG_EAP_MD5=y" >> ${CONFIG} - - if use ssl; then - # SSL authentication methods - echo "CONFIG_EAP_TLS=y" >> ${CONFIG} - echo "CONFIG_EAP_TTLS=y" >> ${CONFIG} - echo "CONFIG_EAP_MSCHAPV2=y" >> ${CONFIG} - echo "CONFIG_EAP_PEAP=y" >> ${CONFIG} - fi - - if use wps; then - # Enable Wi-Fi Protected Setup - echo "CONFIG_WPS=y" >> ${CONFIG} - echo "CONFIG_WPS2=y" >> ${CONFIG} - echo "CONFIG_WPS_UPNP=y" >> ${CONFIG} - einfo "Enabling Wi-Fi Protected Setup support" - fi - - echo "CONFIG_EAP_GTC=y" >> ${CONFIG} - echo "CONFIG_EAP_SIM=y" >> ${CONFIG} - echo "CONFIG_EAP_AKA=y" >> ${CONFIG} - echo "CONFIG_EAP_PAX=y" >> ${CONFIG} - echo "CONFIG_EAP_PSK=y" >> ${CONFIG} - echo "CONFIG_EAP_SAKE=y" >> ${CONFIG} - echo "CONFIG_EAP_GPSK=y" >> ${CONFIG} - echo "CONFIG_EAP_GPSK_SHA256=y" >> ${CONFIG} - - einfo "Enabling drivers: " - - # drivers - echo "CONFIG_DRIVER_HOSTAP=y" >> ${CONFIG} - einfo " HostAP driver enabled" - echo "CONFIG_DRIVER_WIRED=y" >> ${CONFIG} - einfo " Wired driver enabled" - echo "CONFIG_DRIVER_PRISM54=y" >> ${CONFIG} - einfo " Prism54 driver enabled" - echo "CONFIG_DRIVER_NONE=y" >> ${CONFIG} - einfo " None driver enabled" - - if use madwifi; then - # Add include path for madwifi-driver headers - einfo " Madwifi driver enabled" - echo "CFLAGS += -I/usr/include/madwifi" >> ${CONFIG} - echo "CONFIG_DRIVER_MADWIFI=y" >> ${CONFIG} - else - einfo " Madwifi driver disabled" - fi - - einfo " nl80211 driver enabled" - echo "CONFIG_DRIVER_NL80211=y" >> ${CONFIG} - echo "LIBS += -L/usr/lib" >> ${CONFIG} - - # misc - echo "CONFIG_PKCS12=y" >> ${CONFIG} - echo "CONFIG_RADIUS_SERVER=y" >> ${CONFIG} - echo "CONFIG_IAPP=y" >> ${CONFIG} - echo "CONFIG_IEEE80211R=y" >> ${CONFIG} - echo "CONFIG_IEEE80211W=y" >> ${CONFIG} - echo "CONFIG_IEEE80211N=y" >> ${CONFIG} - echo "CONFIG_PEERKEY=y" >> ${CONFIG} - echo "CONFIG_RSN_PREAUTH=y" >> ${CONFIG} - echo "CONFIG_INTERWORKING=y" >> ${CONFIG} - - if use ipv6; then - # IPv6 support - echo "CONFIG_IPV6=y" >> ${CONFIG} - fi - - if ! use debug; then - echo "CONFIG_NO_STDOUT_DEBUG=y" >> ${CONFIG} - fi - - # If we are using libnl 2.0 and above, enable support for it - # Removed for now, since the 3.2 version is broken, and we don't - # support it. - #if has_version ">=dev-libs/libnl-2.0"; then - # echo "CONFIG_LIBNL20=y" >> .config - #fi - - # TODO: Add support for BSD drivers - - cat > ${CONFIG} << EOF -CONFIG_EAP=y -CONFIG_EAP_TLS=y -CONFIG_EAP_TTLS=y -CONFIG_EAP_PEAP=y -CONFIG_EAP_GTC=y -CONFIG_EAP_PAX=y -CONFIG_EAP_PSK=y -CONFIG_EAP_SAKE=y -CONFIG_EAP_GPSK=y -CONFIG_EAP_GPSK_SHA256=y -CONFIG_DRIVER_HOSTAP=y -CONFIG_DRIVER_WIRED=y -CONFIG_DRIVER_NONE=y -CONFIG_DRIVER_NL80211=y -CONFIG_LIBNL32=y -CONFIG_RADIUS_SERVER=y -CONFIG_IAPP=y -CONFIG_IEEE80211R=y -CONFIG_IEEE80211W=y -CONFIG_IEEE80211N=y -CONFIG_PEERKEY=y -CONFIG_RSN_PREAUTH=y -CONFIG_INTERWORKING=y -CONFIG_IPV6=y -CONFIG_VLAN_NETLINK=y -CONFIG_FULL_DYNAMIC_VLAN=y -# Avoid errors -# ../src/ap/gas_serv.c:142:16: error: 'struct hostapd_bss_config' has no # member named 'hs20_oper_friendly_name' -# Due to struct depending on CONFIG_HS20 while ../src/ap/gas_serv.c don't -CONFIG_HS20=y -CFLAGS+="-I${ROOT}usr/include/libnl3" -EOF - - default_src_configure -} - -src_compile() { - #default_src_compile - tc-export CC - emake V=1 || die - - #emake || die "emake failed" - - if use ssl; then - emake nt_password_hash || die "emake nt_password_hash failed" - emake hlr_auc_gw || die "emake hlr_auc_gw failed" - fi -} - -src_install() { - insinto /etc/hostapd - doins hostapd.conf hostapd.accept hostapd.deny \ - hostapd.eap_user hostapd.radius_clients hostapd.sim_db hostapd.wpa_psk - - dosbin hostapd - dobin hostapd_cli - - use ssl && dobin nt_password_hash - use ssl && dobin hlr_auc_gw - - newinitd "${FILESDIR}"/${PN}-init.d hostapd - newconfd "${FILESDIR}"/${PN}-conf.d hostapd - - doman hostapd.8 hostapd_cli.1 - - dodoc ChangeLog README - if use wps; then - dodoc README-WPS - fi - - docinto examples - dodoc wired.conf - - if use logwatch; then - insinto /etc/log.d/conf/services/ - doins logwatch/hostapd.conf - - exeinto /etc/log.d/scripts/services/ - doexe logwatch/hostapd - fi -} - -pkg_postinst() { - einfo - einfo "In order to use ${PN} you need to set up your wireless card" - einfo "for master mode in /etc/conf.d/net and then start" - einfo "/etc/init.d/hostapd." - einfo - einfo "Example configuration:" - einfo - einfo "config_wlan0=( \"192.168.1.1/24\" )" - einfo "channel_wlan0=\"6\"" - einfo "essid_wlan0=\"test\"" - einfo "mode_wlan0=\"master\"" - einfo - if use madwifi; then - einfo "This package compiles against the headers installed by" - einfo "madwifi-old, madwifi-ng or madwifi-ng-tools." - einfo "You should remerge ${PN} after upgrading these packages." - einfo - einfo "Since you are using the madwifi-ng driver, you should disable or" - einfo "comment out wme_enabled from hostapd.conf, since it will" - einfo "cause problems otherwise (see bug #260377" - fi - #if [ -e "${KV_DIR}"/net/mac80211 ]; then - # einfo "This package now compiles against the headers installed by" - # einfo "the kernel source for the mac80211 driver. You should " - # einfo "re-emerge ${PN} after upgrading your kernel source." - #fi - - if use wps; then - einfo "You have enabled Wi-Fi Protected Setup support, please" - einfo "read the README-WPS file in /usr/share/doc/${P}" - einfo "for info on how to use WPS" - fi -} diff --git a/net-wireless/hostapd/metadata.xml b/net-wireless/hostapd/metadata.xml index 66842f7d..b023e003 100644 --- a/net-wireless/hostapd/metadata.xml +++ b/net-wireless/hostapd/metadata.xml @@ -1,6 +1,15 @@ + + gurligebis@gentoo.org + Bjarke Istrup Pedersen + + + User space daemon for the hostap-driver. + Extended IEEE 802.11 management, IEEE 802.1X Authenticator, + RADIUS Authentication client, RADIUS Accounting client + Add CRDA support Install support files for -- cgit v1.2.3