Issues with new D-Bus API

Jouni Malinen j at w1.fi
Mon Jan 4 10:25:56 EST 2010


On Mon, Jan 04, 2010 at 02:02:34AM -0800, Marcel Holtmann wrote:

> so besides the BSS change notification (which doesn't apply anymore), I
> have send all patches to the mailing list. Just use git am to apply them
> and to keep the authorship. For reference they are in this order:
> 
> [PATCH] dbus: Use simple strings for debug level
> [PATCH] dbus: Replace StateChanged with PropertiesChanged signal
> [PATCH] dbus: fix BSS WPS/WPA/RSN IE property getters
> [PATCH] dbus: Change BSS property MaxRate to Rates
> [PATCH] dbus: aggregate PropertiesChanged signals

Thanks! I applied all but the third one. As far as the IE properties are
concerned, this changed would seem to make it impossible to distinguish
a zero-length IE from completely missing IE. In these particular three
IEs, that may not be that much of an issue, but in general, this is not
a good direction to go. In addition, the WPS IE case is already broken
since there may be multiple of those in a frame.

I would prefer to make all IEs available in a single property (i.e.,
just the data as-is from the BSS entry). If we need some additional
information, like the TLVs from reassembled WPS IE(s), that could
certainly be provided. Similarly, I would like to understand what the
clients are doing with WPA/RSN IE information? If they just need to know
whether the IE was there, it would be better to use boolean for that. If
they need to process the data somehow, they could almost as easily fetch
it from the all-IEs array. If they want to avoid parsing, we could
provide some parsed information (e.g., cipher suite).

As far as missing a property from some objects is concerned, I'm not
sure I fully understand why that would be an issue. Is there a D-Bus
specification saying that every property listed in the introspection XML
data must be available for every object? Is introspection done
separately for each object or for the interface defining those objects
in general (and then same results shared for all objects implementing
that interface)?

-- 
Jouni Malinen                                            PGP id EFC895FA


More information about the HostAP mailing list