summaryrefslogtreecommitdiff
path: root/src/dhcp
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2018-02-14 15:26:40 +0100
committerThomas Haller <thaller@redhat.com>2018-02-15 16:08:00 +0100
commit7de078a3940ec31bca553aced4e5d56bdc5c661c (patch)
treebc45bc5b5a6361e58ed4a518db71d2ba873ba665 /src/dhcp
parent578c4af907cd1f5a93aacb024f983b7eb5b40362 (diff)
dhcp: inject client-id in GBytes format from NMDevice to nm_dhcp_manager_start_ip4()
Convert the string representation of ipv4.dhcp-client-id property already in NMDevice to a GBytes. Next, we will support more client ID modes, and we will need the NMDevice context to generate the client id.
Diffstat (limited to 'src/dhcp')
-rw-r--r--src/dhcp/nm-dhcp-client.c18
-rw-r--r--src/dhcp/nm-dhcp-client.h4
-rw-r--r--src/dhcp/nm-dhcp-manager.c5
-rw-r--r--src/dhcp/nm-dhcp-manager.h2
4 files changed, 7 insertions, 22 deletions
diff --git a/src/dhcp/nm-dhcp-client.c b/src/dhcp/nm-dhcp-client.c
index 6396a925f..96c026538 100644
--- a/src/dhcp/nm-dhcp-client.c
+++ b/src/dhcp/nm-dhcp-client.c
@@ -239,20 +239,6 @@ nm_dhcp_client_set_client_id_bin (NMDhcpClient *self,
_set_client_id (self, b, TRUE);
}
-void
-nm_dhcp_client_set_client_id_str (NMDhcpClient *self,
- const char *dhcp_client_id)
-{
- g_return_if_fail (NM_IS_DHCP_CLIENT (self));
- g_return_if_fail (!dhcp_client_id || dhcp_client_id[0]);
-
- _set_client_id (self,
- dhcp_client_id
- ? nm_dhcp_utils_client_id_string_to_bytes (dhcp_client_id)
- : NULL,
- TRUE);
-}
-
const char *
nm_dhcp_client_get_hostname (NMDhcpClient *self)
{
@@ -500,7 +486,7 @@ nm_dhcp_client_watch_child (NMDhcpClient *self, pid_t pid)
gboolean
nm_dhcp_client_start_ip4 (NMDhcpClient *self,
- const char *dhcp_client_id,
+ GBytes *client_id,
const char *dhcp_anycast_addr,
const char *hostname,
const char *last_ip4_address)
@@ -519,7 +505,7 @@ nm_dhcp_client_start_ip4 (NMDhcpClient *self,
else
_LOGI ("activation: beginning transaction (timeout in %u seconds)", (guint) priv->timeout);
- nm_dhcp_client_set_client_id_str (self, dhcp_client_id);
+ nm_dhcp_client_set_client_id (self, client_id);
g_clear_pointer (&priv->hostname, g_free);
priv->hostname = g_strdup (hostname);
diff --git a/src/dhcp/nm-dhcp-client.h b/src/dhcp/nm-dhcp-client.h
index 25c433b9c..f389f534c 100644
--- a/src/dhcp/nm-dhcp-client.h
+++ b/src/dhcp/nm-dhcp-client.h
@@ -144,7 +144,7 @@ gboolean nm_dhcp_client_get_info_only (NMDhcpClient *self);
gboolean nm_dhcp_client_get_use_fqdn (NMDhcpClient *self);
gboolean nm_dhcp_client_start_ip4 (NMDhcpClient *self,
- const char *dhcp_client_id,
+ GBytes *client_id,
const char *dhcp_anycast_addr,
const char *hostname,
const char *last_ip4_address);
@@ -185,8 +185,6 @@ void nm_dhcp_client_set_client_id_bin (NMDhcpClient *self,
guint8 type,
const guint8 *client_id,
gsize len);
-void nm_dhcp_client_set_client_id_str (NMDhcpClient *self,
- const char *dhcp_client_id);
/*****************************************************************************
* Client data
diff --git a/src/dhcp/nm-dhcp-manager.c b/src/dhcp/nm-dhcp-manager.c
index fc88f5497..526dbfd79 100644
--- a/src/dhcp/nm-dhcp-manager.c
+++ b/src/dhcp/nm-dhcp-manager.c
@@ -163,7 +163,7 @@ client_start (NMDhcpManager *self,
guint32 route_table,
guint32 route_metric,
const struct in6_addr *ipv6_ll_addr,
- const char *dhcp_client_id,
+ GBytes *dhcp_client_id,
guint32 timeout,
const char *dhcp_anycast_addr,
const char *hostname,
@@ -181,6 +181,7 @@ client_start (NMDhcpManager *self,
g_return_val_if_fail (NM_IS_DHCP_MANAGER (self), NULL);
g_return_val_if_fail (ifindex > 0, NULL);
g_return_val_if_fail (uuid != NULL, NULL);
+ g_return_val_if_fail (!dhcp_client_id || g_bytes_get_size (dhcp_client_id) >= 2, NULL);
priv = NM_DHCP_MANAGER_GET_PRIVATE (self);
@@ -240,7 +241,7 @@ nm_dhcp_manager_start_ip4 (NMDhcpManager *self,
gboolean send_hostname,
const char *dhcp_hostname,
const char *dhcp_fqdn,
- const char *dhcp_client_id,
+ GBytes *dhcp_client_id,
guint32 timeout,
const char *dhcp_anycast_addr,
const char *last_ip_address)
diff --git a/src/dhcp/nm-dhcp-manager.h b/src/dhcp/nm-dhcp-manager.h
index afb13b1d8..3cf8cf871 100644
--- a/src/dhcp/nm-dhcp-manager.h
+++ b/src/dhcp/nm-dhcp-manager.h
@@ -56,7 +56,7 @@ NMDhcpClient * nm_dhcp_manager_start_ip4 (NMDhcpManager *manager,
gboolean send_hostname,
const char *dhcp_hostname,
const char *dhcp_fqdn,
- const char *dhcp_client_id,
+ GBytes *dhcp_client_id,
guint32 timeout,
const char *dhcp_anycast_addr,
const char *last_ip_address);