diff options
author | Martin Willi <martin@strongswan.org> | 2007-07-25 14:05:06 +0000 |
---|---|---|
committer | Martin Willi <martin@strongswan.org> | 2007-07-25 14:05:06 +0000 |
commit | 53b0f3c3b3a9ec5c3059d86657444700297e56ae (patch) | |
tree | 9347f0dc454020992d4a67f14ea6e78d706fadea | |
parent | f85fdda83598cdfde287ee0acb5581d9cb2f261b (diff) | |
download | strongswan-53b0f3c3b3a9ec5c3059d86657444700297e56ae.tar.bz2 strongswan-53b0f3c3b3a9ec5c3059d86657444700297e56ae.tar.xz |
fixed mconsole when using multiple guests
fixed interface enumeration bug
-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"); |