Commit graph

1632 commits

Author SHA1 Message Date
Jouni Malinen 36b5c6871c dbus: Move the SIGPOLL FreeBSD compat code into dbus_common.c
No point in storing this in header files anymore since SIGPOLL is only
used in dbus_common.c.
2010-01-01 18:16:24 +02:00
Jouni Malinen 00a4784d24 dbus: Get rid of unused static inline functions 2010-01-01 18:14:44 +02:00
Jouni Malinen d316584c6a dbus: Optimize introspection to use single pass for interfaces
There is no need to go through methods, signals, and properties in
two loops and only collect interfaces in the first run. Get rid of
unnecessary CPU use by generating the XML data for interfaces with
a single pass.
2010-01-01 18:08:23 +02:00
Jouni Malinen ce4f7fdbdd dbus: Get rid of libxml2 dependency with introspection
The XML used in D-Bus introspection is simple and there is no need to use
libxml2 to generate it. This gets rid of the dependency on the large
library by using internal XML generation.
2010-01-01 17:51:15 +02:00
Jouni Malinen 21e338a860 dbus: Split extract_interfaces() into helper functions 2010-01-01 15:50:00 +02:00
Jouni Malinen de7a79ceb6 dbus: Cleanup and fix loops
Simpler to use for loops instead of handling next pointer selection
in all places. In addition, couple of functions could have ended up
in an infinite loop on error path since the pointer update was missed.
2010-01-01 14:25:25 +02:00
Jouni Malinen 4292b01322 dbus: Use strdup instead of malloc+strncpy 2010-01-01 14:15:12 +02:00
Jouni Malinen 04551ee6d6 dbus: Move introspection support into a separate file 2010-01-01 14:03:00 +02:00
Jouni Malinen 64bde6d730 dbus: Use CONFIG_DBUS instead of old||new 2010-01-01 13:26:56 +02:00
Jouni Malinen 094e9ea1d7 dbus: Remove unnecessary ifdef CONFIG_CTRL_IFACE_DBUS_NEW
This header file is only included if the new D-Bus API is enabled.
2010-01-01 13:18:37 +02:00
Jouni Malinen e7f7d231a4 dbus: Fix example get-list-of-interfaces operation 2010-01-01 13:16:33 +02:00
Jouni Malinen 70993cd8e2 dbus: Update example script to use the new API 2010-01-01 13:10:09 +02:00
Witold Sowa db9133acb2 dbus: Divide DebugParams property to three separate properties 2010-01-01 13:00:22 +02:00
Witold Sowa b7e8feec68 dbus: Rename InterfaceCreated to InterfaceAdded
Change signal name to the one defined in documentation and
introspection data.
2010-01-01 12:49:27 +02:00
Witold Sowa e376f1193b dbus: Add second properties arg to *Added signals
Add a dictionary argument containing all properties of the newly added
object to BSSAdded, NetworkAdded, and InterfaceAdded signals.
2010-01-01 12:47:59 +02:00
Witold Sowa 58605c6e61 dbus: Replace BSS 'Properties' property with separate properties
In addition, remove Quality and Noise properties since the BSS table
is not the correct place for fetching per-channel information (Noise)
and Quality is not well-defined (nor available from many drivers).
2010-01-01 12:28:24 +02:00
Jouni Malinen 21e210fc99 dbus: Fix get_all_properties() to handle NULL return from getter
This needs to avoid trying to add the NULL entry into the D-Bus
message since libdbus will make the program terminate in such a case.
2010-01-01 12:27:10 +02:00
Witold Sowa fcea0b7d1d dbus: Add generic properties getter and setter 2010-01-01 11:56:56 +02:00
Witold Sowa 1fa5995b51 dbus: Define priv argument for object rather than for method
We don't actually need to define separate user_data argument for
each method handler and property getter/setter. Instead, we can define
one argument for the whole object. That will make it easier to register
objects like BSS or Networks which require allocating and freeing
memory for their arguments.
2010-01-01 11:33:41 +02:00
Jouni Malinen d84c8f1413 dbus: Add example script for fetching all properties with Getall 2010-01-01 11:00:11 +02:00
Jouni Malinen bacfd05fe5 dbus: Rename old D-Bus API files to include "_old"
This makes it easier to figure out which file is used by which
D-Bus interface.
2009-12-31 21:55:32 +02:00
Jouni Malinen 26e054ce6b dbus: Do not deinitialize new D-Bus API if it is not initialized
This fixes a crash on error path when D-Bus initialization fails.
2009-12-31 21:50:12 +02:00
Jouni Malinen 8ddef94bd4 dbus: Share common initialization code for both old and new interface
This was mostly identical code that had been copied for the new D-Bus
API implementation and as such, should really have been shared from
the beginning. In addition, the copied code ended up generating
interesting stack traces since the actual D-Bus connection was being
shared even though the pointer to it was stored in two distinct
data structures. The old D-Bus code ended up dispatching some
D-Bus callbacks which ended up running the new D-Bus code.

Since the private context pointers were mostly identical, everything
seemed to more or less work, but this design was just making things
more complex and potentially very easy to break.
2009-12-31 00:15:56 +02:00
Jouni Malinen 0474686514 Fix couple of memory leaks in wpa_config_get_all() 2009-12-30 22:37:23 +02:00
Jouni Malinen 1179cb834d wpa_gui-qt4: Update BSS entries in Peers dialog dynamically
Use the new BSS added/removed events to add/remove BSS (AP) entries
in the Peers dialog.
2009-12-30 22:18:18 +02:00
Jouni Malinen ba96adb65f dbus: Verify dbus_message_new_method_return() return value before use 2009-12-29 23:46:50 +02:00
Jouni Malinen 8e56d18993 dbus: Fix D-Bus network and BSS object registration/unregistration
Do not try to unregister BSS objects twice (the latter one with invalid
path) and make sure all network objects get added and removed properly
(the ones read from configuration file were not being registered, but
were tried to be unregistered).
2009-12-29 22:17:18 +02:00
Jouni Malinen c2f5126941 WPS: Add Enrollee-seen event message and wpa_gui-qt4 Peers entry
This can be used to show active Enrollees in AP mode to make it
easier to provision a new device.
2009-12-28 16:24:04 +02:00
Jouni Malinen f7e5436502 WPS: Clear SSID selection if more than one BSSID match is found
Need to use wildcard SSID matching for WPS connection if the same
BSSID occurs multiple time in scan results since any of the SSIDs
may be used.
2009-12-28 16:07:15 +02:00
Jouni Malinen 2e8542756c Mark wpabuf_get_trace() static 2009-12-28 16:02:11 +02:00
Jouni Malinen d2b8812921 Include header file to verify prototypes 2009-12-28 16:01:21 +02:00
Jouni Malinen d7dcba70bc Define struct wpa_ssid::mode as an enum with more readable values 2009-12-28 16:00:36 +02:00
Jouni Malinen 139a33f34e test: Register more complete set of channels and rates 2009-12-28 13:39:57 +02:00
Jouni Malinen 2fe17720aa test: Use previously requested BSSID when adding a new interface 2009-12-28 13:38:18 +02:00
Jouni Malinen bd1af96ad1 Add [ESS] flag for scan/BSS info from ctrl_iface 2009-12-28 13:35:51 +02:00
Jouni Malinen d009a9dac6 Add scan parameter support for client MLME 2009-12-28 13:34:03 +02:00
Jouni Malinen c6e8e8e41f nl80211: Add more debug prints for mode changes and interface add/remove 2009-12-28 13:25:17 +02:00
Jouni Malinen 4832ecd754 Add an option for driver wrappers to report operational frequency 2009-12-28 13:23:13 +02:00
Jouni Malinen cd7d80f373 Allow Probe Request callbacks to terminate iteration 2009-12-28 13:14:58 +02:00
Jouni Malinen 1c08f8c0f0 Allocate Probe Response and Beacon buffers based on WPS IE length
This IE is of variable length and it is better to allocate the frame
buffer taking this length into account to prepare for future
additions.
2009-12-28 12:58:27 +02:00
Jouni Malinen d566f4152f Fix wpa_cli with libreadline and WPA_TRACE to use consistent alloc
Need to use strdup(), not os_strdup() here since the readline/fgets
result needs to use same style for memory allocation to avoid WPA_TRACE
errors.
2009-12-28 12:13:52 +02:00
Jouni Malinen e5fc8c8ce5 Fix crash on BSS deinit getting called before BSS init 2009-12-28 12:11:23 +02:00
Jouni Malinen 34359a3fb1 Include BSS table unconditionally in the wpa_supplicant build
This will allow more cleanup to be done for scan results processing
since all code can now be made to depend on the BSS table instead of
the temporary scan results.

Once remaining code has been converted to use the BSS table, the new
scan results can be freed immediately after the BSS table has been
updated. In addition, filtering of BSS information should be added
to better support systems with limited resources. For now, memory
use can be limited by defining WPA_BSS_MAX_COUNT to be smaller.
Anyway, better filtering of results to only the configured networks
should be added to improve this.
2009-12-28 01:14:56 +02:00
Jouni Malinen ccd286d025 dbus: Use the new BSS table with the new D-Bus API
Replace the scan results -based implementation with the use of information
from the new BSS table maintained by wpa_supplicant to get a more stable
source of BSS data. Change the use of BSSID as the key for the BSS object
to use the BSS table unique identifier so that multi-SSID APs can be
handled properly.
2009-12-28 01:10:07 +02:00
Jouni Malinen 99a6a63f25 Add wpa_bss_get_max_rate() to match with old scan_res helpers 2009-12-28 01:09:32 +02:00
Jouni Malinen 332d630a44 Use wpa_msg_ctrl() for WPS AP available events
No need to include these MSG_INFO level events in stdout/syslog,
so deliver them only to ctrl_iface monitors.
2009-12-28 00:44:10 +02:00
Jouni Malinen f0d126d339 Add ctrl_iface events for BSS added/removed 2009-12-28 00:42:51 +02:00
Jouni Malinen 3a06863296 Change BSS ctrl_iface command to use BSS table instead of scan results
In addition, provide another option for iterating through the BSS
entries. The old iteration: "BSS 0", "BSS 1", .. with index number.
The new iteration: "BSS FIRST", "BSS NEXT-<prev id>", .. with id
fetched from the previous output (id=<id> line).
2009-12-28 00:33:20 +02:00
Jouni Malinen d4bf8f132a Add BSS list sorted by id and add some helper functions
This allows the BSS list to be iterated in order of increasing id
to avoid problems with new scans reordering entries. The order on the
wpa_s->bss list changes with most recently updated entries being moved
to the tail of the list while wpa_s->bss_id list maintains its order
with new entries being added to the tail and old entries being removed
when they expire.
2009-12-28 00:30:38 +02:00
Jouni Malinen c9df730b03 Add handling of BSSAdded and BSSRemoved events 2009-12-27 21:42:02 +02:00