mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-05-08 20:38:10 +02:00
dhcp: look for DUID in both private and global DHCP client lease files
Option to check just in NM private dhcp client specific lease files has
been dropped: either get DUID from specific DHCP plugin or just use the
provided one.
This reverts commit f054c3fcaa.
This commit is contained in:
parent
0a662a3620
commit
08116409f3
3 changed files with 5 additions and 7 deletions
|
|
@ -513,7 +513,7 @@ nm_dhcp_client_start_ip4 (NMDhcpClient *self,
|
||||||
}
|
}
|
||||||
|
|
||||||
static GBytes *
|
static GBytes *
|
||||||
get_duid (NMDhcpClient *self, gboolean global)
|
get_duid (NMDhcpClient *self)
|
||||||
{
|
{
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
@ -542,7 +542,7 @@ nm_dhcp_client_start_ip6 (NMDhcpClient *self,
|
||||||
nm_assert (client_id);
|
nm_assert (client_id);
|
||||||
|
|
||||||
if (!enforce_duid)
|
if (!enforce_duid)
|
||||||
priv->duid = NM_DHCP_CLIENT_GET_CLASS (self)->get_duid (self, TRUE);
|
priv->duid = NM_DHCP_CLIENT_GET_CLASS (self)->get_duid (self);
|
||||||
|
|
||||||
if (!priv->duid)
|
if (!priv->duid)
|
||||||
priv->duid = g_bytes_ref (client_id);
|
priv->duid = g_bytes_ref (client_id);
|
||||||
|
|
|
||||||
|
|
@ -96,15 +96,13 @@ typedef struct {
|
||||||
/**
|
/**
|
||||||
* get_duid:
|
* get_duid:
|
||||||
* @self: the #NMDhcpClient
|
* @self: the #NMDhcpClient
|
||||||
* @global: if set to #true, the duid should be searched also in the
|
|
||||||
* DHCP client's system-wide persistent configuration.
|
|
||||||
*
|
*
|
||||||
* Attempts to find an existing DHCPv6 DUID for this client in the DHCP
|
* Attempts to find an existing DHCPv6 DUID for this client in the DHCP
|
||||||
* client's persistent configuration. Returned DUID should be the binary
|
* client's persistent configuration. Returned DUID should be the binary
|
||||||
* representation of the DUID. If no DUID is found, %NULL should be
|
* representation of the DUID. If no DUID is found, %NULL should be
|
||||||
* returned.
|
* returned.
|
||||||
*/
|
*/
|
||||||
GBytes *(*get_duid) (NMDhcpClient *self, gboolean global);
|
GBytes *(*get_duid) (NMDhcpClient *self);
|
||||||
|
|
||||||
/* Signals */
|
/* Signals */
|
||||||
void (*state_changed) (NMDhcpClient *self,
|
void (*state_changed) (NMDhcpClient *self,
|
||||||
|
|
|
||||||
|
|
@ -582,7 +582,7 @@ state_changed (NMDhcpClient *client,
|
||||||
}
|
}
|
||||||
|
|
||||||
static GBytes *
|
static GBytes *
|
||||||
get_duid (NMDhcpClient *client, gboolean global)
|
get_duid (NMDhcpClient *client)
|
||||||
{
|
{
|
||||||
NMDhcpDhclient *self = NM_DHCP_DHCLIENT (client);
|
NMDhcpDhclient *self = NM_DHCP_DHCLIENT (client);
|
||||||
NMDhcpDhclientPrivate *priv = NM_DHCP_DHCLIENT_GET_PRIVATE (self);
|
NMDhcpDhclientPrivate *priv = NM_DHCP_DHCLIENT_GET_PRIVATE (self);
|
||||||
|
|
@ -607,7 +607,7 @@ get_duid (NMDhcpClient *client, gboolean global)
|
||||||
g_free (leasefile);
|
g_free (leasefile);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!duid && global) {
|
if (!duid) {
|
||||||
/* Otherwise read the default machine-wide DUID */
|
/* Otherwise read the default machine-wide DUID */
|
||||||
_LOGD ("looking for default DUID in '%s'", priv->def_leasefile);
|
_LOGD ("looking for default DUID in '%s'", priv->def_leasefile);
|
||||||
duid = nm_dhcp_dhclient_read_duid (priv->def_leasefile, &error);
|
duid = nm_dhcp_dhclient_read_duid (priv->def_leasefile, &error);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue