summaryrefslogtreecommitdiff
authormickeyl <mickeyl>2003-02-12 22:46:02 (UTC)
committer mickeyl <mickeyl>2003-02-12 22:46:02 (UTC)
commitfa7465ac33d142cf106ff0651d34c51d5af81ce3 (patch) (unidiff)
treeabccb3ea482cfcf83cbd63a614b4d376b7229e5e
parent5d5e380d588cb1ded0771197940e85d25b2ffe2b (diff)
downloadopie-fa7465ac33d142cf106ff0651d34c51d5af81ce3.zip
opie-fa7465ac33d142cf106ff0651d34c51d5af81ce3.tar.gz
opie-fa7465ac33d142cf106ff0651d34c51d5af81ce3.tar.bz2
add a comment explaining the #if
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/wellenreiter/libwellenreiter/source/cardmode.cc5
1 files changed, 3 insertions, 2 deletions
diff --git a/noncore/net/wellenreiter/libwellenreiter/source/cardmode.cc b/noncore/net/wellenreiter/libwellenreiter/source/cardmode.cc
index 3e6c476..a512bc5 100644
--- a/noncore/net/wellenreiter/libwellenreiter/source/cardmode.cc
+++ b/noncore/net/wellenreiter/libwellenreiter/source/cardmode.cc
@@ -26,83 +26,84 @@ int card_into_monitormode (pcap_t **orighandle, const char *device, int cardtype
26 wl_logerr("Cannot set interface to promisc mode"); 26 wl_logerr("Cannot set interface to promisc mode");
27 return 0; 27 return 0;
28 } 28 }
29 wl_loginfo("Interface set to promisc mode"); 29 wl_loginfo("Interface set to promisc mode");
30 30
31 /* Check the cardtype and executes the commands to go into monitor mode */ 31 /* Check the cardtype and executes the commands to go into monitor mode */
32 if (cardtype == CARD_TYPE_CISCO) 32 if (cardtype == CARD_TYPE_CISCO)
33 { 33 {
34 /* bring the sniffer into rfmon mode */ 34 /* bring the sniffer into rfmon mode */
35 snprintf(CiscoRFMON, sizeof(CiscoRFMON) - 1, DEFAULT_PATH, device); 35 snprintf(CiscoRFMON, sizeof(CiscoRFMON) - 1, DEFAULT_PATH, device);
36 if((CISCO_CONFIG_FILE = fopen(CiscoRFMON,"w")) == NULL) 36 if((CISCO_CONFIG_FILE = fopen(CiscoRFMON,"w")) == NULL)
37 { 37 {
38 wl_logerr("Cannot open config file: %s", strerror(errno)); 38 wl_logerr("Cannot open config file: %s", strerror(errno));
39 return 0; 39 return 0;
40 } 40 }
41 fputs ("Mode: r",CISCO_CONFIG_FILE); 41 fputs ("Mode: r",CISCO_CONFIG_FILE);
42 fputs ("Mode: y",CISCO_CONFIG_FILE); 42 fputs ("Mode: y",CISCO_CONFIG_FILE);
43 fputs ("XmitPower: 1",CISCO_CONFIG_FILE); 43 fputs ("XmitPower: 1",CISCO_CONFIG_FILE);
44 fclose(CISCO_CONFIG_FILE); 44 fclose(CISCO_CONFIG_FILE);
45 } 45 }
46 else if (cardtype == CARD_TYPE_NG) 46 else if (cardtype == CARD_TYPE_NG)
47 { 47 {
48 char wlanngcmd[80]; 48 char wlanngcmd[80];
49 snprintf(wlanngcmd, sizeof(wlanngcmd) - 1, "$(which wlanctl-ng) %s lnxreq_wlansniff channel=%d enable=true", device, 1); 49 snprintf(wlanngcmd, sizeof(wlanngcmd) - 1, "$(which wlanctl-ng) %s lnxreq_wlansniff channel=%d enable=true", device, 1);
50 if (system(wlanngcmd) != 0) 50 if (system(wlanngcmd) != 0)
51 { 51 {
52 wl_logerr("Could not set %s in raw mode, check cardtype", device); 52 wl_logerr("Could not set %s in raw mode, check cardtype", device);
53 return 0; 53 return 0;
54 } 54 }
55 } 55 }
56 else if (cardtype == CARD_TYPE_HOSTAP) 56 else if (cardtype == CARD_TYPE_HOSTAP)
57 { 57 {
58#if WIRELESS_EXT < 15 58#if WIRELESS_EXT > 14
59 // IW_MODE_MONITOR was implemented in Wireless Extensions Version 15
59 int skfd; 60 int skfd;
60 skfd = socket(AF_INET, SOCK_STREAM, 0); 61 skfd = socket(AF_INET, SOCK_STREAM, 0);
61 struct iwreq wrq; 62 struct iwreq wrq;
62 wrq.u.mode = IW_MODE_MONITOR; 63 wrq.u.mode = IW_MODE_MONITOR;
63 64
64 if(iw_set_ext(skfd,(char *) device,SIOCSIWMODE,&wrq)<0) 65 if(iw_set_ext(skfd,(char *) device,SIOCSIWMODE,&wrq)<0)
65 { 66 {
66 wl_logerr("Could not set hostap card %s to raw mode, check cardtype", device); 67 wl_logerr("Could not set hostap card %s to raw mode, check cardtype", device);
67 return 0; 68 return 0;
68 } 69 }
69 else 70 else
70 { 71 {
71 wl_loginfo("Successfully set hostap card %s into raw mode",device); 72 wl_loginfo("Successfully set hostap card %s into raw mode",device);
72 return 1; 73 return 1;
73 } 74 }
74 return 1; 75 return 1;
75#else 76#else
76#warning Hi _MAX_, please use a system call for hostap with wireless extensions < 14 77#warning Hi _MAX_, please use a system call for hostap with wireless extensions < 15
77 // TODO: Implement switching HOSTAP into monitor mode with system call 78 // TODO: Implement switching HOSTAP into monitor mode with system call
78#endif 79#endif
79 } 80 }
80 else if (cardtype == CARD_TYPE_ORINOCCO ) 81 else if (cardtype == CARD_TYPE_ORINOCCO )
81 { 82 {
82 if (!card_set_channel (device, 1, CARD_TYPE_ORINOCCO)) 83 if (!card_set_channel (device, 1, CARD_TYPE_ORINOCCO))
83 { 84 {
84 wl_logerr("Could not set %s in raw mode, check cardtype", device); 85 wl_logerr("Could not set %s in raw mode, check cardtype", device);
85 return 0; 86 return 0;
86 } 87 }
87 else 88 else
88 { 89 {
89 wl_loginfo("Successfully set %s into raw mode",device); 90 wl_loginfo("Successfully set %s into raw mode",device);
90 } 91 }
91 } 92 }
92 93
93 /* Setting the promiscous and up flag to the interface */ 94 /* Setting the promiscous and up flag to the interface */
94 if (!card_check_rfmon_datalink(device)) 95 if (!card_check_rfmon_datalink(device))
95 { 96 {
96 wl_logerr("Cannot set interface to rfmon mode"); 97 wl_logerr("Cannot set interface to rfmon mode");
97 return 0; 98 return 0;
98 } 99 }
99 else 100 else
100 { 101 {
101 wl_loginfo("Interface set to rfmon mode"); 102 wl_loginfo("Interface set to rfmon mode");
102 } 103 }
103 return 1; 104 return 1;
104} 105}
105 106
106/* Check card is in the rfmon mode */ 107/* Check card is in the rfmon mode */
107int card_check_rfmon_datalink (const char *device) 108int card_check_rfmon_datalink (const char *device)
108{ 109{