Ack with one minor nit. If you're going to use a char *, use free(). If you are going to use g_free(), use a gchar *. Yes, glib falls through to free() for now, but there's nothing that says it has to. The APIs are separate for a reason. glib could up and change to a new allocator at some point and that would be an unwelcome surprise. On Wed, Feb 15, 2012 at 02:11:16PM +0100, Radek Vykydal wrote: > Prevents using the same UUIDs for multiple installations when NM creates > UUID for already existing ifcfg file based on hashing of configuration > file name. > > Resolves: rhbz#705328 > --- > loader/net.c | 9 +++++++++ > 1 files changed, 9 insertions(+), 0 deletions(-) > > diff --git a/loader/net.c b/loader/net.c > index d755eae..0b0d16d 100644 > --- a/loader/net.c > +++ b/loader/net.c > @@ -40,6 +40,7 @@ > #include <glib.h> > #include <NetworkManager.h> > #include <nm-client.h> > +#include <nm-utils.h> > > #include "../isys/isys.h" > #include "../isys/ethtool.h" > @@ -1219,6 +1220,7 @@ int writeDisabledIfcfgFile(char *device) { > char *ofile = NULL; > char *nfile = NULL; > FILE *fp = NULL; > + char *uuid = NULL; > > checked_asprintf(&ofile, "%s/.ifcfg-%s", > NETWORK_SCRIPTS_PATH, > @@ -1234,6 +1236,9 @@ int writeDisabledIfcfgFile(char *device) { > > fprintf(fp, "DEVICE=%s\n", device); > fprintf(fp, "HWADDR=%s\n", iface_mac2str(device)); > + uuid = nm_utils_uuid_generate(); > + fprintf(fp, "UUID=%s\n", uuid); > + g_free(uuid); > fprintf(fp, "ONBOOT=no\n"); > fprintf(fp, "NM_CONTROLLED=no\n"); > /* default for network service, NM assumes it */ > @@ -1275,6 +1280,7 @@ int writeEnabledNetInfo(iface_t *iface) { > char *ofile = NULL; > char *nfile = NULL; > struct utsname kv; > + char *uuid = NULL; > > memset(&buf, '\0', sizeof(buf)); > > @@ -1336,6 +1342,9 @@ int writeEnabledNetInfo(iface_t *iface) { > #if !defined(__s390__) && !defined(__s390x__) > fprintf(fp, "HWADDR=%s\n", iface_mac2str(iface->device)); > #endif > + uuid = nm_utils_uuid_generate(); > + fprintf(fp, "UUID=%s\n", uuid); > + g_free(uuid); > fprintf(fp, "ONBOOT=yes\n"); > char *str_type = netArpTypeStr(iface); > if (str_type) fprintf(fp, "TYPE=%s\n", str_type); > -- > 1.7.4 > > _______________________________________________ > Anaconda-devel-list mailing list > Anaconda-devel-list@xxxxxxxxxx > https://www.redhat.com/mailman/listinfo/anaconda-devel-list -- David Cantrell <dcantrell@xxxxxxxxxx> Supervisor, Installer Engineering Team Red Hat, Inc. | Westford, MA | EST5EDT _______________________________________________ Anaconda-devel-list mailing list Anaconda-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/anaconda-devel-list