-rw-r--r-- | noncore/net/wellenreiter/libwellenreiter/source/cardmode.cc | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/noncore/net/wellenreiter/libwellenreiter/source/cardmode.cc b/noncore/net/wellenreiter/libwellenreiter/source/cardmode.cc index 62c2940..dcc73f8 100644 --- a/noncore/net/wellenreiter/libwellenreiter/source/cardmode.cc +++ b/noncore/net/wellenreiter/libwellenreiter/source/cardmode.cc | |||
@@ -70,28 +70,34 @@ int card_into_monitormode (void *orighandle, char *device, int cardtype) | |||
70 | } | 70 | } |
71 | 71 | ||
72 | #ifdef HAVE_PCAP_NONBLOCK | 72 | #ifdef HAVE_PCAP_NONBLOCK |
73 | pcap_setnonblock(handle, 1, errstr); | 73 | pcap_setnonblock(handle, 1, errstr); |
74 | #endif | 74 | #endif |
75 | 75 | ||
76 | /* getting the datalink type */ | 76 | /* getting the datalink type */ |
77 | datalink = pcap_datalink(handle); | 77 | datalink = pcap_datalink(handle); |
78 | 78 | ||
79 | if (datalink != DLT_IEEE802_11) /* Rawmode is IEEE802_11 */ | 79 | if (datalink != DLT_IEEE802_11) /* Rawmode is IEEE802_11 */ |
80 | { | 80 | { |
81 | wl_loginfo("Interface %s does not work in the correct 802.11 raw mode", device); | 81 | wl_loginfo("Interface %s does not work in the correct 802.11 raw mode", device); |
82 | pcap_close(handle); | 82 | pcap_close(handle); |
83 | return 0; | 83 | return 0; |
84 | } | 84 | } |
85 | wl_loginfo("Your successfully listen on %s in 802.11 raw mode", device); | 85 | wl_loginfo("Your successfully listen on %s in 802.11 raw mode", device); |
86 | 86 | ||
87 | return 1; | 87 | return 1; |
88 | } | 88 | } |
89 | 89 | ||
90 | /* Set card into promisc mode */ | 90 | /* Set card into promisc mode */ |
91 | int card_set_promisc_up (const char *device) | 91 | int card_set_promisc_up (const char *device) |
92 | { | 92 | { |
93 | char ifconfigcmd[32]; | 93 | char ifconfigcmd[32]; |
94 | int retval=0; | ||
95 | |||
94 | snprintf(ifconfigcmd, sizeof(ifconfigcmd), SBIN_PATH, device); | 96 | snprintf(ifconfigcmd, sizeof(ifconfigcmd), SBIN_PATH, device); |
97 | retval = system(ifconfigcmd); | ||
95 | 98 | ||
96 | return (system(ifconfigcmd) ? 1 : 0); | 99 | if(retval < 0 || retval == 0) |
100 | return 0; | ||
101 | |||
102 | return 1; | ||
97 | } | 103 | } |