Looking for advice how to start contributing in NetworkManager and implement Hotstpot 2.0 feature for WiFi


I want to contribute to NetworkManger but don't know where to start,
so I am looking for advise how I can start it.

wpa_supplicant supports great feature Hotspot 2.0 and contains in its
distribution program - osu_client, that allow to do automatic wifi
configuration provision using protocols and conventions defined in
Hotspot 2.0 Specification. I want to implement support of this feature
in NetworkManager.

wpa_supplicant - query AP for information needed for for Hotspot 2.0,
and act as executor for commands that come from osu_client.
osu_client - communicate with Online Signup server (parsing response,
generate payload), enrolling user certificates for EAP-TLS,
downloading root certificates that will validate certificated provided
by radius servers, saving wifi configuration in xml file and load it
in wpa_supplicant.

I have superficially studied how NetworkManager mange wpa_supplicant.
If I am not wrong it does it using D-Bus. But main features that
provide Hotspot 2.0 experience located in osu_client program. It is
the standalone program that communicate with wpa_supplicant using
control interface /run/wpa_supplicant. I think that it is a viable way
to implement in NetworkManager functionality from osu_client that
execute wpa_supplicant command, for example `interworking select`. But
I doubt that it is a good idea to implement certificate enrolment in

So my questions are:

What features should be implemented in NetworkManager code?
If some functionality is better to keep in separate program, for
example osu_client, how organise communication between NetworkManager
and that program? osu_client does not support D-Bus.
Both NetworkManager and osu_client can configure wifi connection, so
if osu_client will be kept, how to pass wifi configuration? From it,
or from NetworkManager?
I which NetworkManager source files I should put new code?


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]