dhcp: pass IPv6 privacy preference to client class
This commit is contained in:
@@ -3239,7 +3239,8 @@ dhcp6_start (NMDevice *self,
|
|||||||
nm_setting_ip6_config_get_dhcp_hostname (s_ip6),
|
nm_setting_ip6_config_get_dhcp_hostname (s_ip6),
|
||||||
priv->dhcp_timeout,
|
priv->dhcp_timeout,
|
||||||
priv->dhcp_anycast_address,
|
priv->dhcp_anycast_address,
|
||||||
(dhcp_opt == NM_RDISC_DHCP_LEVEL_OTHERCONF) ? TRUE : FALSE);
|
(dhcp_opt == NM_RDISC_DHCP_LEVEL_OTHERCONF) ? TRUE : FALSE,
|
||||||
|
nm_setting_ip6_config_get_ip6_privacy (s_ip6));
|
||||||
if (tmp)
|
if (tmp)
|
||||||
g_byte_array_free (tmp, TRUE);
|
g_byte_array_free (tmp, TRUE);
|
||||||
|
|
||||||
|
@@ -473,7 +473,8 @@ gboolean
|
|||||||
nm_dhcp_client_start_ip6 (NMDHCPClient *self,
|
nm_dhcp_client_start_ip6 (NMDHCPClient *self,
|
||||||
GByteArray *dhcp_anycast_addr,
|
GByteArray *dhcp_anycast_addr,
|
||||||
const char *hostname,
|
const char *hostname,
|
||||||
gboolean info_only)
|
gboolean info_only,
|
||||||
|
NMSettingIP6ConfigPrivacy privacy)
|
||||||
{
|
{
|
||||||
NMDHCPClientPrivate *priv;
|
NMDHCPClientPrivate *priv;
|
||||||
char *escaped;
|
char *escaped;
|
||||||
@@ -506,6 +507,7 @@ nm_dhcp_client_start_ip6 (NMDHCPClient *self,
|
|||||||
dhcp_anycast_addr,
|
dhcp_anycast_addr,
|
||||||
hostname,
|
hostname,
|
||||||
info_only,
|
info_only,
|
||||||
|
privacy,
|
||||||
priv->duid);
|
priv->duid);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -72,6 +72,7 @@ typedef struct {
|
|||||||
GByteArray *anycast_addr,
|
GByteArray *anycast_addr,
|
||||||
const char *hostname,
|
const char *hostname,
|
||||||
gboolean info_only,
|
gboolean info_only,
|
||||||
|
NMSettingIP6ConfigPrivacy privacy,
|
||||||
const GByteArray *duid);
|
const GByteArray *duid);
|
||||||
|
|
||||||
void (*stop) (NMDHCPClient *self,
|
void (*stop) (NMDHCPClient *self,
|
||||||
@@ -116,7 +117,8 @@ gboolean nm_dhcp_client_start_ip4 (NMDHCPClient *self,
|
|||||||
gboolean nm_dhcp_client_start_ip6 (NMDHCPClient *self,
|
gboolean nm_dhcp_client_start_ip6 (NMDHCPClient *self,
|
||||||
GByteArray *dhcp_anycast_addr,
|
GByteArray *dhcp_anycast_addr,
|
||||||
const char *hostname,
|
const char *hostname,
|
||||||
gboolean info_only);
|
gboolean info_only,
|
||||||
|
NMSettingIP6ConfigPrivacy privacy);
|
||||||
|
|
||||||
void nm_dhcp_client_stop (NMDHCPClient *self, gboolean release);
|
void nm_dhcp_client_stop (NMDHCPClient *self, gboolean release);
|
||||||
|
|
||||||
|
@@ -500,6 +500,7 @@ ip6_start (NMDHCPClient *client,
|
|||||||
GByteArray *dhcp_anycast_addr,
|
GByteArray *dhcp_anycast_addr,
|
||||||
const char *hostname,
|
const char *hostname,
|
||||||
gboolean info_only,
|
gboolean info_only,
|
||||||
|
NMSettingIP6ConfigPrivacy privacy,
|
||||||
const GByteArray *duid)
|
const GByteArray *duid)
|
||||||
{
|
{
|
||||||
NMDHCPDhclientPrivate *priv = NM_DHCP_DHCLIENT_GET_PRIVATE (client);
|
NMDHCPDhclientPrivate *priv = NM_DHCP_DHCLIENT_GET_PRIVATE (client);
|
||||||
|
@@ -172,6 +172,7 @@ ip6_start (NMDHCPClient *client,
|
|||||||
GByteArray *dhcp_anycast_addr,
|
GByteArray *dhcp_anycast_addr,
|
||||||
const char *hostname,
|
const char *hostname,
|
||||||
gboolean info_only,
|
gboolean info_only,
|
||||||
|
NMSettingIP6ConfigPrivacy privacy,
|
||||||
const GByteArray *duid)
|
const GByteArray *duid)
|
||||||
{
|
{
|
||||||
nm_log_warn (LOGD_DHCP6, "the dhcpcd backend does not support IPv6.");
|
nm_log_warn (LOGD_DHCP6, "the dhcpcd backend does not support IPv6.");
|
||||||
|
@@ -379,7 +379,8 @@ client_start (NMDHCPManager *self,
|
|||||||
guint32 timeout,
|
guint32 timeout,
|
||||||
GByteArray *dhcp_anycast_addr,
|
GByteArray *dhcp_anycast_addr,
|
||||||
const char *hostname,
|
const char *hostname,
|
||||||
gboolean info_only)
|
gboolean info_only,
|
||||||
|
NMSettingIP6ConfigPrivacy privacy)
|
||||||
{
|
{
|
||||||
NMDHCPManagerPrivate *priv;
|
NMDHCPManagerPrivate *priv;
|
||||||
NMDHCPClient *client;
|
NMDHCPClient *client;
|
||||||
@@ -418,7 +419,7 @@ client_start (NMDHCPManager *self,
|
|||||||
g_signal_connect (client, NM_DHCP_CLIENT_SIGNAL_STATE_CHANGED, G_CALLBACK (client_state_changed), self);
|
g_signal_connect (client, NM_DHCP_CLIENT_SIGNAL_STATE_CHANGED, G_CALLBACK (client_state_changed), self);
|
||||||
|
|
||||||
if (ipv6)
|
if (ipv6)
|
||||||
success = nm_dhcp_client_start_ip6 (client, dhcp_anycast_addr, hostname, info_only);
|
success = nm_dhcp_client_start_ip6 (client, dhcp_anycast_addr, hostname, info_only, privacy);
|
||||||
else
|
else
|
||||||
success = nm_dhcp_client_start_ip4 (client, dhcp_client_id, dhcp_anycast_addr, hostname);
|
success = nm_dhcp_client_start_ip4 (client, dhcp_client_id, dhcp_anycast_addr, hostname);
|
||||||
|
|
||||||
@@ -460,7 +461,8 @@ nm_dhcp_manager_start_ip4 (NMDHCPManager *self,
|
|||||||
if (send_hostname)
|
if (send_hostname)
|
||||||
hostname = get_send_hostname (self, dhcp_hostname);
|
hostname = get_send_hostname (self, dhcp_hostname);
|
||||||
return client_start (self, iface, ifindex, hwaddr, uuid, priority, FALSE,
|
return client_start (self, iface, ifindex, hwaddr, uuid, priority, FALSE,
|
||||||
dhcp_client_id, timeout, dhcp_anycast_addr, hostname, FALSE);
|
dhcp_client_id, timeout, dhcp_anycast_addr, hostname,
|
||||||
|
FALSE, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Caller owns a reference to the NMDHCPClient on return */
|
/* Caller owns a reference to the NMDHCPClient on return */
|
||||||
@@ -474,15 +476,18 @@ nm_dhcp_manager_start_ip6 (NMDHCPManager *self,
|
|||||||
const char *dhcp_hostname,
|
const char *dhcp_hostname,
|
||||||
guint32 timeout,
|
guint32 timeout,
|
||||||
GByteArray *dhcp_anycast_addr,
|
GByteArray *dhcp_anycast_addr,
|
||||||
gboolean info_only)
|
gboolean info_only,
|
||||||
|
NMSettingIP6ConfigPrivacy privacy)
|
||||||
{
|
{
|
||||||
const char *hostname;
|
const char *hostname;
|
||||||
|
|
||||||
g_return_val_if_fail (NM_IS_DHCP_MANAGER (self), NULL);
|
g_return_val_if_fail (NM_IS_DHCP_MANAGER (self), NULL);
|
||||||
|
|
||||||
hostname = dhcp_hostname ? get_send_hostname (self, dhcp_hostname) : NULL;
|
hostname = dhcp_hostname ? get_send_hostname (self, dhcp_hostname) : NULL;
|
||||||
|
|
||||||
return client_start (self, iface, ifindex, hwaddr, uuid, priority, TRUE,
|
return client_start (self, iface, ifindex, hwaddr, uuid, priority, TRUE,
|
||||||
NULL, timeout, dhcp_anycast_addr, hostname, info_only);
|
NULL, timeout, dhcp_anycast_addr, hostname, info_only,
|
||||||
|
privacy);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@@ -82,7 +82,8 @@ NMDHCPClient * nm_dhcp_manager_start_ip6 (NMDHCPManager *manager,
|
|||||||
const char *dhcp_hostname,
|
const char *dhcp_hostname,
|
||||||
guint32 timeout,
|
guint32 timeout,
|
||||||
GByteArray *dhcp_anycast_addr,
|
GByteArray *dhcp_anycast_addr,
|
||||||
gboolean info_only);
|
gboolean info_only,
|
||||||
|
NMSettingIP6ConfigPrivacy privacy);
|
||||||
|
|
||||||
GSList * nm_dhcp_manager_get_lease_ip_configs (NMDHCPManager *self,
|
GSList * nm_dhcp_manager_get_lease_ip_configs (NMDHCPManager *self,
|
||||||
const char *iface,
|
const char *iface,
|
||||||
|
Reference in New Issue
Block a user