summaryrefslogtreecommitdiffstats
path: root/loader2/nfsinstall.c
diff options
context:
space:
mode:
Diffstat (limited to 'loader2/nfsinstall.c')
-rw-r--r--loader2/nfsinstall.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/loader2/nfsinstall.c b/loader2/nfsinstall.c
index fc0125b36..16c0b54dc 100644
--- a/loader2/nfsinstall.c
+++ b/loader2/nfsinstall.c
@@ -287,9 +287,11 @@ void setKickstartNfs(struct loaderData_s * loaderData, int argc,
int getFileFromNfs(char * url, char * dest, struct loaderData_s * loaderData,
int flags) {
+ char ret[47];
char * host = NULL, *path = NULL, * file = NULL, * opts = NULL;
int failed = 0;
struct networkDeviceConfig netCfg;
+ ip_addr_t *tip;
if (kickstartNetworkUp(loaderData, &netCfg, flags)) {
logMessage(ERROR, "unable to bring up network");
@@ -304,20 +306,23 @@ int getFileFromNfs(char * url, char * dest, struct loaderData_s * loaderData,
logMessage(ERROR, "no bootserver was found");
return 1;
}
-
+
+ tip = &(netCfg.dev.nextServer);
if (!(netCfg.dev.set & PUMP_INTFINFO_HAS_BOOTFILE)) {
- url = sdupprintf("%s:%s", inet_ntoa(netCfg.dev.nextServer),
- "/kickstart/");
+ inet_ntop(tip->sa_family, IP_ADDR(tip), ret, IP_STRLEN(tip));
+ url = sdupprintf("%s:%s", ret, "/kickstart/");
logMessage(ERROR, "bootp: no bootfile received");
} else {
- url = sdupprintf("%s:%s", inet_ntoa(netCfg.dev.nextServer),
- netCfg.dev.bootFile);
+ inet_ntop(tip->sa_family, IP_ADDR(tip), ret, IP_STRLEN(tip));
+ url = sdupprintf("%s:%s", ret, netCfg.dev.bootFile);
+ logMessage(INFO, "foo bar");
}
}
logMessage(INFO, "url is %s", url);
- getHostandPath(url, &host, &path, inet_ntoa(netCfg.dev.ip));
+ inet_ntop(tip->sa_family, IP_ADDR(tip), ret, IP_STRLEN(tip));
+ getHostandPath(url, &host, &path, ret);
opts = strchr(host, ':');
if (opts && (strlen(opts) > 1)) {