diff options
author | David Cantrell <dcantrell@redhat.com> | 2006-07-19 21:31:48 +0000 |
---|---|---|
committer | David Cantrell <dcantrell@redhat.com> | 2006-07-19 21:31:48 +0000 |
commit | c9aab92238f0501eb871f542ed1e838c38126ec6 (patch) | |
tree | f079485deb68f85fc5a731bbe8dbb6a2a01c53c8 | |
parent | c7b449cd039d5c8c07223200d0458a1fa2f61b35 (diff) | |
download | anaconda-c9aab92238f0501eb871f542ed1e838c38126ec6.tar.gz anaconda-c9aab92238f0501eb871f542ed1e838c38126ec6.tar.xz anaconda-c9aab92238f0501eb871f542ed1e838c38126ec6.zip |
* loader2/nfsinstall.c (getFileFromNfs): Bring down network iface after
fetching kickstart file.
* loader2/urlinstall.c (getFileFromUrl): Bring down network iface after
fetching file.
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | loader2/nfsinstall.c | 7 | ||||
-rw-r--r-- | loader2/urlinstall.c | 55 |
3 files changed, 47 insertions, 23 deletions
@@ -1,3 +1,11 @@ +2006-07-19 David Cantrell <dcantrell@redhat.com> + + * loader2/nfsinstall.c (getFileFromNfs): Bring down network iface after + fetching kickstart file. + + * loader2/urlinstall.c (getFileFromUrl): Bring down network iface after + fetching file. + 2006-07-19 Jeremy Katz <katzj@redhat.com> * scripts/upd-instroot (KEEPFILEGR): dejavu fonts instead of vera diff --git a/loader2/nfsinstall.c b/loader2/nfsinstall.c index 415e75729..a8a2bb785 100644 --- a/loader2/nfsinstall.c +++ b/loader2/nfsinstall.c @@ -283,6 +283,7 @@ void setKickstartNfs(struct loaderData_s * loaderData, int argc, int getFileFromNfs(char * url, char * dest, struct loaderData_s * loaderData) { + char *buf = NULL; char ret[47]; char * host = NULL, *path = NULL, * file = NULL, * opts = NULL; int failed = 0; @@ -360,6 +361,12 @@ int getFileFromNfs(char * url, char * dest, struct loaderData_s * loaderData) { umount("/tmp/mnt"); unlink("/tmp/mnt"); + buf = pumpDisableInterface(netCfg.dev.device); + if (buf) { + logMessage(ERROR, "getFileFromNfs: %s", buf); + failed = 1; + } + return failed; } diff --git a/loader2/urlinstall.c b/loader2/urlinstall.c index 504925592..455a55ea5 100644 --- a/loader2/urlinstall.c +++ b/loader2/urlinstall.c @@ -349,6 +349,7 @@ char * mountUrlImage(struct installMethod * method, int getFileFromUrl(char * url, char * dest, struct loaderData_s * loaderData) { + char *buf = NULL; char ret[47]; struct iurlinfo ui; enum urlprotocol_t proto = @@ -393,34 +394,35 @@ int getFileFromUrl(char * url, char * dest, } if (proto == URL_METHOD_HTTP && FL_KICKSTART_SEND_MAC(flags)) { - /* find all ethernet devices and make a header entry for each one */ - int i; + /* find all ethernet devices and make a header entry for each one */ + int i; unsigned int hdrlen; - char *dev, *mac, tmpstr[128]; + char *dev, *mac, tmpstr[128]; struct device ** devices; - hdrlen = 0; + hdrlen = 0; devices = probeDevices(CLASS_NETWORK, BUS_UNSPEC, PROBE_LOADED); - for (i = 0; devices && devices[i]; i++) { - dev = devices[i]->device; - mac = netlink_interfaces_mac2str(dev); - - if (mac) { - snprintf(tmpstr, sizeof(tmpstr), "X-RHN-Provisioning-MAC-%d: %s %s\r\n", i, dev, mac); - free(mac); - - if (!ehdrs) { - hdrlen = 128; - ehdrs = (char *) malloc(hdrlen); - *ehdrs = '\0'; - } else if ( strlen(tmpstr) + strlen(ehdrs) + 2 > hdrlen) { - hdrlen += 128; - ehdrs = (char *) realloc(ehdrs, hdrlen); - } + for (i = 0; devices && devices[i]; i++) { + dev = devices[i]->device; + mac = netlink_interfaces_mac2str(dev); + + if (mac) { + snprintf(tmpstr, sizeof(tmpstr), + "X-RHN-Provisioning-MAC-%d: %s %s\r\n", i, dev, mac); + free(mac); + + if (!ehdrs) { + hdrlen = 128; + ehdrs = (char *) malloc(hdrlen); + *ehdrs = '\0'; + } else if ( strlen(tmpstr) + strlen(ehdrs) + 2 > hdrlen) { + hdrlen += 128; + ehdrs = (char *) realloc(ehdrs, hdrlen); + } - strcat(ehdrs, tmpstr); - } - } + strcat(ehdrs, tmpstr); + } + } } fd = urlinstStartTransfer(&ui, file, ehdrs, 0); @@ -441,6 +443,13 @@ int getFileFromUrl(char * url, char * dest, urlinstFinishTransfer(&ui, fd); if (ehdrs) free(ehdrs); + + buf = pumpDisableInterface(netCfg.dev.device); + if (buf) { + logMessage(ERROR, "getFileFromUrl: %s", buf); + return 1; + } + return 0; } |