diff options
-rw-r--r-- | src/dumm/iface.c | 3 | ||||
-rw-r--r-- | src/dumm/main.c | 1 | ||||
-rw-r--r-- | src/dumm/mconsole.c | 2 |
3 files changed, 4 insertions, 2 deletions
diff --git a/src/dumm/iface.c b/src/dumm/iface.c index 9e690d488..2bc8a3ec8 100644 --- a/src/dumm/iface.c +++ b/src/dumm/iface.c @@ -89,7 +89,8 @@ static char* create_tap(private_iface_t *this) ifr.ifr_flags = IFF_TAP | IFF_NO_PI; if (ioctl(this->tap, TUNSETIFF, &ifr) < 0 || - ioctl(this->tap, TUNSETPERSIST, 1) < 0) + ioctl(this->tap, TUNSETPERSIST, 1) < 0 || + ioctl(this->tap, TUNSETOWNER, 0)) { DBG1("creating new tap device failed: %m"); return NULL; diff --git a/src/dumm/main.c b/src/dumm/main.c index 7e22ddfd6..5d3cbbd5f 100644 --- a/src/dumm/main.c +++ b/src/dumm/main.c @@ -225,6 +225,7 @@ static void guest(dumm_t *dumm, char *name) if (streq(name, guest->get_name(guest))) { found = TRUE; + break; } } iterator->destroy(iterator); diff --git a/src/dumm/mconsole.c b/src/dumm/mconsole.c index b782ebe81..7735e520c 100644 --- a/src/dumm/mconsole.c +++ b/src/dumm/mconsole.c @@ -154,7 +154,7 @@ mconsole_t *mconsole_create(char *sock) } memset(&addr, 0, sizeof(addr)); addr.sun_family = AF_UNIX; - sprintf(&addr.sun_path[1], "%5d", getpid()); + sprintf(&addr.sun_path[1], "%5d-%s", getpid(), sock); if (bind(this->socket, (struct sockaddr*)&addr, sizeof(addr)) < 0) { DBG1("binding mconsole socket failed: %m"); |