Marcel Holtmann
2200b2663e
build: Add support for compiling with an external ELL shared library
2018-10-18 20:31:29 +02:00
Marcel Holtmann
a3c1fa28da
build: Rename nl80211_util.[ch] into nl80211util.[ch]
2018-10-14 05:41:06 +02:00
James Prestwood
04a9315a3c
nl80211: introduce nl80211 utility API's
...
Netdev/AP share several NL80211 commands and each has their own
builder API's. These were moved into a common file nl80211_util.[ch].
A helper was added to AP for building NEW_STATION to make the associate
callback look cleaner (rather than manually building NEW_STATION).
2018-10-08 21:34:58 -05:00
Marcel Holtmann
f16e671e62
build: Include ell/dir.h and ell/dir.c into build objects
2018-10-04 22:54:32 +02:00
Tim Kourt
410ee2f6b9
eap-tls-common: introduce utility functions for eap-tls
2018-09-21 12:15:25 -05:00
Marcel Holtmann
004c9ebcd0
build: Fix typo within eap-wsc.h header path
2018-09-19 21:57:28 +02:00
Denis Kenzior
6b46beef45
client: Move properties from Device to Station
2018-09-14 21:12:11 -05:00
Marcel Holtmann
247b2ccc5c
wired: Move D-Bus setup into separate source file
2018-09-14 23:29:46 +02:00
Marcel Holtmann
b8d45a440a
wired: Add initial version of Ethernet authentication daemon
2018-09-14 19:49:10 +02:00
Marcel Holtmann
1e37ef31fe
eapol: Move eapol_key_validate() into eapolutil helper
2018-09-14 17:31:42 +02:00
Marcel Holtmann
c40be7a7d5
monitor: Add EAP dummy method to keep linker happy
2018-09-14 17:12:47 +02:00
Marcel Holtmann
4a345511a7
wired: Add skeleton for Ethernet device handling and EAP setup
2018-09-14 16:41:05 +02:00
Marcel Holtmann
fd181839f7
build: Introduce $(eap_sources) for splitting EAP from daemons
2018-09-14 16:35:04 +02:00
Marcel Holtmann
502aac073f
tools: Add configure option and D-Bus policy file for hwsim utility
2018-09-14 15:24:15 +02:00
Marcel Holtmann
c9b460f5cc
build: Add D-Bus policy for Ethernet authentication daemon
2018-09-14 15:07:30 +02:00
Marcel Holtmann
706f0775c3
build: Add option to disable the wireless daemon binary
2018-09-14 14:36:07 +02:00
Marcel Holtmann
5efc88f3af
build: Add systemd service configuration for Ethernet daemon
2018-09-14 14:09:53 +02:00
Marcel Holtmann
a053084228
build: Prepare the systemd configuration option for extensions
2018-09-14 14:07:34 +02:00
Marcel Holtmann
f81570eb75
build: Enable all optional features during distcheck
2018-09-14 13:53:55 +02:00
Marcel Holtmann
0071ecef8b
build: Add skeleton for Ethernet authentication daemon
2018-09-14 13:47:51 +02:00
Marcel Holtmann
8da33905f4
build: Add configuration for building internal utilities
2018-09-14 13:46:55 +02:00
Marcel Holtmann
f2d4b9afbd
build: Move plugin conditionals closer to the daemon sources
2018-09-14 13:46:15 +02:00
Marcel Holtmann
a01bbcfc19
build: Split noinst_PROGRAMS and libexec_PROGRAMS statements
2018-09-14 13:40:21 +02:00
Marcel Holtmann
b6720d52ac
build: Fix source file entries for hwsim and test-runner
2018-09-14 13:33:08 +02:00
Denis Kenzior
641e71a02f
station: Add skeleton
2018-08-31 20:24:15 -05:00
James Prestwood
26246e75c8
unit: tests for SAE
2018-08-15 13:26:58 -05:00
James Prestwood
220fb61128
sae: implementation
...
SAE (Simultaneous Authentication of Equals) takes place during
authentication, and followed by EAPoL/4-way handshake. This
module handles the entire SAE commit/confirm exchange. This was
done similar to eapol.
SAE begins when sae_register is called. At this point a commit
message will be created and sent out which kicks off the SAE
authentication procedure.
The commit/confirm exchange is very similar to EAP-PWD, so all
the ecc utility functions could be re-used as-is. A few new ecc
utility functions were added to conform to the 80211 'blinding'
technique for computing the password element.
2018-08-13 20:40:59 -05:00
Marcel Holtmann
28573c90d1
build: Add support for systemd D-Bus activation
2018-08-06 22:37:22 +02:00
Tim Kourt
efe45e4180
client: add client support for AdHoc
2018-07-30 09:00:57 -05:00
Tim Kourt
0fec184eae
client: add client support for AP
2018-07-30 09:00:57 -05:00
Tim Kourt
bb1a0adec7
client: introduce proxy property utils
...
All of the shared functions related to the processing of the
proxy properties will reside in this collection.
2018-07-25 11:21:14 -05:00
Andrew Zaborowski
2ca2d080d5
build: Add fswatch.[ch] from ell
2018-07-23 11:45:29 -05:00
Denis Kenzior
c37146d403
wsc: Rework wsc_init & wsc_exit
...
- wsc module does not need nl80211 any longer, so remove it.
- Move wsc_init & wsc_exit declarations to iwd.h and remove wsc.h
- re-arrange how wsc_init & wsc_exit is called inside main.c.
2018-07-17 19:19:09 -05:00
James Prestwood
55cb9aa2e9
adhoc: adhoc implementation
2018-07-17 16:46:18 -05:00
Denis Kenzior
1d40c6cee7
build: Add util.c to test-eapol
...
src/eapol.c now uses util_*
2018-06-22 14:40:46 -05:00
Denis Kenzior
180a893c0c
unit: Update to the new EAP API
2018-06-14 20:01:22 -05:00
Denis Kenzior
a2d8054218
eap: Separate private bits into eap-private.h
2018-06-14 20:01:19 -05:00
Denis Kenzior
5616962bb2
unit: Update scan_get_security usage to new API
2018-05-24 19:22:16 -05:00
Marcel Holtmann
3d69c3b134
build: Remove readline header files from sources listing
2018-05-05 09:19:01 +02:00
Tim Kourt
85a1678147
client: introduce agent
2018-05-03 16:00:23 -05:00
Tim Kourt
d1a00d9b34
client: implement agent-manager API
2018-05-03 16:00:23 -05:00
James Prestwood
d10369cf60
eap-pwd: core EAP-PWD code
2018-05-03 10:50:30 -05:00
James Prestwood
49d313ab68
unit: Add ECC math sanity tests
2018-05-03 10:48:46 -05:00
James Prestwood
fdee72dffc
ecc: added ecc implementation for EAP-PWD
...
The file, src/ecc.c was taken from the bluez project:
https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/src/shared/ecc.c
There were minor changes made, e.g. changing some functions to globals
for access in EAP-PWD as well as removing some unneeded code. There was
also some code appended which allows for point addition, modulus inverse
as well as a function to compute a Y value given an X.
2018-05-03 10:27:53 -05:00
Denis Kenzior
ab9c5670f7
build: Add new ell files
2018-04-19 10:23:54 -05:00
Denis Kenzior
6de76f97b4
build: Add net.[ch] from ell
2018-04-10 00:18:11 -05:00
James Prestwood
c0739c1965
eap-gtc: add EAP-GTC method implementation
2018-04-04 09:42:28 -05:00
Tim Kourt
7501d9372b
unit: network args parser validation
2018-03-28 14:33:00 -05:00
Marcel Holtmann
fe3a85ae05
build: Add extra dependency for internal ELL library
2018-02-11 21:03:36 +01:00
Marcel Holtmann
c31244ddec
build: Add support for installing systemd service unit
2018-02-10 18:42:43 +01:00
Marcel Holtmann
9f19cc3d25
build: Add option to disable monitor and client utilities
2018-02-09 17:14:31 +01:00
Marcel Holtmann
1f7d44056c
build: Separate between D-Bus policy and data directory
2018-02-09 17:01:31 +01:00
Marcel Holtmann
b4c9e63a8b
build: Make D-Bus policy configuration install optional
2018-01-29 02:55:54 -08:00
Marcel Holtmann
0cf589e13d
build: Don't provide iwd/main.conf during make install
2018-01-29 02:20:52 -08:00
Marcel Holtmann
980f6f3645
main: Rename iwd/iwd.conf into iwd/main.conf
2018-01-29 02:13:41 -08:00
Tim Kourt
20e74e8679
eap-peap: Introduce Protected EAP support
2018-01-24 11:19:56 -06:00
Denis Kenzior
0565c484d1
build: Add key-private.h from ell to build
2018-01-23 15:27:02 -06:00
James Prestwood
4911ba1e59
unit: updated Makefile to build simauth.c for eap-sim
2017-12-13 17:13:29 -06:00
James Prestwood
5d6118681d
plugins: added ofono plugin to build
2017-12-13 11:53:42 -06:00
Denis Kenzior
dd867a1e13
build: Add new dbus-client.[ch] files from ell
2017-12-06 15:05:06 -06:00
James Prestwood
074fb7df56
make: added hardcoded SIM plugin to build
2017-12-06 15:04:07 -06:00
James Prestwood
6c95faf88f
make: added simauth source to build
2017-11-30 08:49:49 -06:00
James Prestwood
8c6099fb9e
plugins: added plugin module to build
2017-11-28 13:30:44 -06:00
James Prestwood
517df48101
make: plugin system for build
...
Preperation for ell plugins. New plugins can be added to
builtin_sources/builtin_modules, which will be added
to src/builtin.h when it is generated.
2017-11-28 13:20:33 -06:00
Andrew Zaborowski
525ecbb113
unit: Remove pbkdf2_sha1 tests
...
They can now be moved to ELL.
2017-10-09 14:34:31 -05:00
Andrew Zaborowski
47ae1c2f06
unit: Add IE order tests in test-mpdu
2017-09-22 12:15:37 -05:00
Denis Kenzior
ac819aea67
build: Add file.[ch] from ell
2017-09-22 10:07:06 -05:00
Andrew Zaborowski
212bc08104
ap: Add AP mode api
...
Very basic WPA2-PSK only access point mode API with stubs of the start and
stop functions.
2017-09-12 14:29:34 -05:00
Andrew Zaborowski
f05c3c30d1
eapol: Add eapol_frame_watch_add / remove
...
Allow other files to receive EAPoL frames on specified interfaces.
2017-09-07 16:16:42 -05:00
Marcel Holtmann
5cbd0aa1d9
build: Make sure iwd-dbus.conf gets included in the distribution
2017-08-30 23:37:19 +02:00
Marcel Holtmann
aa668df7c9
build: Remove readline/readline.h and readline/history.h from SOURCES
2017-08-30 23:29:18 +02:00
James Prestwood
6aaa917dde
aka: EAP-AKA protocol implementation
2017-08-21 18:20:10 -05:00
James Prestwood
b2fe7fe230
unit: EAP-SIM unit tests
...
Several unit tests for EAP-SIM functionality:
- Get/Add attributes
- MAC calculation
- PRNG test
2017-08-21 18:03:13 -05:00
James Prestwood
283717b22f
sim: EAP-SIM protocol implementation
2017-08-21 17:43:55 -05:00
Denis Kenzior
d67f8acd57
build: Add new files from ell
2017-08-14 16:32:35 -05:00
Tim Kourt
50d04e99a7
Makefile: install iwd-dbus.conf
2017-05-04 18:03:13 -05:00
Tim Kourt
cb40e36ea1
client: introduce psk agent manager
2017-05-02 14:11:00 -05:00
Tim Kourt
b1d261a790
client: add WSC argument completers
2017-05-01 13:42:21 -05:00
Tim Kourt
ee369bacc9
client introduce wsc interface
2017-05-01 13:40:14 -05:00
Tim Kourt
60c4025cdf
client: Introduce adapter interface
2017-04-27 15:11:59 -05:00
Tim Kourt
0be4a82946
client: Remove excluded client/device.h
2017-04-21 15:00:57 -05:00
Tim Kourt
d35322d347
client: Introduce known networks interface
2017-04-21 15:00:57 -05:00
Tim Kourt
a5db4630ec
client: Introduce network interface
2017-04-18 17:21:48 -05:00
Tim Kourt
9a8ffc473a
client: Add device interface
2017-04-13 13:22:00 -05:00
Tim Kourt
db679448bc
client: Introduce command files
...
The purpose of these files is to encapsulate all of
the command processing functionality
2017-04-11 16:48:15 -05:00
Tim Kourt
21bebbd581
client: Introduce display files
...
The purpose of these files is to encapsulate all of
the display related functionality
2017-03-24 09:06:30 -05:00
Tim Kourt
17013fc5c7
build: Add readline into the build
2017-03-23 17:50:58 -05:00
Tim Kourt
f3a60f0182
makefile: Add dbus-proxy into the build
2017-03-23 17:32:13 -05:00
Lukas Rusak
4f090aede3
build: remove kdbus
2017-03-17 22:34:03 -05:00
Marcel Holtmann
abca195917
build: Include iwd.conf in distribution
2017-03-07 22:24:59 +01:00
Marcel Holtmann
39483e638d
build: Disable manual page generation if a2x is not available
2017-03-07 22:06:50 +01:00
Andrew Zaborowski
d03eeb398c
hwsim: Refactor radio, wiphy and interface tracking
...
Read wiphy addresses from sysfs and perform the wiphy name to wiphy idx
mapping using sysfs. Do this directly on a new radio notification and
stop using new wiphy notifications except for updating the radio names.
Having the wiphy index available synchronously when parsing a new radio
event we store the wiphy index in the radio_info_rec struct directly and
drop struct wiphy_info_rec as there was a 1:1 mapping. With this, and
knowing that all radio_info data is available when new interface
notifications are received, the tracking is simplified because dbus
objects can be created and destroyed within the notification handlers.
We also now store both the wiphy hardware address data and separately
the interface MAC addresses and can use them more appropriately in the
medium implementation.
2017-03-03 11:56:50 -06:00
Andrew Zaborowski
335ee0c31e
hwsim: Add daemon mode with radio information tracking
...
Add a daemon mode that is entered when no action was specified on the
command line. In this mode hwsim tracks information on radios through
the netlink events. The interface to make use of the information is
added in the next patch.
2017-02-23 11:21:18 -06:00
Andrew Zaborowski
0854b90687
netdev: Handle the FT Authentication Response message
...
Parse the second message of the FT transition, validate and build the
third message, the Reassociation Request.
2017-01-12 10:33:40 -06:00
Markus Ongyerth
9afe21f86f
eap-mschapv2: add code for eap method
2016-12-14 22:56:56 -06:00
Markus Ongyerth
dfc852dd3e
unit: Add tests for eap-mschapv2 functions
2016-12-14 22:47:00 -06:00
Markus Ongyerth
1baa6ec04c
eap-mschap: Add crypto functions for mschapv2
...
Add the key-derivation and hash functions required for mschapv2.
The eap-mschapv2 protocol can be implemented on top of these functions.
2016-12-14 22:46:18 -06:00
Denis Kenzior
c78d6fda26
build: Add eap-md5.c to test-eapol requirements
...
Otherwise the EAP-MD5 driver is not found and we get the following
output:
TEST: EAPoL/8021x EAP-TTLS+EAP-MD5 & 4-Way Handshake
Error initializing EAP for ifindex 1
Program received signal SIGSEGV, Segmentation fault.
2016-12-01 13:41:36 -06:00
Tim Kourt
fe25198af6
build: Include eap-md5.c
2016-11-21 11:08:56 -06:00
Andrew Zaborowski
061dad2ff5
Add handshake_state object
...
struct handshake_state is an object that stores all the key data and other
authentication state and does the low level operations on the keys. Together
with the next patch this mostly just splits eapol.c into two layers
so that the key operations can also be used in Fast Transitions which don't
use eapol.
2016-11-03 10:23:41 -05:00
Tim Kourt
301caff89e
makefile: Install iwd.conf into /etc
2016-11-02 15:44:43 -05:00
Marcel Holtmann
88909947e2
build: Remove support for usage of kdbus
2016-10-16 19:41:27 +02:00
Mat Martineau
8642b70b82
build: Remove old ELL private header
2016-10-05 14:58:57 -05:00
Denis Kenzior
6d410b0bec
watchlist: Add watchlist utilities
2016-09-14 20:26:49 -05:00
Denis Kenzior
4518394b0e
eap-wsc: Send credential obtained events
2016-09-13 13:32:47 -05:00
Denis Kenzior
be1b2a3281
unit: Add end-to-end WSC handshake test
...
This only checks M1 & M3 message generation for now
2016-08-30 09:22:35 -05:00
Denis Kenzior
a5d3e583ff
unit: Add DH5 pubkey generation test
2016-08-15 10:52:44 -05:00
Denis Kenzior
7a19a10528
eap-wsc: Add skeleton
2016-08-10 16:59:15 -05:00
Mat Martineau
b655475385
build: Add symlinks for ell PKCS8 unit test keys
...
ELL's unit test private keys are also used by iwd's unit tests.
2016-08-10 12:15:06 -05:00
Andrew Zaborowski
377df7662c
Add rfkill enable/disable and watch support
...
Add rfkill.c/rfkill.h to be used for watching per-wiphy RFkill state.
It uses both /dev/rfkill and /sys because /dev/rfkill is the recommended
way of interfacing with rfkill but at the same time it doesn't provide
the information on mapping to wiphy IDs.
2016-07-07 13:21:08 -05:00
Andrew Zaborowski
c3f863f2da
knownnetworks: Implement KnownNetworks interface
...
knownnetworks.c/.h implements the KnownNetworks interface and loads the
known networks from storage on startup. The list of all the networks
including information on whether a network is known is managed in
network.c to avoid having two separate lists of network_info structures
and keeping them in sync. That turns out to be difficult because the
network.c list is sorted by connected_time and connected_time changes
can be triggered in both network.c or knownnetworks.c. Both can also
trigger a network_info to be removed completely.
2016-06-21 11:41:37 -05:00
Andrew Zaborowski
15bab067fc
dbus: Remove Manager interface, add AgentManager
...
Move the Agent-related methods to a new interface, AgentManager, and
drop the remaining methods and signals made redundant by the
ObjectManager.
2016-05-23 11:46:59 -05:00
Denis Kenzior
17a8460835
scan: Move scan_ssid_security to iwd.h
...
Security type is used all over the place, so move it out to a more
common place.
2016-05-11 15:54:14 -05:00
Denis Kenzior
f3fc0ea1f9
device: Refactor netdev watches
...
Turn netdev watches into device watches. The intent is to refactor out
netdev specific details into its own class and move device specific
logic into device.c away from wiphy.c
2016-05-05 12:14:59 -05:00
Denis Kenzior
525b6708d9
build: add dbus-name-cache.c
2016-04-26 11:41:55 -05:00
Tim Kourt
855035dc6d
test-runner: Included into the IWD build
2016-04-20 17:42:40 -05:00
Denis Kenzior
fc68ece8d2
build: Make sure linux/kdbus.h is copied
2016-04-13 14:32:11 -05:00
Denis Kenzior
3cbbe2cc42
main: Add backtracing support
...
Ported from oFono @ commit df5d691c39b0ff41d3d98a01db078f7157eb0250.
2016-04-13 14:08:10 -05:00
Andrew Zaborowski
945b48bfc9
Makefile: Symlinks for missing ell files.
...
Add the new dbus-filter.c and ell's version of linux/kdbus.h. Make sure
linux/kdbus.h is under linux/ so the ell code can find it.
2016-04-04 14:31:23 -05:00
Andrew Zaborowski
a64030069e
dbus: Drop unused linux/kdbus.h src/kdbus.c
...
Drop the functions that duplicated ell functionality and the now
unneeded kdbus.h copy.
2016-04-04 14:27:26 -05:00
Denis Kenzior
d86b8d2b83
build: Add key.[ch] in ell
2016-03-09 13:29:04 -06:00
Denis Kenzior
98b580a224
unit: Add SHA-256 based KDF unit test
2016-02-10 16:31:01 -06:00
Denis Kenzior
3320d31ead
sha1: Remove sha1.[ch]
2016-02-10 14:36:14 -06:00
Denis Kenzior
ac4a901518
crypto: move pbkdf2_sha1 to crypto.c
2016-02-10 14:32:27 -06:00
Denis Kenzior
6199960b52
crypto: Move + rework prf_sha1 into crypto.c
2016-02-10 14:16:32 -06:00
Denis Kenzior
064f1e0df9
crypto: Move hmac_sha1 to crypto.c
2016-02-10 14:12:46 -06:00
Andrew Zaborowski
cddb584501
Makefile: create links to ell test cerificates
...
This lets iwd use these certificates in its own unit tests.
Also use $abs_srcdir instead of $top_srcdir. It looks like $top_srcdir
doesn't exist and that's why the destination path for the symlinks
needed ../.. instead of just ..
2015-11-02 21:51:07 -06:00
Andrew Zaborowski
830161399e
eap: Implement the EAP-TTLS method
...
Only EAP as the inner authentication option is supported. According to
wikipedia this is the most popular EAP-TTLS use case, with MD5 as the
inner EAP's method.
2015-11-02 21:40:21 -06:00
Andrew Zaborowski
f55db6a1c4
eap: Implement EAP-TLS
...
Add the EAP-TLS authentication method. Currently, all the credentials
data is read from the provisioning file even though things like the
private key passphrase should possibly be obtained from the dbus agent.
2015-11-02 21:40:21 -06:00
Andrew Zaborowski
3f17fa1159
eap: Add initial EAP API
...
Adds eap.c/eap.h with the initial EAP API definitions. No actual EAP
methods are added in this patch.
2015-11-02 09:40:03 -06:00
Denis Kenzior
028fd39bed
build: Fix make distcheck
2015-10-02 13:40:59 -05:00
Denis Kenzior
d0d509d864
wsc: Add initial PushButton SM
2015-09-28 20:37:07 -05:00
Denis Kenzior
e055460709
wsc: Rename wsc.[ch] to wscutil.[ch]
2015-09-10 23:07:34 -05:00
Denis Kenzior
265994edac
build: Add ell/uuid.[ch]
2015-08-31 21:32:12 -05:00
Marcel Holtmann
fd4d58896e
build: Add ell/tls-record.c
2015-08-25 18:36:32 +02:00
Marcel Holtmann
5e86d91697
build: Add ell/ringbuf.[ch]
2015-08-15 04:22:05 +02:00
Marcel Holtmann
64d70c816d
build: Add ell/pem.[ch], ell/tls.[ch] and ell/tls-private.h
2015-08-11 04:59:16 +02:00
Marcel Holtmann
6371b5d48c
build: Add ell/base64.[ch] and ell/cipher-private.h
2015-08-11 04:58:51 +02:00
Denis Kenzior
d9b2d8151a
nlmon: Add basic WSC pretty-printing capability
2015-07-23 20:49:29 -05:00
Denis Kenzior
7ed96289f8
unit: Add sanity check for WSC iterators
2015-07-15 12:52:46 -05:00
Denis Kenzior
65c8a29370
wsc: Add WSC attribute iterator
2015-07-15 12:52:23 -05:00
Denis Kenzior
0389c60066
wsc: Add initial enum definitions from the spec
2015-07-01 09:46:43 -05:00
Denis Kenzior
d3f0bd5e27
network: Add initial network usage tracking
2015-06-18 05:18:26 -05:00
Denis Kenzior
fd15212330
build: Add ell/uintset.[ch]
2015-06-08 09:38:52 -05:00
Denis Kenzior
9d7f3030f0
storage: Add initial set of utilities
2015-04-27 07:55:09 -05:00
Marcel Holtmann
4c5a846abb
build: Include ell/genl-private.h header
2015-03-21 17:28:34 +01:00
Jukka Rissanen
b46f06a9ad
agent: Initial agent support
...
Init, setup and exit functions.
2015-02-27 09:37:32 -06:00
Denis Kenzior
7f9b8117fd
eapol: Add utility to find GTK KDEs
2015-02-24 17:11:56 -06:00
Denis Kenzior
ad3e0b6bf2
arc4: Remove and move to src/crypto.c
2015-02-18 21:11:37 -06:00
Denis Kenzior
b3e617838d
aes: Remove and move to src/crypto.c
2015-02-18 21:02:09 -06:00