summaryrefslogtreecommitdiffstats
path: root/loader
diff options
context:
space:
mode:
authorChris Lumens <clumens@redhat.com>2008-09-11 17:53:17 -0400
committerChris Lumens <clumens@redhat.com>2008-09-11 18:54:22 -0400
commitd4db02eb8d7f87a5c487b97ee3692fdcdebf9fcb (patch)
tree403bf5fd1ca61a44b52f0bfe064cbffc3408d15b /loader
parent6ba27da62255443446b288f8e042addf19d7815e (diff)
downloadanaconda-d4db02eb8d7f87a5c487b97ee3692fdcdebf9fcb.tar.gz
anaconda-d4db02eb8d7f87a5c487b97ee3692fdcdebf9fcb.tar.xz
anaconda-d4db02eb8d7f87a5c487b97ee3692fdcdebf9fcb.zip
Always start NM so we can talk to it in the boot.iso case (#461071).
Diffstat (limited to 'loader')
-rw-r--r--loader/loader.c21
-rw-r--r--loader/net.c14
2 files changed, 23 insertions, 12 deletions
diff --git a/loader/loader.c b/loader/loader.c
index 607f1f030..9b524e15a 100644
--- a/loader/loader.c
+++ b/loader/loader.c
@@ -1204,6 +1204,10 @@ static char *doLoaderMain(struct loaderData_s *loaderData,
int needsNetwork = 0, class = -1;
int skipMethodDialog = 0, skipLangKbd = 0;
+ char *error_str = NULL;
+ DBusError error;
+ DBusConnection *connection = NULL;
+
char *installNames[10];
int numValidMethods = 0;
int validMethods[10];
@@ -1268,6 +1272,23 @@ static char *doLoaderMain(struct loaderData_s *loaderData,
logMessage(ERROR, "writeDisabledNetInfo failure: %d", i);
}
+ /* Start NetworkManager now so it's always available to talk to. */
+ dbus_error_init(&error);
+ connection = dbus_bus_get(DBUS_BUS_SYSTEM, &error);
+ if (connection == NULL) {
+ if (dbus_error_is_set(&error)) {
+ logMessage(DEBUGLVL, "%s (%d): %s: %s", __func__,
+ __LINE__, error.name, error.message);
+ dbus_error_free(&error);
+ }
+ } else {
+ rc = iface_start_NetworkManager(connection, &error_str);
+ if (rc != 0) {
+ logMessage(INFO, "failed to start NetworkManager (%d): error %d (%s)",
+ __LINE__, rc, error_str ? error_str : "unknown");
+ }
+ }
+
i = 0;
step = STEP_LANG;
diff --git a/loader/net.c b/loader/net.c
index 3dd7fe9c9..3659cb661 100644
--- a/loader/net.c
+++ b/loader/net.c
@@ -1730,13 +1730,13 @@ int get_connection(iface_t *iface) {
dbus_uint32_t state = 0;
char *nm_iface = "org.freedesktop.NetworkManager";
char *property = "State";
- int ret;
- char *error_str = NULL;
if (iface == NULL) {
return 1;
}
+ logMessage(DEBUGLVL, "configuring device %s", iface->device);
+
/* display status */
if (FL_CMDLINE(flags)) {
printf(_("Waiting for NetworkManager to configure %s...\n"),
@@ -1759,16 +1759,6 @@ int get_connection(iface_t *iface) {
return 2;
}
- /* start NetworkManager for configured interface */
- logMessage(INFO, "starting NetworkManager (%d) for %s", __LINE__,
- iface->device);
- ret = iface_start_NetworkManager(connection, &error_str);
- if (ret != 0) {
- logMessage(INFO, "failed to start NetworkManager (%d) for %s: error %d (%s)",
- __LINE__, iface->device, ret, error_str ? error_str : "unknown");
- return 3;
- }
-
dbus_error_init(&error);
message = dbus_message_new_method_call(NM_DBUS_SERVICE,
NM_DBUS_PATH,