Diffstat (limited to 'noncore/settings/networksettings') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/settings/networksettings/mainwindow/mainwindowimp.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/noncore/settings/networksettings/mainwindow/mainwindowimp.cpp b/noncore/settings/networksettings/mainwindow/mainwindowimp.cpp index 3222e50..a7b0bdc 100644 --- a/noncore/settings/networksettings/mainwindow/mainwindowimp.cpp +++ b/noncore/settings/networksettings/mainwindow/mainwindowimp.cpp | |||
@@ -180,42 +180,44 @@ void MainWindowImp::getAllInterfaces() | |||
180 | 180 | ||
181 | if (! procFile.exists()) | 181 | if (! procFile.exists()) |
182 | { | 182 | { |
183 | struct ifreq ifrs[100]; | 183 | struct ifreq ifrs[100]; |
184 | struct ifconf ifc; | 184 | struct ifconf ifc; |
185 | ifc.ifc_len = sizeof(ifrs); | 185 | ifc.ifc_len = sizeof(ifrs); |
186 | ifc.ifc_req = ifrs; | 186 | ifc.ifc_req = ifrs; |
187 | result = ioctl(sockfd, SIOCGIFCONF, &ifc); | 187 | result = ioctl(sockfd, SIOCGIFCONF, &ifc); |
188 | 188 | ||
189 | for (unsigned int i = 0; i < ifc.ifc_len / sizeof(struct ifreq); i++) | 189 | for (unsigned int i = 0; i < ifc.ifc_len / sizeof(struct ifreq); i++) |
190 | { | 190 | { |
191 | struct ifreq *pifr = &ifrs[i]; | 191 | struct ifreq *pifr = &ifrs[i]; |
192 | 192 | if ( !QString( pifr->ifr_name ).startsWith( "wifi" ) ) ifaces += pifr->ifr_name; | |
193 | ifaces += pifr->ifr_name; | 193 | else odebug << "ignoring hostap control interface " << pifr->ifr_name << oendl; |
194 | } | 194 | } |
195 | } | 195 | } |
196 | else | 196 | else |
197 | { | 197 | { |
198 | procFile.open(IO_ReadOnly); | 198 | procFile.open(IO_ReadOnly); |
199 | QString line; | 199 | QString line; |
200 | QTextStream procTs(&procFile); | 200 | QTextStream procTs(&procFile); |
201 | int loc = -1; | 201 | int loc = -1; |
202 | 202 | ||
203 | procTs.readLine(); // eat a line | 203 | procTs.readLine(); // eat a line |
204 | procTs.readLine(); // eat a line | 204 | procTs.readLine(); // eat a line |
205 | while((line = procTs.readLine().simplifyWhiteSpace()) != QString::null) | 205 | while((line = procTs.readLine().simplifyWhiteSpace()) != QString::null) |
206 | { | 206 | { |
207 | if((loc = line.find(":")) != -1) | 207 | if((loc = line.find(":")) != -1) |
208 | { | 208 | { |
209 | ifaces += line.left(loc); | 209 | // ignore wifi* (hostap control interfaces) |
210 | if ( !line.left(loc).startsWith( "wifi" ) ) ifaces += line.left(loc); | ||
211 | else odebug << "ignoring hostap control interface " << line.left(loc) << oendl; | ||
210 | } | 212 | } |
211 | } | 213 | } |
212 | } | 214 | } |
213 | 215 | ||
214 | for (QStringList::Iterator it = ifaces.begin(); it != ifaces.end(); ++it) | 216 | for (QStringList::Iterator it = ifaces.begin(); it != ifaces.end(); ++it) |
215 | { | 217 | { |
216 | int flags = 0; | 218 | int flags = 0; |
217 | if ( m_handledIfaces.contains( (*it) ) ) | 219 | if ( m_handledIfaces.contains( (*it) ) ) |
218 | { | 220 | { |
219 | odebug << " " << (*it).latin1() << " is handled by a module" << oendl; | 221 | odebug << " " << (*it).latin1() << " is handled by a module" << oendl; |
220 | continue; | 222 | continue; |
221 | } | 223 | } |