summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--net-wireless/hostapd/ChangeLog9
-rw-r--r--net-wireless/hostapd/Manifest7
-rw-r--r--net-wireless/hostapd/files/digest-hostapd-0.5.31
-rw-r--r--net-wireless/hostapd/files/hostapd-0.5.3-conf.d9
-rw-r--r--net-wireless/hostapd/files/hostapd-0.5.3-init.d50
-rw-r--r--net-wireless/hostapd/files/hostapd-0.5.3-os_get_random.patch36
-rw-r--r--net-wireless/hostapd/hostapd-0.5.3.ebuild132
-rw-r--r--net-wireless/wpa_supplicant/ChangeLog9
-rw-r--r--net-wireless/wpa_supplicant/Manifest6
-rw-r--r--net-wireless/wpa_supplicant/files/digest-wpa_supplicant-0.5.31
-rw-r--r--net-wireless/wpa_supplicant/files/wpa_supplicant-0.5.3-stakey.patch21
-rw-r--r--net-wireless/wpa_supplicant/files/wpa_supplicant-0.5.3-wpa_cli.sh44
-rw-r--r--net-wireless/wpa_supplicant/wpa_supplicant-0.5.3.ebuild174
13 files changed, 495 insertions, 4 deletions
diff --git a/net-wireless/hostapd/ChangeLog b/net-wireless/hostapd/ChangeLog
index 99feb9003d5f..8f23ddc297b8 100644
--- a/net-wireless/hostapd/ChangeLog
+++ b/net-wireless/hostapd/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for net-wireless/hostapd
# Copyright 2000-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-wireless/hostapd/ChangeLog,v 1.62 2006/04/14 13:58:56 brix Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/hostapd/ChangeLog,v 1.63 2006/04/29 14:25:13 brix Exp $
+
+*hostapd-0.5.3 (29 Apr 2006)
+
+ 29 Apr 2006; Henrik Brix Andersen <brix@gentoo.org>
+ +files/hostapd-0.5.3-conf.d, +files/hostapd-0.5.3-init.d,
+ +files/hostapd-0.5.3-os_get_random.patch, +hostapd-0.5.3.ebuild:
+ New development snapshot.
14 Apr 2006; Henrik Brix Andersen <brix@gentoo.org> hostapd-0.4.8.ebuild,
hostapd-0.5.2.ebuild:
diff --git a/net-wireless/hostapd/Manifest b/net-wireless/hostapd/Manifest
index 559c1560851e..59f27cc692a1 100644
--- a/net-wireless/hostapd/Manifest
+++ b/net-wireless/hostapd/Manifest
@@ -1,7 +1,8 @@
-MD5 7244754f8ae5f1c8afed25ef1b1716cb ChangeLog 10539
+MD5 3c77d955622e599e66c96b199fb84d79 ChangeLog 10779
MD5 b0b607a1e367c39a3b14a50fd66d89b1 files/digest-hostapd-0.4.7-r2 65
MD5 b889b17ff10dbe3193353f453f04be64 files/digest-hostapd-0.4.8 65
MD5 371819cdecb937819dcca6c56f322ff3 files/digest-hostapd-0.5.2 65
+MD5 1577a4ad5b96a07a2da9d15e0c4ea2de files/digest-hostapd-0.5.3 65
MD5 d5a08b266b9a031229e8910fe8cd18b3 files/hostapd-0.4.7-conf.d 425
MD5 4995955a0f26765b587f160d89e83910 files/hostapd-0.4.7-init.d 967
MD5 b0f2b07b294b771e1ffc4505970cb73d files/hostapd-0.4.8-conf.d 425
@@ -9,7 +10,11 @@ MD5 4150a7586faf504196a8f4f4e46c4b7a files/hostapd-0.4.8-init.d 967
MD5 44e1d599bbbbabcb53ce925ee037e42b files/hostapd-0.5.2-conf.d 245
MD5 124087c0589db2ab55758b3316d43edf files/hostapd-0.5.2-init.d 954
MD5 b4a52e58c5b08e2f69f837d0a811b8d4 files/hostapd-0.5.2-ssl.patch 371
+MD5 44e1d599bbbbabcb53ce925ee037e42b files/hostapd-0.5.3-conf.d 245
+MD5 124087c0589db2ab55758b3316d43edf files/hostapd-0.5.3-init.d 954
+MD5 8795d6fca0a69f83b03c5179fc578579 files/hostapd-0.5.3-os_get_random.patch 1496
MD5 98674360a16af6d2ee36838a0e186c05 hostapd-0.4.7-r2.ebuild 2738
MD5 0f134eb61a5ae09f24a2fa598756de71 hostapd-0.4.8.ebuild 3069
MD5 776150e37fd4c98bed965730424ac02e hostapd-0.5.2.ebuild 3288
+MD5 b6b3e58b7a3f9673adaaf9ab92708e00 hostapd-0.5.3.ebuild 3466
MD5 52a4b928b36a98e530ae455b73f868f5 metadata.xml 462
diff --git a/net-wireless/hostapd/files/digest-hostapd-0.5.3 b/net-wireless/hostapd/files/digest-hostapd-0.5.3
new file mode 100644
index 000000000000..b26698dd068c
--- /dev/null
+++ b/net-wireless/hostapd/files/digest-hostapd-0.5.3
@@ -0,0 +1 @@
+MD5 4e3134e8b0d86e831230f8c620fd81bb hostapd-0.5.3.tar.gz 385649
diff --git a/net-wireless/hostapd/files/hostapd-0.5.3-conf.d b/net-wireless/hostapd/files/hostapd-0.5.3-conf.d
new file mode 100644
index 000000000000..7d05735eb3b4
--- /dev/null
+++ b/net-wireless/hostapd/files/hostapd-0.5.3-conf.d
@@ -0,0 +1,9 @@
+# Space separated List of interfaces which needs to be started before
+# hostapd
+INTERFACES="wlan0"
+
+# Space separated list of configuration files
+CONFIGS="/etc/hostapd/hostapd.conf"
+
+# Extra options to pass to hostapd, see hostapd(8)
+OPTIONS=""
diff --git a/net-wireless/hostapd/files/hostapd-0.5.3-init.d b/net-wireless/hostapd/files/hostapd-0.5.3-init.d
new file mode 100644
index 000000000000..a2a00030de7f
--- /dev/null
+++ b/net-wireless/hostapd/files/hostapd-0.5.3-init.d
@@ -0,0 +1,50 @@
+#!/sbin/runscript
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/hostapd/files/hostapd-0.5.3-init.d,v 1.1 2006/04/29 14:25:14 brix Exp $
+
+opts="start stop reload"
+
+depend() {
+ local iface
+
+ for iface in ${INTERFACES}; do
+ need net.${iface}
+ done
+
+ use logger
+}
+
+checkconfig() {
+ local file
+
+ for file in ${CONFIGS}; do
+ if [[ ! -r ${file} ]]; then
+ eerror "hostapd configuration file (${CONFIG}) not found"
+ return 1
+ fi
+ done
+}
+
+start() {
+ checkconfig || return 1
+
+ ebegin "Starting hostapd"
+ start-stop-daemon --start --exec /usr/sbin/hostapd \
+ -- -B ${OPTIONS} ${CONFIGS}
+ eend ${?}
+}
+
+stop() {
+ ebegin "Stopping hostapd"
+ start-stop-daemon --stop --exec /usr/sbin/hostapd
+ eend ${?}
+}
+
+reload() {
+ checkconfig || return 1
+
+ ebegin "Reloading hostapd configuration"
+ kill -HUP $(pidof /usr/sbin/hostapd) > /dev/null 2>&1
+ eend ${?}
+}
diff --git a/net-wireless/hostapd/files/hostapd-0.5.3-os_get_random.patch b/net-wireless/hostapd/files/hostapd-0.5.3-os_get_random.patch
new file mode 100644
index 000000000000..d494d1e84d94
--- /dev/null
+++ b/net-wireless/hostapd/files/hostapd-0.5.3-os_get_random.patch
@@ -0,0 +1,36 @@
+diff -ur hostapd-0.5.3/hlr_auc_gw.c hostapd-0.5.3-os_get_random/hlr_auc_gw.c
+--- hostapd-0.5.3/hlr_auc_gw.c 2006-03-11 19:15:15.000000000 +0100
++++ hostapd-0.5.3-os_get_random/hlr_auc_gw.c 2006-04-29 15:33:13.000000000 +0200
+@@ -204,7 +204,7 @@
+ size_t res_len;
+
+ #ifdef AKA_USE_MILENAGE
+- os_get_random(rand, EAP_AKA_RAND_LEN);
++ hostapd_get_rand(rand, EAP_AKA_RAND_LEN);
+ res_len = EAP_AKA_RES_MAX_LEN;
+ inc_byte_array(test_sqn, 6);
+ printf("AKA: Milenage with SQN=%02x%02x%02x%02x%02x%02x\n",
+diff -ur hostapd-0.5.3/Makefile hostapd-0.5.3-os_get_random/Makefile
+--- hostapd-0.5.3/Makefile 2006-04-28 06:10:57.000000000 +0200
++++ hostapd-0.5.3-os_get_random/Makefile 2006-04-29 15:37:04.000000000 +0200
+@@ -343,7 +343,7 @@
+ $(CC) -o hostapd_cli hostapd_cli.o $(DIR_WPA_SUPPLICANT)/wpa_ctrl.o
+
+ NOBJS = nt_password_hash.o $(DIR_WPA_SUPPLICANT)/ms_funcs.o sha1.o rc4.o md5.o
+-NOBJS += $(DIR_WPA_SUPPLICANT)/crypto.o
++NOBJS += $(DIR_WPA_SUPPLICANT)/crypto.o os_$(CONFIG_OS).o
+ ifdef TLS_FUNCS
+ LIBS_n += -lcrypto
+ endif
+diff -ur hostapd-0.5.3/ms_funcs.c hostapd-0.5.3-os_get_random/ms_funcs.c
+--- hostapd-0.5.3/ms_funcs.c 2006-04-28 06:10:57.000000000 +0200
++++ hostapd-0.5.3-os_get_random/ms_funcs.c 2006-04-29 15:32:37.000000000 +0200
+@@ -368,7 +368,7 @@
+
+ memset(pw_block, 0, PWBLOCK_LEN);
+ offset = (256 - password_len) * 2;
+- os_get_random(pw_block, offset);
++ hostapd_get_rand(pw_block, offset);
+ for (i = 0; i < password_len; i++)
+ pw_block[offset + i * 2] = password[i];
+ /*
diff --git a/net-wireless/hostapd/hostapd-0.5.3.ebuild b/net-wireless/hostapd/hostapd-0.5.3.ebuild
new file mode 100644
index 000000000000..423df84507b5
--- /dev/null
+++ b/net-wireless/hostapd/hostapd-0.5.3.ebuild
@@ -0,0 +1,132 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/hostapd/hostapd-0.5.3.ebuild,v 1.1 2006/04/29 14:25:14 brix Exp $
+
+inherit eutils toolchain-funcs
+
+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 ~ppc ~x86"
+
+IUSE="ipv6 logwatch madwifi ssl"
+
+RDEPEND="ssl? ( dev-libs/openssl )
+ madwifi? ( || ( net-wireless/madwifi-ng net-wireless/madwifi-old ) )"
+DEPEND="${RDEPEND}
+ sys-apps/sed"
+
+src_unpack() {
+ local CONFIG=${S}/.config
+
+ unpack ${A}
+
+ cd ${S}
+ epatch ${FILESDIR}/${P}-os_get_random.patch
+
+ sed -i -e "s:/etc/hostapd:/etc/hostapd/hostapd:g" \
+ ${S}/hostapd.conf
+
+ # toolchain setup
+ echo "CC = $(tc-getCC)" > ${CONFIG}
+
+ # authentication methods
+ echo "CONFIG_EAP=y" >> ${CONFIG}
+ echo "CONFIG_EAP_AKA=y" >> ${CONFIG}
+ echo "CONFIG_EAP_GTC=y" >> ${CONFIG}
+ echo "CONFIG_EAP_MD5=y" >> ${CONFIG}
+ echo "CONFIG_EAP_PAX=y" >> ${CONFIG}
+ echo "CONFIG_EAP_PSK=y" >> ${CONFIG}
+ echo "CONFIG_EAP_SIM=y" >> ${CONFIG}
+ echo "CONFIG_EAP_TLV=y" >> ${CONFIG}
+ echo "CONFIG_IAPP=y" >> ${CONFIG}
+ echo "CONFIG_PKCS12=y" >> ${CONFIG}
+ echo "CONFIG_RADIUS_SERVER=y" >> ${CONFIG}
+ echo "CONFIG_RSN_PREAUTH=y" >> ${CONFIG}
+ echo "CONFIG_STAKEY=y" >> ${CONFIG}
+
+ if use ssl; then
+ # SSL authentication methods
+ echo "CONFIG_EAP_MSCHAPV2=y" >> ${CONFIG}
+ echo "CONFIG_EAP_PEAP=y" >> ${CONFIG}
+ echo "CONFIG_EAP_TLS=y" >> ${CONFIG}
+ echo "CONFIG_EAP_TTLS=y" >> ${CONFIG}
+ fi
+
+ if use ipv6; then
+ echo "CONFIG_IPV6=y" >> ${CONFIG}
+ fi
+
+ # Linux specific drivers
+ echo "CONFIG_DRIVER_HOSTAP=y" >> ${CONFIG}
+ echo "CONFIG_DRIVER_PRISM54=y" >> ${CONFIG}
+ echo "CONFIG_DRIVER_WIRED=y" >> ${CONFIG}
+
+ if use madwifi; then
+ # Add include path for madwifi-driver headers
+ echo "CFLAGS += -I${ROOT}/usr/include/madwifi" >> ${CONFIG}
+ echo "CONFIG_DRIVER_MADWIFI=y" >> ${CONFIG}
+ fi
+}
+
+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}/${P}-init.d hostapd
+ newconfd ${FILESDIR}/${P}-conf.d hostapd
+
+ doman hostapd.8 hostapd_cli.1
+
+ dodoc ChangeLog developer.txt README
+
+ docinto examples
+ dodoc madwifi.conf 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 or /etc/conf.d/wireless"
+ einfo "and then start /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 now compiles against the headers installed by"
+ einfo "the madwifi driver. You should remerge ${PN} after"
+ einfo "upgrading your madwifi driver."
+ einfo
+ fi
+}
diff --git a/net-wireless/wpa_supplicant/ChangeLog b/net-wireless/wpa_supplicant/ChangeLog
index 6b93647f2350..7a4f32befbf1 100644
--- a/net-wireless/wpa_supplicant/ChangeLog
+++ b/net-wireless/wpa_supplicant/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for net-wireless/wpa_supplicant
# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-wireless/wpa_supplicant/ChangeLog,v 1.57 2006/04/22 16:33:34 brix Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/wpa_supplicant/ChangeLog,v 1.58 2006/04/29 14:28:47 brix Exp $
+
+*wpa_supplicant-0.5.3 (29 Apr 2006)
+
+ 29 Apr 2006; Henrik Brix Andersen <brix@gentoo.org>
+ +files/wpa_supplicant-0.5.3-stakey.patch,
+ +files/wpa_supplicant-0.5.3-wpa_cli.sh, +wpa_supplicant-0.5.3.ebuild:
+ New development snapshot.
22 Apr 2006; Henrik Brix Andersen <brix@gentoo.org>
wpa_supplicant-0.5.2.ebuild:
diff --git a/net-wireless/wpa_supplicant/Manifest b/net-wireless/wpa_supplicant/Manifest
index 860c113d07e0..ada9b63513c6 100644
--- a/net-wireless/wpa_supplicant/Manifest
+++ b/net-wireless/wpa_supplicant/Manifest
@@ -1,11 +1,15 @@
-MD5 cbdbd54d62975e119ed16ff601da383a ChangeLog 14053
+MD5 f6e395d524c66bfbbe4b967fd1266456 ChangeLog 14289
MD5 399c0ed3e8d999a49b9435a83705f96c files/digest-wpa_supplicant-0.4.7 72
MD5 3c1bdab1affb98719ab98620e2863c8d files/digest-wpa_supplicant-0.4.8 72
MD5 a9017f6f882a41e700a0a517ef60e964 files/digest-wpa_supplicant-0.5.2 72
+MD5 61520e32185ad1f5efcf26a995d1b411 files/digest-wpa_supplicant-0.5.3 72
MD5 647ec6dd4aa43749b03eabb84072b161 files/wpa_supplicant-0.4.7-wpa_cli.action 1233
MD5 c6d1b2e0c7ae03ce2de856f00f4718d8 files/wpa_supplicant-0.4.8-wpa_cli.action 1233
MD5 7557dcc784bddabf268e1c49eee4fb59 files/wpa_supplicant-0.5.2-wpa_cli.sh 1229
+MD5 89105436a3302a3551d0f9dbde5dfc2f files/wpa_supplicant-0.5.3-stakey.patch 852
+MD5 7557dcc784bddabf268e1c49eee4fb59 files/wpa_supplicant-0.5.3-wpa_cli.sh 1229
MD5 b280eebc74d70d85e664debf1adce2c3 metadata.xml 255
MD5 e160e685fea1c7c2717acebbe4fe6dff wpa_supplicant-0.4.7.ebuild 3564
MD5 3ecc467d6e993983e8fc11a3a021b0e1 wpa_supplicant-0.4.8.ebuild 3898
MD5 6a5f32065e686a4bd5acad27f39e2723 wpa_supplicant-0.5.2.ebuild 4687
+MD5 93e9129464b7303e9d74bb642842f56d wpa_supplicant-0.5.3.ebuild 4759
diff --git a/net-wireless/wpa_supplicant/files/digest-wpa_supplicant-0.5.3 b/net-wireless/wpa_supplicant/files/digest-wpa_supplicant-0.5.3
new file mode 100644
index 000000000000..f614e4793998
--- /dev/null
+++ b/net-wireless/wpa_supplicant/files/digest-wpa_supplicant-0.5.3
@@ -0,0 +1 @@
+MD5 f30cd996ebdd9f1f6aeab65f8cfac3c3 wpa_supplicant-0.5.3.tar.gz 543322
diff --git a/net-wireless/wpa_supplicant/files/wpa_supplicant-0.5.3-stakey.patch b/net-wireless/wpa_supplicant/files/wpa_supplicant-0.5.3-stakey.patch
new file mode 100644
index 000000000000..299f0d5e7d1d
--- /dev/null
+++ b/net-wireless/wpa_supplicant/files/wpa_supplicant-0.5.3-stakey.patch
@@ -0,0 +1,21 @@
+diff -urp wpa_supplicant-0.5.3/wpa.c wpa_supplicant-0.5.3-stakey/wpa.c
+--- wpa_supplicant-0.5.3/wpa.c 2006-04-25 05:18:58.000000000 +0200
++++ wpa_supplicant-0.5.3-stakey/wpa.c 2006-04-29 16:06:21.000000000 +0200
+@@ -1849,6 +1849,8 @@ static int wpa_supplicant_process_stakey
+
+
+ static int wpa_supplicant_process_1_of_2_rsn(struct wpa_sm *sm,
++ const unsigned char *src_addr,
++ const struct wpa_eapol_key *key,
+ const u8 *keydata,
+ size_t keydatalen,
+ u16 key_info,
+@@ -2036,7 +2038,7 @@ static void wpa_supplicant_process_1_of_
+ keydatalen = WPA_GET_BE16(key->key_data_length);
+
+ if (sm->proto == WPA_PROTO_RSN) {
+- ret = wpa_supplicant_process_1_of_2_rsn(sm,
++ ret = wpa_supplicant_process_1_of_2_rsn(sm, src_addr, key,
+ (const u8 *) (key + 1),
+ keydatalen, key_info,
+ &gd);
diff --git a/net-wireless/wpa_supplicant/files/wpa_supplicant-0.5.3-wpa_cli.sh b/net-wireless/wpa_supplicant/files/wpa_supplicant-0.5.3-wpa_cli.sh
new file mode 100644
index 000000000000..3e2642e1aa2c
--- /dev/null
+++ b/net-wireless/wpa_supplicant/files/wpa_supplicant-0.5.3-wpa_cli.sh
@@ -0,0 +1,44 @@
+#!/bin/sh
+# Copyright 1999-2006 Gentoo Foundation
+# Written by Roy Marples <uberlord@gentoo.org>
+# Distributed under the terms of the GNU General Public License v2
+# Alternatively, this file may be distributed under the terms of the BSD License
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/wpa_supplicant/files/wpa_supplicant-0.5.3-wpa_cli.sh,v 1.1 2006/04/29 14:28:48 brix Exp $
+
+if [ -z "$1" -o -z "$2" ]; then
+ echo "Insufficient parameters" > /dev/stderr
+ exit 1
+fi
+
+INTERFACE="$1"
+ACTION="$2"
+
+# Note, the below action must NOT mark the interface down via ifconfig, ip or
+# similar. Addresses can be removed, changed and daemons can be stopped, but
+# the interface must remain up for wpa_supplicant to work.
+
+if [ -f /etc/gentoo-release ]; then
+ EXEC="/etc/init.d/net.${INTERFACE} --quiet"
+else
+ echo "I don't know what to do with this distro!" > /dev/stderr
+ exit 1
+fi
+
+case ${ACTION} in
+ CONNECTED)
+ EXEC="${EXEC} start"
+ ;;
+ DISCONNECTED)
+ EXEC="${EXEC} stop"
+ ;;
+ *)
+ echo "Unknown action ${ACTION}" > /dev/stderr
+ exit 1
+ ;;
+esac
+
+# ${EXEC} can use ${IN_BACKGROUND} so that it knows that the user isn't
+# stopping the interface and a background process - like wpa_cli - is.
+export IN_BACKGROUND=true
+
+${EXEC}
diff --git a/net-wireless/wpa_supplicant/wpa_supplicant-0.5.3.ebuild b/net-wireless/wpa_supplicant/wpa_supplicant-0.5.3.ebuild
new file mode 100644
index 000000000000..fbd0a6117acc
--- /dev/null
+++ b/net-wireless/wpa_supplicant/wpa_supplicant-0.5.3.ebuild
@@ -0,0 +1,174 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/wpa_supplicant/wpa_supplicant-0.5.3.ebuild,v 1.1 2006/04/29 14:28:48 brix Exp $
+
+inherit eutils toolchain-funcs
+
+MY_P=${PN}-${PV/_/-}
+S=${WORKDIR}/${MY_P}
+
+DESCRIPTION="IEEE 802.1X/WPA supplicant for secure wireless transfers"
+HOMEPAGE="http://hostap.epitest.fi/wpa_supplicant/"
+SRC_URI="http://hostap.epitest.fi/releases/${MY_P}.tar.gz"
+LICENSE="|| ( GPL-2 BSD )"
+
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="dbus gsm madwifi qt readline ssl"
+
+RDEPEND="dbus? ( sys-apps/dbus )
+ gsm? ( sys-apps/pcsc-lite )
+ qt? ( || ( =x11-libs/qt-3* =x11-libs/qt-4* ) )
+ readline? ( sys-libs/ncurses sys-libs/readline )
+ ssl? ( dev-libs/openssl )
+ kernel_linux? ( madwifi? ( || ( net-wireless/madwifi-ng net-wireless/madwifi-old ) ) )
+ !kernel_linux? ( net-libs/libpcap )"
+DEPEND="sys-apps/sed
+ ${RDEPEND}"
+
+src_unpack() {
+ local CONFIG=${S}/.config
+
+ unpack ${A}
+
+ cd ${S}
+ epatch ${FILESDIR}/${P}-stakey.patch
+
+ # net/bpf.h needed for net-libs/libpcap on Gentoo FreeBSD
+ sed -i \
+ -e "s:\(#include <pcap\.h>\):#include <net/bpf.h>\n\1:" \
+ ${S}/l2_packet_freebsd.c
+
+ # toolchain setup
+ echo "CC = $(tc-getCC)" > ${CONFIG}
+
+ # basic setup
+ echo "CONFIG_CTRL_IFACE=y" >> ${CONFIG}
+ echo "CONFIG_BACKEND=file" >> ${CONFIG}
+
+ # basic authentication methods
+ echo "CONFIG_EAP_GTC=y" >> ${CONFIG}
+ echo "CONFIG_EAP_MD5=y" >> ${CONFIG}
+ echo "CONFIG_EAP_OTP=y" >> ${CONFIG}
+ echo "CONFIG_EAP_PAX=y" >> ${CONFIG}
+ echo "CONFIG_EAP_PSK=y" >> ${CONFIG}
+ echo "CONFIG_EAP_TLV=y" >> ${CONFIG}
+ echo "CONFIG_IEEE8021X_EAPOL=y" >> ${CONFIG}
+ echo "CONFIG_PKCS12=y" >> ${CONFIG}
+ echo "CONFIG_STAKEY=y" >> ${CONFIG}
+
+ if use dbus; then
+ echo "CONFIG_CTRL_IFACE_DBUS=y" >> ${CONFIG}
+ fi
+
+ if use gsm; then
+ # smart card authentication
+ echo "CONFIG_EAP_SIM=y" >> ${CONFIG}
+ echo "CONFIG_EAP_AKA=y" >> ${CONFIG}
+ echo "CONFIG_PCSC=y" >> ${CONFIG}
+ fi
+
+ if use readline; then
+ # readline/history support for wpa_cli
+ echo "CONFIG_READLINE=y" >> ${CONFIG}
+ fi
+
+ if use ssl; then
+ # SSL authentication methods
+ echo "CONFIG_EAP_LEAP=y" >> ${CONFIG}
+ echo "CONFIG_EAP_MSCHAPV2=y" >> ${CONFIG}
+ echo "CONFIG_EAP_PEAP=y" >> ${CONFIG}
+ echo "CONFIG_EAP_TLS=y" >> ${CONFIG}
+ echo "CONFIG_EAP_TTLS=y" >> ${CONFIG}
+ echo "CONFIG_SMARTCARD=y" >> ${CONFIG}
+ fi
+
+ if use kernel_linux; then
+ # Linux specific drivers
+ echo "CONFIG_DRIVER_ATMEL=y" >> ${CONFIG}
+ echo "CONFIG_DRIVER_HOSTAP=y" >> ${CONFIG}
+ echo "CONFIG_DRIVER_IPW=y" >> ${CONFIG}
+ echo "CONFIG_DRIVER_NDISWRAPPER=y" >> ${CONFIG}
+ echo "CONFIG_DRIVER_PRISM54=y" >> ${CONFIG}
+ echo "CONFIG_DRIVER_WEXT=y" >> ${CONFIG}
+ echo "CONFIG_DRIVER_WIRED=y" >> ${CONFIG}
+
+ if use madwifi; then
+ # Add include path for madwifi-driver headers
+ echo "CFLAGS += -I${ROOT}/usr/include/madwifi" >> ${CONFIG}
+ echo "CONFIG_DRIVER_MADWIFI=y" >> ${CONFIG}
+ fi
+ fi
+
+ if use kernel_FreeBSD; then
+ # FreeBSD specific driver
+ echo "CONFIG_DRIVER_BSD=y" >> ${CONFIG}
+ fi
+
+ # people seem to take the example configuration file too literally
+ # bug #102361
+ sed -i \
+ -e "s:^\(opensc_engine_path\):#\1:" \
+ -e "s:^\(pkcs11_engine_path\):#\1:" \
+ -e "s:^\(pkcs11_module_path\):#\1:" \
+ ${S}/wpa_supplicant.conf || die
+}
+
+src_compile() {
+ emake || die "emake failed"
+
+ if use qt; then
+ if has_version '=x11-libs/qt-4*'; then
+ qmake -o "${S}"/wpa_gui-qt4/Makefile "${S}"/wpa_gui-qt4/wpa_gui.pro
+ cd "${S}"/wpa_gui-qt4
+ emake || die "emake wpa_gui-qt4 failed"
+ else
+ [[ -d ${QTDIR}/etc/settings ]] && addwrite ${QTDIR}/etc/settings
+ emake wpa_gui || die "emake wpa_gui failed"
+ fi
+ fi
+}
+
+src_install() {
+ into /
+ dosbin wpa_supplicant
+ dobin wpa_cli wpa_passphrase
+
+ exeinto /etc/wpa_supplicant/
+ newexe ${FILESDIR}/${MY_P}-wpa_cli.sh wpa_cli.sh
+
+ # compatibility symlink for older baselayout
+ dosym /etc/wpa_supplicant/wpa_cli.sh /sbin/wpa_cli.action
+
+ if use qt; then
+ into /usr
+
+ if has_version '=x11-libs/qt-4*'; then
+ dobin wpa_gui-qt4/wpa_gui
+ else
+ dobin wpa_gui/wpa_gui
+ fi
+ fi
+
+ dodoc ChangeLog COPYING eap_testing.txt README todo.txt
+ newdoc wpa_supplicant.conf wpa_supplicant.conf.example
+
+ doman doc/docbook/*.8
+ doman doc/docbook/*.5
+}
+
+pkg_postinst() {
+ einfo
+ einfo "To use ${MY_P} you must create the configuration file"
+ einfo "/etc/wpa_supplicant/wpa_supplicant.conf"
+ einfo
+ einfo "An example configuration file is available as"
+ einfo "/usr/share/doc/${PF}/wpa_supplicant.conf.example.gz"
+ einfo
+ if use madwifi; then
+ einfo "This package now compiles against the headers installed by"
+ einfo "the madwifi driver. You should reemerge ${PN} after"
+ einfo "upgrading your madwifi driver."
+ einfo
+ fi
+}