summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/wellenreiter/gui/configbase.ui2
-rw-r--r--noncore/net/wellenreiter/gui/configbasenew.ui814
-rw-r--r--noncore/net/wellenreiter/gui/configwindow.cpp6
-rw-r--r--noncore/net/wellenreiter/gui/configwindow.h2
-rw-r--r--noncore/net/wellenreiter/gui/gui.pro2
-rw-r--r--noncore/net/wellenreiter/gui/protolistview.cpp0
-rw-r--r--noncore/net/wellenreiter/gui/protolistview.h0
-rw-r--r--noncore/net/wellenreiter/gui/wellenreiter.cpp10
-rw-r--r--noncore/net/wellenreiter/opie-wellenreiter.control2
9 files changed, 831 insertions, 7 deletions
diff --git a/noncore/net/wellenreiter/gui/configbase.ui b/noncore/net/wellenreiter/gui/configbase.ui
index ba4de32..a8b55bb 100644
--- a/noncore/net/wellenreiter/gui/configbase.ui
+++ b/noncore/net/wellenreiter/gui/configbase.ui
@@ -1,554 +1,554 @@
1<!DOCTYPE UI><UI> 1<!DOCTYPE UI><UI>
2<class>WellenreiterConfigBase</class> 2<class>WellenreiterConfigBase</class>
3<widget> 3<widget>
4 <class>QDialog</class> 4 <class>QDialog</class>
5 <property stdset="1"> 5 <property stdset="1">
6 <name>name</name> 6 <name>name</name>
7 <cstring>WellenreiterConfigBase</cstring> 7 <cstring>WellenreiterConfigBase</cstring>
8 </property> 8 </property>
9 <property stdset="1"> 9 <property stdset="1">
10 <name>geometry</name> 10 <name>geometry</name>
11 <rect> 11 <rect>
12 <x>0</x> 12 <x>0</x>
13 <y>0</y> 13 <y>0</y>
14 <width>236</width> 14 <width>232</width>
15 <height>342</height> 15 <height>342</height>
16 </rect> 16 </rect>
17 </property> 17 </property>
18 <property stdset="1"> 18 <property stdset="1">
19 <name>caption</name> 19 <name>caption</name>
20 <string>Form1</string> 20 <string>Form1</string>
21 </property> 21 </property>
22 <property> 22 <property>
23 <name>layoutMargin</name> 23 <name>layoutMargin</name>
24 </property> 24 </property>
25 <property> 25 <property>
26 <name>layoutSpacing</name> 26 <name>layoutSpacing</name>
27 </property> 27 </property>
28 <grid> 28 <grid>
29 <property stdset="1"> 29 <property stdset="1">
30 <name>margin</name> 30 <name>margin</name>
31 <number>6</number> 31 <number>6</number>
32 </property> 32 </property>
33 <property stdset="1"> 33 <property stdset="1">
34 <name>spacing</name> 34 <name>spacing</name>
35 <number>5</number> 35 <number>5</number>
36 </property> 36 </property>
37 <widget row="0" column="0" rowspan="1" colspan="3" > 37 <widget row="0" column="0" rowspan="1" colspan="3" >
38 <class>QLayoutWidget</class> 38 <class>QLayoutWidget</class>
39 <property stdset="1"> 39 <property stdset="1">
40 <name>name</name> 40 <name>name</name>
41 <cstring>Layout5</cstring> 41 <cstring>Layout5</cstring>
42 </property> 42 </property>
43 <property> 43 <property>
44 <name>layoutSpacing</name> 44 <name>layoutSpacing</name>
45 </property> 45 </property>
46 <hbox> 46 <hbox>
47 <property stdset="1"> 47 <property stdset="1">
48 <name>margin</name> 48 <name>margin</name>
49 <number>0</number> 49 <number>0</number>
50 </property> 50 </property>
51 <property stdset="1"> 51 <property stdset="1">
52 <name>spacing</name> 52 <name>spacing</name>
53 <number>2</number> 53 <number>2</number>
54 </property> 54 </property>
55 <widget> 55 <widget>
56 <class>QLabel</class> 56 <class>QLabel</class>
57 <property stdset="1"> 57 <property stdset="1">
58 <name>name</name> 58 <name>name</name>
59 <cstring>TextLabel3_2</cstring> 59 <cstring>TextLabel3_2</cstring>
60 </property> 60 </property>
61 <property stdset="1"> 61 <property stdset="1">
62 <name>sizePolicy</name> 62 <name>sizePolicy</name>
63 <sizepolicy> 63 <sizepolicy>
64 <hsizetype>4</hsizetype> 64 <hsizetype>4</hsizetype>
65 <vsizetype>1</vsizetype> 65 <vsizetype>1</vsizetype>
66 </sizepolicy> 66 </sizepolicy>
67 </property> 67 </property>
68 <property stdset="1"> 68 <property stdset="1">
69 <name>text</name> 69 <name>text</name>
70 <string>Sniffer</string> 70 <string>Sniffer</string>
71 </property> 71 </property>
72 </widget> 72 </widget>
73 <widget> 73 <widget>
74 <class>Line</class> 74 <class>Line</class>
75 <property stdset="1"> 75 <property stdset="1">
76 <name>name</name> 76 <name>name</name>
77 <cstring>Line9</cstring> 77 <cstring>Line9</cstring>
78 </property> 78 </property>
79 <property stdset="1"> 79 <property stdset="1">
80 <name>orientation</name> 80 <name>orientation</name>
81 <enum>Horizontal</enum> 81 <enum>Horizontal</enum>
82 </property> 82 </property>
83 </widget> 83 </widget>
84 </hbox> 84 </hbox>
85 </widget> 85 </widget>
86 <widget row="1" column="0" rowspan="1" colspan="2" > 86 <widget row="1" column="0" rowspan="1" colspan="2" >
87 <class>QComboBox</class> 87 <class>QComboBox</class>
88 <property stdset="1"> 88 <property stdset="1">
89 <name>name</name> 89 <name>name</name>
90 <cstring>interfaceName</cstring> 90 <cstring>interfaceName</cstring>
91 </property> 91 </property>
92 <property stdset="1"> 92 <property stdset="1">
93 <name>enabled</name> 93 <name>enabled</name>
94 <bool>true</bool> 94 <bool>true</bool>
95 </property> 95 </property>
96 <property> 96 <property>
97 <name>whatsThis</name> 97 <name>whatsThis</name>
98 <string>Choose the interface used for sniffing.</string> 98 <string>Choose the interface used for sniffing.</string>
99 </property> 99 </property>
100 </widget> 100 </widget>
101 <widget row="2" column="0" rowspan="1" colspan="2" > 101 <widget row="2" column="0" rowspan="1" colspan="2" >
102 <class>QComboBox</class> 102 <class>QComboBox</class>
103 <item> 103 <item>
104 <property> 104 <property>
105 <name>text</name> 105 <name>text</name>
106 <string>&lt;select&gt;</string> 106 <string>&lt;select&gt;</string>
107 </property> 107 </property>
108 </item> 108 </item>
109 <item> 109 <item>
110 <property> 110 <property>
111 <name>text</name> 111 <name>text</name>
112 <string>cisco</string> 112 <string>cisco</string>
113 </property> 113 </property>
114 </item> 114 </item>
115 <item> 115 <item>
116 <property> 116 <property>
117 <name>text</name> 117 <name>text</name>
118 <string>wlan-ng</string> 118 <string>wlan-ng</string>
119 </property> 119 </property>
120 </item> 120 </item>
121 <item> 121 <item>
122 <property> 122 <property>
123 <name>text</name> 123 <name>text</name>
124 <string>hostap</string> 124 <string>hostap</string>
125 </property> 125 </property>
126 </item> 126 </item>
127 <item> 127 <item>
128 <property> 128 <property>
129 <name>text</name> 129 <name>text</name>
130 <string>orinoco</string> 130 <string>orinoco</string>
131 </property> 131 </property>
132 </item> 132 </item>
133 <item> 133 <item>
134 <property> 134 <property>
135 <name>text</name> 135 <name>text</name>
136 <string>&lt;manual&gt;</string> 136 <string>&lt;manual&gt;</string>
137 </property> 137 </property>
138 </item> 138 </item>
139 <item> 139 <item>
140 <property> 140 <property>
141 <name>text</name> 141 <name>text</name>
142 <string>&lt;file&gt;</string> 142 <string>&lt;file&gt;</string>
143 </property> 143 </property>
144 </item> 144 </item>
145 <property stdset="1"> 145 <property stdset="1">
146 <name>name</name> 146 <name>name</name>
147 <cstring>deviceType</cstring> 147 <cstring>deviceType</cstring>
148 </property> 148 </property>
149 <property stdset="1"> 149 <property stdset="1">
150 <name>enabled</name> 150 <name>enabled</name>
151 <bool>true</bool> 151 <bool>true</bool>
152 </property> 152 </property>
153 <property> 153 <property>
154 <name>whatsThis</name> 154 <name>whatsThis</name>
155 <string>Choose the type of driver used for sniffing.</string> 155 <string>Choose the type of driver used for sniffing.</string>
156 </property> 156 </property>
157 </widget> 157 </widget>
158 <widget row="3" column="0" rowspan="1" colspan="2" > 158 <widget row="3" column="0" rowspan="1" colspan="2" >
159 <class>QSpinBox</class> 159 <class>QSpinBox</class>
160 <property stdset="1"> 160 <property stdset="1">
161 <name>name</name> 161 <name>name</name>
162 <cstring>hopInterval</cstring> 162 <cstring>hopInterval</cstring>
163 </property> 163 </property>
164 <property stdset="1"> 164 <property stdset="1">
165 <name>enabled</name> 165 <name>enabled</name>
166 <bool>true</bool> 166 <bool>true</bool>
167 </property> 167 </property>
168 <property stdset="1"> 168 <property stdset="1">
169 <name>suffix</name> 169 <name>suffix</name>
170 <string> ms</string> 170 <string> ms</string>
171 </property> 171 </property>
172 <property stdset="1"> 172 <property stdset="1">
173 <name>maxValue</name> 173 <name>maxValue</name>
174 <number>2000</number> 174 <number>2000</number>
175 </property> 175 </property>
176 <property stdset="1"> 176 <property stdset="1">
177 <name>minValue</name> 177 <name>minValue</name>
178 <number>100</number> 178 <number>100</number>
179 </property> 179 </property>
180 <property stdset="1"> 180 <property stdset="1">
181 <name>lineStep</name> 181 <name>lineStep</name>
182 <number>100</number> 182 <number>100</number>
183 </property> 183 </property>
184 <property> 184 <property>
185 <name>whatsThis</name> 185 <name>whatsThis</name>
186 <string>Choose the channel hop interval.</string> 186 <string>Choose the channel hop interval.</string>
187 </property> 187 </property>
188 </widget> 188 </widget>
189 <widget row="3" column="2" > 189 <widget row="3" column="2" >
190 <class>QLabel</class> 190 <class>QLabel</class>
191 <property stdset="1"> 191 <property stdset="1">
192 <name>name</name> 192 <name>name</name>
193 <cstring>TextLabel3_3</cstring> 193 <cstring>TextLabel3_3</cstring>
194 </property> 194 </property>
195 <property stdset="1"> 195 <property stdset="1">
196 <name>enabled</name> 196 <name>enabled</name>
197 <bool>true</bool> 197 <bool>true</bool>
198 </property> 198 </property>
199 <property stdset="1"> 199 <property stdset="1">
200 <name>text</name> 200 <name>text</name>
201 <string>Hop Interval</string> 201 <string>Hop Interval</string>
202 </property> 202 </property>
203 </widget> 203 </widget>
204 <widget row="2" column="2" > 204 <widget row="2" column="2" >
205 <class>QLabel</class> 205 <class>QLabel</class>
206 <property stdset="1"> 206 <property stdset="1">
207 <name>name</name> 207 <name>name</name>
208 <cstring>TextLabel2_3</cstring> 208 <cstring>TextLabel2_3</cstring>
209 </property> 209 </property>
210 <property stdset="1"> 210 <property stdset="1">
211 <name>enabled</name> 211 <name>enabled</name>
212 <bool>true</bool> 212 <bool>true</bool>
213 </property> 213 </property>
214 <property stdset="1"> 214 <property stdset="1">
215 <name>text</name> 215 <name>text</name>
216 <string>Device Type</string> 216 <string>Device Type</string>
217 </property> 217 </property>
218 </widget> 218 </widget>
219 <widget row="1" column="2" > 219 <widget row="1" column="2" >
220 <class>QLabel</class> 220 <class>QLabel</class>
221 <property stdset="1"> 221 <property stdset="1">
222 <name>name</name> 222 <name>name</name>
223 <cstring>TextLabel1_2</cstring> 223 <cstring>TextLabel1_2</cstring>
224 </property> 224 </property>
225 <property stdset="1"> 225 <property stdset="1">
226 <name>enabled</name> 226 <name>enabled</name>
227 <bool>true</bool> 227 <bool>true</bool>
228 </property> 228 </property>
229 <property stdset="1"> 229 <property stdset="1">
230 <name>text</name> 230 <name>text</name>
231 <string>Interface Name</string> 231 <string>Interface Name</string>
232 </property> 232 </property>
233 </widget> 233 </widget>
234 <widget row="5" column="0" > 234 <widget row="5" column="0" >
235 <class>QLabel</class> 235 <class>QLabel</class>
236 <property stdset="1"> 236 <property stdset="1">
237 <name>name</name> 237 <name>name</name>
238 <cstring>TextLabel1_5</cstring> 238 <cstring>TextLabel1_5</cstring>
239 </property> 239 </property>
240 <property stdset="1"> 240 <property stdset="1">
241 <name>text</name> 241 <name>text</name>
242 <string>Fake MAC:</string> 242 <string>Fake MAC:</string>
243 </property> 243 </property>
244 </widget> 244 </widget>
245 <widget row="5" column="1" rowspan="1" colspan="2" > 245 <widget row="5" column="1" rowspan="1" colspan="2" >
246 <class>QLineEdit</class> 246 <class>QLineEdit</class>
247 <property stdset="1"> 247 <property stdset="1">
248 <name>name</name> 248 <name>name</name>
249 <cstring>MAC</cstring> 249 <cstring>MAC</cstring>
250 </property> 250 </property>
251 <property stdset="1"> 251 <property stdset="1">
252 <name>enabled</name> 252 <name>enabled</name>
253 <bool>false</bool> 253 <bool>false</bool>
254 </property> 254 </property>
255 <property stdset="1"> 255 <property stdset="1">
256 <name>text</name> 256 <name>text</name>
257 <string>44:44:44:44:44:44</string> 257 <string>44:44:44:44:44:44</string>
258 </property> 258 </property>
259 </widget> 259 </widget>
260 <widget row="4" column="0" rowspan="1" colspan="3" > 260 <widget row="4" column="0" rowspan="1" colspan="3" >
261 <class>QCheckBox</class> 261 <class>QCheckBox</class>
262 <property stdset="1"> 262 <property stdset="1">
263 <name>name</name> 263 <name>name</name>
264 <cstring>activeScanning</cstring> 264 <cstring>activeScanning</cstring>
265 </property> 265 </property>
266 <property stdset="1"> 266 <property stdset="1">
267 <name>enabled</name> 267 <name>enabled</name>
268 <bool>false</bool> 268 <bool>false</bool>
269 </property> 269 </property>
270 <property stdset="1"> 270 <property stdset="1">
271 <name>text</name> 271 <name>text</name>
272 <string>Active Scanning (caution!)</string> 272 <string>Active Scanning (caution!)</string>
273 </property> 273 </property>
274 </widget> 274 </widget>
275 <widget row="10" column="0" rowspan="1" colspan="3" > 275 <widget row="10" column="0" rowspan="1" colspan="3" >
276 <class>QLayoutWidget</class> 276 <class>QLayoutWidget</class>
277 <property stdset="1"> 277 <property stdset="1">
278 <name>name</name> 278 <name>name</name>
279 <cstring>Layout5</cstring> 279 <cstring>Layout5</cstring>
280 </property> 280 </property>
281 <grid> 281 <grid>
282 <property stdset="1"> 282 <property stdset="1">
283 <name>margin</name> 283 <name>margin</name>
284 <number>0</number> 284 <number>0</number>
285 </property> 285 </property>
286 <property stdset="1"> 286 <property stdset="1">
287 <name>spacing</name> 287 <name>spacing</name>
288 <number>6</number> 288 <number>6</number>
289 </property> 289 </property>
290 <widget row="0" column="1" > 290 <widget row="0" column="1" >
291 <class>QLabel</class> 291 <class>QLabel</class>
292 <property stdset="1"> 292 <property stdset="1">
293 <name>name</name> 293 <name>name</name>
294 <cstring>TextLabel1</cstring> 294 <cstring>TextLabel1</cstring>
295 </property> 295 </property>
296 <property stdset="1"> 296 <property stdset="1">
297 <name>text</name> 297 <name>text</name>
298 <string>sound on new net</string> 298 <string>sound on new net</string>
299 </property> 299 </property>
300 </widget> 300 </widget>
301 <widget row="1" column="0" > 301 <widget row="1" column="0" >
302 <class>QComboBox</class> 302 <class>QComboBox</class>
303 <item> 303 <item>
304 <property> 304 <property>
305 <name>text</name> 305 <name>text</name>
306 <string>Ignore</string> 306 <string>Ignore</string>
307 </property> 307 </property>
308 </item> 308 </item>
309 <item> 309 <item>
310 <property> 310 <property>
311 <name>text</name> 311 <name>text</name>
312 <string>Touch</string> 312 <string>Touch</string>
313 </property> 313 </property>
314 </item> 314 </item>
315 <item> 315 <item>
316 <property> 316 <property>
317 <name>text</name> 317 <name>text</name>
318 <string>Key</string> 318 <string>Key</string>
319 </property> 319 </property>
320 </item> 320 </item>
321 <item> 321 <item>
322 <property> 322 <property>
323 <name>text</name> 323 <name>text</name>
324 <string>Alarm</string> 324 <string>Alarm</string>
325 </property> 325 </property>
326 </item> 326 </item>
327 <property stdset="1"> 327 <property stdset="1">
328 <name>name</name> 328 <name>name</name>
329 <cstring>beaconSound</cstring> 329 <cstring>beaconSound</cstring>
330 </property> 330 </property>
331 </widget> 331 </widget>
332 <widget row="0" column="0" > 332 <widget row="0" column="0" >
333 <class>QComboBox</class> 333 <class>QComboBox</class>
334 <item> 334 <item>
335 <property> 335 <property>
336 <name>text</name> 336 <name>text</name>
337 <string>Ignore</string> 337 <string>Ignore</string>
338 </property> 338 </property>
339 </item> 339 </item>
340 <item> 340 <item>
341 <property> 341 <property>
342 <name>text</name> 342 <name>text</name>
343 <string>Touch</string> 343 <string>Touch</string>
344 </property> 344 </property>
345 </item> 345 </item>
346 <item> 346 <item>
347 <property> 347 <property>
348 <name>text</name> 348 <name>text</name>
349 <string>Key</string> 349 <string>Key</string>
350 </property> 350 </property>
351 </item> 351 </item>
352 <item> 352 <item>
353 <property> 353 <property>
354 <name>text</name> 354 <name>text</name>
355 <string>Alarm</string> 355 <string>Alarm</string>
356 </property> 356 </property>
357 </item> 357 </item>
358 <property stdset="1"> 358 <property stdset="1">
359 <name>name</name> 359 <name>name</name>
360 <cstring>netSound</cstring> 360 <cstring>netSound</cstring>
361 </property> 361 </property>
362 </widget> 362 </widget>
363 <widget row="1" column="1" > 363 <widget row="1" column="1" >
364 <class>QLabel</class> 364 <class>QLabel</class>
365 <property stdset="1"> 365 <property stdset="1">
366 <name>name</name> 366 <name>name</name>
367 <cstring>TextLabel1_3</cstring> 367 <cstring>TextLabel1_3</cstring>
368 </property> 368 </property>
369 <property stdset="1"> 369 <property stdset="1">
370 <name>text</name> 370 <name>text</name>
371 <string>sound on beacon</string> 371 <string>sound on beacon</string>
372 </property> 372 </property>
373 </widget> 373 </widget>
374 </grid> 374 </grid>
375 </widget> 375 </widget>
376 <widget row="8" column="0" rowspan="1" colspan="3" > 376 <widget row="8" column="0" rowspan="1" colspan="3" >
377 <class>QLayoutWidget</class> 377 <class>QLayoutWidget</class>
378 <property stdset="1"> 378 <property stdset="1">
379 <name>name</name> 379 <name>name</name>
380 <cstring>Layout7</cstring> 380 <cstring>Layout7</cstring>
381 </property> 381 </property>
382 <hbox> 382 <hbox>
383 <property stdset="1"> 383 <property stdset="1">
384 <name>margin</name> 384 <name>margin</name>
385 <number>0</number> 385 <number>0</number>
386 </property> 386 </property>
387 <property stdset="1"> 387 <property stdset="1">
388 <name>spacing</name> 388 <name>spacing</name>
389 <number>6</number> 389 <number>6</number>
390 </property> 390 </property>
391 <widget> 391 <widget>
392 <class>QCheckBox</class> 392 <class>QCheckBox</class>
393 <property stdset="1"> 393 <property stdset="1">
394 <name>name</name> 394 <name>name</name>
395 <cstring>writeCaptureFile</cstring> 395 <cstring>writeCaptureFile</cstring>
396 </property> 396 </property>
397 <property stdset="1"> 397 <property stdset="1">
398 <name>enabled</name> 398 <name>enabled</name>
399 <bool>true</bool> 399 <bool>true</bool>
400 </property> 400 </property>
401 <property stdset="1"> 401 <property stdset="1">
402 <name>text</name> 402 <name>text</name>
403 <string>Write Capture File</string> 403 <string>Write Capture File</string>
404 </property> 404 </property>
405 </widget> 405 </widget>
406 <widget> 406 <widget>
407 <class>QToolButton</class> 407 <class>QToolButton</class>
408 <property stdset="1"> 408 <property stdset="1">
409 <name>name</name> 409 <name>name</name>
410 <cstring>getCaptureFileName</cstring> 410 <cstring>getCaptureFileName</cstring>
411 </property> 411 </property>
412 <property stdset="1"> 412 <property stdset="1">
413 <name>enabled</name> 413 <name>enabled</name>
414 <bool>false</bool> 414 <bool>false</bool>
415 </property> 415 </property>
416 <property stdset="1"> 416 <property stdset="1">
417 <name>text</name> 417 <name>text</name>
418 <string>...</string> 418 <string>...</string>
419 </property> 419 </property>
420 </widget> 420 </widget>
421 </hbox> 421 </hbox>
422 </widget> 422 </widget>
423 <widget row="7" column="0" rowspan="1" colspan="3" > 423 <widget row="7" column="0" rowspan="1" colspan="3" >
424 <class>QLayoutWidget</class> 424 <class>QLayoutWidget</class>
425 <property stdset="1"> 425 <property stdset="1">
426 <name>name</name> 426 <name>name</name>
427 <cstring>Layout6</cstring> 427 <cstring>Layout6</cstring>
428 </property> 428 </property>
429 <property> 429 <property>
430 <name>layoutSpacing</name> 430 <name>layoutSpacing</name>
431 </property> 431 </property>
432 <hbox> 432 <hbox>
433 <property stdset="1"> 433 <property stdset="1">
434 <name>margin</name> 434 <name>margin</name>
435 <number>0</number> 435 <number>0</number>
436 </property> 436 </property>
437 <property stdset="1"> 437 <property stdset="1">
438 <name>spacing</name> 438 <name>spacing</name>
439 <number>2</number> 439 <number>2</number>
440 </property> 440 </property>
441 <widget> 441 <widget>
442 <class>QLabel</class> 442 <class>QLabel</class>
443 <property stdset="1"> 443 <property stdset="1">
444 <name>name</name> 444 <name>name</name>
445 <cstring>TextLabel3_2_2</cstring> 445 <cstring>TextLabel3_2_2</cstring>
446 </property> 446 </property>
447 <property stdset="1"> 447 <property stdset="1">
448 <name>sizePolicy</name> 448 <name>sizePolicy</name>
449 <sizepolicy> 449 <sizepolicy>
450 <hsizetype>4</hsizetype> 450 <hsizetype>4</hsizetype>
451 <vsizetype>1</vsizetype> 451 <vsizetype>1</vsizetype>
452 </sizepolicy> 452 </sizepolicy>
453 </property> 453 </property>
454 <property stdset="1"> 454 <property stdset="1">
455 <name>text</name> 455 <name>text</name>
456 <string>GUI</string> 456 <string>GUI</string>
457 </property> 457 </property>
458 </widget> 458 </widget>
459 <widget> 459 <widget>
460 <class>Line</class> 460 <class>Line</class>
461 <property stdset="1"> 461 <property stdset="1">
462 <name>name</name> 462 <name>name</name>
463 <cstring>Line9_2</cstring> 463 <cstring>Line9_2</cstring>
464 </property> 464 </property>
465 <property stdset="1"> 465 <property stdset="1">
466 <name>orientation</name> 466 <name>orientation</name>
467 <enum>Horizontal</enum> 467 <enum>Horizontal</enum>
468 </property> 468 </property>
469 </widget> 469 </widget>
470 </hbox> 470 </hbox>
471 </widget> 471 </widget>
472 <spacer row="6" column="2" > 472 <spacer row="6" column="2" >
473 <property> 473 <property>
474 <name>name</name> 474 <name>name</name>
475 <cstring>Spacer1</cstring> 475 <cstring>Spacer1</cstring>
476 </property> 476 </property>
477 <property stdset="1"> 477 <property stdset="1">
478 <name>orientation</name> 478 <name>orientation</name>
479 <enum>Vertical</enum> 479 <enum>Vertical</enum>
480 </property> 480 </property>
481 <property stdset="1"> 481 <property stdset="1">
482 <name>sizeType</name> 482 <name>sizeType</name>
483 <enum>Expanding</enum> 483 <enum>Expanding</enum>
484 </property> 484 </property>
485 <property> 485 <property>
486 <name>sizeHint</name> 486 <name>sizeHint</name>
487 <size> 487 <size>
488 <width>20</width> 488 <width>20</width>
489 <height>20</height> 489 <height>20</height>
490 </size> 490 </size>
491 </property> 491 </property>
492 </spacer> 492 </spacer>
493 <widget row="9" column="0" rowspan="1" colspan="3" > 493 <widget row="9" column="0" rowspan="1" colspan="3" >
494 <class>QLayoutWidget</class> 494 <class>QLayoutWidget</class>
495 <property stdset="1"> 495 <property stdset="1">
496 <name>name</name> 496 <name>name</name>
497 <cstring>Layout7</cstring> 497 <cstring>Layout7</cstring>
498 </property> 498 </property>
499 <hbox> 499 <hbox>
500 <property stdset="1"> 500 <property stdset="1">
501 <name>margin</name> 501 <name>margin</name>
502 <number>0</number> 502 <number>0</number>
503 </property> 503 </property>
504 <property stdset="1"> 504 <property stdset="1">
505 <name>spacing</name> 505 <name>spacing</name>
506 <number>6</number> 506 <number>6</number>
507 </property> 507 </property>
508 <widget> 508 <widget>
509 <class>QLabel</class> 509 <class>QLabel</class>
510 <property stdset="1"> 510 <property stdset="1">
511 <name>name</name> 511 <name>name</name>
512 <cstring>TextLabel1_4</cstring> 512 <cstring>TextLabel1_4</cstring>
513 </property> 513 </property>
514 <property stdset="1"> 514 <property stdset="1">
515 <name>text</name> 515 <name>text</name>
516 <string>CaptureFile:</string> 516 <string>CaptureFile:</string>
517 </property> 517 </property>
518 </widget> 518 </widget>
519 <widget> 519 <widget>
520 <class>QLineEdit</class> 520 <class>QLineEdit</class>
521 <property stdset="1"> 521 <property stdset="1">
522 <name>name</name> 522 <name>name</name>
523 <cstring>captureFileName</cstring> 523 <cstring>captureFileName</cstring>
524 </property> 524 </property>
525 <property stdset="1"> 525 <property stdset="1">
526 <name>enabled</name> 526 <name>enabled</name>
527 <bool>false</bool> 527 <bool>false</bool>
528 </property> 528 </property>
529 </widget> 529 </widget>
530 </hbox> 530 </hbox>
531 </widget> 531 </widget>
532 </grid> 532 </grid>
533</widget> 533</widget>
534<connections> 534<connections>
535 <connection> 535 <connection>
536 <sender>writeCaptureFile</sender> 536 <sender>writeCaptureFile</sender>
537 <signal>toggled(bool)</signal> 537 <signal>toggled(bool)</signal>
538 <receiver>getCaptureFileName</receiver> 538 <receiver>getCaptureFileName</receiver>
539 <slot>setEnabled(bool)</slot> 539 <slot>setEnabled(bool)</slot>
540 </connection> 540 </connection>
541 <connection> 541 <connection>
542 <sender>activeScanning</sender> 542 <sender>activeScanning</sender>
543 <signal>toggled(bool)</signal> 543 <signal>toggled(bool)</signal>
544 <receiver>MAC</receiver> 544 <receiver>MAC</receiver>
545 <slot>setEnabled(bool)</slot> 545 <slot>setEnabled(bool)</slot>
546 </connection> 546 </connection>
547 <connection> 547 <connection>
548 <sender>writeCaptureFile</sender> 548 <sender>writeCaptureFile</sender>
549 <signal>toggled(bool)</signal> 549 <signal>toggled(bool)</signal>
550 <receiver>captureFileName</receiver> 550 <receiver>captureFileName</receiver>
551 <slot>setEnabled(bool)</slot> 551 <slot>setEnabled(bool)</slot>
552 </connection> 552 </connection>
553</connections> 553</connections>
554</UI> 554</UI>
diff --git a/noncore/net/wellenreiter/gui/configbasenew.ui b/noncore/net/wellenreiter/gui/configbasenew.ui
new file mode 100644
index 0000000..1307f00
--- a/dev/null
+++ b/noncore/net/wellenreiter/gui/configbasenew.ui
@@ -0,0 +1,814 @@
1<!DOCTYPE UI><UI>
2<class>Form1</class>
3<widget>
4 <class>QDialog</class>
5 <property stdset="1">
6 <name>name</name>
7 <cstring>Form1</cstring>
8 </property>
9 <property stdset="1">
10 <name>geometry</name>
11 <rect>
12 <x>0</x>
13 <y>0</y>
14 <width>280</width>
15 <height>382</height>
16 </rect>
17 </property>
18 <property stdset="1">
19 <name>caption</name>
20 <string>Form1</string>
21 </property>
22 <property>
23 <name>layoutMargin</name>
24 </property>
25 <property>
26 <name>layoutSpacing</name>
27 </property>
28 <grid>
29 <property stdset="1">
30 <name>margin</name>
31 <number>5</number>
32 </property>
33 <property stdset="1">
34 <name>spacing</name>
35 <number>3</number>
36 </property>
37 <widget row="0" column="0" >
38 <class>QTabWidget</class>
39 <property stdset="1">
40 <name>name</name>
41 <cstring>interface</cstring>
42 </property>
43 <property>
44 <name>layoutMargin</name>
45 </property>
46 <property>
47 <name>layoutSpacing</name>
48 </property>
49 <widget>
50 <class>QWidget</class>
51 <property stdset="1">
52 <name>name</name>
53 <cstring>tab</cstring>
54 </property>
55 <attribute>
56 <name>title</name>
57 <string>Interface</string>
58 </attribute>
59 <grid>
60 <property stdset="1">
61 <name>margin</name>
62 <number>11</number>
63 </property>
64 <property stdset="1">
65 <name>spacing</name>
66 <number>6</number>
67 </property>
68 <widget row="0" column="0" >
69 <class>QLabel</class>
70 <property stdset="1">
71 <name>name</name>
72 <cstring>TextLabel1_2</cstring>
73 </property>
74 <property stdset="1">
75 <name>enabled</name>
76 <bool>true</bool>
77 </property>
78 <property stdset="1">
79 <name>text</name>
80 <string>Name:</string>
81 </property>
82 </widget>
83 <widget row="0" column="1" rowspan="1" colspan="2" >
84 <class>QComboBox</class>
85 <property stdset="1">
86 <name>name</name>
87 <cstring>name</cstring>
88 </property>
89 <property stdset="1">
90 <name>enabled</name>
91 <bool>true</bool>
92 </property>
93 <property>
94 <name>whatsThis</name>
95 <string>Choose the interface used for sniffing.</string>
96 </property>
97 </widget>
98 <widget row="1" column="0" >
99 <class>QLabel</class>
100 <property stdset="1">
101 <name>name</name>
102 <cstring>TextLabel2_3</cstring>
103 </property>
104 <property stdset="1">
105 <name>enabled</name>
106 <bool>true</bool>
107 </property>
108 <property stdset="1">
109 <name>text</name>
110 <string>Driver:</string>
111 </property>
112 </widget>
113 <widget row="1" column="1" rowspan="1" colspan="2" >
114 <class>QComboBox</class>
115 <item>
116 <property>
117 <name>text</name>
118 <string>&lt;select&gt;</string>
119 </property>
120 </item>
121 <item>
122 <property>
123 <name>text</name>
124 <string>cisco</string>
125 </property>
126 </item>
127 <item>
128 <property>
129 <name>text</name>
130 <string>wlan-ng</string>
131 </property>
132 </item>
133 <item>
134 <property>
135 <name>text</name>
136 <string>hostap</string>
137 </property>
138 </item>
139 <item>
140 <property>
141 <name>text</name>
142 <string>orinoco</string>
143 </property>
144 </item>
145 <item>
146 <property>
147 <name>text</name>
148 <string>&lt;manual&gt;</string>
149 </property>
150 </item>
151 <item>
152 <property>
153 <name>text</name>
154 <string>&lt;file&gt;</string>
155 </property>
156 </item>
157 <property stdset="1">
158 <name>name</name>
159 <cstring>driver</cstring>
160 </property>
161 <property stdset="1">
162 <name>enabled</name>
163 <bool>true</bool>
164 </property>
165 <property>
166 <name>whatsThis</name>
167 <string>Choose the type of driver used for sniffing.</string>
168 </property>
169 </widget>
170 <widget row="4" column="0" >
171 <class>QCheckBox</class>
172 <property stdset="1">
173 <name>name</name>
174 <cstring>CheckBox18</cstring>
175 </property>
176 <property stdset="1">
177 <name>text</name>
178 <string>Hop Channels</string>
179 </property>
180 <property stdset="1">
181 <name>checked</name>
182 <bool>true</bool>
183 </property>
184 </widget>
185 <widget row="4" column="1" >
186 <class>QLabel</class>
187 <property stdset="1">
188 <name>name</name>
189 <cstring>TextLabel1</cstring>
190 </property>
191 <property stdset="1">
192 <name>text</name>
193 <string>every</string>
194 </property>
195 </widget>
196 <widget row="4" column="2" >
197 <class>QSpinBox</class>
198 <property stdset="1">
199 <name>name</name>
200 <cstring>hopInterval</cstring>
201 </property>
202 <property stdset="1">
203 <name>enabled</name>
204 <bool>true</bool>
205 </property>
206 <property stdset="1">
207 <name>suffix</name>
208 <string> ms</string>
209 </property>
210 <property stdset="1">
211 <name>maxValue</name>
212 <number>2000</number>
213 </property>
214 <property stdset="1">
215 <name>minValue</name>
216 <number>100</number>
217 </property>
218 <property stdset="1">
219 <name>lineStep</name>
220 <number>100</number>
221 </property>
222 <property stdset="1">
223 <name>value</name>
224 <number>1000</number>
225 </property>
226 <property>
227 <name>whatsThis</name>
228 <string>Choose the channel hop interval.</string>
229 </property>
230 </widget>
231 <widget row="5" column="0" rowspan="1" colspan="3" >
232 <class>QGroupBox</class>
233 <property stdset="1">
234 <name>name</name>
235 <cstring>GroupBox1</cstring>
236 </property>
237 <property stdset="1">
238 <name>title</name>
239 <string>Scan on channel</string>
240 </property>
241 <grid>
242 <property stdset="1">
243 <name>margin</name>
244 <number>11</number>
245 </property>
246 <property stdset="1">
247 <name>spacing</name>
248 <number>6</number>
249 </property>
250 <widget row="1" column="1" >
251 <class>QCheckBox</class>
252 <property stdset="1">
253 <name>name</name>
254 <cstring>channel6</cstring>
255 </property>
256 <property stdset="1">
257 <name>text</name>
258 <string>6</string>
259 </property>
260 </widget>
261 <widget row="1" column="3" >
262 <class>QCheckBox</class>
263 <property stdset="1">
264 <name>name</name>
265 <cstring>channel8</cstring>
266 </property>
267 <property stdset="1">
268 <name>text</name>
269 <string>8</string>
270 </property>
271 </widget>
272 <widget row="0" column="2" >
273 <class>QCheckBox</class>
274 <property stdset="1">
275 <name>name</name>
276 <cstring>channel2</cstring>
277 </property>
278 <property stdset="1">
279 <name>text</name>
280 <string>2</string>
281 </property>
282 </widget>
283 <widget row="1" column="4" >
284 <class>QCheckBox</class>
285 <property stdset="1">
286 <name>name</name>
287 <cstring>channel9</cstring>
288 </property>
289 <property stdset="1">
290 <name>text</name>
291 <string>9</string>
292 </property>
293 </widget>
294 <widget row="0" column="1" >
295 <class>QCheckBox</class>
296 <property stdset="1">
297 <name>name</name>
298 <cstring>channel1</cstring>
299 </property>
300 <property stdset="1">
301 <name>text</name>
302 <string>1</string>
303 </property>
304 </widget>
305 <widget row="0" column="0" >
306 <class>QCheckBox</class>
307 <property stdset="1">
308 <name>name</name>
309 <cstring>channelAll</cstring>
310 </property>
311 <property stdset="1">
312 <name>text</name>
313 <string>All</string>
314 </property>
315 </widget>
316 <widget row="2" column="1" >
317 <class>QCheckBox</class>
318 <property stdset="1">
319 <name>name</name>
320 <cstring>channel11</cstring>
321 </property>
322 <property stdset="1">
323 <name>text</name>
324 <string>11</string>
325 </property>
326 </widget>
327 <widget row="2" column="0" >
328 <class>QCheckBox</class>
329 <property stdset="1">
330 <name>name</name>
331 <cstring>channel10</cstring>
332 </property>
333 <property stdset="1">
334 <name>text</name>
335 <string>10</string>
336 </property>
337 </widget>
338 <widget row="1" column="2" >
339 <class>QCheckBox</class>
340 <property stdset="1">
341 <name>name</name>
342 <cstring>channel7</cstring>
343 </property>
344 <property stdset="1">
345 <name>text</name>
346 <string>7</string>
347 </property>
348 </widget>
349 <widget row="0" column="3" >
350 <class>QCheckBox</class>
351 <property stdset="1">
352 <name>name</name>
353 <cstring>channel3</cstring>
354 </property>
355 <property stdset="1">
356 <name>text</name>
357 <string>3</string>
358 </property>
359 </widget>
360 <widget row="1" column="0" >
361 <class>QCheckBox</class>
362 <property stdset="1">
363 <name>name</name>
364 <cstring>channel5</cstring>
365 </property>
366 <property stdset="1">
367 <name>text</name>
368 <string>5</string>
369 </property>
370 </widget>
371 <widget row="0" column="4" >
372 <class>QCheckBox</class>
373 <property stdset="1">
374 <name>name</name>
375 <cstring>channel4</cstring>
376 </property>
377 <property stdset="1">
378 <name>text</name>
379 <string>4</string>
380 </property>
381 </widget>
382 <widget row="2" column="2" >
383 <class>QCheckBox</class>
384 <property stdset="1">
385 <name>name</name>
386 <cstring>channel12</cstring>
387 </property>
388 <property stdset="1">
389 <name>text</name>
390 <string>12</string>
391 </property>
392 </widget>
393 <widget row="2" column="3" >
394 <class>QCheckBox</class>
395 <property stdset="1">
396 <name>name</name>
397 <cstring>channel13</cstring>
398 </property>
399 <property stdset="1">
400 <name>text</name>
401 <string>13</string>
402 </property>
403 </widget>
404 <widget row="2" column="4" >
405 <class>QCheckBox</class>
406 <property stdset="1">
407 <name>name</name>
408 <cstring>channel14</cstring>
409 </property>
410 <property stdset="1">
411 <name>text</name>
412 <string>14</string>
413 </property>
414 </widget>
415 </grid>
416 </widget>
417 <spacer row="3" column="0" >
418 <property>
419 <name>name</name>
420 <cstring>Spacer4</cstring>
421 </property>
422 <property stdset="1">
423 <name>orientation</name>
424 <enum>Vertical</enum>
425 </property>
426 <property stdset="1">
427 <name>sizeType</name>
428 <enum>Expanding</enum>
429 </property>
430 <property>
431 <name>sizeHint</name>
432 <size>
433 <width>20</width>
434 <height>20</height>
435 </size>
436 </property>
437 </spacer>
438 <widget row="2" column="0" rowspan="1" colspan="3" >
439 <class>QCheckBox</class>
440 <property stdset="1">
441 <name>name</name>
442 <cstring>usePrismHeader</cstring>
443 </property>
444 <property stdset="1">
445 <name>text</name>
446 <string>Use additional PRISM header</string>
447 </property>
448 </widget>
449 </grid>
450 </widget>
451 <widget>
452 <class>QWidget</class>
453 <property stdset="1">
454 <name>name</name>
455 <cstring>tab</cstring>
456 </property>
457 <attribute>
458 <name>title</name>
459 <string>Capture</string>
460 </attribute>
461 <grid>
462 <property stdset="1">
463 <name>margin</name>
464 <number>5</number>
465 </property>
466 <property stdset="1">
467 <name>spacing</name>
468 <number>3</number>
469 </property>
470 <widget row="2" column="0" rowspan="1" colspan="2" >
471 <class>ProtocolListView</class>
472 <property stdset="1">
473 <name>name</name>
474 <cstring>MyCustomWidget1</cstring>
475 </property>
476 <property stdset="1">
477 <name>sizePolicy</name>
478 <sizepolicy>
479 <hsizetype>7</hsizetype>
480 <vsizetype>7</vsizetype>
481 </sizepolicy>
482 </property>
483 </widget>
484 <widget row="0" column="0" >
485 <class>QCheckBox</class>
486 <property stdset="1">
487 <name>name</name>
488 <cstring>writeCaptureFile</cstring>
489 </property>
490 <property stdset="1">
491 <name>enabled</name>
492 <bool>true</bool>
493 </property>
494 <property stdset="1">
495 <name>text</name>
496 <string>Write Capture Files To</string>
497 </property>
498 </widget>
499 <widget row="0" column="1" >
500 <class>QToolButton</class>
501 <property stdset="1">
502 <name>name</name>
503 <cstring>getCaptureFileName</cstring>
504 </property>
505 <property stdset="1">
506 <name>enabled</name>
507 <bool>false</bool>
508 </property>
509 <property stdset="1">
510 <name>text</name>
511 <string>...</string>
512 </property>
513 </widget>
514 <widget row="1" column="0" rowspan="1" colspan="2" >
515 <class>QLineEdit</class>
516 <property stdset="1">
517 <name>name</name>
518 <cstring>captureFileName</cstring>
519 </property>
520 <property stdset="1">
521 <name>enabled</name>
522 <bool>false</bool>
523 </property>
524 </widget>
525 </grid>
526 </widget>
527 <widget>
528 <class>QWidget</class>
529 <property stdset="1">
530 <name>name</name>
531 <cstring>tab</cstring>
532 </property>
533 <attribute>
534 <name>title</name>
535 <string>Parse</string>
536 </attribute>
537 <grid>
538 <property stdset="1">
539 <name>margin</name>
540 <number>5</number>
541 </property>
542 <property stdset="1">
543 <name>spacing</name>
544 <number>3</number>
545 </property>
546 <widget row="0" column="0" >
547 <class>ProtocolListView</class>
548 <property stdset="1">
549 <name>name</name>
550 <cstring>parsePackets</cstring>
551 </property>
552 <property stdset="1">
553 <name>sizePolicy</name>
554 <sizepolicy>
555 <hsizetype>7</hsizetype>
556 <vsizetype>7</vsizetype>
557 </sizepolicy>
558 </property>
559 </widget>
560 </grid>
561 </widget>
562 <widget>
563 <class>QWidget</class>
564 <property stdset="1">
565 <name>name</name>
566 <cstring>tab</cstring>
567 </property>
568 <attribute>
569 <name>title</name>
570 <string>Intrusion</string>
571 </attribute>
572 <grid>
573 <property stdset="1">
574 <name>margin</name>
575 <number>11</number>
576 </property>
577 <property stdset="1">
578 <name>spacing</name>
579 <number>6</number>
580 </property>
581 <widget row="1" column="0" >
582 <class>QGroupBox</class>
583 <property stdset="1">
584 <name>name</name>
585 <cstring>GroupBox3</cstring>
586 </property>
587 <property stdset="1">
588 <name>enabled</name>
589 <bool>false</bool>
590 </property>
591 <property stdset="1">
592 <name>title</name>
593 <string>Link Level</string>
594 </property>
595 <grid>
596 <property stdset="1">
597 <name>margin</name>
598 <number>11</number>
599 </property>
600 <property stdset="1">
601 <name>spacing</name>
602 <number>6</number>
603 </property>
604 <widget row="0" column="0" >
605 <class>QLabel</class>
606 <property stdset="1">
607 <name>name</name>
608 <cstring>TextLabel1_5</cstring>
609 </property>
610 <property stdset="1">
611 <name>text</name>
612 <string>Fake Mac:</string>
613 </property>
614 </widget>
615 <widget row="1" column="0" rowspan="1" colspan="2" >
616 <class>QCheckBox</class>
617 <property stdset="1">
618 <name>name</name>
619 <cstring>sendProbeRequests</cstring>
620 </property>
621 <property stdset="1">
622 <name>text</name>
623 <string>Send proble requests</string>
624 </property>
625 </widget>
626 <widget row="0" column="1" >
627 <class>QComboBox</class>
628 <item>
629 <property>
630 <name>text</name>
631 <string>44:44:44:44:44:44</string>
632 </property>
633 </item>
634 <item>
635 <property>
636 <name>text</name>
637 <string>&lt;automatic&gt;</string>
638 </property>
639 </item>
640 <property stdset="1">
641 <name>name</name>
642 <cstring>fakeMac</cstring>
643 </property>
644 <property stdset="1">
645 <name>sizePolicy</name>
646 <sizepolicy>
647 <hsizetype>7</hsizetype>
648 <vsizetype>0</vsizetype>
649 </sizepolicy>
650 </property>
651 <property stdset="1">
652 <name>editable</name>
653 <bool>true</bool>
654 </property>
655 <property stdset="1">
656 <name>autoCompletion</name>
657 <bool>true</bool>
658 </property>
659 </widget>
660 <widget row="2" column="0" rowspan="1" colspan="2" >
661 <class>QCheckBox</class>
662 <property stdset="1">
663 <name>name</name>
664 <cstring>tryToAuthenticate</cstring>
665 </property>
666 <property stdset="1">
667 <name>text</name>
668 <string>Try to authenticate</string>
669 </property>
670 </widget>
671 </grid>
672 </widget>
673 <widget row="0" column="0" >
674 <class>QCheckBox</class>
675 <property stdset="1">
676 <name>name</name>
677 <cstring>enableActiveScanning</cstring>
678 </property>
679 <property stdset="1">
680 <name>enabled</name>
681 <bool>false</bool>
682 </property>
683 <property stdset="1">
684 <name>text</name>
685 <string>Enable active scanning</string>
686 </property>
687 </widget>
688 <widget row="2" column="0" >
689 <class>QGroupBox</class>
690 <property stdset="1">
691 <name>name</name>
692 <cstring>GroupBox4</cstring>
693 </property>
694 <property stdset="1">
695 <name>enabled</name>
696 <bool>false</bool>
697 </property>
698 <property stdset="1">
699 <name>title</name>
700 <string>IP Level</string>
701 </property>
702 <grid>
703 <property stdset="1">
704 <name>margin</name>
705 <number>11</number>
706 </property>
707 <property stdset="1">
708 <name>spacing</name>
709 <number>6</number>
710 </property>
711 <widget row="1" column="0" rowspan="1" colspan="2" >
712 <class>QCheckBox</class>
713 <property stdset="1">
714 <name>name</name>
715 <cstring>CheckBox24</cstring>
716 </property>
717 <property stdset="1">
718 <name>text</name>
719 <string>Request DHCP Address</string>
720 </property>
721 </widget>
722 <widget row="0" column="0" >
723 <class>QLabel</class>
724 <property stdset="1">
725 <name>name</name>
726 <cstring>TextLabel1_5_2</cstring>
727 </property>
728 <property stdset="1">
729 <name>text</name>
730 <string>Fake IP:</string>
731 </property>
732 </widget>
733 <widget row="0" column="1" >
734 <class>QComboBox</class>
735 <item>
736 <property>
737 <name>text</name>
738 <string>192.168.125.1</string>
739 </property>
740 </item>
741 <item>
742 <property>
743 <name>text</name>
744 <string>&lt;automatic&gt;</string>
745 </property>
746 </item>
747 <property stdset="1">
748 <name>name</name>
749 <cstring>ComboBox10</cstring>
750 </property>
751 <property stdset="1">
752 <name>sizePolicy</name>
753 <sizepolicy>
754 <hsizetype>7</hsizetype>
755 <vsizetype>0</vsizetype>
756 </sizepolicy>
757 </property>
758 </widget>
759 </grid>
760 </widget>
761 </grid>
762 </widget>
763 </widget>
764 </grid>
765</widget>
766<customwidgets>
767 <customwidget>
768 <class>ProtocolListView</class>
769 <header location="local">protolistview.h</header>
770 <sizehint>
771 <width>100</width>
772 <height>100</height>
773 </sizehint>
774 <container>0</container>
775 <sizepolicy>
776 <hordata>3</hordata>
777 <verdata>3</verdata>
778 </sizepolicy>
779 <pixmap>image0</pixmap>
780 </customwidget>
781</customwidgets>
782<images>
783 <image>
784 <name>image0</name>
785 <data format="XPM.GZ" length="646">789c6dd2c10ac2300c00d07bbf2234b7229d1be245fc04c5a3201e4615f430059d0711ff5ddb2e6bb236ec90eed134cb5a19d8ef36602af5ecdbfeeac05dda0798d3abebde87e3faa374d3807fa0d633a52d38d8de6f679fe33fc776e196f53cd010188256a3600a292882096246517815ca99884606e18044a3a40d91824820924265a7923a2e8bcd05f33db1173e002913175f2a6be6d3294871a2d95fa00e8a94ee017b69d339d90df1e77c57ea072ede6758</data>
786 </image>
787</images>
788<connections>
789 <connection>
790 <sender>CheckBox18</sender>
791 <signal>toggled(bool)</signal>
792 <receiver>hopInterval</receiver>
793 <slot>setEnabled(bool)</slot>
794 </connection>
795 <connection>
796 <sender>CheckBox18</sender>
797 <signal>toggled(bool)</signal>
798 <receiver>TextLabel1</receiver>
799 <slot>setEnabled(bool)</slot>
800 </connection>
801 <connection>
802 <sender>enableActiveScanning</sender>
803 <signal>toggled(bool)</signal>
804 <receiver>GroupBox3</receiver>
805 <slot>setEnabled(bool)</slot>
806 </connection>
807 <connection>
808 <sender>enableActiveScanning</sender>
809 <signal>toggled(bool)</signal>
810 <receiver>GroupBox4</receiver>
811 <slot>setEnabled(bool)</slot>
812 </connection>
813</connections>
814</UI>
diff --git a/noncore/net/wellenreiter/gui/configwindow.cpp b/noncore/net/wellenreiter/gui/configwindow.cpp
index 716618e..92715b4 100644
--- a/noncore/net/wellenreiter/gui/configwindow.cpp
+++ b/noncore/net/wellenreiter/gui/configwindow.cpp
@@ -1,140 +1,146 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2002 Michael 'Mickey' Lauer. All rights reserved. 2** Copyright (C) 2002 Michael 'Mickey' Lauer. All rights reserved.
3** 3**
4** This file is part of Opie Environment. 4** This file is part of Opie Environment.
5** 5**
6** This file may be distributed and/or modified under the terms of the 6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software 7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the 8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file. 9** packaging of this file.
10** 10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14**********************************************************************/ 14**********************************************************************/
15 15
16/* LOCAL */ 16/* LOCAL */
17#include "configwindow.h" 17#include "configwindow.h"
18#include "mainwindow.h" 18#include "mainwindow.h"
19 19
20/* QT */ 20/* QT */
21#include <qapplication.h> 21#include <qapplication.h>
22#include <qcombobox.h> 22#include <qcombobox.h>
23#include <qfile.h> 23#include <qfile.h>
24#include <qlineedit.h> 24#include <qlineedit.h>
25#include <qlayout.h> 25#include <qlayout.h>
26#include <qmap.h> 26#include <qmap.h>
27#include <qpushbutton.h> 27#include <qpushbutton.h>
28#include <qtoolbutton.h> 28#include <qtoolbutton.h>
29#include <qspinbox.h> 29#include <qspinbox.h>
30#include <qtextstream.h> 30#include <qtextstream.h>
31 31
32/* OPIE */ 32/* OPIE */
33#include <opie2/onetwork.h> 33#include <opie2/onetwork.h>
34 34
35WellenreiterConfigWindow* WellenreiterConfigWindow::_instance = 0; 35WellenreiterConfigWindow* WellenreiterConfigWindow::_instance = 0;
36 36
37WellenreiterConfigWindow::WellenreiterConfigWindow( QWidget * parent, const char * name, WFlags f ) 37WellenreiterConfigWindow::WellenreiterConfigWindow( QWidget * parent, const char * name, WFlags f )
38 :WellenreiterConfigBase( parent, name, true, f ) 38 :WellenreiterConfigBase( parent, name, true, f )
39{ 39{
40 _devicetype[ "cisco" ] = DEVTYPE_CISCO; 40 _devicetype[ "cisco" ] = DEVTYPE_CISCO;
41 _devicetype[ "wlan-ng" ] = DEVTYPE_WLAN_NG; 41 _devicetype[ "wlan-ng" ] = DEVTYPE_WLAN_NG;
42 _devicetype[ "hostap" ] = DEVTYPE_HOSTAP; 42 _devicetype[ "hostap" ] = DEVTYPE_HOSTAP;
43 _devicetype[ "orinoco" ] = DEVTYPE_ORINOCO; 43 _devicetype[ "orinoco" ] = DEVTYPE_ORINOCO;
44 _devicetype[ "<manual>" ] = DEVTYPE_MANUAL; 44 _devicetype[ "<manual>" ] = DEVTYPE_MANUAL;
45 _devicetype[ "<file>" ] = DEVTYPE_FILE; 45 _devicetype[ "<file>" ] = DEVTYPE_FILE;
46 46
47 // gather possible interface names from ONetwork 47 // gather possible interface names from ONetwork
48 ONetwork* net = ONetwork::instance(); 48 ONetwork* net = ONetwork::instance();
49 ONetwork::InterfaceIterator it = net->iterator(); 49 ONetwork::InterfaceIterator it = net->iterator();
50 while ( it.current() ) 50 while ( it.current() )
51 { 51 {
52 if ( it.current()->isWireless() ) 52 if ( it.current()->isWireless() )
53 interfaceName->insertItem( it.current()->name() ); 53 interfaceName->insertItem( it.current()->name() );
54 ++it; 54 ++it;
55 } 55 }
56 56
57 // try to guess device type 57 // try to guess device type
58 QFile m( "/proc/modules" ); 58 QFile m( "/proc/modules" );
59 if ( m.open( IO_ReadOnly ) ) 59 if ( m.open( IO_ReadOnly ) )
60 { 60 {
61 int devicetype(0); 61 int devicetype(0);
62 QString line; 62 QString line;
63 QTextStream modules( &m ); 63 QTextStream modules( &m );
64 while( !modules.atEnd() && !devicetype ) 64 while( !modules.atEnd() && !devicetype )
65 { 65 {
66 modules >> line; 66 modules >> line;
67 if ( line.contains( "cisco" ) ) devicetype = DEVTYPE_CISCO; 67 if ( line.contains( "cisco" ) ) devicetype = DEVTYPE_CISCO;
68 else if ( line.contains( "hostap" ) ) devicetype = DEVTYPE_HOSTAP; 68 else if ( line.contains( "hostap" ) ) devicetype = DEVTYPE_HOSTAP;
69 else if ( line.contains( "prism" ) ) devicetype = DEVTYPE_WLAN_NG; 69 else if ( line.contains( "prism" ) ) devicetype = DEVTYPE_WLAN_NG;
70 else if ( line.contains( "orinoco" ) ) devicetype = DEVTYPE_ORINOCO; 70 else if ( line.contains( "orinoco" ) ) devicetype = DEVTYPE_ORINOCO;
71 } 71 }
72 if ( devicetype ) 72 if ( devicetype )
73 { 73 {
74 deviceType->setCurrentItem( devicetype ); 74 deviceType->setCurrentItem( devicetype );
75 _guess = devicetype; 75 _guess = devicetype;
76 qDebug( "Wellenreiter: guessed device type to be #%d", devicetype ); 76 qDebug( "Wellenreiter: guessed device type to be #%d", devicetype );
77 } 77 }
78 } 78 }
79 79
80 #ifdef Q_WS_X11 // We're on X11: adding an Ok-Button for the Dialog here 80 #ifdef Q_WS_X11 // We're on X11: adding an Ok-Button for the Dialog here
81 QPushButton* okButton = new QPushButton( "ok", this ); 81 QPushButton* okButton = new QPushButton( "ok", this );
82 okButton->show(); 82 okButton->show();
83 Layout5_2->addWidget( okButton, 0, 3 ); //FIXME: rename this in configbase.ui 83 Layout5_2->addWidget( okButton, 0, 3 ); //FIXME: rename this in configbase.ui
84 connect( okButton, SIGNAL( clicked() ), this, SLOT( accept() ) ); 84 connect( okButton, SIGNAL( clicked() ), this, SLOT( accept() ) );
85 #endif 85 #endif
86 86
87 WellenreiterConfigWindow::_instance = this; 87 WellenreiterConfigWindow::_instance = this;
88 88
89 connect( deviceType, SIGNAL( activated(int) ), this, SLOT( changedDeviceType(int) ) ); 89 connect( deviceType, SIGNAL( activated(int) ), this, SLOT( changedDeviceType(int) ) );
90 connect( getCaptureFileName, SIGNAL( clicked() ), this, SLOT( getCaptureFileNameClicked() ) ); 90 connect( getCaptureFileName, SIGNAL( clicked() ), this, SLOT( getCaptureFileNameClicked() ) );
91}; 91};
92 92
93 93
94int WellenreiterConfigWindow::daemonDeviceType() 94int WellenreiterConfigWindow::daemonDeviceType()
95{ 95{
96 QString name = deviceType->currentText(); 96 QString name = deviceType->currentText();
97 if ( _devicetype.contains( name ) ) 97 if ( _devicetype.contains( name ) )
98 { 98 {
99 return _devicetype[name]; 99 return _devicetype[name];
100 } 100 }
101 else 101 else
102 { 102 {
103 return 0; 103 return 0;
104 } 104 }
105}; 105};
106 106
107 107
108int WellenreiterConfigWindow::daemonHopInterval() 108int WellenreiterConfigWindow::daemonHopInterval()
109{ 109{
110 return hopInterval->cleanText().toInt(); 110 return hopInterval->cleanText().toInt();
111} 111}
112 112
113 113
114void WellenreiterConfigWindow::changedDeviceType(int t) 114void WellenreiterConfigWindow::changedDeviceType(int t)
115{ 115{
116 if ( t != DEVTYPE_FILE ) return; 116 if ( t != DEVTYPE_FILE ) return;
117 QString name = ( (WellenreiterMainWindow*) qApp->mainWidget() )->getFileName(false); 117 QString name = ( (WellenreiterMainWindow*) qApp->mainWidget() )->getFileName(false);
118 if ( !name.isEmpty() && QFile::exists( name ) ) 118 if ( !name.isEmpty() && QFile::exists( name ) )
119 { 119 {
120 interfaceName->insertItem( name ); 120 interfaceName->insertItem( name );
121 interfaceName->setCurrentItem( interfaceName->count()-1 ); 121 interfaceName->setCurrentItem( interfaceName->count()-1 );
122 } 122 }
123 else 123 else
124 { 124 {
125 deviceType->setCurrentItem( _guess ); 125 deviceType->setCurrentItem( _guess );
126 } 126 }
127 127
128} 128}
129 129
130 130
131void WellenreiterConfigWindow::getCaptureFileNameClicked() 131void WellenreiterConfigWindow::getCaptureFileNameClicked()
132{ 132{
133 QString name = ( (WellenreiterMainWindow*) qApp->mainWidget() )->getFileName(true); 133 QString name = ( (WellenreiterMainWindow*) qApp->mainWidget() )->getFileName(true);
134 qDebug( "name = %s", (const char*) name ); 134 qDebug( "name = %s", (const char*) name );
135 if ( !name.isEmpty() ) 135 if ( !name.isEmpty() )
136 { 136 {
137 captureFileName->setText( name ); 137 captureFileName->setText( name );
138 } 138 }
139} 139}
140 140
141
142bool WellenreiterConfigWindow::usePrismHeader()
143{
144 return true;
145 //return interface->usePrismHeader();
146}
diff --git a/noncore/net/wellenreiter/gui/configwindow.h b/noncore/net/wellenreiter/gui/configwindow.h
index c7c70a6..11ae5b8 100644
--- a/noncore/net/wellenreiter/gui/configwindow.h
+++ b/noncore/net/wellenreiter/gui/configwindow.h
@@ -1,57 +1,59 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2002 Michael 'Mickey' Lauer. All rights reserved. 2** Copyright (C) 2002 Michael 'Mickey' Lauer. All rights reserved.
3** 3**
4** This file is part of Opie Environment. 4** This file is part of Opie Environment.
5** 5**
6** This file may be distributed and/or modified under the terms of the 6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software 7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the 8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file. 9** packaging of this file.
10** 10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14**********************************************************************/ 14**********************************************************************/
15 15
16#ifndef WELLENREITERCONFIGWINDOW_H 16#ifndef WELLENREITERCONFIGWINDOW_H
17#define WELLENREITERCONFIGWINDOW_H 17#define WELLENREITERCONFIGWINDOW_H
18 18
19#include "configbase.h" 19#include "configbase.h"
20#include <qmap.h> 20#include <qmap.h>
21#include <qcombobox.h> 21#include <qcombobox.h>
22#include <qstring.h> 22#include <qstring.h>
23 23
24const int DEVTYPE_SELECT = 0; 24const int DEVTYPE_SELECT = 0;
25const int DEVTYPE_CISCO = 1; 25const int DEVTYPE_CISCO = 1;
26const int DEVTYPE_WLAN_NG = 2; 26const int DEVTYPE_WLAN_NG = 2;
27const int DEVTYPE_HOSTAP = 3; 27const int DEVTYPE_HOSTAP = 3;
28const int DEVTYPE_ORINOCO = 4; 28const int DEVTYPE_ORINOCO = 4;
29const int DEVTYPE_MANUAL = 5; 29const int DEVTYPE_MANUAL = 5;
30const int DEVTYPE_FILE = 6; 30const int DEVTYPE_FILE = 6;
31 31
32class WellenreiterConfigWindow; 32class WellenreiterConfigWindow;
33 33
34class WellenreiterConfigWindow : public WellenreiterConfigBase 34class WellenreiterConfigWindow : public WellenreiterConfigBase
35{ 35{
36 Q_OBJECT 36 Q_OBJECT
37 37
38 public: 38 public:
39 WellenreiterConfigWindow( QWidget * parent = 0, const char * name = "WellenreiterConfigWindow", WFlags f = 0 ); 39 WellenreiterConfigWindow( QWidget * parent = 0, const char * name = "WellenreiterConfigWindow", WFlags f = 0 );
40 int daemonDeviceType(); 40 int daemonDeviceType();
41 int daemonHopInterval(); 41 int daemonHopInterval();
42 const QString soundOnNetwork() const { return netSound->currentText(); }; 42 const QString soundOnNetwork() const { return netSound->currentText(); };
43 const QString soundOnBeacon() const { return beaconSound->currentText(); }; 43 const QString soundOnBeacon() const { return beaconSound->currentText(); };
44 static WellenreiterConfigWindow* instance() { return _instance; }; 44 static WellenreiterConfigWindow* instance() { return _instance; };
45 45
46 bool usePrismHeader();
47
46 public slots: 48 public slots:
47 void changedDeviceType(int); 49 void changedDeviceType(int);
48 void getCaptureFileNameClicked(); 50 void getCaptureFileNameClicked();
49 51
50 protected: 52 protected:
51 QMap<QString, int> _devicetype; 53 QMap<QString, int> _devicetype;
52 static WellenreiterConfigWindow* _instance; 54 static WellenreiterConfigWindow* _instance;
53 int _guess; 55 int _guess;
54 56
55}; 57};
56 58
57#endif 59#endif
diff --git a/noncore/net/wellenreiter/gui/gui.pro b/noncore/net/wellenreiter/gui/gui.pro
index 62e1d9a..a11698f 100644
--- a/noncore/net/wellenreiter/gui/gui.pro
+++ b/noncore/net/wellenreiter/gui/gui.pro
@@ -1,65 +1,65 @@
1MOC_DIR = ./tmp 1MOC_DIR = ./tmp
2OBJECTS_DIR = ./tmp 2OBJECTS_DIR = ./tmp
3DESTDIR = $(OPIEDIR)/bin 3DESTDIR = $(OPIEDIR)/bin
4TEMPLATE = app 4TEMPLATE = app
5CONFIG = qt warn_on debug 5CONFIG = qt warn_on debug
6 6
7HEADERS = wellenreiterbase.h \ 7HEADERS = wellenreiterbase.h \
8 mainwindow.h \ 8 mainwindow.h \
9 wellenreiter.h \ 9 wellenreiter.h \
10 scanlist.h \ 10 scanlist.h \
11 logwindow.h \ 11 logwindow.h \
12 hexwindow.h \ 12 hexwindow.h \
13 statwindow.h \ 13 statwindow.h \
14 configwindow.h \ 14 configwindow.h \
15 manufacturers.h \ 15 manufacturers.h \
16 graphwindow.h 16 graphwindow.h
17 17
18SOURCES = main.cpp \ 18SOURCES = main.cpp \
19 mainwindow.cpp \ 19 mainwindow.cpp \
20 wellenreiterbase.cpp \ 20 wellenreiterbase.cpp \
21 wellenreiter.cpp \ 21 wellenreiter.cpp \
22 scanlist.cpp \ 22 scanlist.cpp \
23 logwindow.cpp \ 23 logwindow.cpp \
24 hexwindow.cpp \ 24 hexwindow.cpp \
25 statwindow.cpp \ 25 statwindow.cpp \
26 configwindow.cpp \ 26 configwindow.cpp \
27 manufacturers.cpp \ 27 manufacturers.cpp \
28 graphwindow.cpp 28 graphwindow.cpp
29 29
30INCLUDEPATH += $(OPIEDIR)/include 30INCLUDEPATH += $(OPIEDIR)/include
31DEPENDPATH += $(OPIEDIR)/include 31DEPENDPATH += $(OPIEDIR)/include
32INTERFACES = configbase.ui 32INTERFACES = configbase.ui #configbasenew.ui
33TARGET = wellenreiter 33TARGET = wellenreiter
34 34
35!contains( platform, x11 ) { 35!contains( platform, x11 ) {
36 message( qws ) 36 message( qws )
37 include ( $(OPIEDIR)/include.pro ) 37 include ( $(OPIEDIR)/include.pro )
38 LIBS += -lqpe -lopie -lopiecore2 -lopieui2 -lopienet2 -lstdc++ 38 LIBS += -lqpe -lopie -lopiecore2 -lopieui2 -lopienet2 -lstdc++
39} 39}
40 40
41contains( platform, x11 ) { 41contains( platform, x11 ) {
42 LIBS += -L$(OPIEDIR)/output/lib -Wl,-rpath,$(OPIEDIR)/output/lib -Wl,-rpath,/usr/local/lib -lwellenreiter 42 LIBS += -L$(OPIEDIR)/output/lib -Wl,-rpath,$(OPIEDIR)/output/lib -Wl,-rpath,/usr/local/lib -lwellenreiter
43 SOURCES += resource.cpp 43 SOURCES += resource.cpp
44 HEADERS += resource.h 44 HEADERS += resource.h
45 DESTDIR = $(OPIEDIR)/output/bin 45 DESTDIR = $(OPIEDIR)/output/bin
46} 46}
47 47
48TRANSLATIONS = ../../../../i18n/de/wellenreiter.ts \ 48TRANSLATIONS = ../../../../i18n/de/wellenreiter.ts \
49 ../../../../i18n/nl/wellenreiter.ts \ 49 ../../../../i18n/nl/wellenreiter.ts \
50 ../../../../i18n/da/wellenreiter.ts \ 50 ../../../../i18n/da/wellenreiter.ts \
51 ../../../../i18n/xx/wellenreiter.ts \ 51 ../../../../i18n/xx/wellenreiter.ts \
52 ../../../../i18n/en/wellenreiter.ts \ 52 ../../../../i18n/en/wellenreiter.ts \
53 ../../../../i18n/es/wellenreiter.ts \ 53 ../../../../i18n/es/wellenreiter.ts \
54 ../../../../i18n/fr/wellenreiter.ts \ 54 ../../../../i18n/fr/wellenreiter.ts \
55 ../../../../i18n/hu/wellenreiter.ts \ 55 ../../../../i18n/hu/wellenreiter.ts \
56 ../../../../i18n/ja/wellenreiter.ts \ 56 ../../../../i18n/ja/wellenreiter.ts \
57 ../../../../i18n/ko/wellenreiter.ts \ 57 ../../../../i18n/ko/wellenreiter.ts \
58 ../../../../i18n/no/wellenreiter.ts \ 58 ../../../../i18n/no/wellenreiter.ts \
59 ../../../../i18n/pl/wellenreiter.ts \ 59 ../../../../i18n/pl/wellenreiter.ts \
60 ../../../../i18n/pt/wellenreiter.ts \ 60 ../../../../i18n/pt/wellenreiter.ts \
61 ../../../../i18n/pt_BR/wellenreiter.ts \ 61 ../../../../i18n/pt_BR/wellenreiter.ts \
62 ../../../../i18n/sl/wellenreiter.ts \ 62 ../../../../i18n/sl/wellenreiter.ts \
63 ../../../../i18n/zh_CN/wellenreiter.ts \ 63 ../../../../i18n/zh_CN/wellenreiter.ts \
64 ../../../../i18n/zh_TW/wellenreiter.ts 64 ../../../../i18n/zh_TW/wellenreiter.ts
65 65
diff --git a/noncore/net/wellenreiter/gui/protolistview.cpp b/noncore/net/wellenreiter/gui/protolistview.cpp
new file mode 100644
index 0000000..e69de29
--- a/dev/null
+++ b/noncore/net/wellenreiter/gui/protolistview.cpp
diff --git a/noncore/net/wellenreiter/gui/protolistview.h b/noncore/net/wellenreiter/gui/protolistview.h
new file mode 100644
index 0000000..e69de29
--- a/dev/null
+++ b/noncore/net/wellenreiter/gui/protolistview.h
diff --git a/noncore/net/wellenreiter/gui/wellenreiter.cpp b/noncore/net/wellenreiter/gui/wellenreiter.cpp
index 9e1010b..705aab6 100644
--- a/noncore/net/wellenreiter/gui/wellenreiter.cpp
+++ b/noncore/net/wellenreiter/gui/wellenreiter.cpp
@@ -1,431 +1,433 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2002 Michael 'Mickey' Lauer. All rights reserved. 2** Copyright (C) 2002 Michael 'Mickey' Lauer. All rights reserved.
3** 3**
4** This file is part of Opie Environment. 4** This file is part of Opie Environment.
5** 5**
6** This file may be distributed and/or modified under the terms of the 6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software 7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the 8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file. 9** packaging of this file.
10** 10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14***********************************************************************/ 14***********************************************************************/
15 15
16// Opie 16// Opie
17 17
18#ifdef QWS 18#ifdef QWS
19#include <opie/odevice.h> 19#include <opie/odevice.h>
20using namespace Opie; 20using namespace Opie;
21#endif 21#endif
22 22
23#ifdef QWS 23#ifdef QWS
24#include <opie2/oapplication.h> 24#include <opie2/oapplication.h>
25#else 25#else
26#include <qapplication.h> 26#include <qapplication.h>
27#endif 27#endif
28#include <opie2/onetwork.h> 28#include <opie2/onetwork.h>
29#include <opie2/opcap.h> 29#include <opie2/opcap.h>
30 30
31// Qt 31// Qt
32 32
33#include <qcheckbox.h> 33#include <qcheckbox.h>
34#include <qcombobox.h> 34#include <qcombobox.h>
35#include <qdatetime.h> 35#include <qdatetime.h>
36#include <qpushbutton.h> 36#include <qpushbutton.h>
37#include <qlineedit.h> 37#include <qlineedit.h>
38#include <qmessagebox.h> 38#include <qmessagebox.h>
39#include <qregexp.h> 39#include <qregexp.h>
40#include <qspinbox.h> 40#include <qspinbox.h>
41#include <qtoolbutton.h> 41#include <qtoolbutton.h>
42#include <qmainwindow.h> 42#include <qmainwindow.h>
43 43
44// Standard 44// Standard
45 45
46#include <assert.h> 46#include <assert.h>
47#include <errno.h> 47#include <errno.h>
48#include <unistd.h> 48#include <unistd.h>
49#include <string.h> 49#include <string.h>
50#include <sys/types.h> 50#include <sys/types.h>
51#include <stdlib.h> 51#include <stdlib.h>
52 52
53// Local 53// Local
54 54
55#include "wellenreiter.h" 55#include "wellenreiter.h"
56#include "scanlist.h" 56#include "scanlist.h"
57#include "logwindow.h" 57#include "logwindow.h"
58#include "hexwindow.h" 58#include "hexwindow.h"
59#include "configwindow.h" 59#include "configwindow.h"
60#include "statwindow.h" 60#include "statwindow.h"
61#include "graphwindow.h" 61#include "graphwindow.h"
62#include "manufacturers.h" 62#include "manufacturers.h"
63 63
64Wellenreiter::Wellenreiter( QWidget* parent ) 64Wellenreiter::Wellenreiter( QWidget* parent )
65 : WellenreiterBase( parent, 0, 0 ), 65 : WellenreiterBase( parent, 0, 0 ),
66 sniffing( false ), iface( 0 ), manufacturerdb( 0 ), configwindow( 0 ) 66 sniffing( false ), iface( 0 ), manufacturerdb( 0 ), configwindow( 0 )
67{ 67{
68 68
69 // 69 //
70 // construct manufacturer database 70 // construct manufacturer database
71 // 71 //
72 72
73 QString manufile; 73 QString manufile;
74 #ifdef QWS 74 #ifdef QWS
75 manufile.sprintf( "%s/share/wellenreiter/manufacturers.dat", (const char*) QPEApplication::qpeDir() ); 75 manufile.sprintf( "%s/share/wellenreiter/manufacturers.dat", (const char*) QPEApplication::qpeDir() );
76 #else 76 #else
77 manufile.sprintf( "/usr/local/share/wellenreiter/manufacturers.dat" ); 77 manufile.sprintf( "/usr/local/share/wellenreiter/manufacturers.dat" );
78 #endif 78 #endif
79 manufacturerdb = new ManufacturerDB( manufile ); 79 manufacturerdb = new ManufacturerDB( manufile );
80 80
81 logwindow->log( "(i) Wellenreiter has been started." ); 81 logwindow->log( "(i) Wellenreiter has been started." );
82 82
83 // 83 //
84 // detect operating system 84 // detect operating system
85 // 85 //
86 86
87 #ifdef QWS 87 #ifdef QWS
88 QString sys; 88 QString sys;
89 sys.sprintf( "(i) Running on '%s'.", (const char*) ODevice::inst()->systemString() ); 89 sys.sprintf( "(i) Running on '%s'.", (const char*) ODevice::inst()->systemString() );
90 _system = ODevice::inst()->system(); 90 _system = ODevice::inst()->system();
91 logwindow->log( sys ); 91 logwindow->log( sys );
92 #endif 92 #endif
93 93
94 // setup GUI 94 // setup GUI
95 netview->setColumnWidthMode( 1, QListView::Manual ); 95 netview->setColumnWidthMode( 1, QListView::Manual );
96 96
97 if ( manufacturerdb ) 97 if ( manufacturerdb )
98 netview->setManufacturerDB( manufacturerdb ); 98 netview->setManufacturerDB( manufacturerdb );
99 99
100 pcap = new OPacketCapturer(); 100 pcap = new OPacketCapturer();
101 101
102} 102}
103 103
104 104
105Wellenreiter::~Wellenreiter() 105Wellenreiter::~Wellenreiter()
106{ 106{
107 // no need to delete child widgets, Qt does it all for us 107 // no need to delete child widgets, Qt does it all for us
108 108
109 delete manufacturerdb; 109 delete manufacturerdb;
110 delete pcap; 110 delete pcap;
111} 111}
112 112
113 113
114void Wellenreiter::setConfigWindow( WellenreiterConfigWindow* cw ) 114void Wellenreiter::setConfigWindow( WellenreiterConfigWindow* cw )
115{ 115{
116 configwindow = cw; 116 configwindow = cw;
117} 117}
118 118
119 119
120void Wellenreiter::channelHopped(int c) 120void Wellenreiter::channelHopped(int c)
121{ 121{
122 QString title = "Wellenreiter II -scan- ["; 122 QString title = "Wellenreiter II -scan- [";
123 QString left; 123 QString left;
124 if ( c > 1 ) left.fill( '.', c-1 ); 124 if ( c > 1 ) left.fill( '.', c-1 );
125 title.append( left ); 125 title.append( left );
126 title.append( '|' ); 126 title.append( '|' );
127 if ( c < iface->channels() ) 127 if ( c < iface->channels() )
128 { 128 {
129 QString right; 129 QString right;
130 right.fill( '.', iface->channels()-c ); 130 right.fill( '.', iface->channels()-c );
131 title.append( right ); 131 title.append( right );
132 } 132 }
133 title.append( "]" ); 133 title.append( "]" );
134 //title.append( QString().sprintf( " %02d", c ) ); 134 //title.append( QString().sprintf( " %02d", c ) );
135 assert( parent() ); 135 assert( parent() );
136 ( (QMainWindow*) parent() )->setCaption( title ); 136 ( (QMainWindow*) parent() )->setCaption( title );
137} 137}
138 138
139 139
140void Wellenreiter::handleBeacon( OPacket* p, OWaveLanManagementPacket* beacon ) 140void Wellenreiter::handleBeacon( OPacket* p, OWaveLanManagementPacket* beacon )
141{ 141{
142 QString type; 142 QString type;
143 if ( beacon->canIBSS() ) 143 if ( beacon->canIBSS() )
144 { 144 {
145 type = "adhoc"; 145 type = "adhoc";
146 } 146 }
147 else if ( beacon->canESS() ) 147 else if ( beacon->canESS() )
148 { 148 {
149 type = "managed"; 149 type = "managed";
150 } 150 }
151 else 151 else
152 { 152 {
153 qWarning( "Wellenreiter::invalid frame [possibly noise] detected!" ); 153 qWarning( "Wellenreiter::invalid frame [possibly noise] detected!" );
154 return; 154 return;
155 } 155 }
156 156
157 OWaveLanManagementSSID* ssid = static_cast<OWaveLanManagementSSID*>( p->child( "802.11 SSID" ) ); 157 OWaveLanManagementSSID* ssid = static_cast<OWaveLanManagementSSID*>( p->child( "802.11 SSID" ) );
158 QString essid = ssid ? ssid->ID() : QString("<unknown>"); 158 QString essid = ssid ? ssid->ID() : QString("<unknown>");
159 OWaveLanManagementDS* ds = static_cast<OWaveLanManagementDS*>( p->child( "802.11 DS" ) ); 159 OWaveLanManagementDS* ds = static_cast<OWaveLanManagementDS*>( p->child( "802.11 DS" ) );
160 int channel = ds ? ds->channel() : -1; 160 int channel = ds ? ds->channel() : -1;
161 161
162 OWaveLanPacket* header = static_cast<OWaveLanPacket*>( p->child( "802.11" ) ); 162 OWaveLanPacket* header = static_cast<OWaveLanPacket*>( p->child( "802.11" ) );
163 netView()->addNewItem( type, essid, header->macAddress2().toString(), beacon->canPrivacy(), channel, 0 ); 163 netView()->addNewItem( type, essid, header->macAddress2().toString(), beacon->canPrivacy(), channel, 0 );
164 164
165 // update graph window 165 // update graph window
166 if ( ds ) 166 if ( ds )
167 { 167 {
168 OPrismHeaderPacket* prism = static_cast<OPrismHeaderPacket*>( p->child( "Prism" ) ); 168 OPrismHeaderPacket* prism = static_cast<OPrismHeaderPacket*>( p->child( "Prism" ) );
169 if ( prism ) 169 if ( prism )
170 graphwindow->traffic( ds->channel(), prism->signalStrength() ); 170 graphwindow->traffic( ds->channel(), prism->signalStrength() );
171 else 171 else
172 graphwindow->traffic( ds->channel(), 95 ); 172 graphwindow->traffic( ds->channel(), 95 );
173 } 173 }
174} 174}
175 175
176 176
177void Wellenreiter::handleData( OPacket* p, OWaveLanDataPacket* data ) 177void Wellenreiter::handleData( OPacket* p, OWaveLanDataPacket* data )
178{ 178{
179 OWaveLanPacket* wlan = (OWaveLanPacket*) p->child( "802.11" ); 179 OWaveLanPacket* wlan = (OWaveLanPacket*) p->child( "802.11" );
180 if ( wlan->fromDS() && !wlan->toDS() ) 180 if ( wlan->fromDS() && !wlan->toDS() )
181 { 181 {
182 qDebug( "FromDS traffic: '%s' -> '%s' via '%s'", 182 qDebug( "FromDS traffic: '%s' -> '%s' via '%s'",
183 (const char*) wlan->macAddress3().toString(true), 183 (const char*) wlan->macAddress3().toString(true),
184 (const char*) wlan->macAddress1().toString(true), 184 (const char*) wlan->macAddress1().toString(true),
185 (const char*) wlan->macAddress2().toString(true) ); 185 (const char*) wlan->macAddress2().toString(true) );
186 netView()->fromDStraffic( wlan->macAddress3().toString(), 186 netView()->fromDStraffic( wlan->macAddress3().toString(),
187 wlan->macAddress1().toString(), 187 wlan->macAddress1().toString(),
188 wlan->macAddress2().toString() ); 188 wlan->macAddress2().toString() );
189 } 189 }
190 else 190 else
191 if ( !wlan->fromDS() && wlan->toDS() ) 191 if ( !wlan->fromDS() && wlan->toDS() )
192 { 192 {
193 qDebug( "ToDS traffic: '%s' -> '%s' via '%s'", 193 qDebug( "ToDS traffic: '%s' -> '%s' via '%s'",
194 (const char*) wlan->macAddress2().toString(true), 194 (const char*) wlan->macAddress2().toString(true),
195 (const char*) wlan->macAddress3().toString(true), 195 (const char*) wlan->macAddress3().toString(true),
196 (const char*) wlan->macAddress1().toString(true) ); 196 (const char*) wlan->macAddress1().toString(true) );
197 netView()->toDStraffic( wlan->macAddress2().toString(), 197 netView()->toDStraffic( wlan->macAddress2().toString(),
198 wlan->macAddress3().toString(), 198 wlan->macAddress3().toString(),
199 wlan->macAddress1().toString() ); 199 wlan->macAddress1().toString() );
200 } 200 }
201 else 201 else
202 if ( wlan->fromDS() && wlan->toDS() ) 202 if ( wlan->fromDS() && wlan->toDS() )
203 { 203 {
204 qDebug( "WDS(bridge) traffic: '%s' -> '%s' via '%s' and '%s'", 204 qDebug( "WDS(bridge) traffic: '%s' -> '%s' via '%s' and '%s'",
205 (const char*) wlan->macAddress4().toString(true), 205 (const char*) wlan->macAddress4().toString(true),
206 (const char*) wlan->macAddress3().toString(true), 206 (const char*) wlan->macAddress3().toString(true),
207 (const char*) wlan->macAddress1().toString(true), 207 (const char*) wlan->macAddress1().toString(true),
208 (const char*) wlan->macAddress2().toString(true) ); 208 (const char*) wlan->macAddress2().toString(true) );
209 netView()->WDStraffic( wlan->macAddress4().toString(), 209 netView()->WDStraffic( wlan->macAddress4().toString(),
210 wlan->macAddress3().toString(), 210 wlan->macAddress3().toString(),
211 wlan->macAddress1().toString(), 211 wlan->macAddress1().toString(),
212 wlan->macAddress2().toString() ); 212 wlan->macAddress2().toString() );
213 } 213 }
214 else 214 else
215 { 215 {
216 qDebug( "IBSS(AdHoc) traffic: '%s' -> '%s' (Cell: '%s')'", 216 qDebug( "IBSS(AdHoc) traffic: '%s' -> '%s' (Cell: '%s')'",
217 (const char*) wlan->macAddress2().toString(true), 217 (const char*) wlan->macAddress2().toString(true),
218 (const char*) wlan->macAddress1().toString(true), 218 (const char*) wlan->macAddress1().toString(true),
219 (const char*) wlan->macAddress3().toString(true) ); 219 (const char*) wlan->macAddress3().toString(true) );
220 netView()->IBSStraffic( wlan->macAddress2().toString(), 220 netView()->IBSStraffic( wlan->macAddress2().toString(),
221 wlan->macAddress1().toString(), 221 wlan->macAddress1().toString(),
222 wlan->macAddress3().toString() ); 222 wlan->macAddress3().toString() );
223 } 223 }
224 224
225 OARPPacket* arp = (OARPPacket*) p->child( "ARP" ); 225 OARPPacket* arp = (OARPPacket*) p->child( "ARP" );
226 if ( arp ) 226 if ( arp )
227 { 227 {
228 qDebug( "Received ARP traffic (type '%s'): ", (const char*) arp->type() ); 228 qDebug( "Received ARP traffic (type '%s'): ", (const char*) arp->type() );
229 if ( arp->type() == "REQUEST" ) 229 if ( arp->type() == "REQUEST" )
230 { 230 {
231 netView()->identify( arp->senderMacAddress().toString(), arp->senderIPV4Address().toString() ); 231 netView()->identify( arp->senderMacAddress().toString(), arp->senderIPV4Address().toString() );
232 } 232 }
233 else if ( arp->type() == "REPLY" ) 233 else if ( arp->type() == "REPLY" )
234 { 234 {
235 netView()->identify( arp->senderMacAddress().toString(), arp->senderIPV4Address().toString() ); 235 netView()->identify( arp->senderMacAddress().toString(), arp->senderIPV4Address().toString() );
236 netView()->identify( arp->targetMacAddress().toString(), arp->targetIPV4Address().toString() ); 236 netView()->identify( arp->targetMacAddress().toString(), arp->targetIPV4Address().toString() );
237 } 237 }
238 } 238 }
239 239
240 OIPPacket* ip = (OIPPacket*) p->child( "IP" ); 240 OIPPacket* ip = (OIPPacket*) p->child( "IP" );
241 if ( ip ) 241 if ( ip )
242 { 242 {
243 qDebug( "Received IP packet." ); 243 qDebug( "Received IP packet." );
244 } 244 }
245} 245}
246 246
247 247
248void Wellenreiter::receivePacket( OPacket* p ) 248void Wellenreiter::receivePacket( OPacket* p )
249{ 249{
250 hexWindow()->log( p->dump( 8 ) ); 250 hexWindow()->log( p->dump( 8 ) );
251 251
252 // check if we received a beacon frame 252 // check if we received a beacon frame
253 OWaveLanManagementPacket* beacon = static_cast<OWaveLanManagementPacket*>( p->child( "802.11 Management" ) ); 253 OWaveLanManagementPacket* beacon = static_cast<OWaveLanManagementPacket*>( p->child( "802.11 Management" ) );
254 if ( beacon && beacon->managementType() == "Beacon" ) 254 if ( beacon && beacon->managementType() == "Beacon" )
255 { 255 {
256 handleBeacon( p, beacon ); 256 handleBeacon( p, beacon );
257 return; 257 return;
258 } 258 }
259 259
260 //TODO: WEP check here 260 //TODO: WEP check here
261 261
262 // check for a data frame 262 // check for a data frame
263 OWaveLanDataPacket* data = static_cast<OWaveLanDataPacket*>( p->child( "802.11 Data" ) ); 263 OWaveLanDataPacket* data = static_cast<OWaveLanDataPacket*>( p->child( "802.11 Data" ) );
264 if ( data ) 264 if ( data )
265 { 265 {
266 handleData( p, data ); 266 handleData( p, data );
267 } 267 }
268} 268}
269 269
270 270
271void Wellenreiter::stopClicked() 271void Wellenreiter::stopClicked()
272{ 272{
273 if ( iface ) 273 if ( iface )
274 { 274 {
275 disconnect( SIGNAL( receivedPacket(OPacket*) ), this, SLOT( receivePacket(OPacket*) ) ); 275 disconnect( SIGNAL( receivedPacket(OPacket*) ), this, SLOT( receivePacket(OPacket*) ) );
276 disconnect( SIGNAL( hopped(int) ), this, SLOT( channelHopped(int) ) ); 276 disconnect( SIGNAL( hopped(int) ), this, SLOT( channelHopped(int) ) );
277 iface->setChannelHopping(); // stop hopping channels 277 iface->setChannelHopping(); // stop hopping channels
278 } 278 }
279 else 279 else
280 killTimers(); 280 killTimers();
281 281
282 pcap->close(); 282 pcap->close();
283 sniffing = false; 283 sniffing = false;
284 284
285 if ( iface ) 285 if ( iface )
286 { 286 {
287 // switch off monitor mode 287 // switch off monitor mode
288 iface->setMonitorMode( false ); 288 iface->setMonitorMode( false );
289 // switch off promisc flag 289 // switch off promisc flag
290 iface->setPromiscuousMode( false ); 290 iface->setPromiscuousMode( false );
291 291
292 system( "cardctl reset; sleep 1" ); //FIXME: Use OProcess 292 system( "cardctl reset; sleep 1" ); //FIXME: Use OProcess
293 } 293 }
294 294
295 logwindow->log( "(i) Stopped Scanning." ); 295 logwindow->log( "(i) Stopped Scanning." );
296 assert( parent() ); 296 assert( parent() );
297 ( (QMainWindow*) parent() )->setCaption( "Wellenreiter II" ); 297 ( (QMainWindow*) parent() )->setCaption( "Wellenreiter II" );
298 298
299 // message the user 299 // message the user
300 QMessageBox::information( this, "Wellenreiter II", 300 QMessageBox::information( this, "Wellenreiter II",
301 tr( "Your wireless card\nshould now be usable again." ) ); 301 tr( "Your wireless card\nshould now be usable again." ) );
302 302
303 sniffing = false; 303 sniffing = false;
304 emit( stoppedSniffing() ); 304 emit( stoppedSniffing() );
305 305
306 // print out statistics 306 // print out statistics
307 for( QMap<QString,int>::ConstIterator it = pcap->statistics().begin(); it != pcap->statistics().end(); ++it ) 307 for( QMap<QString,int>::ConstIterator it = pcap->statistics().begin(); it != pcap->statistics().end(); ++it )
308 statwindow->updateCounter( it.key(), it.data() ); 308 statwindow->updateCounter( it.key(), it.data() );
309} 309}
310 310
311 311
312void Wellenreiter::startClicked() 312void Wellenreiter::startClicked()
313{ 313{
314 // get configuration from config window 314 // get configuration from config window
315 315
316 const QString& interface = configwindow->interfaceName->currentText(); 316 const QString& interface = configwindow->interfaceName->currentText();
317 const int cardtype = configwindow->daemonDeviceType(); 317 const int cardtype = configwindow->daemonDeviceType();
318 const int interval = configwindow->daemonHopInterval(); 318 const int interval = configwindow->daemonHopInterval();
319 319
320 if ( ( interface == "" ) || ( cardtype == 0 ) ) 320 if ( ( interface == "" ) || ( cardtype == 0 ) )
321 { 321 {
322 QMessageBox::information( this, "Wellenreiter II", 322 QMessageBox::information( this, "Wellenreiter II",
323 tr( "Your device is not\nproperly configured. Please reconfigure!" ) ); 323 tr( "Your device is not\nproperly configured. Please reconfigure!" ) );
324 return; 324 return;
325 } 325 }
326 326
327 // configure device 327 // configure device
328 328
329 ONetwork* net = ONetwork::instance(); 329 ONetwork* net = ONetwork::instance();
330 iface = static_cast<OWirelessNetworkInterface*>(net->interface( interface )); 330 iface = static_cast<OWirelessNetworkInterface*>(net->interface( interface ));
331 331
332 // set monitor mode 332 // set monitor mode
333 333
334 bool usePrism = configwindow->usePrismHeader();
335
334 switch ( cardtype ) 336 switch ( cardtype )
335 { 337 {
336 case DEVTYPE_CISCO: iface->setMonitoring( new OCiscoMonitoringInterface( iface ) ); break; 338 case DEVTYPE_CISCO: iface->setMonitoring( new OCiscoMonitoringInterface( iface, usePrism ) ); break;
337 case DEVTYPE_WLAN_NG: iface->setMonitoring( new OWlanNGMonitoringInterface( iface ) ); break; 339 case DEVTYPE_WLAN_NG: iface->setMonitoring( new OWlanNGMonitoringInterface( iface, usePrism ) ); break;
338 case DEVTYPE_HOSTAP: iface->setMonitoring( new OHostAPMonitoringInterface( iface ) ); break; 340 case DEVTYPE_HOSTAP: iface->setMonitoring( new OHostAPMonitoringInterface( iface, usePrism ) ); break;
339 case DEVTYPE_ORINOCO: iface->setMonitoring( new OOrinocoMonitoringInterface( iface ) ); break; 341 case DEVTYPE_ORINOCO: iface->setMonitoring( new OOrinocoMonitoringInterface( iface, usePrism ) ); break;
340 case DEVTYPE_MANUAL: QMessageBox::information( this, "Wellenreiter II", tr( "Bring your device into\nmonitor mode now." ) ); break; 342 case DEVTYPE_MANUAL: QMessageBox::information( this, "Wellenreiter II", tr( "Bring your device into\nmonitor mode now." ) ); break;
341 case DEVTYPE_FILE: qDebug( "Wellenreiter: Capturing from file '%s'", (const char*) interface ); break; 343 case DEVTYPE_FILE: qDebug( "Wellenreiter: Capturing from file '%s'", (const char*) interface ); break;
342 default: assert( 0 ); // shouldn't reach this 344 default: assert( 0 ); // shouldn't reach this
343 } 345 }
344 346
345 // switch device into monitor mode 347 // switch device into monitor mode
346 if ( cardtype < DEVTYPE_FILE ) 348 if ( cardtype < DEVTYPE_FILE )
347 { 349 {
348 if ( cardtype != DEVTYPE_MANUAL ) 350 if ( cardtype != DEVTYPE_MANUAL )
349 iface->setMonitorMode( true ); 351 iface->setMonitorMode( true );
350 if ( !iface->monitorMode() ) 352 if ( !iface->monitorMode() )
351 { 353 {
352 QMessageBox::warning( this, "Wellenreiter II", 354 QMessageBox::warning( this, "Wellenreiter II",
353 tr( "Can't set device into monitor mode." ) ); 355 tr( "Can't set device into monitor mode." ) );
354 return; 356 return;
355 } 357 }
356 } 358 }
357 359
358 // open pcap and start sniffing 360 // open pcap and start sniffing
359 if ( cardtype != DEVTYPE_FILE ) 361 if ( cardtype != DEVTYPE_FILE )
360 { 362 {
361 if ( configwindow->writeCaptureFile->isEnabled() ) //FIXME: bug!? 363 if ( configwindow->writeCaptureFile->isEnabled() ) //FIXME: bug!?
362 { 364 {
363 QString dumpname( configwindow->captureFileName->text() ); 365 QString dumpname( configwindow->captureFileName->text() );
364 dumpname.append( '-' ); 366 dumpname.append( '-' );
365 dumpname.append( QTime::currentTime().toString().replace( QRegExp( ":" ), "-" ) ); 367 dumpname.append( QTime::currentTime().toString().replace( QRegExp( ":" ), "-" ) );
366 dumpname.append( ".wellenreiter" ); 368 dumpname.append( ".wellenreiter" );
367 pcap->open( interface, dumpname ); 369 pcap->open( interface, dumpname );
368 } 370 }
369 else 371 else
370 { 372 {
371 pcap->open( interface ); 373 pcap->open( interface );
372 } 374 }
373 } 375 }
374 else 376 else
375 { 377 {
376 pcap->open( QFile( interface ) ); 378 pcap->open( QFile( interface ) );
377 } 379 }
378 380
379 if ( !pcap->isOpen() ) 381 if ( !pcap->isOpen() )
380 { 382 {
381 QMessageBox::warning( this, "Wellenreiter II", 383 QMessageBox::warning( this, "Wellenreiter II",
382 tr( "Can't open packet capturer:\n" ) + QString(strerror( errno ) )); 384 tr( "Can't open packet capturer:\n" ) + QString(strerror( errno ) ));
383 return; 385 return;
384 } 386 }
385 387
386 // set capturer to non-blocking mode 388 // set capturer to non-blocking mode
387 pcap->setBlocking( false ); 389 pcap->setBlocking( false );
388 390
389 // start channel hopper 391 // start channel hopper
390 if ( cardtype != DEVTYPE_FILE ) 392 if ( cardtype != DEVTYPE_FILE )
391 iface->setChannelHopping( 1000 ); //use interval from config window 393 iface->setChannelHopping( 1000 ); //use interval from config window
392 394
393 if ( cardtype != DEVTYPE_FILE ) 395 if ( cardtype != DEVTYPE_FILE )
394 { 396 {
395 // connect socket notifier and start channel hopper 397 // connect socket notifier and start channel hopper
396 connect( pcap, SIGNAL( receivedPacket(OPacket*) ), this, SLOT( receivePacket(OPacket*) ) ); 398 connect( pcap, SIGNAL( receivedPacket(OPacket*) ), this, SLOT( receivePacket(OPacket*) ) );
397 connect( iface->channelHopper(), SIGNAL( hopped(int) ), this, SLOT( channelHopped(int) ) ); 399 connect( iface->channelHopper(), SIGNAL( hopped(int) ), this, SLOT( channelHopped(int) ) );
398 } 400 }
399 else 401 else
400 { 402 {
401 // start timer for reading packets 403 // start timer for reading packets
402 startTimer( 100 ); 404 startTimer( 100 );
403 } 405 }
404 406
405 logwindow->log( "(i) Started Scanning." ); 407 logwindow->log( "(i) Started Scanning." );
406 sniffing = true; 408 sniffing = true;
407 emit( startedSniffing() ); 409 emit( startedSniffing() );
408 if ( cardtype != DEVTYPE_FILE ) channelHopped( 6 ); // set title 410 if ( cardtype != DEVTYPE_FILE ) channelHopped( 6 ); // set title
409 else 411 else
410 { 412 {
411 assert( parent() ); 413 assert( parent() );
412 ( (QMainWindow*) parent() )->setCaption( tr( "Wellenreiter II - replaying capture file..." ) ); 414 ( (QMainWindow*) parent() )->setCaption( tr( "Wellenreiter II - replaying capture file..." ) );
413 } 415 }
414} 416}
415 417
416 418
417void Wellenreiter::timerEvent( QTimerEvent* ) 419void Wellenreiter::timerEvent( QTimerEvent* )
418{ 420{
419 qDebug( "Wellenreiter::timerEvent()" ); 421 qDebug( "Wellenreiter::timerEvent()" );
420 OPacket* p = pcap->next(); 422 OPacket* p = pcap->next();
421 if ( !p ) // no more packets available 423 if ( !p ) // no more packets available
422 { 424 {
423 stopClicked(); 425 stopClicked();
424 } 426 }
425 else 427 else
426 { 428 {
427 receivePacket( p ); 429 receivePacket( p );
428 delete p; 430 delete p;
429 } 431 }
430} 432}
431 433
diff --git a/noncore/net/wellenreiter/opie-wellenreiter.control b/noncore/net/wellenreiter/opie-wellenreiter.control
index 8bb5b1c..f7272e2 100644
--- a/noncore/net/wellenreiter/opie-wellenreiter.control
+++ b/noncore/net/wellenreiter/opie-wellenreiter.control
@@ -1,10 +1,10 @@
1Package: opie-wellenreiter 1Package: opie-wellenreiter
2Files: bin/wellenreiter share/wellenreiter pics/wellenreiter apps/Applications/wellenreiter.desktop 2Files: bin/wellenreiter share/wellenreiter pics/wellenreiter apps/Applications/wellenreiter.desktop
3Priority: optional 3Priority: optional
4Section: opie/applications 4Section: opie/applications
5Maintainer: Michael 'Mickey' Lauer <mickeyl@handhelds.org> 5Maintainer: Michael 'Mickey' Lauer <mickeyl@handhelds.org>
6Architecture: arm 6Architecture: arm
7Version: 0.9.9-$SUB_VERSION 7Version: 0.9.9-$SUB_VERSION
8Depends: task-opie-minimal, libpcap0, libopie2 (1.8.1) 8Depends: task-opie-minimal, libpcap0 (0.7.2), libopie2 (1.8.1)
9Description: A WaveLAN Network Monitor 9Description: A WaveLAN Network Monitor
10 A WaveLAN Network Monitor/Sniffer for the Opie Environment. 10 A WaveLAN Network Monitor/Sniffer for the Opie Environment.