Commit Graph

52 Commits

Author SHA1 Message Date
James Prestwood 559a4058cd wired: check return of l_settings_load_from_file
Caught by static analysis
2022-03-18 11:34:44 -05:00
James Prestwood 34ba0d7d4a wired: check return of modify_membership
This could fail and was not being checked. It was minimally changed to
take the ifindex directly (this was the only thing needed from the ethdev)
which allows checking prior to initializing the ethdev.
2022-03-18 11:33:50 -05:00
James Prestwood 78301ec9cb wired: check eap_load_settings
Caught by static analysis
2022-03-18 11:33:18 -05:00
Denis Kenzior ceb43cb354 dbus: ead: Remove at_console usage
For reasons already outlined in commit:
010b0e27f9 ("dbus: Remove 'at_console', add 'netdev' settings")
2022-01-31 14:04:15 -06:00
Alvin Šipraga e03b1e263d build: add After=network-pre.target to service files
systemd specifies a special passive target unit 'network-pre.target'
which may be pulled in by services that want to run before any network
interface is brought up or configured. Correspondingly, network
management services such as iwd and ead should specify
After=network-pre.target to ensure a proper ordering with respect to
this special target. For more information on network-pre.target, see
systemd.special(7).

Two examples to explain the rationale of this change:

1. On one of our embedded systems running iwd, a oneshot service is
   run on startup to configure - among other things - the MAC address of
   the wireless network interface based on some data in an EEPROM.
   Following the systemd documentation, the oneshot service specifies:

        Before=network-pre.target
        Wants=network-pre.target

   ... to ensure that it is run before any network management software
   starts. In practice, before this change, iwd was starting up and
   connecting to an AP before the service had finished. iwd would then
   get kicked off by the AP when the MAC address got changed. By
   specifying After=network-pre.target, systemd will take care to avoid
   this situation.

2. An administrator may wish to use network-pre.target to ensure
   firewall rules are applied before any network management software is
   started. This use-case is described in the systemd documentation[1].
   Since iwd can be used for IP configuration, it should also respect
   the After=network-pre.target convention.

Note that network-pre.target is a passive unit that is only pulled in if
another unit specifies e.g. Wants=network-pre.target. If no such unit
exists, this change will have no effect on the order in which systemd
starts iwd or ead.

[1] https://www.freedesktop.org/wiki/Software/systemd/NetworkTarget/
2021-01-22 14:17:16 -06:00
Diego Santa Cruz f0e3defa3e wired: use 802.1X-2001 instead of 802.1X-2004
For wired authentication the protocol version used in the EAPOL
packets sent by ead is fixed to 802.1X-2004 (2) but some switches
implementing only 802.1X-2001 erroneously ignore these packets.

As ead only sends EAPOL-Start and EAP-Packet packets and these have
not changed between 802.1X-2001 and 802.1X-2004 there should be
no reason to use 802.1X-2004. Hence, this changes ead to always use
802.1X-2001 (1) instead.

Switches implementing newer versions of 802.1X should not have
problems responding to packets using the original version.
2020-04-24 22:04:22 -05:00
Denis Kenzior bc076834b0 wired: Update to the new ell API 2020-01-27 14:30:42 -06:00
Marcel Holtmann fa3db055ce wired: Utilize module system for daemon init 2019-11-07 23:59:54 +01:00
Denis Kenzior 74e814a537 wired: Introduce EAD_BASE_PATH 2019-10-28 15:48:12 -05:00
Denis Kenzior 161d1c8d78 wired: Update to the new ell api 2019-10-28 15:48:04 -05:00
Marcel Holtmann 152b56a12a treewide: Move the Intel copyright forward to 2019 2019-10-25 00:43:08 +02:00
James Prestwood a30620d8a9 wired: update with new eap_init 2019-10-11 15:45:25 -05:00
Marcel Holtmann 765bb92084 build: Add skeleton manual pages for all installed binaries 2019-09-22 21:57:47 +02:00
Marcel Holtmann 1104d69e29 build: Add StateDirectoryMode=0700 option to systemd service 2019-09-09 06:55:22 +02:00
Marcel Holtmann 41f865d4df build: Use NotifyAccess=main feature when running under systemd 2019-09-08 20:36:57 +02:00
Marcel Holtmann e6a99f461a build: Start using CapabilityBoundingSet option from systemd 2019-09-08 20:26:49 +02:00
Marcel Holtmann 71ae0bee9c build: Add StateDirectory= option to service files 2019-09-08 19:56:21 +02:00
Marcel Holtmann 8e3acef914 wired: Add support for utilizing STATE_DIRECTORY environment 2019-09-08 19:54:00 +02:00
Marcel Holtmann 351e21f7c7 build: Add ConfigurationDirectory= option to service files 2019-09-08 10:25:39 +02:00
Marcel Holtmann 16c489490c build: Fix issue with incorrect ReadWritePaths in unit files 2019-08-03 09:52:28 +02:00
James Prestwood e963e64f9b eap: export session ID as key materials
ERP/FILS requires the session ID which is derived internally to an
EAP method.
2019-04-10 16:55:29 -05:00
Marcel Holtmann d0fd928af2 wired: Fix includes for using with -std=c99 compiler option 2018-11-01 22:23:53 +01:00
Marcel Holtmann 72a64fa7fb build: Adjust to the latest ELL signal API changes 2018-11-01 22:09:19 +01:00
Marcel Holtmann e77cd821d0 wired: Hook up EAP key material and event callback functions 2018-10-17 14:12:36 +02:00
Marcel Holtmann be6a2495ca wired: Relax the EAPoL packet body length safety check 2018-10-16 18:54:42 +02:00
Marcel Holtmann f68ee5ac74 wired: Fix memory leak when terminating application 2018-10-16 17:59:53 +02:00
Marcel Holtmann 2000a24ff6 wired: Check that packets are either unicast or multicast 2018-10-16 15:12:53 +02:00
Marcel Holtmann e0e046c784 wired: Include extra check for ARPHRD_ETHER on packet reception 2018-10-16 14:40:18 +02:00
Marcel Holtmann da70b2d1c2 wired: The supplicant always uses PAE group address for transmission 2018-10-14 07:55:29 +02:00
Marcel Holtmann 60a74c46a0 wired: Default to using PAE group address for transmission 2018-10-14 05:34:01 +02:00
Marcel Holtmann 15a19330da wired: Subscribe to PAE group address for packet reception 2018-10-14 05:29:39 +02:00
Marcel Holtmann d7dbbf66a0 wired: Handle replacing of storage files correctly 2018-10-04 23:28:03 +02:00
Marcel Holtmann 70f58f640d wired: Use l_dir_watch for monitoring storage directory 2018-10-04 23:12:04 +02:00
Marcel Holtmann ce91b7c27b wired: Store network basename and filter out by prefix 2018-09-21 18:07:53 -05:00
Marcel Holtmann 292f9dd3f6 wired: Issue all property changed signals when link goes down 2018-09-21 18:07:53 -05:00
Marcel Holtmann 4b853f115b wired: Make sure that property changed signals are sent 2018-09-21 18:07:53 -05:00
Marcel Holtmann 111af84d91 wired: Move net/if_arp.h before Linux header includes 2018-09-19 22:12:57 +02:00
Marcel Holtmann c043a93784 wired: Add initial set of D-Bus properties for Ethernet adapters 2018-09-17 11:23:49 +02:00
Marcel Holtmann 807a7802d8 wired: Fix handling of interface whitelist and blacklist 2018-09-17 10:10:33 +02:00
Marcel Holtmann 05ccd73818 wired: Add concept of D-Bus application and async shutdown handling 2018-09-16 20:48:32 +02:00
Marcel Holtmann 8bc97d7caa wired: Add accessor for bus connection object 2018-09-16 00:45:59 +02:00
Marcel Holtmann a924de37c3 wired: Return bus connection object via ready and shutdown callbacks 2018-09-15 21:52:38 +02:00
Marcel Holtmann 975e3714b8 wired: Move system setup after aquiring bus name 2018-09-15 21:40:32 +02:00
Marcel Holtmann 247b2ccc5c wired: Move D-Bus setup into separate source file 2018-09-14 23:29:46 +02:00
Marcel Holtmann 78dd20131a wired: Fix issue with destroying EAPoL seesions list on IFF_LOWER_UP 2018-09-14 22:35:36 +02:00
Marcel Holtmann f8b2610046 wired: Start and stop EAPoL session based on IFF_LOWER_UP signalling 2018-09-14 22:29:38 +02:00
Marcel Holtmann ee755490c1 wired: Add support for D-Bus setup and requesting well known name 2018-09-14 21:16:50 +02:00
Marcel Holtmann b8d45a440a wired: Add initial version of Ethernet authentication daemon 2018-09-14 19:49:10 +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 c9b460f5cc build: Add D-Bus policy for Ethernet authentication daemon 2018-09-14 15:07:30 +02:00