summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/network.c
diff options
context:
space:
mode:
authorOlivier Blin <oblin@mandriva.org>2005-04-20 21:59:54 +0000
committerOlivier Blin <oblin@mandriva.org>2005-04-20 21:59:54 +0000
commit7a4a20f30e85a00b25b238143e1ca2f76871f05d (patch)
treeb8dbee2041d033b8ff0a514b06645eacfa45445b /mdk-stage1/network.c
parentcba3e351345bc38e0bfb0d56ade55abefae65d6b (diff)
downloaddrakx-7a4a20f30e85a00b25b238143e1ca2f76871f05d.tar
drakx-7a4a20f30e85a00b25b238143e1ca2f76871f05d.tar.gz
drakx-7a4a20f30e85a00b25b238143e1ca2f76871f05d.tar.bz2
drakx-7a4a20f30e85a00b25b238143e1ca2f76871f05d.tar.xz
drakx-7a4a20f30e85a00b25b238143e1ca2f76871f05d.zip
initial wireless support (needs ESSID, and optionally a WEP key)
Diffstat (limited to 'mdk-stage1/network.c')
-rw-r--r--mdk-stage1/network.c17
1 files changed, 14 insertions, 3 deletions
diff --git a/mdk-stage1/network.c b/mdk-stage1/network.c
index a3ff5e696..351edc8d3 100644
--- a/mdk-stage1/network.c
+++ b/mdk-stage1/network.c
@@ -46,6 +46,7 @@
#include "network.h"
#include "directory.h"
+#include "wireless.h"
/* include it after config-stage1.h so that _GNU_SOURCE is defined and strndup is available */
#include <string.h>
@@ -558,17 +559,27 @@ static enum return_type configure_network(struct interface_info * intf)
static enum return_type bringup_networking(struct interface_info * intf)
{
static struct interface_info loopback;
- enum return_type results = RETURN_ERROR;
+ enum return_type results;
my_insmod("af_packet", ANY_DRIVER_TYPE, NULL, 1);
- while (results != RETURN_OK) {
+ do {
+ results = configure_wireless(intf->device);
+ } while (results == RETURN_ERROR);
+
+ if (results == RETURN_BACK)
+ return RETURN_BACK;
+
+ do {
results = setup_network_interface(intf);
if (results != RETURN_OK)
return results;
write_resolvconf();
results = configure_network(intf);
- }
+ } while (results == RETURN_ERROR);
+
+ if (results == RETURN_BACK)
+ return bringup_networking(intf);
write_resolvconf(); /* maybe we have now domain to write also */