[haiku-development] Re: Moving wpa_supplicant back in-tree or forking it?
- From: Michael Lotz <mmlr@xxxxxxxx>
- To: haiku-development@xxxxxxxxxxxxx
- Date: Sun, 02 Aug 2015 17:22:41 +0200
On 02.08.2015 16:12, Alexander von Gluck IV wrote:
We have a "lot" of patches to wpa_supplicant to draw windows,
do password management, and other stuff.
https://github.com/haikuports/haikuports/blob/master/net-wireless/wpa_supplicant/patches/wpa_supplicant-2.0.patch
The patch certainly is large. This isn't due to a lot of changes in the
internals of the wpa_supplicant code however. In fact there pretty much
aren't any changes to the core, just some to the BSD driver wrapper and
a couple of compiler warning fixes. The patch is mainly this large due
to Haiku specific classes that add a couple of new files.
The things we do in the Haiku specific classes aren't anything beyond
what the other OS wrappers (driver ones for OS specific packet capture
and integration ones like dbus and the QT4 GUI), which are included in
the official wpa_supplicant/hostapd repository, do.
We do not do password management in wpa_supplicant, we are just using
the keystore API to retrieve/store the corresponding info. We do create
and show the network selection and password entry dialog inside
wpa_supplicant. I'm not sure what you refer to with "other stuff".
Right now we keep wpa_supplicant as a recipe with a very long patch.
I think the patches will likely never be accepted upstream.
(I assume we've tried already?)
I, at least, have not tried. I do not know if Axel tried with his
original patchset.
Do we want to fork wpa_supplicants' repo or keep the code in-tree?
I fail to see how bringing the wpa_supplicant in-tree solves anything.
It would certainly contradict the trend we've been following of
outsourcing external code.
The source for the haikuports patch is my GitHub repository where I
maintain the wpa_supplicant for Haiku with a vendor branch (it's simply
the diff between the vendor and master branch):
https://github.com/mmlr/wpa_supplicant-haiku
Pointing the haikuports recipe to this repository instead of producing
patches would be easy enough.
wpa_supplicant is a fast moving project, so that definitely isn't ideal...
but as things stand fixing many, many bugs it has is a pain.
While certainly outdated by now, the wpa_supplicant has been working for
me without significant issues for the past years. From the open bug
reports it is clear that the stability issues seem to be related to the
very diverse individual network setups. Since I wasn't and still am not
able to replicate the many, many bugs in my particular setup it is
rather hard to debug them.
In general, problems tend to be related to the fact that the
wpa_supplicant is fundamentally single threaded and uses a central event
loop. Doing anything from another thread is problematic. It is quite
possible that I missed some events when reworking things to funnel
processing through the central event loop. It is also quite possible
that the release I was using as a base simply wasn't very stable.
Updating and merging would certainly be a good idea. Moving the code
in-tree IMHO wouldn't.
Regards,
Michael
Other related posts: