summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Cantrell <dcantrell@redhat.com>2006-07-19 21:31:48 +0000
committerDavid Cantrell <dcantrell@redhat.com>2006-07-19 21:31:48 +0000
commitc9aab92238f0501eb871f542ed1e838c38126ec6 (patch)
treef079485deb68f85fc5a731bbe8dbb6a2a01c53c8
parentc7b449cd039d5c8c07223200d0458a1fa2f61b35 (diff)
downloadanaconda-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--ChangeLog8
-rw-r--r--loader2/nfsinstall.c7
-rw-r--r--loader2/urlinstall.c55
3 files changed, 47 insertions, 23 deletions
diff --git a/ChangeLog b/ChangeLog
index 72e22f671..c53c3ca03 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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;
}