author | mickeyl <mickeyl> | 2003-02-12 22:38:17 (UTC) |
---|---|---|
committer | mickeyl <mickeyl> | 2003-02-12 22:38:17 (UTC) |
commit | 4c0fca7a9a99be7b6aad58e93f7a2d99f74b236c (patch) (side-by-side diff) | |
tree | 13201d8d8d5d832c0b3ab17ffdfe732261609a89 | |
parent | dc326e87d4a958ee49210fff9d03967f8a183242 (diff) | |
download | opie-4c0fca7a9a99be7b6aad58e93f7a2d99f74b236c.zip opie-4c0fca7a9a99be7b6aad58e93f7a2d99f74b236c.tar.gz opie-4c0fca7a9a99be7b6aad58e93f7a2d99f74b236c.tar.bz2 |
fix compilation on systems with wireless extensions < V15
-rw-r--r-- | noncore/net/wellenreiter/libwellenreiter/source/cardmode.cc | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/noncore/net/wellenreiter/libwellenreiter/source/cardmode.cc b/noncore/net/wellenreiter/libwellenreiter/source/cardmode.cc index 626b28c..e5a20d6 100644 --- a/noncore/net/wellenreiter/libwellenreiter/source/cardmode.cc +++ b/noncore/net/wellenreiter/libwellenreiter/source/cardmode.cc @@ -34,64 +34,69 @@ int card_into_monitormode (pcap_t **orighandle, const char *device, int cardtype /* bring the sniffer into rfmon mode */ snprintf(CiscoRFMON, sizeof(CiscoRFMON) - 1, DEFAULT_PATH, device); if((CISCO_CONFIG_FILE = fopen(CiscoRFMON,"w")) == NULL) { wl_logerr("Cannot open config file: %s", strerror(errno)); return 0; } fputs ("Mode: r",CISCO_CONFIG_FILE); fputs ("Mode: y",CISCO_CONFIG_FILE); fputs ("XmitPower: 1",CISCO_CONFIG_FILE); fclose(CISCO_CONFIG_FILE); } else if (cardtype == CARD_TYPE_NG) { char wlanngcmd[80]; snprintf(wlanngcmd, sizeof(wlanngcmd) - 1, "$(which wlanctl-ng) %s lnxreq_wlansniff channel=%d enable=true", device, 1); if (system(wlanngcmd) != 0) { wl_logerr("Could not set %s in raw mode, check cardtype", device); return 0; } } else if (cardtype == CARD_TYPE_HOSTAP) { - int skfd; - skfd = socket(AF_INET, SOCK_STREAM, 0); +#if WIRELESS_EXT < 14 + int skfd; + skfd = socket(AF_INET, SOCK_STREAM, 0); struct iwreq wrq; wrq.u.mode = IW_MODE_MONITOR; if(iw_set_ext(skfd,(char *) device,SIOCSIWMODE,&wrq)<0) { wl_logerr("Could not set hostap card %s to raw mode, check cardtype", device); return 0; } else { wl_loginfo("Successfully set hostap card %s into raw mode",device); return 1; } return 1; +#else +#warning Hi _MAX_, please use a system call for hostap with wireless extensions < 14 + // TODO: Implement switching HOSTAP into monitor mode with system call +#endif } else if (cardtype == CARD_TYPE_ORINOCCO ) { if (!card_set_channel (device, 1, CARD_TYPE_ORINOCCO)) { wl_logerr("Could not set %s in raw mode, check cardtype", device); return 0; } else { wl_loginfo("Successfully set %s into raw mode",device); } } /* Setting the promiscous and up flag to the interface */ if (!card_check_rfmon_datalink(device)) { wl_logerr("Cannot set interface to rfmon mode"); return 0; } else { wl_loginfo("Interface set to rfmon mode"); } |