diff --git a/src/libcharon/sa/authenticators/xauth/xauth_manager.c b/src/libcharon/sa/authenticators/xauth/xauth_manager.c index 618a0bdac..432c9c0ab 100644 --- a/src/libcharon/sa/authenticators/xauth/xauth_manager.c +++ b/src/libcharon/sa/authenticators/xauth/xauth_manager.c @@ -112,7 +112,8 @@ METHOD(xauth_manager_t, create_instance, xauth_method_t*, enumerator = this->methods->create_enumerator(this->methods); while (enumerator->enumerate(enumerator, &entry)) { - if (streq(name, entry->name) && role == entry->role) + if (role == entry->role && + (!name || streq(name, entry->name))) { method = entry->constructor(server, peer); if (method)