dhcp: pass IPv6 privacy preference to client class

This commit is contained in:
Dan Williams
2014-07-08 11:37:38 -05:00
parent 24c1523b51
commit a1c86a9a27
7 changed files with 22 additions and 9 deletions

View File

@@ -3239,7 +3239,8 @@ dhcp6_start (NMDevice *self,
nm_setting_ip6_config_get_dhcp_hostname (s_ip6),
priv->dhcp_timeout,
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)
g_byte_array_free (tmp, TRUE);

View File

@@ -473,7 +473,8 @@ gboolean
nm_dhcp_client_start_ip6 (NMDHCPClient *self,
GByteArray *dhcp_anycast_addr,
const char *hostname,
gboolean info_only)
gboolean info_only,
NMSettingIP6ConfigPrivacy privacy)
{
NMDHCPClientPrivate *priv;
char *escaped;
@@ -506,6 +507,7 @@ nm_dhcp_client_start_ip6 (NMDHCPClient *self,
dhcp_anycast_addr,
hostname,
info_only,
privacy,
priv->duid);
}

View File

@@ -72,6 +72,7 @@ typedef struct {
GByteArray *anycast_addr,
const char *hostname,
gboolean info_only,
NMSettingIP6ConfigPrivacy privacy,
const GByteArray *duid);
void (*stop) (NMDHCPClient *self,
@@ -116,7 +117,8 @@ gboolean nm_dhcp_client_start_ip4 (NMDHCPClient *self,
gboolean nm_dhcp_client_start_ip6 (NMDHCPClient *self,
GByteArray *dhcp_anycast_addr,
const char *hostname,
gboolean info_only);
gboolean info_only,
NMSettingIP6ConfigPrivacy privacy);
void nm_dhcp_client_stop (NMDHCPClient *self, gboolean release);

View File

@@ -500,6 +500,7 @@ ip6_start (NMDHCPClient *client,
GByteArray *dhcp_anycast_addr,
const char *hostname,
gboolean info_only,
NMSettingIP6ConfigPrivacy privacy,
const GByteArray *duid)
{
NMDHCPDhclientPrivate *priv = NM_DHCP_DHCLIENT_GET_PRIVATE (client);

View File

@@ -172,6 +172,7 @@ ip6_start (NMDHCPClient *client,
GByteArray *dhcp_anycast_addr,
const char *hostname,
gboolean info_only,
NMSettingIP6ConfigPrivacy privacy,
const GByteArray *duid)
{
nm_log_warn (LOGD_DHCP6, "the dhcpcd backend does not support IPv6.");

View File

@@ -379,7 +379,8 @@ client_start (NMDHCPManager *self,
guint32 timeout,
GByteArray *dhcp_anycast_addr,
const char *hostname,
gboolean info_only)
gboolean info_only,
NMSettingIP6ConfigPrivacy privacy)
{
NMDHCPManagerPrivate *priv;
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);
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
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)
hostname = get_send_hostname (self, dhcp_hostname);
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 */
@@ -474,15 +476,18 @@ nm_dhcp_manager_start_ip6 (NMDHCPManager *self,
const char *dhcp_hostname,
guint32 timeout,
GByteArray *dhcp_anycast_addr,
gboolean info_only)
gboolean info_only,
NMSettingIP6ConfigPrivacy privacy)
{
const char *hostname;
g_return_val_if_fail (NM_IS_DHCP_MANAGER (self), NULL);
hostname = dhcp_hostname ? get_send_hostname (self, dhcp_hostname) : NULL;
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

View File

@@ -82,7 +82,8 @@ NMDHCPClient * nm_dhcp_manager_start_ip6 (NMDHCPManager *manager,
const char *dhcp_hostname,
guint32 timeout,
GByteArray *dhcp_anycast_addr,
gboolean info_only);
gboolean info_only,
NMSettingIP6ConfigPrivacy privacy);
GSList * nm_dhcp_manager_get_lease_ip_configs (NMDHCPManager *self,
const char *iface,