Fix a VMWare related bug in the installer
authorMatthias Schmidt <matthias@dragonflybsd.org>
Wed, 14 Jan 2009 12:16:03 +0000 (13:16 +0100)
committerMatthias Schmidt <matthias@dragonflybsd.org>
Wed, 14 Jan 2009 12:16:03 +0000 (13:16 +0100)
Someone noticed that the installer generated a wrong ifconfig_<if> line
in /etc/rc.conf if used under VMWare and with the lnc(4) driver.  Strange
about that is, that this only happens with that particular driver.  My em(4)
interface under VMWare is detected properly and the rc.conf entry is
correct.

The value of the interface variable is corrupted somewhere between the
invocation of dhclient and the asprintf.  This commit saves the interface
name in string directly after the dhclient invocation which fixes the
problem described above.

This commit is more a work-around than a real fix.  If someone comes up with
a better fix, I'm happy to back this out and test the new one.  Until now, this
makes the network configuration in the installer with VMWare and lnc(4) work.

contrib/bsdinstaller-1.1.6/src/backend/installer/fn_configure.c

index b26c49a..5fba592 100644 (file)
@@ -974,6 +974,7 @@ fn_assign_ip(struct i_fn_args *a)
                command_add(cmds, "%s%s %s",
                    a->os_root, cmd_name(a, "DHCLIENT"),
                    interface);
+               asprintf(&string, "ifconfig_%s", interface);
                if (commands_execute(a, cmds)) {
                        /* XXX sleep(3); */
                        show_ifconfig(a->c, interface);
@@ -995,7 +996,6 @@ fn_assign_ip(struct i_fn_args *a)
                        }
                }
                commands_free(cmds);
-               asprintf(&string, "ifconfig_%s", interface);
                config_var_set(rc_conf, string, "DHCP");
                free(string);
                break;