diff options
| author | Michael Biebl <biebl@debian.org> | 2024-01-25 09:46:18 +0100 |
|---|---|---|
| committer | Michael Biebl <biebl@debian.org> | 2024-01-25 09:46:18 +0100 |
| commit | 70e18d99b8e3e77bb37e218d7ac582130156f8ef (patch) | |
| tree | d40c587e6d3f0e094ff558e415f1bb9803643214 /src/libnm-core-aux-intern | |
| parent | d4d8b2b91f7ba000d97a8b2aab48c85000c11314 (diff) | |
New upstream version 1.45.90 upstream/1.45.90
Diffstat (limited to 'src/libnm-core-aux-intern')
| -rw-r--r-- | src/libnm-core-aux-intern/nm-auth-subject.c | 6 | ||||
| -rw-r--r-- | src/libnm-core-aux-intern/nm-common-macros.h | 29 |
2 files changed, 23 insertions, 12 deletions
diff --git a/src/libnm-core-aux-intern/nm-auth-subject.c b/src/libnm-core-aux-intern/nm-auth-subject.c index db499b88..c381bdba 100644 --- a/src/libnm-core-aux-intern/nm-auth-subject.c +++ b/src/libnm-core-aux-intern/nm-auth-subject.c @@ -351,6 +351,8 @@ constructed(GObject *object) NMAuthSubject *self = NM_AUTH_SUBJECT(object); NMAuthSubjectPrivate *priv = NM_AUTH_SUBJECT_GET_PRIVATE(self); + G_OBJECT_CLASS(nm_auth_subject_parent_class)->constructed(object); + /* validate that the created instance. */ switch (priv->subject_type) { @@ -361,9 +363,9 @@ constructed(GObject *object) case NM_AUTH_SUBJECT_TYPE_UNIX_PROCESS: /* Ensure pid and uid to be representable as int32. * DBUS treats them as uint32, polkit library as int. */ - if (priv->unix_process.pid > MIN(G_MAXINT, G_MAXINT32)) + if (priv->unix_process.pid > NM_MIN(G_MAXINT, G_MAXINT32)) break; - if (priv->unix_process.uid > MIN(G_MAXINT, G_MAXINT32)) { + if (priv->unix_process.uid > NM_MIN(G_MAXINT, G_MAXINT32)) { /* for uid==-1, libpolkit-gobject-1 detects the user based on the process id. * Don't bother and require the user id as parameter. */ break; diff --git a/src/libnm-core-aux-intern/nm-common-macros.h b/src/libnm-core-aux-intern/nm-common-macros.h index c452b7d3..3e6eabae 100644 --- a/src/libnm-core-aux-intern/nm-common-macros.h +++ b/src/libnm-core-aux-intern/nm-common-macros.h @@ -34,19 +34,28 @@ "org.freedesktop.NetworkManager.enable-disable-connectivity-check" #define NM_AUTH_PERMISSION_WIFI_SCAN "org.freedesktop.NetworkManager.wifi.scan" -#define NM_CLONED_MAC_PRESERVE "preserve" -#define NM_CLONED_MAC_PERMANENT "permanent" -#define NM_CLONED_MAC_RANDOM "random" -#define NM_CLONED_MAC_STABLE "stable" +#define NM_CLONED_MAC_PRESERVE "preserve" +#define NM_CLONED_MAC_PERMANENT "permanent" +#define NM_CLONED_MAC_RANDOM "random" +#define NM_CLONED_MAC_STABLE "stable" +#define NM_CLONED_MAC_STABLE_SSID "stable-ssid" static inline gboolean -NM_CLONED_MAC_IS_SPECIAL(const char *str) +NM_CLONED_MAC_IS_SPECIAL(const char *str, gboolean is_wifi) { - return NM_IN_STRSET(str, - NM_CLONED_MAC_PRESERVE, - NM_CLONED_MAC_PERMANENT, - NM_CLONED_MAC_RANDOM, - NM_CLONED_MAC_STABLE); + if (NM_IN_STRSET(str, + NM_CLONED_MAC_PRESERVE, + NM_CLONED_MAC_PERMANENT, + NM_CLONED_MAC_RANDOM, + NM_CLONED_MAC_STABLE)) + return TRUE; + + if (is_wifi) { + if (NM_IN_STRSET(str, NM_CLONED_MAC_STABLE_SSID)) + return TRUE; + } + + return FALSE; } #define NM_IAID_MAC "mac" |