Fix handling IFF_UP set event in ST_DOWNANDOUT state

When during running of OUT script interface gets DOWN event (IFF_UP
cleared) it is put into ST_DOWNANDOUT state. And if still during running
OUT script it gets UP event (IFF_UP set) then netplugd crashes with error:
"unexpected state DOWNANDOUT for UP"

Per state diagram, when interface is in the ST_DOWNANDOUT state it has to
wait until OUT script finishes. After that is automatically put into
ST_PROBING state which brings it UP back (into ST_INACTIVE state).

So don't do anything when netplugd receives UP event in ST_DOWNANDOUT
state. Do not change state to ST_INACTIVE or something different because
these states do not expect any script running.

https://bugs.debian.org/652418

diff --git a/if_info.c b/if_info.c
index 2735d1585ea2..5556c1fcc40d 100644
--- a/if_info.c
+++ b/if_info.c
@@ -210,6 +210,10 @@ ifsm_flagchange(struct if_info *info, unsigned int newflags)
                 info->state = ST_PROBING_UP;
                 break;
 
+            case ST_DOWNANDOUT:
+                /* went up again in OUT script - don't do anything rash */
+                break;
+
             default:
                 do_log(LOG_ERR, "%s: unexpected state %s for UP", info->name, statename(info->state));
                 exit(1);
