Commit Graph

3265 Commits

Author SHA1 Message Date
Denis Kenzior dc3331a98d eapol: Add eapol_process_ptk_2_of_4 2014-12-27 22:58:22 -06:00
Denis Kenzior 996e32bf1d eapol: Add eapol_process_ptk_1_of_4 2014-12-27 22:58:22 -06:00
Denis Kenzior 5e7771ef66 crypto: Add crypto_derive_pairwise_ptk 2014-12-27 22:34:39 -06:00
Denis Kenzior 1c4e3bc774 crypto: Make const correct 2014-12-27 22:34:39 -06:00
Denis Kenzior dab93ef14a crypto: Update comment 2014-12-27 22:34:39 -06:00
Denis Kenzior f647e03166 crypto: Add crypto_cipher_tk_bits 2014-12-27 22:34:39 -06:00
Denis Kenzior 07c8876d9e crypto: Add crypto_cipher_key_len 2014-12-27 22:34:39 -06:00
Denis Kenzior 0693740731 crypto: Add crypto_derive_ptk 2014-12-27 22:34:39 -06:00
Denis Kenzior da8e10cc5f eapol: Verify key_descriptor_version 2014-12-27 22:34:39 -06:00
Denis Kenzior 5da6ca89e4 eapol: Add eapol_verify 2014-12-27 22:34:39 -06:00
Marcel Holtmann 1ee81e5854 core: Add support for AES-CMAC hashing function 2014-12-27 23:21:10 +01:00
Marcel Holtmann 872c0e803a core: Add support for HMAC SHA256 helper function 2014-12-27 06:58:28 +01:00
Marcel Holtmann b615a6f4e0 core: Add support for HMAC MD5 helper function 2014-12-27 06:44:04 +01:00
Jukka Rissanen 08d31e3b1b wiphy: Fixes due to nl80211.h changes 2014-12-22 11:48:26 -06:00
Denis Kenzior 7cf4f7b100 eapol: Add a couple of missing fields 2014-12-19 15:45:17 -06:00
Denis Kenzior e3729cc0f5 eapol: Fix typo 2014-12-19 14:25:57 -06:00
Denis Kenzior 7b6d8b54cd mpdu: Fix bitfield use on big endian 2014-12-19 12:26:41 -06:00
Denis Kenzior 2cc842a302 eapol: Add beginnings of EAPoL utilities 2014-12-18 18:10:10 -06:00
Patrik Flykt bf25abf38d util: Add SSID to UTF8 pretty-print function
Use a static buffer for converting an SSID to an approximate string in
UTF8. Replace each char that is not UTF8 compatible with the UTF8
replacement symbol.
2014-12-18 11:06:48 -06:00
Denis Kenzior b22f93203c mpdu: Rework to a zero-copy based framework 2014-12-17 17:44:44 -06:00
Denis Kenzior d7b6a36db8 mpdu: Rework structure definitions
The current setup was not endian safe
2014-12-17 16:22:06 -06:00
Denis Kenzior 3ef0ff1e1a mpdu: Fix invalid read
The cast was being done incorrectly resulting in invalid values being
obtained
2014-12-17 16:21:05 -06:00
Denis Kenzior ca742bb95d mpdu: Fix style 2014-12-16 16:57:30 -06:00
Denis Kenzior b0af0177ac mpdu: Replace for loop with memcpy 2014-12-16 14:26:33 -06:00
Denis Kenzior 61a44dd485 mpdu: Fix style 2014-12-16 14:23:36 -06:00
Denis Kenzior 6a011f0d92 mpdu: Simplify checks 2014-12-16 14:22:13 -06:00
Denis Kenzior 002290998e mpdu: Add x-ref in comments for struct definitions 2014-12-16 14:21:18 -06:00
Tomasz Bursztyka 805619fc9d core: Add the preliminary logic to parse 802.11 MPDUs
It currently focuses on parsing management frames, and specifically its
authentication and deauthentication frames.
2014-12-16 10:53:20 -06:00
Denis Kenzior d2218e81c9 dbus: Fix style 2014-12-12 09:52:12 -06:00
Jukka Rissanen c5b5d4502b dbus: Add helper to append a byte array
Needed when appending SSID into properties.
2014-12-12 09:51:55 -06:00
Denis Kenzior d87d7d469f crypto: Add passphrase generation utility 2014-11-14 21:41:28 -06:00
Jukka Rissanen d0cb0aedc6 wiphy: Check return value when appending attributes
Make sure to print some errors if attributes cannot be appended
to a message. It is dangerous to ignore the return code from
l_genl_msg_append_attr() because the kernel might act weirdly
if some attribute is missing.
2014-11-12 08:10:58 -06:00
Jukka Rissanen fcda15c587 wiphy: Scheduled scan startup message was too short
The length needs to be at least 20 bytes so that the third
attribute fits in.
2014-11-12 08:09:25 -06:00
Denis Kenzior ad86c91b38 wiphy: Fix memory leak
Whenever we find an existing BSS, we should free the old object since it
is being removed from the old_bss_list via l_queue_remove_if
2014-11-07 22:44:30 -06:00
Denis Kenzior 333b28bf3a main: Add --dbus-debug command line parameter 2014-11-07 22:44:30 -06:00
Denis Kenzior 4dc24025a4 dbus: Add enable_debug parameter to dbus_init 2014-11-07 22:44:30 -06:00
Denis Kenzior 9de7c92429 wiphy: Remove unneeded wiphy_set_ssid function 2014-11-07 22:44:27 -06:00
Denis Kenzior ca5f5b2e2b main: Remove unneeded ssid command line argument 2014-11-07 21:37:09 -06:00
Jukka Rissanen 672be730c3 wiphy: Add scheduled scan support
Add rudimentary support for mac80211 scheduled scan feature.
This is done so that kernel support for task called "Bind
NL80211_CMD_START_SCHED_SCAN to netlink socket" from TODO
file can be tested. The current scan interval is set to 60
seconds which is probably too fast for the final version.
2014-11-07 20:42:11 -06:00
Denis Kenzior ca18b395e2 wiphy: Fix valgrind complaint
The network list must be destroyed before the BSS list as that is used
inside network_free
2014-11-05 08:29:33 -06:00
Denis Kenzior 84765ac4db wiphy: Add GetNetworks method 2014-11-03 15:37:08 -06:00
Denis Kenzior e7bd2276de wiphy: Make const correct 2014-11-03 15:36:52 -06:00
Denis Kenzior 2f852d2954 wiphy: Add missing signals to introspection 2014-11-03 15:24:34 -06:00
Denis Kenzior 3cf47d4109 manager: Add missing signals to introspection 2014-11-03 15:24:12 -06:00
Denis Kenzior 8e3a17cf56 wiphy: Add rudimentary Connect method 2014-10-30 00:27:06 -05:00
Denis Kenzior e51cac7f74 wiphy: Fix uninitialized var warnings 2014-10-30 00:26:49 -05:00
Denis Kenzior 5b2e34b5b6 wiphy: add network_emit_removed 2014-10-30 00:09:29 -05:00
Denis Kenzior 0d59e91a2b wiphy: Add network_emit_added 2014-10-30 00:09:16 -05:00
Denis Kenzior 3a8eb753a3 wiphy: Expose rudimentary network information 2014-10-30 00:01:52 -05:00
Denis Kenzior 621a2a003d dbus: Add Network Interface #define 2014-10-29 23:58:36 -05:00
Denis Kenzior 64e9ad91ed wiphy: Track bss as a network object in a hashmap 2014-10-29 23:20:43 -05:00
Denis Kenzior b484197470 wiphy: Keep track of seen BSS 2014-10-29 22:50:27 -05:00
Denis Kenzior 39fde81dba wiphy: Refactor get_scan 2014-10-28 11:15:26 -05:00
Denis Kenzior 6917824be9 wiphy: refactor parse_bss 2014-10-28 11:04:31 -05:00
Denis Kenzior 0a71163c3f wiphy: Add Scan() method 2014-10-28 09:43:36 -05:00
Denis Kenzior d2f61dd0cd dbus: Add dbus_error_failed 2014-10-27 23:42:59 -05:00
Denis Kenzior 96a139d15b dbus: add dbus_error_busy 2014-10-27 23:42:43 -05:00
Denis Kenzior 4639c31d61 dbus: Add dbus_pending_reply 2014-10-27 23:42:05 -05:00
Denis Kenzior 051f49ea85 wiphy: Tweak netdev structure creation order
Because none of the attributes are assigned until after the DeviceAdded
signal is emitted, the signal appears with invalid properties.  For now,
move the netdev structure fill-out into the if statement.

If the netdev attributes can change, then these need to be handled
separately and appropriate signals to be sent.
2014-10-23 22:44:59 -05:00
Denis Kenzior 77255dbee0 manager: Implement GetDevices method 2014-10-23 22:41:45 -05:00
Denis Kenzior 2d6babc3f8 wiphy: Expose iwd_device_get_path 2014-10-23 22:40:32 -05:00
Denis Kenzior 2d6a50bb27 wiphy: add __iwd_device_foreach 2014-10-23 21:47:38 -05:00
Denis Kenzior c13103974c wiphy: Expose Name property of netdevs 2014-10-23 20:29:36 -05:00
Denis Kenzior 9ba3cc408e wiphy: Add __iwd_device_append_properties 2014-10-23 16:53:36 -05:00
Denis Kenzior 1ff34e3f0f dbus: add dbus_dict_append_bool 2014-10-23 16:53:34 -05:00
Denis Kenzior c550fb01f9 dbus: add dbus_dict_append_string 2014-10-23 16:53:31 -05:00
Denis Kenzior 28f33d210d wiphy: add skeleton for DeviceAdded signal 2014-10-23 15:11:17 -05:00
Denis Kenzior daa0b6768f wiphy: add DeviceRemoved signal implementation 2014-10-23 15:11:01 -05:00
Denis Kenzior 4a4d094d8e wiphy: Add device_get_path() utility 2014-10-23 15:09:52 -05:00
Denis Kenzior ae95cbd172 dbus: Use a #define for IWD_MANAGER_PATH 2014-10-23 15:07:08 -05:00
Denis Kenzior 852072e836 dbus: Move Device interface #define to dbus.h 2014-10-23 14:34:17 -05:00
Denis Kenzior 6437e5ae92 dbus: Move Manager Interface #define to dbus.h 2014-10-23 14:34:13 -05:00
Denis Kenzior f9363748f0 wiphy: Expose netdevs to DBus 2014-10-23 14:32:12 -05:00
Denis Kenzior 09c29ba3e2 manager: Add manager skeleton 2014-10-06 22:13:40 -05:00
Denis Kenzior 5bea86e47b dbus: Add dbus-daemon policy configuration 2014-10-06 22:13:40 -05:00
Denis Kenzior 429ea08202 dbus: Add basic D-Bus plumbing 2014-10-06 22:13:37 -05:00
Marcel Holtmann 70bc082d41 core: Make Kernel D-Bus setup optional 2014-08-09 10:59:48 -07:00
Marcel Holtmann dfc059d757 core: Send MLME associate request when authenticated 2014-08-09 00:01:22 -07:00
Marcel Holtmann 966a58d67f core: Send MLME authenticate request when SSID is found 2014-08-08 23:45:15 -07:00
Marcel Holtmann 0aabd9744d core: Parse scan results and store BSS information when SSID matches 2014-08-08 23:23:56 -07:00
Marcel Holtmann 9c7c23ce90 core: Trigger initial passive scan when SSID is provided 2014-08-08 22:21:30 -07:00
Marcel Holtmann c13d50fab9 core: Add command line option to provide SSID 2014-08-08 22:19:47 -07:00
Marcel Holtmann 1ab85bdbe5 core: Add command line options support to daemon 2014-08-08 21:54:03 -07:00
Marcel Holtmann 218e38aa87 core: Store feature flags of wiphy devices 2014-08-07 15:41:30 -07:00
Marcel Holtmann c9b3adbbcf core: Request current regulatory setting when starting up 2014-08-07 13:23:02 -07:00
Marcel Holtmann a17584e680 core: First command should be to read protocol features 2014-08-07 13:13:31 -07:00
Marcel Holtmann b7a421673c core: Add sanity check to sync RTNL link deletion with nl80211 2014-08-06 23:52:42 -07:00
Marcel Holtmann 46b9f4a0a8 core: Subscribe to all nl80211 multicast groups 2014-08-06 23:52:08 -07:00
Marcel Holtmann 442ba2412d core: Add network interface to beginning of list 2014-08-06 23:51:25 -07:00
Marcel Holtmann f400e9dd44 core: Request list of all network interfaces 2014-08-07 06:27:32 +02:00
Marcel Holtmann af2bb68e07 core: Only enable RTNL debugging when IWD_RTNL_DEBUG is set 2014-08-07 05:28:58 +02:00
Marcel Holtmann 32c415e4e8 core: Track wiphy devices and its network interfaces 2014-08-07 05:15:20 +02:00
Marcel Holtmann d04ecde554 core: Only enable netlink debugging when IWD_GENL_DEBUG is set 2014-08-07 01:06:51 +02:00
Marcel Holtmann 34d8b0d308 ie: Keep copyright notice the same for all source files 2014-08-03 08:14:16 +02:00
Jukka Rissanen b90d914a3f ie: Adding IE builder support
These functions can be used to create IE TLV messages.
2014-07-31 09:58:58 -05:00
Marcel Holtmann 999ba12f31 core: Add skeleton for nl80211 setup 2014-07-29 21:25:01 +02:00
Jukka Rissanen 61245bc14e ie: Adding function to recurse when reading
This function is needed when building recursive IE.
2014-07-15 19:19:04 -05:00
Denis Kenzior 119a1e7de3 ie: Add additional boundary checking
==20758== Invalid read of size 1
==20758==    at 0x401254: ie_tlv_iter_next (ie.c:55)
==20758==    by 0x40104B: ie_test (test-ie.c:57)
==20758==    by 0x4021C0: l_test_run (test.c:83)
==20758==    by 0x4011B7: main (test-ie.c:123)
==20758==  Address 0x51e10f3 is 0 bytes after a block of size 19 alloc'd
==20758==    at 0x4C2C874: realloc (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==20758==    by 0x4010CF: append_data (test-ie.c:101)
==20758==    by 0x40118F: main (test-ie.c:119)
==20758==
==20758== Invalid read of size 1
==20758==    at 0x401266: ie_tlv_iter_next (ie.c:56)
==20758==    by 0x40104B: ie_test (test-ie.c:57)
==20758==    by 0x4021C0: l_test_run (test.c:83)
==20758==    by 0x4011B7: main (test-ie.c:123)
==20758==  Address 0x51e10f4 is 1 bytes after a block of size 19 alloc'd
==20758==    at 0x4C2C874: realloc (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==20758==    by 0x4010CF: append_data (test-ie.c:101)
==20758==    by 0x40118F: main (test-ie.c:119)
2014-07-15 19:18:08 -05:00
Jukka Rissanen 458ac1aba4 ie: Simple informational element parser
The parsing API goes through the byte stream and parses the
TLV (Type, Length and Value) values and avoids data copying.
2014-07-15 19:18:08 -05:00
Jukka Rissanen eedadd860b ie: Add information element types
IE types are from IEEE Std 802.11 chapter 8.4.2
2014-07-15 15:45:03 -05:00
Marcel Holtmann 43f91eb168 core: Fix a few compiler warnings 2014-07-15 22:29:02 +02:00
Marcel Holtmann 188917cc29 core: Add missing include for network interface tracking 2014-06-21 20:54:58 +02:00
Marcel Holtmann 37cba460a8 core: Add tracking of network interfaces via RTNL 2014-06-21 13:41:40 +02:00
Marcel Holtmann 78379fc673 core: Limit the kdbus attach flags to useful ones 2014-05-21 22:44:31 -07:00
Marcel Holtmann edc067abf1 core: Use PRIu64 format modifier for printing uint64 variables 2014-05-21 22:43:38 -07:00
Marcel Holtmann 51d5e77b8a core: Print debug information for kdbus connections 2014-05-20 23:36:56 -07:00
Marcel Holtmann f299d96e77 core: Open the private bus connection and acquire name 2014-05-20 23:07:49 -07:00
Marcel Holtmann f3b9d44be7 core: Add kdbus helpers for connections and well known names 2014-05-20 23:06:56 -07:00
Marcel Holtmann bf7c041b47 core: Add support for creating private bus 2014-05-20 21:44:13 -07:00
Marcel Holtmann 632be0730a core: Add kdbus helper functions for bus creation and lookup 2014-05-20 21:42:35 -07:00
Marcel Holtmann abf1eb9494 build: Move nl80211.h public header to separate directory 2014-05-20 19:51:36 -07:00
Marcel Holtmann b0cb247d23 build: Add copy of kernel nl80211.h public header 2014-05-11 18:08:33 -07:00
Marcel Holtmann 4fb291c2a9 core: Use full include path for local headers 2014-05-11 16:22:13 -07:00
Marcel Holtmann 422fb5ad08 core: Add SHA-1 versions of PBKDF2 and PRF functions 2014-05-11 11:43:42 -07:00
Marcel Holtmann 050539e2e3 core: Add skeleton for main daemon 2014-05-11 11:01:11 -07:00