diff --git a/net-wireless/madwifi-hal/Manifest b/net-wireless/madwifi-hal/Manifest index 6b4d72259..958850d14 100644 --- a/net-wireless/madwifi-hal/Manifest +++ b/net-wireless/madwifi-hal/Manifest @@ -1,4 +1,4 @@ -AUX madwifi-hal-digininja-karma-updated.patch 15927 RMD160 a41dc0e86f1d474704d911fa47924fdddb6a7ea4 SHA1 7b3e65bed82634dd04d4a69bad71fef4e97cd65b SHA256 ffc0ded27c4f27fe107a921b75d74ea1b8a41c2d6fe2606296e7c207467b00f5 +AUX madwifi-hal-digininja-karma-updated_1.patch 13367 RMD160 0aec423b72ef38503e730da5a500d68907ff8482 SHA1 cac1b0ba1ef9852dced5bc02e78766f43ecbdfd9 SHA256 e37cf81cd9121bfa84e9ff97c7154d07ff5db2c1a4eb6909171b4ced5aebd647 AUX madwifi-hal-injection-r3925.patch 1176 RMD160 8147fbd8919bb6e48f1ea7f327c1bb2eaee76bef SHA1 eff3598129235b30e3841652fc3ec8770a7aa5a4 SHA256 2bb1d618ab01f08cd4b15a66bd4dd6d0dbcebba301edd14c5b0e9095eb23a6cc AUX madwifi-hal-release_header_fix.patch 582 RMD160 9ffcdda76be8d5561adb893fa9fced0064cbf25b SHA1 9038ce45e4a3b7477067843d591ebe45fd3ec84b SHA256 5572ba1214c55d99baf2f613e7a2d2c6432844d40025e335d502e8e6d9954c09 DIST madwifi-hal-0.10.5.6-r3917-20090116.tar.gz 4421921 RMD160 833301ec92cda683737d639b59d29332970097f3 SHA1 22bf3d5980586fc956c8437477ae3f481ccdaa69 SHA256 06d6a65f467f3a8cbc42251e2be53487425db37d55f7e4cbc7aa31edb9c0d81e @@ -6,4 +6,4 @@ DIST madwifi-hal-0.10.5.6-r3942-20090205.tar.gz 4421112 RMD160 6c2589d08e64c1ec1 DIST madwifi-hal-0.10.5.6-r3977-20090408.tar.gz 4422482 RMD160 3e65325e4985b88a1e3bc522d0129cd18af90dc1 SHA1 c6aa1c3cd75c60c3d01a363606a3803784c13d37 SHA256 36caffc316a329f77c5a90adc9230c6f4181ac16dc2fe7ef76c0a2eb34dfc983 EBUILD madwifi-hal-0.10.5.6-r3917.ebuild 3154 RMD160 b16c74c718c6d4ca5e97cc0b365a4a06361ea3c0 SHA1 2c2b7628e0633107b3c5d30f4cb2a2fc12549115 SHA256 975f979ddfd9578b431ebdedd8c1d4bcb2246521c99d50e327032adcc65b3835 EBUILD madwifi-hal-0.10.5.6-r3942.ebuild 4798 RMD160 52e1771a9854d8eef55523ac70428bcc3c565cf9 SHA1 f136073d1a8f3c27fc1799eddc1a9050936ec457 SHA256 b1d56cf0769dfeaa9f2112fd8fb3674f012e99eac6960215262a9eb19f6074a0 -EBUILD madwifi-hal-0.10.5.6-r3977.ebuild 4888 RMD160 678aa881e85b0264332c837fb71d252ced9bd183 SHA1 73093aac909c94d8bf245579e4586cea57a96de8 SHA256 7f424ad390e35a51e040255dbdd76db76cb839d410fe0b5a5b694f5b280d2acd +EBUILD madwifi-hal-0.10.5.6-r3977.ebuild 4888 RMD160 044252a3b985e69db5467860999bf890bb1d1ec2 SHA1 9010bb141413ae9140ee4af20c0c43f1a030b87d SHA256 8a15240e59e38bcafffdee8a20349d601b9cddd2124f47751966ec17d4d46771 diff --git a/net-wireless/madwifi-hal/files/madwifi-hal-digininja-karma-updated.patch b/net-wireless/madwifi-hal/files/madwifi-hal-digininja-karma-updated_1.patch similarity index 71% rename from net-wireless/madwifi-hal/files/madwifi-hal-digininja-karma-updated.patch rename to net-wireless/madwifi-hal/files/madwifi-hal-digininja-karma-updated_1.patch index edfd4c09b..5c79573c9 100644 --- a/net-wireless/madwifi-hal/files/madwifi-hal-digininja-karma-updated.patch +++ b/net-wireless/madwifi-hal/files/madwifi-hal-digininja-karma-updated_1.patch @@ -1,6 +1,6 @@ -diff -Naur madwifi-hal-0.10.5.6-r3977-20090408/ath/if_ath.c madwifi-hal-0.10.5.6-r3977-20090408-newkarma/ath/if_ath.c ---- madwifi-hal-0.10.5.6-r3977-20090408/ath/if_ath.c 2009-04-08 12:07:08.000000000 -0400 -+++ madwifi-hal-0.10.5.6-r3977-20090408-newkarma/ath/if_ath.c 2009-04-08 12:18:36.000000000 -0400 +diff -Naur ./ath/if_ath.c ../madwifi-hal-patched/ath/if_ath.c +--- ./ath/if_ath.c 2009-04-10 00:52:27.000000000 +0100 ++++ ../madwifi-hal-patched/ath/if_ath.c 2009-04-10 00:33:29.000000000 +0100 @@ -657,6 +657,9 @@ rfkill ? "on" : "off"); ath_hal_setrfsilent(ah, rfkill); @@ -11,9 +11,9 @@ diff -Naur madwifi-hal-0.10.5.6-r3977-20090408/ath/if_ath.c madwifi-hal-0.10.5.6 /* * Setup rate tables for all potential media types. */ -diff -Naur madwifi-hal-0.10.5.6-r3977-20090408/net80211/ieee80211.h madwifi-hal-0.10.5.6-r3977-20090408-newkarma/net80211/ieee80211.h ---- madwifi-hal-0.10.5.6-r3977-20090408/net80211/ieee80211.h 2008-07-05 19:19:37.000000000 -0400 -+++ madwifi-hal-0.10.5.6-r3977-20090408-newkarma/net80211/ieee80211.h 2009-04-08 12:14:08.000000000 -0400 +diff -Naur ./net80211/ieee80211.h ../madwifi-hal-patched/net80211/ieee80211.h +--- ./net80211/ieee80211.h 2009-04-10 00:49:00.000000000 +0100 ++++ ../madwifi-hal-patched/net80211/ieee80211.h 2009-04-10 00:33:29.000000000 +0100 @@ -996,4 +996,13 @@ */ #define IEEE80211_TSF_LEN 8 @@ -28,9 +28,9 @@ diff -Naur madwifi-hal-0.10.5.6-r3977-20090408/net80211/ieee80211.h madwifi-hal- +} karma_ssid_t; + #endif /* _NET80211_IEEE80211_H_ */ -diff -Naur madwifi-hal-0.10.5.6-r3977-20090408/net80211/ieee80211_input.c madwifi-hal-0.10.5.6-r3977-20090408-newkarma/net80211/ieee80211_input.c ---- madwifi-hal-0.10.5.6-r3977-20090408/net80211/ieee80211_input.c 2008-07-23 20:14:35.000000000 -0400 -+++ madwifi-hal-0.10.5.6-r3977-20090408-newkarma/net80211/ieee80211_input.c 2009-04-08 12:14:08.000000000 -0400 +diff -Naur ./net80211/ieee80211_input.c ../madwifi-hal-patched/net80211/ieee80211_input.c +--- ./net80211/ieee80211_input.c 2009-04-10 00:49:00.000000000 +0100 ++++ ../madwifi-hal-patched/net80211/ieee80211_input.c 2009-04-10 00:33:29.000000000 +0100 @@ -1709,6 +1709,41 @@ } while (0) #endif /* !IEEE80211_DEBUG */ @@ -39,7 +39,7 @@ diff -Naur madwifi-hal-0.10.5.6-r3977-20090408/net80211/ieee80211_input.c madwif + /* Reject any 0 length ssids */ \ + if (_ssid[1] == 0) { \ + vap->iv_stats.is_rx_ssidmismatch++; \ -+ return; \ ++ return 0; \ + } \ + \ + traverse = ic->karma_list; \ @@ -58,14 +58,14 @@ diff -Naur madwifi-hal-0.10.5.6-r3977-20090408/net80211/ieee80211_input.c madwif + ieee80211_print_essid(_ssid + 2, _ssid[1]); \ + printk ("] not found in whitelist so rejecting\n"); \ + vap->iv_stats.is_rx_ssidmismatch++; \ -+ return; \ ++ return 0; \ + } \ + if (karma_match && !ic->ic_karma_black_white) { \ + printk ("KARMA: ssid ["); \ + ieee80211_print_essid(_ssid + 2, _ssid[1]); \ + printk ("] found in blacklist so rejecting\n"); \ + vap->iv_stats.is_rx_ssidmismatch++; \ -+ return; \ ++ return 0; \ + } \ +} while (0) + @@ -155,9 +155,9 @@ diff -Naur madwifi-hal-0.10.5.6-r3977-20090408/net80211/ieee80211_input.c madwif ieee80211_node_join(ni, resp); #ifdef ATH_SUPERG_XR if (ni->ni_prev_vap && -diff -Naur madwifi-hal-0.10.5.6-r3977-20090408/net80211/ieee80211_ioctl.h madwifi-hal-0.10.5.6-r3977-20090408-newkarma/net80211/ieee80211_ioctl.h ---- madwifi-hal-0.10.5.6-r3977-20090408/net80211/ieee80211_ioctl.h 2008-04-09 18:25:51.000000000 -0400 -+++ madwifi-hal-0.10.5.6-r3977-20090408-newkarma/net80211/ieee80211_ioctl.h 2009-04-08 12:20:19.000000000 -0400 +diff -Naur ./net80211/ieee80211_ioctl.h ../madwifi-hal-patched/net80211/ieee80211_ioctl.h +--- ./net80211/ieee80211_ioctl.h 2009-04-10 00:49:00.000000000 +0100 ++++ ../madwifi-hal-patched/net80211/ieee80211_ioctl.h 2009-04-10 00:33:29.000000000 +0100 @@ -555,6 +555,7 @@ #define IEEE80211_IOCTL_WDSADDMAC (SIOCIWFIRSTPRIV+26) #define IEEE80211_IOCTL_WDSDELMAC (SIOCIWFIRSTPRIV+28) @@ -180,9 +180,9 @@ diff -Naur madwifi-hal-0.10.5.6-r3977-20090408/net80211/ieee80211_ioctl.h madwif }; #define SIOCG80211STATS (SIOCDEVPRIVATE+2) -diff -Naur madwifi-hal-0.10.5.6-r3977-20090408/net80211/ieee80211_output.c madwifi-hal-0.10.5.6-r3977-20090408-newkarma/net80211/ieee80211_output.c ---- madwifi-hal-0.10.5.6-r3977-20090408/net80211/ieee80211_output.c 2009-01-13 21:43:13.000000000 -0500 -+++ madwifi-hal-0.10.5.6-r3977-20090408-newkarma/net80211/ieee80211_output.c 2009-04-08 12:14:08.000000000 -0400 +diff -Naur ./net80211/ieee80211_output.c ../madwifi-hal-patched/net80211/ieee80211_output.c +--- ./net80211/ieee80211_output.c 2009-04-10 00:49:00.000000000 +0100 ++++ ../madwifi-hal-patched/net80211/ieee80211_output.c 2009-04-10 00:33:29.000000000 +0100 @@ -1835,9 +1835,17 @@ *(__le16 *)frm = htole16(capinfo); frm += 2; @@ -203,9 +203,9 @@ diff -Naur madwifi-hal-0.10.5.6-r3977-20090408/net80211/ieee80211_output.c madwi /* supported rates */ frm = ieee80211_add_rates(frm, &ni->ni_rates); -diff -Naur madwifi-hal-0.10.5.6-r3977-20090408/net80211/ieee80211_var.h madwifi-hal-0.10.5.6-r3977-20090408-newkarma/net80211/ieee80211_var.h ---- madwifi-hal-0.10.5.6-r3977-20090408/net80211/ieee80211_var.h 2009-04-06 20:03:41.000000000 -0400 -+++ madwifi-hal-0.10.5.6-r3977-20090408-newkarma/net80211/ieee80211_var.h 2009-04-08 12:22:20.000000000 -0400 +diff -Naur ./net80211/ieee80211_var.h ../madwifi-hal-patched/net80211/ieee80211_var.h +--- ./net80211/ieee80211_var.h 2009-04-10 00:49:00.000000000 +0100 ++++ ../madwifi-hal-patched/net80211/ieee80211_var.h 2009-04-10 00:33:29.000000000 +0100 @@ -520,6 +520,14 @@ unsigned int (*ic_read_register)(struct ieee80211com *, unsigned int, unsigned int*); #endif /* #ifdef ATH_REVERSE_ENGINEERING */ @@ -221,10 +221,10 @@ diff -Naur madwifi-hal-0.10.5.6-r3977-20090408/net80211/ieee80211_var.h madwifi- }; #define MAX_PROC_IEEE80211_SIZE 16383 -diff -Naur madwifi-hal-0.10.5.6-r3977-20090408/net80211/ieee80211_wireless.c madwifi-hal-0.10.5.6-r3977-20090408-newkarma/net80211/ieee80211_wireless.c ---- madwifi-hal-0.10.5.6-r3977-20090408/net80211/ieee80211_wireless.c 2009-01-23 13:23:39.000000000 -0500 -+++ madwifi-hal-0.10.5.6-r3977-20090408-newkarma/net80211/ieee80211_wireless.c 2009-04-08 12:24:32.000000000 -0400 -@@ -2127,6 +2127,108 @@ +diff -Naur ./net80211/ieee80211_wireless.c ../madwifi-hal-patched/net80211/ieee80211_wireless.c +--- ./net80211/ieee80211_wireless.c 2009-04-10 00:49:00.000000000 +0100 ++++ ../madwifi-hal-patched/net80211/ieee80211_wireless.c 2009-04-10 00:42:13.000000000 +0100 +@@ -2127,6 +2127,57 @@ } static int @@ -278,62 +278,11 @@ diff -Naur madwifi-hal-0.10.5.6-r3977-20090408/net80211/ieee80211_wireless.c mad + return 0; +} + -+static int -+ieee80211_ioctl_karma_addssid(struct net_device *dev, struct iw_request_info *info, -+ struct iw_point *wri, char *extra) -+{ -+ struct ieee80211vap *vap = dev->priv; -+ struct ieee80211com *ic = vap->iv_ic; -+ char s[IEEE80211_NWID_LEN + 1]; // +1 for null terminator -+ int length; -+ karma_ssid_t *karma_ssid; -+ -+ /* -+ * The buffer is a max size of 32 chars so the last char may be -+ * the null terminator or may be a character if the string has been truncated -+ * by whatever gets the string into here -+ */ -+ -+ if (wri->length == IEEE80211_NWID_LEN && (wri->pointer + IEEE80211_NWID_LEN) != 0) { -+ length = wri->length; // no null terminator as the max buffer size has already done the truncation -+ } else { -+ if (wri->length > IEEE80211_NWID_LEN) { -+ length = IEEE80211_NWID_LEN; // truncate to max length -+ } else { -+ length = wri->length - 1; // In this case the length will include the null terminator -+ } -+ } -+ -+ if (length == 0) { -+ return -EINVAL; -+ } -+ -+ if (copy_from_user(s, wri->pointer, length)) -+ return -EINVAL; -+ -+ printk ("KARMA: Adding the following ssid to the list ["); -+ ieee80211_print_essid(wri->pointer, length); -+ printk ("]\n"); -+ -+ karma_ssid = kmalloc (sizeof (karma_ssid_t), GFP_KERNEL); -+ -+ if (copy_from_user(karma_ssid->ssid, wri->pointer, length)) -+ return -EINVAL; -+ -+ karma_ssid->length = length; -+ -+ // Add to list -+ karma_ssid->next = ic->karma_list; -+ ic->karma_list = karma_ssid; -+ -+ return 0; -+} -+ +static int ieee80211_ioctl_setmode(struct net_device *dev, struct iw_request_info *info, struct iw_point *wri, char *extra) { -@@ -2288,8 +2390,43 @@ +@@ -2288,8 +2339,43 @@ int j, caps, bmiss; const struct ieee80211_authenticator *auth; const struct ieee80211_aclator *acl; @@ -377,7 +326,7 @@ diff -Naur madwifi-hal-0.10.5.6-r3977-20090408/net80211/ieee80211_wireless.c mad case IEEE80211_PARAM_AUTHMODE: switch (value) { case IEEE80211_AUTH_WPA: /* WPA */ -@@ -2967,6 +3104,12 @@ +@@ -2967,6 +3053,12 @@ unsigned int *param = (unsigned int *)extra; switch (param[0]) { @@ -390,7 +339,7 @@ diff -Naur madwifi-hal-0.10.5.6-r3977-20090408/net80211/ieee80211_wireless.c mad case IEEE80211_PARAM_AUTHMODE: if (vap->iv_flags & IEEE80211_F_WPA) param[0] = IEEE80211_AUTH_WPA; -@@ -5256,6 +5399,8 @@ +@@ -5256,6 +5348,8 @@ IW_PRIV_BLOB_TYPE_ENCODING(sizeof(struct ieee80211req_getset_appiebuf) + IEEE80211_APPIE_MAX) #define IW_PRIV_TYPE_FILTER \ IW_PRIV_BLOB_TYPE_ENCODING(sizeof(struct ieee80211req_set_filter)) @@ -399,7 +348,7 @@ diff -Naur madwifi-hal-0.10.5.6-r3977-20090408/net80211/ieee80211_wireless.c mad static const struct iw_priv_args ieee80211_priv_args[] = { /* NB: setoptie & getoptie are !IW_PRIV_SIZE_FIXED */ -@@ -5644,6 +5789,22 @@ +@@ -5644,6 +5738,22 @@ 0, IW_PRIV_TYPE_APPIEBUF, "getiebuf" }, { IEEE80211_IOCTL_FILTERFRAME, IW_PRIV_TYPE_FILTER , 0, "setfilter" }, @@ -422,7 +371,7 @@ diff -Naur madwifi-hal-0.10.5.6-r3977-20090408/net80211/ieee80211_wireless.c mad { IEEE80211_PARAM_RSSI_EWMA, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "rssi_ewma" }, { IEEE80211_PARAM_RSSI_EWMA, -@@ -5662,6 +5823,7 @@ +@@ -5662,6 +5772,7 @@ IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "debug_scanbufs" }, { IEEE80211_PARAM_LEAKTXBUFS, IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "debug_leaktxbufs" }, @@ -430,17 +379,7 @@ diff -Naur madwifi-hal-0.10.5.6-r3977-20090408/net80211/ieee80211_wireless.c mad #ifdef ATH_REVERSE_ENGINEERING /* -@@ -5674,6 +5836,9 @@ - { IEEE80211_IOCTL_WRITEREG, - IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 2, 0, "writereg" }, - #endif /* #ifdef ATH_REVERSE_ENGINEERING */ -+ -+ /* KARMA */ -+ set_priv(IEEE80211_IOCTL_KARMA_ADDSSID, ieee80211_ioctl_karma_addssid), - }; - - #define set_handler(x,f) [x - SIOCIWFIRST] = (iw_handler) f -@@ -5761,6 +5926,9 @@ +@@ -5761,6 +5872,9 @@ set_priv(IEEE80211_IOCTL_READREG, ieee80211_ioctl_readreg), set_priv(IEEE80211_IOCTL_WRITEREG, ieee80211_ioctl_writereg), #endif /* #ifdef ATH_REVERSE_ENGINEERING */ diff --git a/net-wireless/madwifi-hal/madwifi-hal-0.10.5.6-r3977.ebuild b/net-wireless/madwifi-hal/madwifi-hal-0.10.5.6-r3977.ebuild index bc99c4bf7..17deac3eb 100644 --- a/net-wireless/madwifi-hal/madwifi-hal-0.10.5.6-r3977.ebuild +++ b/net-wireless/madwifi-hal/madwifi-hal-0.10.5.6-r3977.ebuild @@ -15,7 +15,7 @@ SRC_URI="http://snapshots.madwifi-project.org/${P}/${MY_PVR}.tar.gz" LICENSE="atheros-hal || ( BSD GPL-2 )" SLOT="0" -KEYWORDS="~amd64 ~ppc ~x86" +KEYWORDS="amd64 ~ppc x86" IUSE="+injection default +karma" DEPEND="app-arch/sharutils net-wireless/athload" @@ -64,7 +64,7 @@ src_unpack() { cd "${S}" epatch "${FILESDIR}"/${PN}-release_header_fix.patch if use injection; then epatch "${FILESDIR}/${PN}-injection-r3925.patch"; fi - if use karma; then epatch "${FILESDIR}/${PN}-digininja-karma-updated.patch"; fi + if use karma; then epatch "${FILESDIR}/${PN}-digininja-karma-updated_1.patch"; fi for dir in ath ath_hal net80211 ath_rate ath_rate/amrr ath_rate/minstrel ath_rate/onoe ath_rate/sample; do convert_to_m "${S}"/${dir}/Makefile done