summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Williams <dcbw@redhat.com>2014-07-08 11:37:38 -0500
committerDan Williams <dcbw@redhat.com>2014-07-22 14:39:20 -0500
commita1c86a9a27a296ce5f2722d320fe383a486484c4 (patch)
tree48c28b5c33f959afa6daec0db7ef6e54b986277c
parent24c1523b51a8b0b7132125d58d928f8aa01147b7 (diff)
dhcp: pass IPv6 privacy preference to client class
-rw-r--r--src/devices/nm-device.c3
-rw-r--r--src/dhcp-manager/nm-dhcp-client.c4
-rw-r--r--src/dhcp-manager/nm-dhcp-client.h4
-rw-r--r--src/dhcp-manager/nm-dhcp-dhclient.c1
-rw-r--r--src/dhcp-manager/nm-dhcp-dhcpcd.c1
-rw-r--r--src/dhcp-manager/nm-dhcp-manager.c15
-rw-r--r--src/dhcp-manager/nm-dhcp-manager.h3
7 files changed, 22 insertions, 9 deletions
diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c
index 20e3275bc2..ba9a675eae 100644
--- a/src/devices/nm-device.c
+++ b/src/devices/nm-device.c
@@ -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);
diff --git a/src/dhcp-manager/nm-dhcp-client.c b/src/dhcp-manager/nm-dhcp-client.c
index 14f05e52ca..b6408722ee 100644
--- a/src/dhcp-manager/nm-dhcp-client.c
+++ b/src/dhcp-manager/nm-dhcp-client.c
@@ -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);
}
diff --git a/src/dhcp-manager/nm-dhcp-client.h b/src/dhcp-manager/nm-dhcp-client.h
index 1712144721..6661c92375 100644
--- a/src/dhcp-manager/nm-dhcp-client.h
+++ b/src/dhcp-manager/nm-dhcp-client.h
@@ -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);
diff --git a/src/dhcp-manager/nm-dhcp-dhclient.c b/src/dhcp-manager/nm-dhcp-dhclient.c
index 9c79edb698..2f1e11deba 100644
--- a/src/dhcp-manager/nm-dhcp-dhclient.c
+++ b/src/dhcp-manager/nm-dhcp-dhclient.c
@@ -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);
diff --git a/src/dhcp-manager/nm-dhcp-dhcpcd.c b/src/dhcp-manager/nm-dhcp-dhcpcd.c
index 831cadec03..5221f4362a 100644
--- a/src/dhcp-manager/nm-dhcp-dhcpcd.c
+++ b/src/dhcp-manager/nm-dhcp-dhcpcd.c
@@ -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.");
diff --git a/src/dhcp-manager/nm-dhcp-manager.c b/src/dhcp-manager/nm-dhcp-manager.c
index 1e7a4dd9aa..c4de434976 100644
--- a/src/dhcp-manager/nm-dhcp-manager.c
+++ b/src/dhcp-manager/nm-dhcp-manager.c
@@ -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
diff --git a/src/dhcp-manager/nm-dhcp-manager.h b/src/dhcp-manager/nm-dhcp-manager.h
index f49d857929..de162abab3 100644
--- a/src/dhcp-manager/nm-dhcp-manager.h
+++ b/src/dhcp-manager/nm-dhcp-manager.h
@@ -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,