Re: [PATCH 1/2] save duid to lease file
- From: Dan Williams <dcbw redhat com>
- To: Gene Czarcinski <gene czarc net>
- Cc: networkmanager-list gnome org
- Subject: Re: [PATCH 1/2] save duid to lease file
- Date: Wed, 13 Feb 2013 09:43:41 -0600
On Wed, 2013-02-13 at 03:01 -0500, Gene Czarcinski wrote:
> get_duid() got a default-duid from the lease file, from
> one of the system files, or from the machine-id but did
> not save it back to the lease file so that dhclient
> could use it.
> Signed-off-by: Gene Czarcinski <gene czarc net>
Instead of writing it when getting it, we should actually write it when
we're about to execute dhclient for IPv6. So something like this
instead? Good catch though, thanks for looking into this.
Dan
diff --git a/src/dhcp-manager/nm-dhcp-dhclient.c b/src/dhcp-manager/nm-dhcp-dhclient.c
index d9f5135..c43ecf5 100644
--- a/src/dhcp-manager/nm-dhcp-dhclient.c
+++ b/src/dhcp-manager/nm-dhcp-dhclient.c
@@ -455,8 +455,9 @@ dhclient_start (NMDHCPClient *client,
GError *error = NULL;
const char *iface, *uuid, *system_bus_address;
char *binary_name, *cmd_str, *pid_file = NULL, *system_bus_address_env = NULL;
- gboolean ipv6;
+ gboolean ipv6, success;
guint log_domain;
+ char *escaped;
g_return_val_if_fail (priv->pid_file == NULL, -1);
@@ -497,6 +498,20 @@ dhclient_start (NMDHCPClient *client,
return -1;
}
+ /* Save the DUID to the leasefile dhclient will actually use */
+ if (ipv6) {
+ escaped = nm_dhcp_dhclient_escape_duid (duid);
+ success = nm_dhcp_dhclient_save_duid (priv->lease_file, escaped, &error);
+ g_free (escaped);
+ if (!success) {
+ nm_log_warn (log_domain, "(%s): failed to save DUID to %s: (%d) %s.",
+ iface, priv->lease_file,
+ error ? error->code : -1,
+ error && error->message ? error->message : "(unknown)");
+ return -1;
+ }
+ }
+
argv = g_ptr_array_new ();
g_ptr_array_add (argv, (gpointer) priv->path);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]