Fix handling of return value of IN script

If IN script fails then do not put interface into ST_INSANE state.
ST_INSANE is currently not implemented and therefore it is out of the state
machine. So any interface which enters into ST_INSANE state cannot be used
anymore.

When IN script fails then print just warning message to the log and
continue as if IN script succeeded, so into ST_ACTIVE state. This is not
the correct behavior, but it is the best option for now, until state-change
rate limiting is implemented.

https://bugs.debian.org/879723
https://vyos.dev/T5686

diff --git a/if_info.c b/if_info.c
index f719094b2daf..ab17bb6919c1 100644
--- a/if_info.c
+++ b/if_info.c
@@ -386,7 +386,10 @@ void ifsm_scriptdone(pid_t pid, int exitstatus)
         break;
 
     case ST_INNING:
-        if (exitok)
+        if (!exitok)
+            do_log(LOG_WARNING, "Could not activate %s", info->name);
+        /* XXX implement ST_INSANE state */
+        if (1)
             info->state = ST_ACTIVE;
         else
             info->state = ST_INSANE; /* ??? */
