2
- hostap: try other roaming modes
3
NOTE: current mode (manual roaming) does not really roam at all..
4
Firmware did not notice the current AP disappearing..
5
- add support for WPA with ap_scan=0 (update selected cipher etc. based on
6
AssocInfo; make sure these match with configuration)
7
- optional security separation (build time option): run EAPOL state machines
8
as non-root (need to add something like socketpair between privileged root
9
process and non-root handler; send EAPOL packets between processes
10
and send keying data from non-root -> privileged)
11
EAPOL-Key processing (WPA & WEP keys) could be in privileged part
12
at least in the beginning; some parts might end up being moved to
13
non-root part eventually
14
- consider closing smart card / PCSC connection when EAP-SIM/EAP-AKA
15
authentication has been completed (cache scard data based on serial#(?)
16
and try to optimize next connection if the same card is present for next
18
- EAP-AKA: AT_CHECKCODE
19
- EAP-SIM/AKA: AT_RESULT_IND
20
- on disconnect event, could try to associate with another AP if one is
21
present in scan results; would need to update scan results periodically..
22
- if driver/hw is not WPA2 capable, must remove WPA_PROTO_RSN flag from
23
ssid->proto fields to avoid detecting downgrade attacks when the driver
24
is not reporting RSN IE, but msg 3/4 has one
25
- Cisco AP and non-zero keyidx for unicast -> map to broadcast
26
(actually, this already works with driver_ndis; so maybe just change
27
driver_*.c to do the mapping for drivers that cannot handle non-zero keyidx
28
for unicast); worked also with Host AP driver and madwifi
29
- IEEE 802.1X and key update with driver_ndis?? wpa_supplicant did not seem
30
to see unencrypted EAPOL-Key frames at all..
31
- EAP-PAX with PAX_SEC
33
* OTP Extended Responses (Sect. 5.5)
34
- test what happens if authenticator sends EAP-Success before real EAP
35
authentication ("canned" Success); this should be ignored based on
37
- test compilation with gcc -W options (more warnings?)
38
(Done once; number of unused function arguments still present)
39
- add proper support for using dot11RSNAConfigSATimeout
40
- ctrl_iface: get/set/remove blob
41
- use doc/docbook/*.sgml and docbook2{txt,html,pdf} to replace README and
42
web pages including the same information.. i.e., have this information only
43
in one page; how to build a PDF file with all the SGML included?
44
- test wait-for-interface and daemonize combinations with number of driver
46
* 'test' worked with WPA-PSK
47
- EAP-POTP/RSA SecurID profile (draft-nystrom-eap-potp-03.txt)
48
- document wpa_gui build and consider adding it to 'make install'
49
- test madwifi with pairwise=TKIP group=WEP104
50
- possibility to link in WPA Authenticator state machine to wpa_supplicant
51
(new STAKey handshake, WPA2 IBSS)
52
- consider merging hostapd and wpa_supplicant PMKSA cache implementations
53
- add support for configuring password for MSCHAPv2 as NtPasswordHash in
54
the same way as was added to hostapd (hash:<hex value>)
55
- consider adding generic buffer functionality that could be used in number
57
* allocate buffer (with default max size), allow reserving head room to
58
make it possible to add a header without having to reallocate buffer
59
* reallocate buffer (add head and/or tail room)
60
* ref count and free when count=0 ?
61
* add data (to tail): re-alloc more tailroom if needed and copy new data
62
* error flag so that caller can do multiple add()s and only in the end
63
check whether something has failed; this should make error handling
65
- consider redesigning pending EAP requests (identity/password/otp from
66
ctrl_iface) by moving the retrying of the previous request into EAP
67
state machine so that EAPOL state machine is not needed for this
68
- rfc4284.txt (network selection for eap)
69
- www pages about configuring wpa_supplicant:
70
* global options (ap_scan, ctrl_interfaces) based on OS/driver
74
* EAP options (one page for each method)
75
* "configuration wizard" (step 1: select OS, step 2: select driver, ...) to
76
generate example configuration
77
- error path in rsn_preauth_init: should probably deinit l2_packet handlers
78
if something fails; does something else need deinit?
79
- consider moving SIM card functionality (IMSI fetching) away from eap.c;
80
this should likely happen before EAP is initialized for authentication;
81
now IMSI is read only after receiving EAP-Identity/Request, but since it is
82
really needed for all cases, reading IMSI and generating Identity string
83
could very well be done before EAP has been started
84
- test all allowed EAP Phase 2 methods (i.e., anything else than PEAP, TTLS,
85
FAST): SIM AKA PAX PSK LEAP; if these work, include in eap_testing.txt; if
86
not, either fix or make eap_allowed_phase2_type reject
87
(EAP-TTLS/EAP-AKA and EAP-TTLS/EAP-SIM worked fine in wpa_supplicant, but
88
hostapd did not support this due to pending data from hlr_auth_gw
89
triggering a TLS error)
90
- try to work around race in receiving association event and first EAPOL
92
- helper function to do memcmp(addr, "\x00\x00\x00\x00\x00\x00", ETH_ALEN)
93
- add wpa_secure_memzero() macro and secure implementation (volatile u8*) to
94
clear memory; this would be used to clear temporary buffers containing
95
private data (e.g., keys); the macro can be defined to NOP in order to save
96
space (i.e., no code should depend on the macro doing something)
97
- make sure that TLS session cache is not shared between EAP types or if it
98
is, that the cache entries are bound to only one EAP type; e.g., cache entry
99
created with EAP-TLS must not be allowed to do fast re-auth with EAP-TTLS
100
- consider moving eap_tls_build_ack() call into eap_tls_process_helper()
101
(it seems to be called always if helper returns 1)
102
* could need to modify eap_{ttls,peap,fast}_decrypt to do same
103
- add support for fetching full user cert chain from Windows certificate
104
stores even when there are intermediate CA certs that are not in the
105
configured ca_cert store (e.g., ROOT) (they could be, e.g., in CA store)
109
- clean up common.[ch]
110
- change TLS/crypto library interface to use a structure of function
111
pointers and helper inline functions (like driver_ops) instead of
112
requiring every TLS wrapper to implement all functions
113
- move from CVS to git (0.3.x, 0.4.x, 0.5.x releases will continue
114
to be updated only on CVS)
115
- move files into subdirectories and combine wpa_supplicant and hostapd
116
into a repository that matches in directory structure with the release
118
(subdirs: eap_common, eap_peer, eap_server, driver, driver_ap, ...)
119
- make it clearer that EAP server/peer can be used as a separate library
121
- add support for encrypted configuration fields (e.g., password, psk,
123
- wpa_gui: add support for setting and showing priority, id_str, auth_alg
124
(open/shared for static WEP)