All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: [PATCH] network: fix handling of AlwaysRandomizeAddress/AddressOverride
@ 2022-06-03 20:53 Denis Kenzior
  0 siblings, 0 replies; 2+ messages in thread
From: Denis Kenzior @ 2022-06-03 20:53 UTC (permalink / raw)
  To: iwd

[-- Attachment #1: Type: text/plain, Size: 698 bytes --]

Hi James,

On 6/3/22 15:54, James Prestwood wrote:
> For network configuration files the man pages (iwd.network) state
> that [General].{AlwaysRandomizeAddress,AddressOverride} are only
> used if main.conf has [General].AddressRandomization=network.
> 
> This actually was not being enforced and both iwd.network settings
> were still taken into account regardless of what AddressRandomization
> was set to (even disabled).
> 
> The handshake setup code now checks the AddressRandomization value
> and if anything other than 'network' skips the randomization.
> ---
>   src/network.c | 11 +++++++++++
>   1 file changed, 11 insertions(+)
> 

Applied, thanks.

Regards,
-Denis

^ permalink raw reply	[flat|nested] 2+ messages in thread

* [PATCH] network: fix handling of AlwaysRandomizeAddress/AddressOverride
@ 2022-06-03 20:54 James Prestwood
  0 siblings, 0 replies; 2+ messages in thread
From: James Prestwood @ 2022-06-03 20:54 UTC (permalink / raw)
  To: iwd

[-- Attachment #1: Type: text/plain, Size: 1864 bytes --]

For network configuration files the man pages (iwd.network) state
that [General].{AlwaysRandomizeAddress,AddressOverride} are only
used if main.conf has [General].AddressRandomization=network.

This actually was not being enforced and both iwd.network settings
were still taken into account regardless of what AddressRandomization
was set to (even disabled).

The handshake setup code now checks the AddressRandomization value
and if anything other than 'network' skips the randomization.
---
 src/network.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/src/network.c b/src/network.c
index 7bc97121..70cb925c 100644
--- a/src/network.c
+++ b/src/network.c
@@ -485,10 +485,12 @@ int network_handshake_setup(struct network *network, struct scan_bss *bss,
 	struct station *station = network->station;
 	struct wiphy *wiphy = station_get_wiphy(station);
 	struct l_settings *settings = network->settings;
+	const struct l_settings *config = iwd_get_config();
 	struct network_info *info = network->info;
 	uint32_t eapol_proto_version;
 	uint8_t new_addr[ETH_ALEN];
 	int r;
+	const char *str;
 
 	switch (network->security) {
 	case SECURITY_PSK:
@@ -523,6 +525,15 @@ int network_handshake_setup(struct network *network, struct scan_bss *bss,
 		handshake_state_set_protocol_version(hs, eapol_proto_version);
 	}
 
+	/*
+	 * The randomization options in the provisioning file are dependent on
+	 * main.conf: [General].AddressRandomization=network. Any other value
+	 * should disqualify the three network-specific settings below.
+	 */
+	str = l_settings_get_value(config, "General", "AddressRandomization");
+	if (!(str && !strcmp(str, "network")))
+		return 0;
+
 	/*
 	 * We have three possible options here:
 	 * 1. per-network MAC generation (default, no option in network config)
-- 
2.34.1

^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-06-03 20:54 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-03 20:53 [PATCH] network: fix handling of AlwaysRandomizeAddress/AddressOverride Denis Kenzior
2022-06-03 20:54 James Prestwood

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.