-
Notifications
You must be signed in to change notification settings - Fork 11
/
TODO
108 lines (108 loc) · 5.46 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
Overall:
2) add program to extract saved frames from db and write to a pcap file
o initially write in bulk but add filters etc to all allow user to specify
what frames they want to write
4) add a program that will kill all iyri related processes (in the event of
unresponsive children)
5) manufacturer for nics
o add a manufacturer Table w/ oui, name columns
o modify fetchoui to write to database rather than file
6) add LICENSE caveat to each file
GUI:
10) get log panel/tail log panels to scroll automatically
o yview('moveto') does not work
17) Help Panel
o use a two-paned window for an indexed help
o write help documentation
20) Treeview/TabularPanel
o Horizontal scrollbars on tree view do not work
o Column widths are off a little (wider than desired)
21) Have to work on resize of widgets etc with row/column configure
22) use Tk validatecommand on widgets
24) guisave/guiload only works on first sublevel i.e. children of the master panel
should we extend to every panel or leave as is
27) Splash panel
o get rid of border around progressbar and progressbar.pbar
o many statements are not even seen, remove them
29) icons or status bar to show what state services are in??
30) What is the best way to handle child panels and db connections? Along with
the threshers, there may end up being too many connections, limiting system
performance
o psycopg2 claims excellent threaded cursors - do we use the main connection
in WraithPanel and pass created cursors to children? -> have to trust the
children to rollback on any errors
o or do we create a new connection for each child that needs it?
31) use postgresql listen/notify for updating data from tables
34) look into Treeview virtual events Select,Open,Close to see if it is anything
we can use
35) implement query functionality, need a simplistic query language in xml or
something
36) add wildcards to some fields in query i.e. mac address allow search on vendor
with 00:01:02.*
37) move wraith.log to /var/log/wraith
38) Poll periodically to check if external process/user started/stopped postgresql
and iyri
Iyri:
26) how to identify gps device failure, removal?
53) implement spoof, txpwr commands
o spoof will require a down/up of the card and a rebind on the socket
o setting tx power is not supported on my cards
55) start gpsd if it does not start automatically (assuming gps device is
plugged in)
61) document different comm protocols used internally
63) format tracebacks to logging better
65) look into using a priority queue for the internal comms (to Collator)
68) look into threading the Thresher
o a feeder thread to push frames onto an internal buffer (pulling frames of
the collators buffer thereby reducing it's capacity)
o a deframer thread that will process the frames and store
o the main process can then wait on the connection for any tokens
o question is, is it worth it or will it add too much complexity and/or slow
the program down http://www.dabeaz.com/python/GIL.pdf
69) need to work thresher creation/destruction better
o need to give newly created threshers time to reduce the capacity
o still not sure that this will be able to handle the workload of one radio
not to mention when used with the shama radio as well
o have noticed that if iyri starts paused, the threshers seem to be overwhelmed
immediately when the sensor starts
70) handle IOError/EOFError in Collator better - if there is an error in the
Pipe we need to be able to kill the correpsonding Thresher through a signal
80) iyrid needs to handle stop better
o iyrid removes pid and reports status as 'is not running' while it is still
processing outstanding frames
o when run as service, logging is also stopped shortly after calling 'stop'
- artifact of calling as a service?
81) user command state needs to return more data such as current channel, txpwr etc
Standards:
1) Should we add support for AVS, Prism headers ?
2) in standards.radiotap: ensure data pad is handled for atheros cards (any others?)
3) in standards.mpdu, fully parse
o control wrapper
o +htc
o info-elements
- RSN Std 8.4.2.27, #48
- TIM Info-Element #5 from beacons could be useful
- parse timing advance
5) in standards.mpdu, how to support a-msdu etc
6) in standards, implement 802.1X parsing? other 802.11 standards i.e mesh
8) in standards.iw and .(iwtools FIXED) switch to netlink rather than parsing
iw/iwconfig/ifconfig/iwlist output
9) in interface.radio can we get a nic(s) from phy? currently saving nic/vnic
to pass to iw
10) in interfaces should we add support for rfill to handle devices that may
be locked
11) what data can be found in /sys/class/net rather than through iw
o for exampele /sys/class/net/uevent contains interface name and ifindex
o will this data always be present on all linux versions?
12) how to get the current channel and channel width?
o could use ifaces and retrieve the channel dict but this would be a slow
workaround
13) maintain netlink and ioctl sockets in Radio?
o would this save enough time to be worth it?
o would need to implement the __del__ destructor to close the sockets
- not called until garbage collected
14) see iyri #84, need to implement random hw addresses
15) see if ioctl can be used to set txpwr
Nidus(.sql):
1) create different users (w/ varying roles/authorities)
2) Add configuration file here