Manousaridis Angelos writes:
Hello, I have been using busybox for some time now, for an ARM based platform. I was very pleased when I tried the 1.00preX series, with all the new utilities and daemons. I found out that the ifupdown in busybox does not behave exaclty like the debian version. Then the pre-up script fails, the interface is getting up. Also when the post-up script fails the return value is ignored. Actually everything is always run and the return value is always true. I looked at the original implementation from debian and fixed the busybox version to do the same. A patch is attached if anyone is interested.
This commit is contained in:
parent
b8d2cd44a6
commit
658f8b1d1a
@ -1044,24 +1044,22 @@ static int check(char *str) {
|
||||
|
||||
static int iface_up(struct interface_defn_t *iface)
|
||||
{
|
||||
int result;
|
||||
if (!iface->method->up(iface,check)) return -1;
|
||||
set_environ(iface, "start");
|
||||
result = execute_all(iface, doit, "pre-up");
|
||||
result += iface->method->up(iface, doit);
|
||||
result += execute_all(iface, doit, "up");
|
||||
return(result);
|
||||
if (!execute_all(iface, doit, "pre-up")) return 0;
|
||||
if (!iface->method->up(iface, doit)) return 0;
|
||||
if (!execute_all(iface, doit, "up")) return 0;
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int iface_down(struct interface_defn_t *iface)
|
||||
{
|
||||
int result;
|
||||
if (!iface->method->down(iface,check)) return -1;
|
||||
set_environ(iface, "stop");
|
||||
result = execute_all(iface, doit, "down");
|
||||
result += iface->method->down(iface, doit);
|
||||
result += execute_all(iface, doit, "post-down");
|
||||
return(result);
|
||||
if (!execute_all(iface, doit, "down")) return 0;
|
||||
if (!iface->method->down(iface, doit)) return 0;
|
||||
if (!execute_all(iface, doit, "post-down")) return 0;
|
||||
return 1;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_FEATURE_IFUPDOWN_MAPPING
|
||||
|
Loading…
Reference in New Issue
Block a user