diff options
author | David Cantrell <dcantrell@redhat.com> | 2007-05-23 20:10:40 +0000 |
---|---|---|
committer | David Cantrell <dcantrell@redhat.com> | 2007-05-23 20:10:40 +0000 |
commit | 905644807cca1d915a15466eae1efa43278217b2 (patch) | |
tree | ca4e05d3e16d3abf3f296b28a617910919fbbe64 | |
parent | 2ca5a2e94861823390d7e785328fa8ce8b1c522a (diff) | |
download | anaconda-905644807cca1d915a15466eae1efa43278217b2.tar.gz anaconda-905644807cca1d915a15466eae1efa43278217b2.tar.xz anaconda-905644807cca1d915a15466eae1efa43278217b2.zip |
* loader2/loader.c (doLoaderMain): Don't crash if the user selects back
twice during network configuration (#239958).
* loader2/net.c (cidrCallback): Only warn for an empty prefix if the
user also provided an IP address.
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | loader2/loader.c | 24 | ||||
-rw-r--r-- | loader2/net.c | 8 |
3 files changed, 32 insertions, 8 deletions
@@ -1,3 +1,11 @@ +2007-05-23 David Cantrell <dcantrell@redhat.com> + + * loader2/loader.c (doLoaderMain): Don't crash if the user selects back + twice during network configuration (#239958). + + * loader2/net.c (cidrCallback): Only warn for an empty prefix if the + user also provided an IP address. + 2007-05-22 David Cantrell <dcantrell@redhat.com> * fsset.py: Be a little more careful about certain assumptions so we diff --git a/loader2/loader.c b/loader2/loader.c index b8effb274..7e1140442 100644 --- a/loader2/loader.c +++ b/loader2/loader.c @@ -1134,9 +1134,15 @@ static char *doLoaderMain(char * location, loaderData->ipinfo_set = 0; } else { if (loaderData->ipv4 == NULL) { - ret = (char *) inet_ntop(AF_INET, - IP_ADDR(&(netDev.dev.ip)), ret, - IP_STRLEN(&(netDev.dev.ip))); + if (strcmp((char *) &(netDev.dev.ip), "")) { + ret = (char *) inet_ntop(AF_INET, + IP_ADDR(&(netDev.dev.ip)), ret, + IP_STRLEN(&(netDev.dev.ip))); + } else { + ret = NULL; + netDev.isDynamic = 1; + } + if (netDev.isDynamic || ret == NULL) { loaderData->ipv4 = strdup("dhcp"); } else { @@ -1151,9 +1157,15 @@ static char *doLoaderMain(char * location, loaderData->ipv6info_set = 0; } else { if (loaderData->ipv6 == NULL) { - ret = (char *) inet_ntop(AF_INET6, - IP_ADDR(&(netDev.dev.ip)), ret, - IP_STRLEN(&(netDev.dev.ip))); + if (strcmp((char *) &(netDev.dev.ip), "")) { + ret = (char *) inet_ntop(AF_INET6, + IP_ADDR(&(netDev.dev.ip)), ret, + IP_STRLEN(&(netDev.dev.ip))); + } else { + ret = NULL; + netDev.isDynamic = 1; + } + if (netDev.isDynamic || ret == NULL) { loaderData->ipv6 = strdup("dhcpv6"); } else { diff --git a/loader2/net.c b/loader2/net.c index 08aedd3ee..c393f0047 100644 --- a/loader2/net.c +++ b/loader2/net.c @@ -79,13 +79,17 @@ static void cidrCallback(newtComponent co, void * dptr) { return; cidr = atoi(data->cidr4); - upper = 32; + + if (strcmp(data->ipv4, "")) + upper = 32; } else if (co == data->cidr6Entry) { if (data->cidr6 == NULL && data->ipv6 == NULL) return; cidr = atoi(data->cidr6); - upper = 128; + + if (strcmp(data->ipv6, "")) + upper = 128; } if (upper != 0) { |